🚀 MultiIndicWikiBioUnified
MultiIndicWikiBioUnifiedは、多言語のシーケンス-to-シーケンスの事前学習モデルです。これは、IndicBARTのチェックポイントをIndicWikiBioデータセットの9つの言語でファインチューニングしたものです。ファインチューニングの詳細については、論文を参照してください。MultiIndicWikiBioを使用すると、教師付き学習データでモデルをファインチューニングすることで、インドの言語に対する伝記生成アプリケーションを構築できます。MultiIndicWikiBioのいくつかの顕著な特徴は次の通りです。
- サポートされる言語: アッサム語、ベンガル語、ヒンディー語、オリヤー語、パンジャーブ語、カンナダ語、マラヤーラム語、タミル語、テルグ語。これらの言語のすべてがmBART50とmT5でサポートされているわけではありません。
- このモデルはmBARTとmT5(-base)モデルよりもはるかに小さいため、ファインチューニングとデコードに必要な計算コストが少なくて済みます。
- インドの言語コーパス(34,653の例)でファインチューニングされています。
- すべての言語がデーヴァナーガリー文字で表現されており、関連する言語間の転移学習を促進しています。
MultiIndicWikiBioUnifiedについての詳細は、この論文で読むことができます。
🚀 クイックスタート
✨ 主な機能
- 多言語対応: アッサム語、ベンガル語、ヒンディー語など9つのインドの言語をサポート。
- 軽量モデル: mBARTやmT5(-base)よりも小さく、計算コストが低い。
- インド語コーパスでのファインチューニング: 34,653の例で学習。
- デーヴァナーガリー文字表現: 関連言語間の転移学習を促進。
📦 インストール
本モデルのインストールに関する具体的な手順は、提供されていません。
💻 使用例
基本的な使用法
from transformers import MBartForConditionalGeneration, AutoModelForSeq2SeqLM
from transformers import AlbertTokenizer, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("ai4bharat/MultiIndicWikiBioUnified", do_lower_case=False, use_fast=False, keep_accents=True)
model = AutoModelForSeq2SeqLM.from_pretrained("ai4bharat/MultiIndicWikiBioUnified")
bos_id = tokenizer._convert_token_to_id_with_added_voc("<s>")
eos_id = tokenizer._convert_token_to_id_with_added_voc("</s>")
pad_id = tokenizer._convert_token_to_id_with_added_voc("<pad>")
inp = tokenizer("<TAG> name </TAG> भीखा लाल <TAG> office </TAG> विधायक - 318 - हसनगंज विधान सभा निर्वाचन क्षेत्र , उत्तर प्रदेश <TAG> term </TAG> 1957 से 1962 <TAG> nationality </TAG> भारतीय</s><2hi>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
out = tokenizer("<2hi> भीखा लाल ,भारत के उत्तर प्रदेश की दूसरी विधानसभा सभा में विधायक रहे। </s>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
model_outputs=model(input_ids=inp, decoder_input_ids=out[:,0:-1], labels=out[:,1:])
model_outputs.loss
model_outputs.logits
model.eval()
model_output=model.generate(inp, use_cache=True,no_repeat_ngram_size=3,encoder_no_repeat_ngram_size=3, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2hi>"))
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(decoded_output)
📚 ドキュメント
注意事項
⚠️ 重要提示
出力言語がヒンディー語またはマラーティー語でない場合、Indic NLP Libraryを使用してデーヴァナーガリー文字から目的の言語の文字に変換する必要があります。
💡 使用建议
非デーヴァナーガリー文字で書かれた言語を使用する場合は、最初にIndic NLP Libraryを使用してデーヴァナーガリー文字に変換し、出力を得た後は元の文字に戻す必要があります。
🔧 技術詳細
ベンチマーク
IndicWikiBio
テストセットでのスコアは次の通りです。
言語 |
RougeL |
アッサム語 |
56.28 |
ベンガル語 |
57.42 |
ヒンディー語 |
67.48 |
カンナダ語 |
40.01 |
マラヤーラム語 |
38.84 |
オリヤー語 |
67.13 |
パンジャーブ語 |
52.88 |
タミル語 |
51.82 |
テルグ語 |
51.43 |
📄 ライセンス
このモデルはMITライセンスの下で利用可能です。
📚 引用
このモデルを使用する場合は、次の論文を引用してください。
@inproceedings{Kumar2022IndicNLGSM,
title={IndicNLG Suite: Multilingual Datasets for Diverse NLG Tasks in Indic Languages},
author={Aman Kumar and Himani Shrotriya and Prachi Sahu and Raj Dabre and Ratish Puduppully and Anoop Kunchukuttan and Amogh Mishra and Mitesh M. Khapra and Pratyush Kumar},
year={2022},
url = "https://arxiv.org/abs/2203.05437"
}