🚀 comprehend-it-multilang-base
このモデルは、mT5-base をベースにしたエンコーダー・デコーダーモデルで、多言語の自然言語推論データセットおよび複数のテキスト分類データセットを用いて学習されています。このモデルは、入力のテキストとラベルがそれぞれモデルの異なる部分(エンコーダーとデコーダー)でエンコードされるため、テキストと言語化されたラベルの文脈理解能力に優れています。ゼロショット分類器は約100言語をサポートし、ラベルとテキストが異なる言語であっても動作します。
🚀 クイックスタート
必要なライブラリのインストール
モデルのアーキテクチャが異なるため、transformersの "zero-shot-classification" パイプラインは使用できません。そのため、LiqFit という特別なライブラリを開発しました。また、T5トークナイザーを使用するために sentencepiece ライブラリがインストールされていない場合は、これもインストールする必要があります。
pip install liqfit sentencepiece
LiqFitパイプラインを使用したモデルの読み込み
モデルは zero-shot-classification
パイプラインを使って以下のように読み込むことができます。
from liqfit.pipeline import ZeroShotClassificationPipeline
from liqfit.models import T5ForZeroShotClassification
from transformers import T5Tokenizer
model = T5ForZeroShotClassification.from_pretrained('knowledgator/comprehend_it-multilingual-t5-base')
tokenizer = T5Tokenizer.from_pretrained('knowledgator/comprehend_it-multilingual-t5-base')
classifier = ZeroShotClassificationPipeline(model=model, tokenizer=tokenizer,
hypothesis_template = '{}', encoder_decoder = True)
このパイプラインを使って、指定したクラス名のいずれかにシーケンスを分類することができます。
💻 使用例
基本的な使用法
sequence_to_classify = "one day I will see the world"
candidate_labels = ['travel', 'cooking', 'dancing']
classifier(sequence_to_classify, candidate_labels, multi_label=False)
{'sequence': 'one day I will see the world',
'labels': ['travel', 'cooking', 'dancing'],
'scores': [0.7350383996963501, 0.1484801471233368, 0.1164814680814743]}
高度な使用法
他言語(ウクライナ語)のテキストを分類する例
sequence_to_classify = "Одного дня я побачу цей світ."
candidate_labels = ['подорож', 'кулінарія', 'танці']
classifier(sequence_to_classify, candidate_labels, multi_label=False)
{'sequence': 'Одного дня я побачу цей світ.',
'labels': ['подорож', 'кулінарія', 'танці'],
'scores': [0.6393420696258545, 0.2657214105129242, 0.09493650496006012]}
テキストとラベルが異なる言語の場合の分類例
sequence_to_classify = "Одного дня я побачу цей світ"
candidate_labels = ['travel', 'cooking', 'dancing']
classifier(sequence_to_classify, candidate_labels, multi_label=False)
{'sequence': 'Одного дня я побачу цей світ',
'labels': ['travel', 'cooking', 'dancing'],
'scores': [0.7676175236701965, 0.15484870970249176, 0.07753374427556992]}
📚 ドキュメント
ベンチマーク
以下は、いくつかのテキスト分類データセットでのF1スコアです。すべてのテスト対象モデルは、これらのデータセットでファインチューニングされておらず、ゼロショット設定でテストされています。
将来的な参考資料
弊社のブログ記事 - "The new milestone in zero-shot capabilities (it’s not Generative AI)." をチェックしてください。この記事では、このモデルの可能な使用例と、次のトークン予測が素晴らしいゼロショット能力を達成する唯一の方法ではない理由について解説しています。AI業界の多くが生成AIとデコーダーベースのモデルに焦点を当てている中、弊社はエンコーダーベースのモデルの開発に取り組んでいます。このようなモデルに対して、デコーダーベースのモデルと同じレベルの汎化能力を達成することを目指しています。エンコーダーは双方向注意などの素晴らしい特性を持ち、多くの情報抽出タスクにおいて効率と制御性の面で最適な選択肢です。
フィードバック
皆様の意見を大切にしています!モデルの改善に役立つフィードバックや提案を共有してください。フォームに記入してください。
Discordへの参加
弊社のモデルに関するニュース、サポート、議論のために、Discordでコミュニティとつながりましょう。Discordに参加してください。
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
📋 モデル情報
属性 |
詳細 |
モデルタイプ |
エンコーダー・デコーダーモデル |
学習データ |
multi_nli、xnli、dbpedia_14、SetFit/bbc-news、squad_v2、race、knowledgator/events_classification_biotech、facebook/anli、SetFit/qnli |
評価指標 |
正解率、F1スコア |
パイプラインタグ |
ゼロショット分類 |
タグ |
分類、情報抽出、ゼロショット |