NL-058, word2word: A Collection of Bilingual Lexicons for 3,564 Language Pairs (2020-LREC)

■ Comment
•OpenSubtitles라는 자막 데이터가 있는데 이를 이용하여 언어-언어 쌍을 구축하였음.
•언어끼리 쌍을 지을 때 CPE라는 방법을 제시하여서 하였음.
•파이썬 패키지 라이브러리로 제공해준게 사용하기 상당히 쉬워 보임.
•사실 크게 어려운 내용이 없다고 생각이 됨.

0. Abstract

  • 파이썬 패키지로 cross-lingual word translation 공개한다고 한다.
  • 이 단어 번역은 sentence-level parallel corpora에서 추출한 것이라고 한다. 
  • 이 데이터세트는 62개의 언어로 3564쌍을 구성해 top-k 단어 번역을 제공하고 있다
    • 62개의 언어는 OpenSubtitles 2018에 있는 언어들이라고 한다.
  • 데이터세트를 얻기 위해 소스와 타겟 단어뿐만 아니라 소스 단어들 스스로 높은 상관 관계가 있다는 관찰을 기반으로 count-based bilinugal lexicon extraction model을 사용한다.
  • bilingual lexicons은 여러 언어 쌍에 대해 경쟁적인 번역 품질을 커버하는 것을 보여준다.
  • 데이터세트를 파이썬 라이브러리로 쉽게 사용할 수 있게 한다.

1. Introduction

  • cross-lingual tasks에서 bilingual lexicons은 가치있는 리소스이다.
    • cross-lingual tasks느 low-resoucre MT와 cross-lingual word embeddings을 포함한다.
  • 그러나 많은 양의 bilingual lexicons 데이터는 찾기 어렵다.
  • 예를 들어, 일반적인 bilinugal 사전은 (위키와 같이) 종종 word correspondences가 안되어있고 단어 사전처럼 다음과 같이 되어있다.
  • 이렇게 되어있으면 word-level correspondences을 하는 것은 지루하고 한국어의 경우와 같이 일부 사전 형식이 일반 담화에서 사용되지 않는 언어에 대한 대응을 찾는 것은 특히 문제가 된다고 한다.
  • bilingual lexicon extraction (BLE)은 count-based에서 cross-lingual word embeddings을 사용하는 것까지 연구가 되어왔다.
  • 비인도, 비유럽 언어를 포함하는 bilingual lexicons을 하는 연구는 거의 없었다.
  • 최근 연구, 패키지들은 10-100개의 언어쌍과 1-5K 단어의 쌍을 구축하려고 한다.
  • 따라서 여기서는 62개의 언어를 사용하고 3564개의 언어 상에 대한 bolingual word correspondences을 파이썬 패키지로 구축한다.
  • 병령 코퍼스는 opensubtitles2018으로부터 얻었고 monolingual 과 cross-lingual 동일 발생을 고려한다.

2. The word2word Dataset

  • Table 1, 2 참고

3. Methodology

3.1. Bilingual Lexicon Extraction

  • BLE는 natural language에서 병렬 데이터에서 word-level correspondences을 찾는 목표인 전통 방법이다.
  • BLE에서 word alignment 방법들, cross-lingual word representation 방법들이 있다.
  • 이들 중 이 논문에서는 간단한 방법으로 다양한 사이즈의 병렬 코퍼스를 다루었다.
    • 그 방법은 OpenSubtitles2018에 설명되어있고 Armenian-Indonesian의 129 문장쌍에서 61M English-Spanish 까지의 범위로 되어있다.
  • 특히 여기서는 high-resource 병렬 코퍼스를 필요하는 방법이나 external 코퍼스를 요구하는 것은 피한다.
  • 또한 word-to-word mappings은 일대일 매핑이 거의 없기 때문에 우리는 모든 source-target 단어 쌍들 간에 관련 점수를 산출하는 방법을 고려한다.
  • 따라서 여기서는 한 개 뿐만 아니라 top-k correspondences도 추출할 수 있다.
  • 이러한 이유로 여기서는 (monolingual and cross-lingual) co-occurrence counts 을 기반 방법을 고려한다.
    • co-occurrences, pointwise mutual information (PMI), and co-occurrences with controlled predictive effects (CPE).

3.1.1. Co-occurrences

  • 가장 간단한 베이스라인은 소스 단어 x와 타겟 단어 y사이의 co-occurenece을 계산하는 것이다.
  • 여기서 #은 단어의 발생 개수를 의미한다.
  • 즉 소스 단어 x의 번역은 co-occurence count에 관한 top-k 타겟 단어가 되는 것이다.

3.1.2. Pointwise Mutual Information

  • 조건부 확률과 PMI는 cross-lingual 동시 발생 횟수에 비례하지만, 그들이 문장에서 어떤 소스 단어가 번역 문장의 타겟 단어사이의 corresponding을 실패할 수 있다.
  • 예를 들어, English-French pair (the apple juice → la jus de pomme)가 주어지면, baseline 방법들은 pomme(사과)에 주스와 사과의 영향을 구별지을 수 없다.
  • 이 문제를 해결하기 위해 주어진 소스 언어의 confounder x'가 주어질 떄 확률을 평균낸다. i.e. p(y|x')
  • 이 확률은 confounder를 보는 것에 의해 weighted of probability이다. i.e. p(x'|x)
  • 그림 1이 이러한 방법이고 이것을 controlled predictive effects (CPE) 라고 부른다.
  • CPE 점수는 다음과 같다.
  • (3)식의 second term이 위에서 말한 weighted 확률을 말하는 것임
  • (3)식에서 첫 번째 식이 밑으로 넘어가는 것은 (4)식을 대입해보면 된다 (marginal 확률 개념)
  • 즉 CPE는 y(pomme)을 예측할 때 x'(the)와 같은 다른 효과들을 제어한 후, x(apple)을 추가한 효과를 보는 것이다.
  • 만약 CPEy|x(x)이라는 것은 xy|x을 의미하고 x'과 관찰되면 x는 더이상 y에 연관이 없다는 것이다.
  • 각 cofounder x' 항은 최종 점수를 내기 위해 가능한 confounders을 무시한다.
  • CPEy|x(x) = 0은 y를 예측할 때 x가 관찰되고 나면 x 관찰에 대해 더이상의 효과가 없다는 의미이다. (위에서 x'=x만 바뀌었을 뿐 똑같은 해석)
  • 실제로 소스 vocab의 모든 단어에 대해 CPE 점수를 내는 것은 비효율적일 수 있다.
  • 어휘에 있는 많은 단어들인 (관련 없는) confounding 역할을 하지 않기 때문에 우리는 가장 높은 co-occurrence의 top-m 소스 단어들을 선택하여 그들의 효과에 대해서만 수정한다.
  • 여기서 m=5000을 사용하였고 큰 m을 사용해도top-1과 top-5에 대한 품질에 의미 있는 차이를 만들지 않는다는 것을 발견했다.

3.1.4. Evaluation on MUSE Bilingual Dictionaries 

3.1.5. Evaluation on Non-European Languages

3.2. Word Segmentation

  • 여기서 위 표처럼 형태학적 분석이 필요한 몇 개의 언어에 대해서는 language-specific tokenization tools 을 사용했다고 한다.
  • 그 외에는  tok-tok tokenizer (Dehdari, 2014) implemented in NLTK을 사용했다고 한다.

4. The word2word Python Interface

  • 이 부분은 실제 사용하는 것에 대해적는 것으로 몇 개의 코드만 (그림 2,3) 살펴보자.
  • https://pypi.org/project/word2word/ 이것보고 따라해도 된다.

4.1. Implementation

4.2. Usage

4.3. Building a Custom Bilingual Lexicon

5. Conclusion 

  • 이 논문에서는 3,564의 사용가능한 bilingual lexicons인 word2word 데이터세트를 수집하였다.
  • OpenSubtitles2018에서 언어 쌍을 추출하였다.
  • bilingual lexicons은 많은 언어 쌍에 대해 많은 것을 커버하고 단어 번역을 제공하고 기존의 sota embedding model와 비교하여 더 좋은 품질을 제공한다.
  • 또한 이를 wrod2word라는 파이썬 패키지를 제공해서 쉽게 데이터세트에 접근하고 컨트롤 할 수 있게 하였다.
  • 이 데이터세트가 많은 cross-lingual 모델에 유용하게 사용되길 원한다고 한다.
Reference

댓글