🚀 多語言(英語和中文)GoEmotions分類模型
本倉庫託管了一個經過微調的BERT模型,用於在GoEmotions數據集上進行跨語言情感分類。該模型的獨特之處在於它是在包含英語和中文文本的多語言數據集上進行訓練的,能夠將文本分類到28種不同的情感類別中。
根據GoEmotions分類法,這28種情感類別分別是:“欽佩”“娛樂”“憤怒”“惱火”“認可”“關心”“困惑”“好奇”“渴望”“失望”“不認可”“厭惡”“尷尬”“興奮”“恐懼”“感激”“悲傷”“喜悅”“愛”“緊張”“樂觀”“驕傲”“領悟”“寬慰”“懊悔”“悲傷”“驚訝”和“中立”。
🚀 快速開始
本倉庫中的多語言GoEmotions分類模型可用於對英語和中文文本進行情感分類。以下是使用該模型的代碼示例:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("SchuylerH/bert-multilingual-go-emtions")
model = AutoModelForSequenceClassification.from_pretrained("SchuylerH/bert-multilingual-go-emtions")
text = "I love you."
nlp = pipeline("sentiment-analysis", model = model, tokenizer = tokenizer)
result = nlp(text)
print(result)
✨ 主要特性
- 多語言支持:能夠處理英語和中文文本,實現跨語言情感分類。
- 豐富的情感類別:可將文本分類到28種不同的情感類別中。
- 高性能表現:在驗證集上展現出較高的準確率和精確率。
📦 安裝指南
文檔未提及具體安裝步驟,暫無法提供。
💻 使用示例
基礎用法
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("SchuylerH/bert-multilingual-go-emtions")
model = AutoModelForSequenceClassification.from_pretrained("SchuylerH/bert-multilingual-go-emtions")
text = "I love you."
nlp = pipeline("sentiment-analysis", model = model, tokenizer = tokenizer)
result = nlp(text)
print(result)
📚 詳細文檔
模型性能
該模型在驗證集上表現出色,具體得分如下:
- 準確率:85.95%
- 精確率:91.99%
- 召回率:89.56%
- F1分數:90.17%
這些結果表明,無論輸入文本是英語還是中文,該模型在預測正確的情感類別方面都具有較高的準確率和精確率。
訓練數據
用於訓練該模型的數據集是原始英語GoEmotions數據集和機器翻譯的中文GoEmotions數據集的組合。該數據集分為兩部分:
- 標註數據:用於初始訓練,包括英語和機器翻譯的中文樣本。這些標註數據進一步分為訓練集(80%)和驗證集(20%)。
- 未標註數據:用於進行預測,並將置信度高的預測樣本添加到訓練數據中。它同樣包括英語和機器翻譯的中文樣本。
訓練過程
模型的訓練分為兩個階段:
- 在標註數據上進行初始訓練。
- 對未標註數據進行預測,並將置信度高的預測樣本添加到訓練數據中,然後在更新後的標註數據上重新訓練模型。
模型總共訓練了20個輪次(每個階段10個輪次),訓練過程中記錄了精確率、召回率和F1分數。
🔧 技術細節
模型基於BERT架構進行微調,利用多語言數據集進行訓練,以實現跨語言情感分類的能力。通過在標註數據和未標註數據上的兩階段訓練,不斷優化模型的性能。
📄 許可證
本項目採用Apache 2.0許可證。