🚀 t5-small-spanish-nahuatl
ナワトル語はメキシコで最も広く話されている先住民の言語です。しかし、構造化データが不足しているため、ニューラル機械翻訳タスクのためのニューラルネットワークを学習させることは困難です。最も人気のあるデータセットであるAxolotとbible - corpusは、それぞれ約16,000と約7,000のサンプルしか含んでいません。さらに、ナワトル語には複数の変種があり、このタスクをさらに難しくしています。たとえば、Axolotデータセットの単語が3通り以上の異なる書き方で見つかることがあります。そこで、T5のテキスト対テキストのプレフィックス学習戦略を活用して、データの不足を補います。まず、多言語モデルにスペイン語を学習させ、その後ナワトル語に適応させます。結果として得られたT5トランスフォーマーは、短い文章をうまく翻訳します。最後に、ChrfとBLEUの結果を報告します。
✨ 主な機能
このモデルは、ウェブから収集したスペイン語とナワトル語の文章で微調整されたT5トランスフォーマー([t5 - small](https://huggingface.co/t5 - small))です。データセットは、[py - elotl](https://github.com/ElotlMX/py - elotl)の'sep'正規化を使用して正規化されています。
📦 インストール
このセクションでは、コードを実行するために必要な依存関係をインストールする手順が必要ですが、元のREADMEには記載がないため、このセクションをスキップします。
💻 使用例
基本的な使用法
from transformers import AutoModelForSeq2SeqLM
from transformers import AutoTokenizer
model = AutoModelForSeq2SeqLM.from_pretrained('hackathon-pln-es/t5-small-spanish-nahuatl')
tokenizer = AutoTokenizer.from_pretrained('hackathon-pln-es/t5-small-spanish-nahuatl')
model.eval()
sentence = 'muchas flores son blancas'
input_ids = tokenizer('translate Spanish to Nahuatl: ' + sentence, return_tensors='pt').input_ids
outputs = model.generate(input_ids)
outputs = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
📚 ドキュメント
アプローチ
データセット
アホロートルコーパスにはアライメントの不整合が含まれているため、最良のサンプル(12,207)を選択しました。また、[bible - corpus](https://github.com/christos - c/bible - corpus)(7,821)も使用します。
アホロートルの最良のアライメントされた書籍 |
Anales de Tlatelolco |
Diario |
Documentos nauas de la Ciudad de México del siglo XVI |
Historia de México narrada en náhuatl y español |
La tinta negra y roja (antología de poesía náhuatl) |
Memorial Breve (Libro las ocho relaciones) |
Método auto - didáctico náhuatl - español |
Nican Mopohua |
Quinta Relación (Libro las ocho relaciones) |
Recetario Nahua de Milpa Alta D.F |
Testimonios de la antigua palabra |
Trece Poetas del Mundo Azteca |
Una tortillita nomás - Se taxkaltsin saj |
Vida económica de Tenochtitlan |
さらに、データを増やすためにウェブから3,000の追加サンプルを収集しました。
モデルと学習
多言語のT5 - smallを使用して2つの学習段階を採用しています。このモデルの利点は、異なる語彙とプレフィックスを扱うことができることです。T5 - smallは、異なるタスクと言語(フランス語、ルーマニア語、英語、ドイツ語)で事前学習されています。
学習段階1(スペイン語の学習)
学習段階1では、まずモデルにスペイン語を導入します。目的は、データが豊富な新しい言語(スペイン語)を学習し、以前の知識を失わないことです。英語 - スペイン語のAnkiデータセット(118,964のテキストペア)を使用します。モデルは収束するまで学習され、「Translate Spanish to English: 」というプレフィックスが追加されます。
学習段階2(ナワトル語の学習)
事前学習された英語 - スペイン語モデルを使用して、スペイン語 - ナワトル語を学習させます。ナワトル語のペアの数が限られているため、英語 - スペイン語のAnkiデータセットから20,000のサンプルも追加します。この2つのタスクの学習により、過学習を回避し、モデルをより堅牢にします。
学習設定
モデルは、同じデータセットでバッチサイズ = 16、学習率2e - 5で660kステップ学習されます。
評価結果
公平な比較のために、同じ505の検証用ナワトル語文でモデルを評価します。最後に、chrfとsacrebleuのHugging Faceメトリクスを使用して結果を報告します。
英語 - スペイン語の事前学習 |
検証損失 |
BLEU |
Chrf |
False |
1.34 |
6.17 |
26.96 |
True |
1.31 |
6.18 |
28.21 |
英語 - スペイン語の事前学習は、BLEUとChrfを改善し、より速い収束をもたらします。評価は、[eval.ipynb](https://github.com/milmor/spanish - nahuatl - translation/blob/main/eval.ipynb)ノートブックで利用可能です。
🔧 技術詳細
このセクションでは、特定の技術的な詳細が必要ですが、元のREADMEには十分な内容が記載されていないため、このセクションをスキップします。
📄 ライセンス
このプロジェクトはApache - 2.0ライセンスの下で提供されています。
参考文献
- Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. 2019. Exploring the limits of transfer learning with a unified Text - to - Text transformer.
- Ximena Gutierrez - Vasques, Gerardo Sierra, and Hernandez Isaac. 2016. Axolotl: a web accessible parallel corpus for Spanish - Nahuatl. In International Conference on Language Resources and Evaluation (LREC).
- https://github.com/christos - c/bible - corpus
- https://github.com/ElotlMX/py - elotl
チームメンバー