語順で言語の距離を可視化する
https://word-order-language-distance.herokuapp.com/
# 方法
1. Wikipedia:ウィキペディアについて の各言語バージョンの本文を収集
2. 収集した各言語の文を
https://huggingface.co/facebook/mbart-large-50-many-to-many-mmt
により翻訳(52言語x52言語)
3. 翻訳モデルの単語にかかるアテンションの重みにより翻訳時の単語の並び替えを検出 (参考
https://qiita.com/sentencebird/items/6f4ef30187d329a95543)
4. 翻訳元言語に対して、各言語における並び替えの量を計算しベクトル化する
5. 翻訳元言語のベクトル同士を比較(コサイン類似度)して、言語間の距離を計算する
# 実装
1.
https://www.wantedly.com/id/shnmtmr/items/a7d93f42-9c5c-47cd-9230-0ba02e2ac1be
の方法によって翻訳時の語順の並び替えを調べるシステムを作成
2. 計算に膨大な時間がかかるため、計算された各言語間の並び替えをDBに保存するAPI(Flask)をherokuに作成
3.
https://huggingface.co/spaces
上に1のシステムをデプロイし、アクセス時に任意の言語間の並び替えを計算して2のDBに保存するように定期実行(現在もデータ計算中)
4. 2のエンドポイント(
https://translation-word-order-api.herokuapp.com/langs
)で各言語間の並び替えの量が取得できるので、それを可視化するページを
https://word-order-language-distance.herokuapp.com/に作成