학습내용
- 왜 (하위)단어 단위((sub)word-level)의 모델링은 힘들까요?
- 형태(morphology)가 풍부한 언어는 단어수가 많아지기 때문에 다루기 어렵습니다. 특히 합성어가 많을 경우 더 어렵습니다.
- 줄임말, 오타를 다루기 어렵습니다.
- 정보량이 다른 토큰에 같은 파라미터를 부여하기 때문에, 모델링이 효율적이지 못합니다.
- 글자 단위 모델링(Character-level modeling)에 대한 의구심
- 과연 길고 말이 되는 문장을 생성할 수 있는가?
- 단어들은 높은 수준의 요약(high-level abstraction) 이 돼있는데, 글자에서 단어로 만들어지는 과정은 더 복잡한 비선형(non-linear) 프로세스다. 이것을 기계가 학습가능하겠는가?
- 효율적으로 학습 시킬 수 있는가?
- Fully Character-Level Machine Translation
- 문제:
- 맞춤법(Orthography)이 특정한 패턴이 없습니다. 글자를 의미가 있는 단어로 만들기 위해 패턴을 잡아내는 고민을 해야합니다.
- Self attention을 사용하기 때문에, 복잡도가 크게 올라갑니다.
- 문제를 해결하기 위한 모델구조:
- Multi-width convolution for a character sequence > max pooling > high-way network for nonlinear mapping > attention over a convolution feature map
- 문제:
- Character-Level Multilingual Translation
- 여러 언어를 글자 단위로 Input 으로 넣어서 학습시킵니다.
- 서로 다른 언어의 공통적인 구조를 연속 벡터 공간(continuous vector space)에 투영 되었다고 할 수 있습니다.
학습자료
- 출처: [edwith] 딥러닝을 이용한 자연어 처리 : Case Study - Fully Character-Level Machine Translation - 조경현교수