SlideShare a Scribd company logo
English 2 Korean
A 부터 Z 까지

kcrong@goodatlas
문제 정의
영어 단어를 발음 규칙을 이용해 한글로 적기
문제 정의
입력:

영어 단어 (알파벳 목록)

Ex) Air Conditioner

출력:

한글 발음

Ex) 에어 컨디셔너
데이터 전처리 - 입력
영어 알파벳

소문자 (26개) + 대문자 (26개) = 52개
데이터 전처리 - 입력
각각 index 값과 알파벳을 매칭

Ex)

a: 1

b: 2

…
데이터 전처리 - 입력
각 글자가 특정 값을 가지고 있다면, 

단어를 벡터로 바꾸는게 가능함.

air conditioner —> [25, 27, 40, 34, 25, 26, 24, 22, 30, 36, 38, 39, 21, 39, 38]
데이터 전처리 - 입력
단, 글자마다 길이가 다르므로, 

(work, world, conditioner)

데이터 셋 중 가장 긴 단어 길이에 맞게 padding 추가

[22, 25, 33, 31, 39, 26, 29, 0, 0, 0, 0, 0, 0]
데이터 전처리 - 출력
한글 문장을 출력할 때,

1. 자음 (ㄱ,ㄴ, …) 과 모음 (ㅣ, ㅐ, …) 을 출력하고, 조합

2. 모든 글자 (가, 나, … 힢, 힣) 을 출력
글자 출력
가장 단순한 방법. 

모든 자/모 음 경우의 수를 가지고 정수 값을 부여

구현이 빠르나, 복잡한 문장에는 사용할 수 없음.
자/모 음 조합 출력
적은 글자로 모든 문장을 수용할 수 있음

조합하는 뉴런 층이나, 후 처리가 필요함
데이터 전처리 - 출력
하지만 우리 데이터는 아직 적고, POC* 개념 모델이므로,

구현이 쉬운 글자 출력 방식을 사용

*POC : Proof Of Concept. 개념 증명
데이터 전처리 - 출력
글자 조합이 너무 많아서 벡터가 sparse 해짐

—> 데이터에서 나온 글자만 사용 (에,어,컨,디,셔,너, etc)
모델
모델 계층 - Embedding








단어를 벡터 공간에 나타내기 위한 층

무작위 값을 가지고, 학습을 통해 변경 됨
모델 계층 - GRU






RNN 의 일종으로,

Sequential 데이터에 최적화된 모델
모델 계층 - Repeat Vector








Encoder 계층에서 나온 결과를 반복하여

특정 길이의 결과를 산출하기 위한 층
모델 계층 - Time Dense
GRU 계층에서 나온 결과를 바탕으로 각 “시간 별” 결과를 도출

t : 에

t+1 : 어

t+2 : 플

t+3 : 레
학습 기록
결과
현재 결과 분석
데이터 부족으로 인한 과적합 (over-fitting)

Encoder & Decoder 학습이 원활하게 이루어지지 않음

실생활에서 사용하는 단어보다, 데이터 수집을 위한 단어가 많음

(acenaphthene, acetaldehyde 와 같은 약품 이름 등)
개선 방안
모델 튜닝 (계층 간소화)

약간의 Dropout 추가



“데이터 추가”

…
이용 방안 (정확도가 조금 더 올라간다면…)
거대한 말뭉치에 대한 Pre-Processing 작업에 사용가능

“혹시 follow-up이 필요하신 분들은 slack 주세요”

-> “혹시 팔로업이 필요하신 분들은 슬랙주세요”

(Ex.알파벳 정제작업)

More Related Content

Similar to Transliteration English to Korean

Programming java day2
Programming java day2Programming java day2
Programming java day2
Jaehoonyam
 
통계자료분석을 ㅇ
통계자료분석을 ㅇ통계자료분석을 ㅇ
통계자료분석을 ㅇ
Yoonwhan Lee
 
통계자료 분석을 위한 R
통계자료 분석을 위한 R통계자료 분석을 위한 R
통계자료 분석을 위한 R
Yoonwhan Lee
 

Similar to Transliteration English to Korean (20)

[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템
 
3주차 스터디
3주차 스터디3주차 스터디
3주차 스터디
 
MRC recent trend_ppt
MRC recent trend_pptMRC recent trend_ppt
MRC recent trend_ppt
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1
 
R project_pt1
R project_pt1R project_pt1
R project_pt1
 
Programming java day2
Programming java day2Programming java day2
Programming java day2
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
 
자료구조01
자료구조01자료구조01
자료구조01
 
자료구조01
자료구조01자료구조01
자료구조01
 
자료구조01
자료구조01자료구조01
자료구조01
 
2012 Ds 01
2012 Ds 012012 Ds 01
2012 Ds 01
 
03. segment tree
03. segment tree03. segment tree
03. segment tree
 
R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작
 
Keras
KerasKeras
Keras
 
통계자료분석을 ㅇ
통계자료분석을 ㅇ통계자료분석을 ㅇ
통계자료분석을 ㅇ
 
코딩테스트 합격자 되기 C++ 03장 시간 복잡도에 대한 강의를 진행했습니다.
코딩테스트 합격자 되기 C++ 03장 시간 복잡도에 대한 강의를 진행했습니다.코딩테스트 합격자 되기 C++ 03장 시간 복잡도에 대한 강의를 진행했습니다.
코딩테스트 합격자 되기 C++ 03장 시간 복잡도에 대한 강의를 진행했습니다.
 
230112_word2vec1_논문리뷰.pdf
230112_word2vec1_논문리뷰.pdf230112_word2vec1_논문리뷰.pdf
230112_word2vec1_논문리뷰.pdf
 
강의자료 2
강의자료 2강의자료 2
강의자료 2
 
통계자료 분석을 위한 R
통계자료 분석을 위한 R통계자료 분석을 위한 R
통계자료 분석을 위한 R
 
코딩테스트 합격자 되기 C++ 03장(시간 복잡도)를 설명한 ppt입니다
코딩테스트 합격자 되기 C++ 03장(시간 복잡도)를 설명한 ppt입니다코딩테스트 합격자 되기 C++ 03장(시간 복잡도)를 설명한 ppt입니다
코딩테스트 합격자 되기 C++ 03장(시간 복잡도)를 설명한 ppt입니다
 

Transliteration English to Korean

  • 1. English 2 Korean A 부터 Z 까지 kcrong@goodatlas
  • 2. 문제 정의 영어 단어를 발음 규칙을 이용해 한글로 적기
  • 3. 문제 정의 입력: 영어 단어 (알파벳 목록)
 Ex) Air Conditioner 출력: 한글 발음
 Ex) 에어 컨디셔너
  • 4. 데이터 전처리 - 입력 영어 알파벳 소문자 (26개) + 대문자 (26개) = 52개
  • 5. 데이터 전처리 - 입력 각각 index 값과 알파벳을 매칭 Ex)
 a: 1
 b: 2
 …
  • 6. 데이터 전처리 - 입력 각 글자가 특정 값을 가지고 있다면, 
 단어를 벡터로 바꾸는게 가능함. air conditioner —> [25, 27, 40, 34, 25, 26, 24, 22, 30, 36, 38, 39, 21, 39, 38]
  • 7. 데이터 전처리 - 입력 단, 글자마다 길이가 다르므로, 
 (work, world, conditioner) 데이터 셋 중 가장 긴 단어 길이에 맞게 padding 추가 [22, 25, 33, 31, 39, 26, 29, 0, 0, 0, 0, 0, 0]
  • 8. 데이터 전처리 - 출력 한글 문장을 출력할 때, 1. 자음 (ㄱ,ㄴ, …) 과 모음 (ㅣ, ㅐ, …) 을 출력하고, 조합
 2. 모든 글자 (가, 나, … 힢, 힣) 을 출력
  • 9. 글자 출력 가장 단순한 방법. 모든 자/모 음 경우의 수를 가지고 정수 값을 부여 구현이 빠르나, 복잡한 문장에는 사용할 수 없음.
  • 10. 자/모 음 조합 출력 적은 글자로 모든 문장을 수용할 수 있음 조합하는 뉴런 층이나, 후 처리가 필요함
  • 11. 데이터 전처리 - 출력 하지만 우리 데이터는 아직 적고, POC* 개념 모델이므로,
 구현이 쉬운 글자 출력 방식을 사용 *POC : Proof Of Concept. 개념 증명
  • 12. 데이터 전처리 - 출력 글자 조합이 너무 많아서 벡터가 sparse 해짐 —> 데이터에서 나온 글자만 사용 (에,어,컨,디,셔,너, etc)
  • 14. 모델 계층 - Embedding 
 
 
 
 단어를 벡터 공간에 나타내기 위한 층
 무작위 값을 가지고, 학습을 통해 변경 됨
  • 15. 모델 계층 - GRU 
 
 
 RNN 의 일종으로,
 Sequential 데이터에 최적화된 모델
  • 16. 모델 계층 - Repeat Vector 
 
 
 
 Encoder 계층에서 나온 결과를 반복하여
 특정 길이의 결과를 산출하기 위한 층
  • 17. 모델 계층 - Time Dense GRU 계층에서 나온 결과를 바탕으로 각 “시간 별” 결과를 도출 t : 에
 t+1 : 어
 t+2 : 플
 t+3 : 레
  • 20. 현재 결과 분석 데이터 부족으로 인한 과적합 (over-fitting) Encoder & Decoder 학습이 원활하게 이루어지지 않음 실생활에서 사용하는 단어보다, 데이터 수집을 위한 단어가 많음
 (acenaphthene, acetaldehyde 와 같은 약품 이름 등)
  • 21. 개선 방안 모델 튜닝 (계층 간소화)
 약간의 Dropout 추가 
 “데이터 추가”
 …
  • 22. 이용 방안 (정확도가 조금 더 올라간다면…) 거대한 말뭉치에 대한 Pre-Processing 작업에 사용가능 “혹시 follow-up이 필요하신 분들은 slack 주세요”
 -> “혹시 팔로업이 필요하신 분들은 슬랙주세요” (Ex.알파벳 정제작업)