January 26, 2023
서론
신경망 기계 번역(Neural machine translation, NMT)은 나날이 발전하며 더 빠르고 정확하게 번역할 수 있도록 번역가들을 돕고 있습니다. 기계 번역의 성능 향상과 함께 번역을 쉽게 하기 위해 많은 기능들이 추가되는데, 그 중 하나가 “어휘적으로 제약된 번역(Lexically constrained translation)”입니다. 기점 언어(Source language)의 특정 어휘나 구의 번역을 목표 언어(Target language)의 특정한 단어나 구로 제약하는 것인데요, 예를 들어 “Mr. White”라는 영어 문장을 한국어로 번역하는 경우를 고려해봅시다. 이 경우에 “White”는 색깔이 아닌 사람 이름이기 때문에 우리는 “화이트 씨"라는 번역을 원할 것입니다. 이러한 경우에 “White”를 기점 언어의 제약 어휘로, “화이트”를 목표 언어 제약 어휘로 설정해 어휘적으로 제약된 기계 번역을 사용하여 원하는 결과를 얻을 수 있습니다.
어휘적으로 제약된 기계 번역을 구현하기 위해 많은 연구가 있었습니다. 오늘은 여러가지 방법 중 제약된 디코딩 방법과 데이터 증강을 통한 학습 방법에 대해서 간단히 살펴보도록 하겠습니다.
제약된 디코딩
제약된 디코딩이란, 이름에서도 알 수 있듯이 디코딩 단계에서 제약 어휘를 생성하는 방법입니다. 제약된 디코딩 방법에서는 제약 어휘들이 번역된 문장에 나오도록 강제하기 때문에 “강한 어휘로 제약된 NMT(Hard lexically constrained NMT)”라고 합니다. 보통 제약된 디코딩 방법을 사용하면 어휘적으로 제약된 기계 번역을 위해 추가적으로 모델을 트레이닝 할 필요가 없습니다. 기존 모델에 디코딩 방법만 빔 서치(Beam search)와 같은 기존 디코딩 방법 대신에 제약된 디코딩을 사용하면 되기 때문입니다.
격자 빔 서치(Grid beam search, GBS)[1]는 가장 오래된 제약된 디코딩 방법 중에 하나입니다. GBS에선 디코딩 단계와 생성된 제약 어휘 토큰 수로 격자를 형성합니다. 이때 각 디코딩 단계와 생성된 제약 어휘 토큰 수 별로 고정된 사이즈의 빔이 할당됩니다. 각 빔의 가설(hypothesis)마다 다음 디코딩 단계로 진행할 때 세 가지 후보가 가능합니다. 첫 번째는 모델에서 출력으로 나온 확률을 바탕으로 가장 확률이 높은 토큰을 뽑는 것이고, 다른 하나는 아직 시작되지 않은 제약 어휘를 생성하는 것, 마지막으로 이미 제약 어휘가 생성되기 시작했다면, 제약 토큰을 계속 생성하는 겁니다. 이런 접근법은 주어진 제약 어휘를 반드시 만들어 낼 수 있지만 가장 큰 단점은 디코딩 속도입니다. 검색 공간이 제약 어휘의 토큰 수에 비례하기 때문입니다.
GBS의 속도 문제를 해결하기 위해 동적 빔 할당 방법(Dynamic beam allocation, DBA)[2]이 제안됐습니다. 디코딩 단계마다 빔 개수가 바뀌는 GBS[1]와 달리 DBA는 빔 개수를 1로 고정합니다. 대신 효율적인 알고리즘을 이용해 최상의 가설을 선택합니다. 좀 더 자세히 설명해보면, k가 빔 사이즈, c가 제약 어휘의 수라고 했을 때, 각 단계마다 k개의 가장 확률이 높은 토큰들과, 제약 어휘 생성을 시작하거나 생성을 계속할 토큰들, 그리고 각 가설 별로 가장 확률이 높은 토큰을 후보로 수집합니다. 그 후 빔을 크기가 k/(c+1)인 (c+1) 개의 칸으로 나누고, 앞에서 뽑은 후보들을 생성된 제약 어휘 수에 따라서 각 칸에 배정합니다. 이 방법을 통해 DBA는 빔 개수를 고정하면서도 생성된 제약 어휘 수 별로 여러 가설들을 효과적으로 추적할 수 있습니다.
벡터화된 동적 빔 할당(Vectorized dynamic beam allocation, VDBA)[3]은 DBA[2]를 더 빠르고 효율적으로 개선했습니다. DBA는 배치 프로세싱에 적합하지 않다는 단점이 있는데요. VDBA는 매트릭스 구조를 도입해 배치 프로세싱에 적합한 데이터 구조를 만듭니다. 구체적으로, VDBA는 각 가설에 대한 문장 번호와 충족되지 않은 제약 어휘의 개수를 기록하고, 동일한 문장 번호와 충족되지 않은 제약 어휘의 개수를 가진 가설들을 그룹으로 묶습니다. 그 후 각 그룹에서 가설은 확률 순으로 정렬되고, 높은 확률을 가진 가설들이 후보로 선택됩니다. 이 알고리즘은 멀티키 정렬(Multi-key sort)로 효율적으로 구현할 수 있습니다. DBA의 또 다른 단점은 한 번에 한 제약 어휘밖에 추적할 수 없다는 겁니다. 그래서 한 제약 어휘를 추적하는 동안 그 제약 어휘는 충족하지 못하지만 다른 제약 어휘를 충족하는 토큰이 나와도 DBA는 이를 인식하지 못하고 추적 과정을 초기화합니다. VDBA는 트라이(Trie) 데이터 구조를 활용해 여러 제약 어휘를 동시에 추적해 이 문제를 해결합니다. 이러한 방법들을 사용해 VDBA는 배치 크기가 20일 때 DBA보다 5배 빠른 디코딩 속도를 달성했습니다.
데이터 증강을 통한 학습
데이터 증강을 통한 학습 방법은 기점 언어 데이터를 목표 언어의 제약 어휘로 증강합니다. 이 방법에서는 데이터셋이 바뀌므로 어휘적으로 제약된 번역을 지원하기 위해서는 증강된 데이터를 이용해 새로운 모델을 학습해야 합니다. “강한 어휘적으로 제약된 NMT”와는 달리 데이터 증강 방식은 제약 어휘들이 번역된 문장에 나타나도록 강제하는 게 아니라, 제약 어휘가 목표 문장에 나타나는 것을 모델이 학습해 결정하게 합니다. 따라서 이러한 방법은 “약한 어휘적으로 제약된 NMT(Soft lexically constrained NMT)”라고 합니다. 보통 이런 방식은 추론하는 데 걸리는 시간이 기존 NMT 모델에 비해 크게 늘어나지 않습니다. 모델 입력으로 제약 어휘가 증강된 기점 언어 문장이 들어오는 것만 빼면 기존 NMT와 같은 추론 단계를 거치기 때문입니다.
데이터 증강 방법의 초기 아이디어 중 하나는 기점 언어 데이터의 제약 어휘를 목표 언어의 제약 어휘로 대체하거나 기점 언어의 제약 어휘 뒤에 목표 언어의 제약 어휘를 덧붙여 증강하는 것이었습니다[4]. Dinu et al.은 사전을 이용해 기점 언어와 목표 언어 문장 쌍에서 의미적으로 서로 대응되는 단어 쌍을 찾는데, 이 때 대응되는 단어쌍에 대한 정보를 정렬(Alignment)이라고 합니다. 그 후 정렬된 단어 쌍을 이용해서 기점 언어의 문장을 증강합니다. 이 때 데이터셋의 단어들과 사전에서 추출된 단어 쌍 사이에 약간의 형태적 차이가 있을 수 있는데, 이를 허용하기 위해 대략적인 매칭(Approximate matching)을 사용했다고 합니다. 대체/덧붙임과 더불어 증강된 기점 언어 문장에 스트림을 추가하여 각 단어가 기점 언어의 제약 어휘인지, 목표 언어의 제약 어휘인지, 아니면 제약 어휘와 관련 없는 지를 의미하는 “코드 변경(Code-switching”'을 표시했습니다. 이 접근법은 “약한” 방법이지만 실험 결과에 따르면 90% 이상의 제약 어휘 생성률을 달성했다고 합니다. 그리고 대략적인 매칭을 통해 번역 모델이 문맥에 따라 제약 어휘를 굴절하는 것을 관찰할 수 있었다고 합니다.
반면에, LeCA[5]는 목표 언어 데이터에서 제약 어휘를 추출(Sampling)한 뒤 기점 언어 문장의 끝에 추출된 제약 어휘를 추가하는 방법을 제안했습니다. 이러한 추출법은 정렬이나 외부 사전을 사용하는 것보다 훨씬 간단합니다. 또한 세그먼트 임베딩(Segment embedding)과 새로운 위치 임베딩(Positional embedding)을 도입해 기점 언어 데이터와 증강된 제약 어휘를 구분합니다. 실험 결과에 따르면 LeCA도 높은 제약 어휘 생성률을 보이는데, 99%가 넘을 때도 있다고 합니다.
Dinu et al.이 데이터 증강 방법이 굴절을 학습할 수 있는 가능성을 보여줬다면, Jon et al.[6]은 실험을 통해 이를 입증했습니다. 그들은 영어-체코어 데이터를 사용해 모델이 굴절을 학습할 수 있다는 것을 보였는데요., 체코어는 영어와 달리 단어 형태가 많이 바뀌기 때문에, 이러한 실험에 적합한 데이터라고 할 수 있습니다. 그들은 모델 구조와 데이터 구조는 LeCA[5]와 비슷하게 유지한 채 목적어의 제약 어휘를 원형으로 변형하는 과정(한국어로 예를 들면, “먹었다”라는 단어를 “먹다"로 변형하는)을 추가했습니다. 구체적으로 설명하면, 제약 어휘를 추출한 뒤, 사전을 이용해서 제약 어휘를 원형으로 변형하고, 기점 언어 데이터를 원형의 제약 어휘로 증강합니다. 실험 결과에 따르면 원형의 제약 어휘로 학습한 모델은 원형의 제약 어휘를 어떻게 굴절할지도 잘 학습하고, 90% 이상의 제약 어휘 생성률를 유지하면서 높은 번역의 질을 달성할 수 있다고 합니다.
결론
이상으로 어휘적으로 제약된 NMT 방법들을 살펴보았는데요, 이 블로그의 독자분들이라면 엑스엘에이트(XL8)도 이 기능을 제공하는지 궁금하실 겁니다. XL8에서도 어휘적으로 제약된 NMT를 “글로서리”(glossary)”라는 이름으로 제공하고 있습니다. 저희는 위에 설명한 방법들을 포함한 다양한 기법을 사용하여 유창하면서도 주어진 제약 어휘를 만족하는 번역을 제공하고 있습니다. “글로서리” 활용법에 대해 더 자세히 알고 싶다면 이 블로그 게시물(영어)을 참고하시기 바랍니다.
References
[1] Chris Hokamp and Qun Liu. 2017. Lexically constrained decoding for sequence generation using grid beam search. In Proceedings of ACL, pages 1535–1546, Vancouver, Canada. [2] Matt Post and David Vilar. 2018. Fast lexically constrained decoding with dynamic beam allocation for neural machine translation. In Proceedings of NAACL 2018, pages 1314–1324, New Orleans, Louisiana. Association for Computational Linguistics. [3] J. Edward Hu, Huda Khayrallah, Ryan Culkin, Patrick Xia, Tongfei Chen, Matt Post, and Benjamin Van Durme. 2019. Improved lexically constrained decoding for translation and monolingual rewriting. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pages 839–850, Minneapolis, Minnesota. Association for Computational Linguistics. [4] Georgiana Dinu, Prashant Mathur, Marcello Federico, and Yaser Al-Onaizan. 2019. Training Neural Machine Translation to Apply Terminology Constraints. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 3063–3068, Florence, Italy. Association for Computational Linguistics. [5] Guanhua Chen, Yun Chen, Yong Wang, and Victor O.K. Li. 2020. Lexical-constraint-aware neural machine translation via data augmentation. In Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, IJCAI-20, pages 3587–3593. International Joint Conferences on Artificial Intelli-gence Organization. Main track. [6] Josef Jon, João Paulo Aires, Dusan Varis, and Ondřej Bojar. 2021. End-to-End Lexically Constrained Machine Translation for Morphologically Rich Languages. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pages 4019–4033, Online. A