🚀 🦔 HEDGEhog 🦔: BERTベースのマルチクラス不確定性キュー認識
このモデルは、トークンレベルで4種類の異なる不確定性キュー(別名ヘッジ)を検出する、ファインチューニングされたマルチクラス分類モデルです。
🚀 クイックスタート
このモデルは、Simple Transformersライブラリを使用してファインチューニングされています。ただし、このライブラリはTransformersに基づいていますが、モデルをTransformersのpipeline
やクラスと直接使用することはできません。そうすると、誤った出力が生成されます。このため、このページのAPIは無効になっています。
✨ 主な機能
- トークンレベルで4種類の不確定性キューを検出します。
- 以下の不確定性タイプを識別します。
ラベル |
タイプ |
説明 |
例 |
E |
認識論的 (Epistemic) |
命題は可能ですが、その真偽値は現時点では判断できません。 |
She may be already asleep. |
I |
調査的 (Investigation) |
命題の真偽値が決定される過程にあります。 |
She examined the role of NF-kappaB in protein activation. |
D |
信念的 (Doxatic) |
命題は信念や仮説を表し、他者によって真または偽として知られている場合があります。 |
She believes that the Earth is flat. |
N |
条件的 (Condition) |
命題の真偽は、別の命題の真偽値に基づいて決まります。 |
If she gets the job, she will move to Utrecht. |
C |
確定的 (certain) |
n/a |
n/a |
📦 インストール
このモデルを使用するには、Simple Transformersライブラリをインストールする必要があります。
💻 使用例
基本的な使用法
from simpletransformers.ner import NERModel
model = NERModel(
'bert',
'jeniakim/hedgehog',
use_cuda=False,
labels=["C", "D", "E", "I", "N"],
)
example = "As much as I definitely enjoy solitude, I wouldn't mind perhaps spending little time with you (Björk)"
predictions, raw_outputs = model.predict([example])
予測結果は以下のようになります。
[[{'As': 'C'},
{'much': 'C'},
{'as': 'C'},
{'I': 'C'},
{'definitely': 'C'},
{'enjoy': 'C'},
{'solitude,': 'C'},
{'I': 'C'},
{"wouldn't": 'C'},
{'mind': 'C'},
{'perhaps': 'E'},
{'spending': 'C'},
{'little': 'C'},
{'time': 'C'},
{'with': 'C'},
{'you': 'C'},
{'(Björk)': 'C'}]]
つまり、トークン'perhaps'は認識論的不確定性キューとして認識され、他のトークンは不確定性キューではありません。
📚 ドキュメント
トレーニングデータ
HEDGEhogは、Szeged Uncertainty Corpus (Szarvas et al. 20121) でトレーニングおよび評価されています。このデータセットの元の文レベルのXMLバージョンはこちらから入手できます。
トレーニングに使用されたトークンレベルのバージョンは、こちらからpickle形式のpandas DataFrameとしてダウンロードできます。分割セット(train.pkl
137MB、test.pkl
17MB、dev.pkl
17MB)または完全なデータセット(szeged_fixed.pkl
172MB)をダウンロードすることができます。データフレームの各行には、トークン、その特徴(これらはHEDGEhogには関係ありません。ベースラインのCRFモデルをトレーニングするために使用されました。詳細はこちらを参照)、文ID、およびラベルが含まれています。
トレーニング手順
以下のトレーニングパラメータが使用されました。
- オプティマイザ: AdamW
- 学習率: 4e-5
- トレーニングエポック数: 1
- トレーニングバッチサイズ: 16
評価結果
クラス |
適合率 (precision) |
再現率 (recall) |
F1スコア |
サポート |
認識論的 (Epistemic) |
0.90 |
0.85 |
0.88 |
624 |
信念的 (Doxatic) |
0.88 |
0.92 |
0.90 |
142 |
調査的 (Investigation) |
0.83 |
0.86 |
0.84 |
111 |
条件的 (Condition) |
0.85 |
0.87 |
0.86 |
86 |
確定的 (Certain) |
1.00 |
1.00 |
1.00 |
104,751 |
マクロ平均 (macro average) |
0.89 |
0.90 |
0.89 |
105,714 |
🔧 技術詳細
このモデルはBERTベースのマルチクラス分類モデルで、Simple Transformersライブラリを使用してファインチューニングされています。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
📖 参考文献
1 Szarvas, G., Vincze, V., Farkas, R., Móra, G., & Gurevych, I. (2012). Cross-genre and cross-domain detection of semantic uncertainty. Computational Linguistics, 38(2), 335-367.