🚀 HebEMO - 現代ヘブライ語の感情識別モデル
HebEMOは、現代ヘブライ語のユーザー生成コンテンツ(UGC)の極性を検出し、感情を抽出するツールです。このモデルは、独自に収集・アノテーション付けしたCOVID-19関連のデータセットを用いて訓練されています。HebEMOは、極性分類タスクにおいて、加重平均F1スコアが0.96という高い性能を達成しています。感情検出では、「驚き」の感情(F1スコア0.41、モデルがこの感情をうまく捉えられていない)を除き、他の感情のF1スコアは0.78 - 0.97に達しています。これらの結果は、英語の言語モデルの最高性能と比較しても優れています。
🚀 クイックスタート
感情識別モデル
オンラインモデルは huggingface spaces で見つけることができます。または、colab notebook を使用することもできます。
!git clone https://github.com/avichaychriqui/HeBERT.git
from HeBERT.src.HebEMO import *
HebEMO_model = HebEMO()
HebEMO_model.hebemo(input_path = 'data/text_example.txt')
hebEMO_df = HebEMO_model.hebemo(text='החיים יפים ומאושרים', plot=True)

感情分類モデル(極性のみ)
from transformers import AutoTokenizer, AutoModel, pipeline
tokenizer = AutoTokenizer.from_pretrained("avichr/heBERT_sentiment_analysis")
model = AutoModel.from_pretrained("avichr/heBERT_sentiment_analysis")
sentiment_analysis = pipeline(
"sentiment-analysis",
model="avichr/heBERT_sentiment_analysis",
tokenizer="avichr/heBERT_sentiment_analysis",
return_all_scores = True
)
sentiment_analysis('אני מתלבט מה לאכול לארוחת צהריים')
>>> [[{'label': 'neutral', 'score': 0.9978172183036804},
>>> {'label': 'positive', 'score': 0.0014792329166084528},
>>> {'label': 'negative', 'score': 0.0007035882445052266}]]
sentiment_analysis('קפה זה טעים')
>>> [[{'label': 'neutral', 'score': 0.00047328314394690096},
>>> {'label': 'possitive', 'score': 0.9994067549705505},
>>> {'label': 'negetive', 'score': 0.00011996887042187154}]]
sentiment_analysis('אני לא אוהב את העולם')
>>> [[{'label': 'neutral', 'score': 9.214012970915064e-05},
>>> {'label': 'possitive', 'score': 8.876807987689972e-05},
>>> {'label': 'negetive', 'score': 0.9998190999031067}]]
✨ 主な機能
- 現代ヘブライ語のユーザー生成コンテンツの極性を検出し、感情を抽出することができます。
- 独自のCOVID-19関連データセットを用いて訓練されており、極性分類と感情検出タスクで優れた性能を発揮します。
📦 インストール
!git clone https://github.com/avichaychriqui/HeBERT.git
💻 使用例
基本的な使用法
from HeBERT.src.HebEMO import *
HebEMO_model = HebEMO()
HebEMO_model.hebemo(input_path = 'data/text_example.txt')
hebEMO_df = HebEMO_model.hebemo(text='החיים יפים ומאושרים', plot=True)
高度な使用法
from transformers import AutoTokenizer, AutoModel, pipeline
tokenizer = AutoTokenizer.from_pretrained("avichr/heBERT_sentiment_analysis")
model = AutoModel.from_pretrained("avichr/heBERT_sentiment_analysis")
sentiment_analysis = pipeline(
"sentiment-analysis",
model="avichr/heBERT_sentiment_analysis",
tokenizer="avichr/heBERT_sentiment_analysis",
return_all_scores = True
)
sentiment_analysis('אני מתלבט מה לאכול לארוחת צהריים')
sentiment_analysis('קפה זה טעים')
sentiment_analysis('אני לא אוהב את העולם')
📚 ドキュメント
感情UGCデータの説明
私たちのUGCデータは、2020年1月から2020年8月までの期間に、3つの主要なイスラエルのニュースサイトから収集したニュース記事のコメントを含んでいます。データの総サイズは約150MBで、700万語以上と35万文を含んでいます。約2000の文は、クラウドソーシングメンバーによって(各文に3 - 10人のアノテーター)、全体的な感情(極性)と8つの感情:怒り、嫌悪、期待、恐怖、喜び、悲しみ、驚き、信頼についてアノテーション付けされています。各感情が文に出現する割合は以下の表に示されています。
プロパティ |
詳細 |
データソース |
2020年1月 - 2020年8月、3つの主要なイスラエルのニュースサイトのニュース記事のコメント |
データサイズ |
約150MB、700万語以上、35万文 |
アノテーション内容 |
全体的な感情(極性)と8つの感情(怒り、嫌悪、期待、恐怖、喜び、悲しみ、驚き、信頼) |
感情 |
怒り |
嫌悪 |
期待 |
恐怖 |
喜び |
悲しみ |
驚き |
信頼 |
感情極性 |
割合 |
0.78 |
0.83 |
0.58 |
0.45 |
0.12 |
0.59 |
0.17 |
0.11 |
0.25 |
性能
感情識別
感情 |
F1スコア |
精度 |
再現率 |
怒り |
0.96 |
0.99 |
0.93 |
嫌悪 |
0.97 |
0.98 |
0.96 |
期待 |
0.82 |
0.80 |
0.87 |
恐怖 |
0.79 |
0.88 |
0.72 |
喜び |
0.90 |
0.97 |
0.84 |
悲しみ |
0.90 |
0.86 |
0.94 |
驚き |
0.40 |
0.44 |
0.37 |
信頼 |
0.83 |
0.86 |
0.80 |
上記の指標は、正のクラス(つまり、テキストにその感情が反映されている)に対するものです。
感情分類(極性のみ)
クラス |
精度 |
再現率 |
F1スコア |
中性 |
0.83 |
0.56 |
0.67 |
ポジティブ |
0.96 |
0.92 |
0.94 |
ネガティブ |
0.97 |
0.99 |
0.98 |
正解率 |
|
|
0.97 |
マクロ平均 |
0.92 |
0.82 |
0.86 |
加重平均 |
0.96 |
0.97 |
0.96 |
⚠️ 重要な注意事項
感情分類(極性)モデルは、AWS上でも使用できます!詳細については、AWSのgitリポジトリ をご覧ください。
📞 お問い合わせ
ありがとう!תודה!شكرا!
📚 引用について
このモデルを使用した場合は、以下の形式で引用してください。
Chriqui, A., & Yahav, I. (2022). HeBERT & HebEMO: a Hebrew BERT Model and a Tool for Polarity Analysis and Emotion Recognition. INFORMS Journal on Data Science, forthcoming.
@article{chriqui2021hebert,
title={HeBERT \& HebEMO: a Hebrew BERT Model and a Tool for Polarity Analysis and Emotion Recognition},
author={Chriqui, Avihay and Yahav, Inbal},
journal={INFORMS Journal on Data Science},
year={2022}
}