自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Hugging Face Transformer檢測(cè)文本中的情緒

譯文 精選
人工智能
這篇基于Python的教程側(cè)重于加載和闡明使用一個(gè)Hugging Face預(yù)訓(xùn)練模型來(lái)分類與輸入文本相關(guān)的主要情緒。我們將使用在Hugging Face中心上公開(kāi)可用的情緒數(shù)據(jù)集。這個(gè)數(shù)據(jù)集含有成千上萬(wàn)條用英語(yǔ)寫的推文消息。

譯者 | 布加迪

審校 | 重樓

本文介紹了如何利用Hugging Face預(yù)訓(xùn)練語(yǔ)言模型對(duì)推文隱藏的情緒進(jìn)行分類。

Hugging Face上有各種基于Transformer的語(yǔ)言模型,專門用于處理語(yǔ)言理解和語(yǔ)言生成任務(wù),包括但不限于:

  • 文本分類
  • 命名實(shí)體識(shí)別(NER)
  • 文本生成
  • 問(wèn)題回答
  • 摘要
  • 翻譯

文本分類任務(wù)的一個(gè)特殊又很常見(jiàn)的案例是情緒分析,其目的是識(shí)別給定文本的情緒?!白詈?jiǎn)單”的一類情緒分析語(yǔ)言模型經(jīng)過(guò)訓(xùn)練后,確定輸入文本(比如客戶對(duì)產(chǎn)品的評(píng)價(jià))是積極的還是消極的,或者是積極的、消極的還是中立的。這兩個(gè)具體問(wèn)題分別被表述為二元分類任務(wù)或多類分類任務(wù)。

還有一些語(yǔ)言模型雖然仍可以歸為情緒分析模型,但經(jīng)過(guò)訓(xùn)練后,可以將文本分類為幾種情緒,比如憤怒、快樂(lè)和悲傷等。

這篇基于Python的教程側(cè)重于加載和闡明使用一個(gè)Hugging Face預(yù)訓(xùn)練模型來(lái)分類與輸入文本相關(guān)的主要情緒。我們將使用在Hugging Face中心上公開(kāi)可用的情緒數(shù)據(jù)集。這個(gè)數(shù)據(jù)集含有成千上萬(wàn)條用英語(yǔ)寫的推文消息。

加載數(shù)據(jù)集

我們將運(yùn)行以下指令,加載情緒數(shù)據(jù)集中的訓(xùn)練數(shù)據(jù):

!pip install datasets
from datasets import load_dataset
all_data = load_dataset("jeffnyman/emotions")
train_data = all_data["train"]

下面是train_data變量中訓(xùn)練子集所包含內(nèi)容的摘要:

Dataset({
features: ['text', 'label'],
num_rows: 16000
})

情緒數(shù)據(jù)集中的訓(xùn)練內(nèi)容含有16000個(gè)與推文消息相關(guān)的實(shí)例。每個(gè)實(shí)例有兩個(gè)特征:一個(gè)輸入特征含有實(shí)際的消息文本,一個(gè)輸出特征或標(biāo)簽含有其相關(guān)的情緒(用數(shù)字標(biāo)識(shí)符標(biāo)識(shí))。

0:悲傷

1:快樂(lè)

2:喜愛(ài)

3:憤怒

4:恐懼

5:驚喜

比如說(shuō),訓(xùn)練內(nèi)容中的第一個(gè)標(biāo)記實(shí)例被歸類為“悲傷”情緒:

train_data [0]

輸出:

{'text': 'i didnt feel humiliated', 'label': 0}

加載語(yǔ)言模型

一旦我們加載了數(shù)據(jù),下一步就是從Hugging Face加載一個(gè)合適的預(yù)訓(xùn)練語(yǔ)言模型,用于我們的目標(biāo)情緒檢測(cè)任務(wù)。使用Hugging Face的Transformer庫(kù)加載和使用語(yǔ)言模型有兩種主要方法:

  • 管道提供了一個(gè)非常高的抽象級(jí)別,可以準(zhǔn)備加載語(yǔ)言模型,并立即對(duì)其執(zhí)行推理,只需很少的代碼行,不過(guò)代價(jià)是幾乎沒(méi)什么可配置性。
  • 自動(dòng)類提供了較低層次的抽象,需要更多的編碼技能,但在調(diào)整模型參數(shù)以及定制文本預(yù)處理步驟(如標(biāo)記化)方面提供了更大的靈活性。

為了方便起見(jiàn),本教程側(cè)重于使用管道來(lái)加載模型。管道要求起碼指定語(yǔ)言任務(wù)的類型,并指定要加載的模型名(可選)。由于情緒檢測(cè)是文本分類問(wèn)題的一種非常特殊的形式,因此在加載模型時(shí)使用的任務(wù)參數(shù)應(yīng)該是“text-classification”。

from transformers import pipeline
classifier = pipeline("text-classification", 
model="j-hartmann/emotion-english-distilroberta-base")

另一方面,強(qiáng)烈建議用“model”參數(shù)指定Hugging Face中心中一個(gè)特定模型的名稱,該模型能夠解決我們的特定情緒檢測(cè)任務(wù)。否則,默認(rèn)情況下,我們可能會(huì)為這個(gè)特定的6類分類問(wèn)題加載一個(gè)沒(méi)有經(jīng)過(guò)數(shù)據(jù)訓(xùn)練的文本分類模型。

你可能會(huì)問(wèn)自己:“我怎么知道使用哪個(gè)模型名稱?”。答案很簡(jiǎn)單:在Hugging Face網(wǎng)站上搜索一番,找到合適的模型,或者根據(jù)特定數(shù)據(jù)集(比如情緒數(shù)據(jù))訓(xùn)練的模型。

下一步是開(kāi)始進(jìn)行預(yù)測(cè)。管道使得這個(gè)推理過(guò)程非常簡(jiǎn)單,只需要調(diào)用我們新實(shí)例化的管道變量,并將輸入文本作為參數(shù)來(lái)傳遞:

example_tweet = "I love hugging face transformers!"
prediction = classifier(example_tweet)
print(prediction)

結(jié)果,我們得到一個(gè)預(yù)測(cè)標(biāo)簽和一個(gè)置信度分?jǐn)?shù):這個(gè)分?jǐn)?shù)越接近1,所做的預(yù)測(cè)就越“可靠”。

[{'label': 'joy', 'score': 0.9825918674468994}]

所以,我們的輸入例子“I love hugging face transformers!”明確地傳達(dá)了一種喜悅的情緒。

你可以將多個(gè)輸入文本傳遞給管道以同時(shí)執(zhí)行幾個(gè)預(yù)測(cè),如下所示:

example_tweets = ["I love hugging face transformers!", "I really like coffee 
but it's too bitter..."]
prediction = classifier(example_tweets)
print(prediction)

這個(gè)例子中的第二個(gè)輸入對(duì)于模型執(zhí)行自信分類更具挑戰(zhàn)性:

[{'label': 'joy', 'score': 0.9825918674468994}, {'label': 'sadness', 'score': 
0.38266682624816895}]

最后,我們還可以從數(shù)據(jù)集傳遞一批實(shí)例,比如之前加載的“情緒”數(shù)據(jù)。這個(gè)例子將前10個(gè)訓(xùn)練輸入傳遞給我們的語(yǔ)言模型管道,對(duì)它們的情緒進(jìn)行分類,然后輸出一個(gè)含有每個(gè)預(yù)測(cè)標(biāo)簽的列表,將他們的置信度分?jǐn)?shù)放在一邊:

train_batch = train_data[:10]["text"]
predictions = classifier(train_batch)
labels = [x['label'] for x in predictions]
print(labels)

輸出:

['sadness', 'sadness', 'anger', 'joy', 'anger', 'sadness', 'surprise', 
'fear', 'joy', 'joy']

為了比較,下面是這10個(gè)訓(xùn)練實(shí)例的原始標(biāo)簽:

print(train_data[:10]["label"])

輸出:

[0, 0, 3, 2, 3, 0, 5, 4, 1, 2]

如果觀察每個(gè)數(shù)字標(biāo)識(shí)符所關(guān)聯(lián)的情緒,我們可以看到,10個(gè)預(yù)測(cè)中有7個(gè)與這10個(gè)實(shí)例的實(shí)際標(biāo)簽相匹配。

你已知道如何使用Hugging Face transformer模型來(lái)檢測(cè)文本情緒,何不探究預(yù)訓(xùn)練的語(yǔ)言模型可以提供幫助的其他用例和語(yǔ)言任務(wù)呢?

原文標(biāo)題:Using Hugging Face Transformers for Emotion Detection in Text,作者:Iván Palomares Carrascosa


責(zé)任編輯:姜華 來(lái)源: 51CTO內(nèi)容精選
相關(guān)推薦

2024-06-21 08:42:54

BERTNLP自然語(yǔ)言處理

2024-11-15 08:24:41

2023-10-08 09:00:00

LLMGitHub人工智能

2023-12-06 15:40:17

AI

2024-09-26 10:42:20

2024-11-13 08:34:32

T5聊天機(jī)器人大模型

2025-04-01 09:31:34

PyTorch自動(dòng)語(yǔ)音識(shí)別ASR系統(tǒng)

2024-01-02 09:10:17

k開(kāi)源數(shù)據(jù)

2023-11-28 13:53:00

數(shù)據(jù)模型

2024-02-29 16:35:01

StarCoder2大型語(yǔ)言模型人工智能

2022-07-13 16:45:34

?大模型AI微軟

2023-02-23 17:51:03

亞馬遜云科技AI

2025-03-26 10:57:40

PyTorchGGUF

2024-05-06 12:22:00

AI訓(xùn)練

2025-01-22 13:15:10

2023-06-02 13:55:57

開(kāi)源AI

2024-01-29 09:33:09

云計(jì)算人工智能谷歌云

2024-12-05 13:50:00

AI大模型

2018-03-12 16:42:11

華為云
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)