Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 6.02 KB

README.ja.md

File metadata and controls

56 lines (34 loc) · 6.02 KB

Demonstration of AI/neural word alignment of English & Japanese text using mBERT-based machine learning models.
日本語と英語の文に対してmBERTベースの機械学習モデルを使用したAI・ニューラル単語アラインメントのデモ。

English ver.

私は2つの最先端英日単語アラインメントのツールを実験して比べるための可視化ツールを作成した。両方は多言語BERTに基づいているけど問題を別の方法でアプローチする:

  • WSPAlignはNTTの初期作品に基づいて、question-answeringを使って question("from"テクスト)でマークされた単語に対応する context("to"テクスト)スパンを探して、"from"テクストにあるそれぞれの単語に対して繰り返す。(※このリポジトリが使うのはモデルだけ。元のはFOSSじゃないので推論コードがゼロから作られてきた)

  • awesome-alignはBERTモデルを通じて両方の文を実行して、文脈化された単語埋め込みをモデルの「経験的に選べた」レイヤー(論文の2.1節を参照)から抜き出して、可能性の高い単語アラインメントを識別するために類似比較を行う。この方法の利点は一度に文全体を処理できること。

両方のモデル(WSPAlignと微調整されたawesome-alignモデル)は京都に関するウィキペディア記事から取って手動でアラインメントされた1,235の日英文ペアで構成される京都フリー翻訳タスク(KFTT)コーパスに学習された。(WSPAlignはヒューリスティックスによって自動的にアラインメントされたウィキペディアから色々の言語の文にさらに学習された。その論文の2.3節を参照して)

Thoughts & conclusions 思考と結論

私の最初の仮説は実際の単語埋め込みを使用するawesome-alignの方が¶文字に包まれている単語の翻訳を見つけるように単純にAIを「聞く」ことより良い結果を出すことだったけど、少なくとも私のテストでは、実際はその逆みたいだ。完璧じゃないけど。上に見える通り、WSPAlignのモデルがいくつくの間違いをした:experienceを「練度」じゃなくて「活躍」に合わせるとか、「上がれば」をas good asに合わせるとか(構文の違いにAIは足元をすくわれるようだ)それに敬称「お」のかなり新規な解釈。

相応しい学習データが足りないのは問題かもしれない。私の知ってる限り、日本語と英語のために存在して手動で単語アラインメントされた唯一の対訳コーパスはKFTTだ。mBERTのトークン化が日本語を対応する方法が要素という可能性もある。漢字の単語は全て個々の文字に分割されるんだ。東北大学のbert-japaneseはMeCabを活用する日本語固有のより良いトーケン化を使うから、それに基づいて新しいモデルを微調整すると精度を向上させるのか興味がある。

それにしても、どれくらい正しいかは結構すごいだ。モデルの効果を見るために色々の例文で自分で試してみるとおすすめする。

Running the visualization server 可視化サーバーの実行

Pythonを使って:

$ git clone --recurse-submodules https://github.com/maxkagamine/word-alignment-demo.git
$ cd word-alignment-demo
$ python3 -m venv .venv && . .venv/bin/activate
$ pip install -r requirements.txt
$ ./visualize.py

Dockerを使って:

docker run -it --rm \
  -v ~/.cache/huggingface/hub:/root/.cache/huggingface/hub \
  -v ./models:/app/models \
  -p 5000:5000 \
  kagamine/word-alignment-demo

WSPAlignとBERTのモデルは自動的にダウンロードされるけど、awesome-alignの微調整された「model_with_co」と「model_without_co」モデルはそのreadmeのGoogle Driveリンクから自分でダウンロードして、リポジトリのルートにある「models」というフォルダに抽出する必要がある。

Related academic papers 関連学術論文

Wu, Q., Nagata, M., & Tsuruoka, Y. (2023). WSPAlign: Word Alignment Pre-training via Large-Scale Weakly Supervised Span Prediction. In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (pp. 11084–11099). Association for Computational Linguistics.

Dou, Z.Y., & Neubig, G. (2021). Word Alignment by Fine-tuning Embeddings on Parallel Corpora. In Conference of the European Chapter of the Association for Computational Linguistics (EACL).

Nagata, M., Chousa, K., & Nishino, M. (2020). A Supervised Word Alignment Method based on Cross-Language Span Prediction using Multilingual BERT. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP) (pp. 555–565). Association for Computational Linguistics.