🚀 HeBERT: 極性分析と感情認識のための事前学習済みBERT
HeBERTはヘブライ語の事前学習済み言語モデルです。GoogleのBERTアーキテクチャに基づいており、BERT-Base構成 (Devlin et al. 2018) を採用しています。
HeBERTは3つのデータセットで学習されました。
- ヘブライ語版のOSCAR (Ortiz, 2019):約9.8GBのデータで、10億語以上、2080万文以上を含みます。
- ヘブライ語版のWikipediaダンプ:約650MBのデータで、6300万語以上、380万文以上を含みます。
- 本研究の目的で収集された感情に関するユーザー生成コンテンツ(UGC)データ(以下に説明)。
下流タスクのために、感情認識とセンチメント分析においてモデルを評価しました。
✨ 主な機能
感情UGCデータの説明
私たちのユーザー生成コンテンツ(UGC)は、2020年1月から8月までに3つの主要なニュースサイトから収集された記事に対するコメントです。合計で約150MBのデータで、700万語以上、35万文以上を含みます。
4000文が、群衆メンバーによって8つの感情(怒り、嫌悪、期待、恐怖、喜び、悲しみ、驚き、信頼)と全体的なセンチメント/極性について注釈付けされています(文ごとに3 - 10人の注釈付け者)。
注釈付けの妥当性を検証するために、Krippendorffのアルファ (krippendorff, 1970) を使用して、各文における評価者間の感情の合意を調べました。アルファ > 0.7 となった文のみを残しました。喜び、信頼、嫌悪などの感情については評価者間で一般的な合意が見られましたが、文章中で見つけるのが難しいため(例えば期待や驚き)、一般的に合意が得られない感情もあります。
性能
センチメント分析
項目 |
精度 |
再現率 |
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 |
📦 インストール
このセクションでは、モデルの使用方法について説明します。
💻 使用例
基本的な使用法
マスク付き言語モデル(任意の下流タスクに微調整可能)
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("avichr/heBERT")
model = AutoModel.from_pretrained("avichr/heBERT")
from transformers import pipeline
fill_mask = pipeline(
"fill-mask",
model="avichr/heBERT",
tokenizer="avichr/heBERT"
)
fill_mask("הקורונה לקחה את [MASK] ולנו לא נשאר דבר.")
センチメント分類モデル(極性のみ)
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': 'natural', 'score': 0.9978172183036804},
{'label': 'positive', 'score': 0.0014792329166084528},
{'label': 'negative', 'score': 0.0007035882445052266}]]
>>> sentiment_analysis('קפה זה טעים')
[[{'label': 'natural', 'score': 0.00047328314394690096},
{'label': 'possitive', 'score': 0.9994067549705505},
{'label': 'negetive', 'score': 0.00011996887042187154}]]
>>> sentiment_analysis('אני לא אוהב את העולם')
[[{'label': 'natural', 'score': 9.214012970915064e-05},
{'label': 'possitive', 'score': 8.876807987689972e-05},
{'label': 'negetive', 'score': 0.9998190999031067}]]
当社のモデルはAWSでも利用可能です。詳細については AWSのgit をご覧ください。
📚 ドキュメント
今後の予定
私たちはまだモデルの開発を続けており、進捗に合わせてこのページを更新します。
現時点ではセンチメント分析(極性)のみを公開しており、感情検出は後日公開予定です。
私たちのgit: https://github.com/avichaychriqui/HeBERT
引用
このモデルを使用した場合は、以下のように引用してください。
Chriqui, A., & Yahav, I. (2021). HeBERT & HebEMO: a Hebrew BERT Model and a Tool for Polarity Analysis and Emotion Recognition. arXiv preprint arXiv:2102.01909.
@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={arXiv preprint arXiv:2102.01909},
year={2021}
}