🚀 DistilCamemBERT-Sentiment
我們推出了 DistilCamemBERT-Sentiment,這是一個基於 DistilCamemBERT 微調的模型,用於法語的情感分析任務。該模型使用了兩個數據集構建:亞馬遜評論 和 Allociné.fr,以儘量減少偏差。實際上,亞馬遜評論的內容較為相似且相對簡短,而 Allociné 的評論則是長篇且內容豐富的文本。
此模型與基於 CamemBERT 模型的 tblard/tf-allocine 相近。基於 CamemBERT 的模型存在一個問題,例如在生產階段的擴展時,推理成本可能會成為一個技術難題。為了應對這一影響,我們提出了這個模型,藉助 DistilCamemBERT,在相同功耗下將推理時間縮短了一半。
🚀 快速開始
本模型可用於法語的情感分析任務,以下是使用示例,幫助你快速上手。
✨ 主要特性
- 微調模型:基於 DistilCamemBERT 進行微調,適用於法語情感分析。
- 減少偏差:使用兩個不同的數據集構建,減少了數據偏差。
- 高效推理:相比基於 CamemBERT 的模型,在相同功耗下推理時間縮短一半。
📦 安裝指南
文檔未提及安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
from transformers import pipeline
analyzer = pipeline(
task='text-classification',
model="cmarkea/distilcamembert-base-sentiment",
tokenizer="cmarkea/distilcamembert-base-sentiment"
)
result = analyzer(
"J'aime me promener en forêt même si ça me donne mal aux pieds.",
return_all_scores=True
)
result
[{'label': '1 star',
'score': 0.047529436647892},
{'label': '2 stars',
'score': 0.14150355756282806},
{'label': '3 stars',
'score': 0.3586442470550537},
{'label': '4 stars',
'score': 0.3181498646736145},
{'label': '5 stars',
'score': 0.13417290151119232}]
高級用法
from optimum.onnxruntime import ORTModelForSequenceClassification
from transformers import AutoTokenizer, pipeline
HUB_MODEL = "cmarkea/distilcamembert-base-sentiment"
tokenizer = AutoTokenizer.from_pretrained(HUB_MODEL)
model = ORTModelForSequenceClassification.from_pretrained(HUB_MODEL)
onnx_qa = pipeline("text-classification", model=model, tokenizer=tokenizer)
quantized_model = ORTModelForSequenceClassification.from_pretrained(
HUB_MODEL, file_name="model_quantized.onnx"
)
📚 詳細文檔
數據集
數據集包含來自亞馬遜的 204,993 條訓練評論和 4,999 條測試評論,以及來自 Allocine 網站 的 235,516 條評論和 4,729 條測試評論。數據集被標記為五個類別:
- 1 星:表示極差的評價;
- 2 星:表示較差的評價;
- 3 星:表示中立的評價;
- 4 星:表示較好的評價;
- 5 星:表示極好的評價。
評估結果
除了準確性(這裡稱為 精確準確率),為了對 +/-1 星的估計誤差具有魯棒性,我們採用以下定義作為性能指標:
$$\mathrm{top!-!2; acc}=\frac{1}{|\mathcal{O}|}\sum_{i\in\mathcal{O}}\sum_{0\leq l < 2}\mathbb{1}(\hat{f}_{i,l}=y_i)$$
其中 \(\hat{f}_l\) 是第 l 大的預測標籤,\(y\) 是真實標籤,\(\mathcal{O}\) 是觀測的測試集,\(\mathbb{1}\) 是指示函數。
類別 |
精確準確率 (%) |
top-2 準確率 (%) |
樣本數 |
總體 |
61.01 |
88.80 |
9,698 |
1 星 |
87.21 |
77.17 |
1,905 |
2 星 |
79.19 |
84.75 |
1,935 |
3 星 |
77.85 |
78.98 |
1,974 |
4 星 |
78.61 |
90.22 |
1,952 |
5 星 |
85.96 |
82.92 |
1,932 |
基準測試
本模型與 3 個參考模型進行了比較(見下文)。由於每個模型的目標定義並不完全相同,我們詳細說明了每個模型使用的性能指標。平均推理時間的測量使用了 AMD Ryzen 5 4500U @ 2.3GHz 6 核處理器。
bert-base-multilingual-uncased-sentiment
nlptown/bert-base-multilingual-uncased-sentiment 基於多語言無大小寫版本的 BERT 模型。這個情感分析器與我們的模型一樣,都是在亞馬遜評論上進行訓練的。因此,目標及其定義是相同的。
tf-allociné 和 barthez-sentiment-classification
tblard/tf-allocine 基於 CamemBERT 模型,moussaKam/barthez-sentiment-classification 基於 BARThez,它們使用相同的二分類定義。為了將其轉化為二分類問題,我們只考慮 "1 星" 和 "2 星" 標籤作為 負面 情感,"4 星" 和 "5 星" 作為 正面 情感。我們排除了 "3 星",因為它可以被解釋為 中立 類別。在這種情況下,+/-1 星估計誤差的問題就不存在了。然後我們只使用經典的準確率定義。
🔧 技術細節
文檔未提供具體的技術實現細節,故跳過此章節。
📄 許可證
本項目採用 MIT 許可證。
📖 引用
@inproceedings{delestre:hal-03674695,
TITLE = {{DistilCamemBERT : une distillation du mod{\`e}le fran{\c c}ais CamemBERT}},
AUTHOR = {Delestre, Cyrile and Amar, Abibatou},
URL = {https://hal.archives-ouvertes.fr/hal-03674695},
BOOKTITLE = {{CAp (Conf{\'e}rence sur l'Apprentissage automatique)}},
ADDRESS = {Vannes, France},
YEAR = {2022},
MONTH = Jul,
KEYWORDS = {NLP ; Transformers ; CamemBERT ; Distillation},
PDF = {https://hal.archives-ouvertes.fr/hal-03674695/file/cap2022.pdf},
HAL_ID = {hal-03674695},
HAL_VERSION = {v1},
}