🚀 HebEMO - 現代ヘブライ語の感情認識モデル
HebEMOは、独自に収集・アノテーションしたCOVID - 19関連のデータセットで学習された、現代ヘブライ語のユーザー生成コンテンツ(UGC)から極性を検出し、感情を抽出するツールです。極性分類においては、加重平均F1スコア=0.96という高い性能を発揮しました。感情検出では、驚きを除いてF1スコアが0.78 - 0.97に達しました(驚きのF1スコアは0.41)。これらの結果は、英語の場合と比較しても、報告されている最高性能を上回っています。
🚀 クイックスタート
HebEMOを使うことで、現代ヘブライ語のUGCから極性と感情を簡単に抽出できます。以下のセクションでは、データの説明、性能、使用方法などについて詳しく説明します。
✨ 主な機能
- 現代ヘブライ語のUGCから極性を検出する。
- UGCから感情を抽出する。
- 高い性能で極性分類と感情検出を行う。
📦 データ説明
感情UGCデータの説明
当社のUGCデータには、2020年1月から2020年8月までに、イスラエルの主要な3つのニュースサイトから収集したニュース記事のコメントが含まれています。データの総サイズは約150MBで、700万語以上、35万文以上が含まれています。
約2000文について、クラウドメンバー(文ごとに3 - 10人のアノテーター)が全体的な感情(極性)と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を参照してください。
💻 使用例
感情認識モデル
オンラインモデルは、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}]]
📚 連絡先
📄 引用
このモデルを使用した場合は、以下のように引用してください。
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}
}