国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

從語(yǔ)料理解到模型優(yōu)化:為什么你的文本分析總是差點(diǎn)意思?

0
分享至

點(diǎn)擊下方“JavaEdge”,選擇“設(shè)為星標(biāo)”

第一時(shí)間關(guān)注技術(shù)干貨!


免責(zé)聲明~ 任何文章不要過(guò)度深思! 萬(wàn)事萬(wàn)物都經(jīng)不起審視,因?yàn)槭郎蠜](méi)有同樣的成長(zhǎng)環(huán)境,也沒(méi)有同樣的認(rèn)知水平,更「沒(méi)有適用于所有人的解決方案」; 不要急著評(píng)判文章列出的觀點(diǎn),只需代入其中,適度審視一番自己即可,能「跳脫出來(lái)從外人的角度看看現(xiàn)在的自己處在什么樣的階段」才不為俗人。 怎么想、怎么做,全在乎自己「不斷實(shí)踐中尋找適合自己的大道」

1 目的

本文旨在幫助Java 大佬們快速理解文本數(shù)據(jù),如何檢查語(yǔ)料可能的問(wèn)題,并為后續(xù)模型訓(xùn)練提供超參數(shù)選擇的參考。

2 常見(jiàn)的文本數(shù)據(jù)分析方法

  • 統(tǒng)計(jì)標(biāo)簽的數(shù)量分布

  • 計(jì)算句子長(zhǎng)度分布

  • 進(jìn)行詞頻統(tǒng)計(jì)和關(guān)鍵詞詞云可視化

本文數(shù)據(jù)集特點(diǎn):

  • 用于二分類任務(wù)的中文情感分析數(shù)據(jù)集

  • train.tsv是訓(xùn)練集,dev.tsv是驗(yàn)證集,數(shù)據(jù)格式相同

3 訓(xùn)練集 (train.tsv) 數(shù)據(jù)格式示例

ounter(lineounter(lineounter(line
sentence    label
早餐不好,服務(wù)不到位,晚餐無(wú)西餐,早餐晚餐相同,房間條件不好,餐廳不分吸煙區(qū).房間不分有無(wú)煙房.    0
去的時(shí)候 ,酒店大廳和餐廳在裝修,感覺(jué)大廳有點(diǎn)擠.由于餐廳裝修本來(lái)該享受的早飯,也沒(méi)有享受(他們是8點(diǎn)開(kāi)始每個(gè)房間送,但是我時(shí)間來(lái)不及了)不過(guò)前臺(tái)服務(wù)員態(tài)度好!    1

數(shù)據(jù)包含兩列:

  • 第一列:情感評(píng)論文本

  • 第二列:標(biāo)簽,0 消極評(píng)論,1 積極評(píng)論

4 數(shù)據(jù)分析 4.1 統(tǒng)計(jì)訓(xùn)練集和驗(yàn)證集的標(biāo)簽分布

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

plt.style.use('fivethirtyeight') 

train_data = pd.read_csv("./cn_data/train.tsv", sep="\t")
valid_data = pd.read_csv("./cn_data/dev.tsv", sep="\t")

sns.countplot(x="label", data=train_data)
plt.title("訓(xùn)練集標(biāo)簽分布")
plt.show()

sns.countplot(x="label", data=valid_data)
plt.title("驗(yàn)證集標(biāo)簽分布")
plt.show()

訓(xùn)練集標(biāo)簽數(shù)量分布:

驗(yàn)證集標(biāo)簽數(shù)量分布:

分析:深度學(xué)習(xí)模型評(píng)估,一般用ACC作為評(píng)估指標(biāo),若想將ACC的基線定義在50%左右,則需正負(fù)樣本比例維持在1:1左右,否則就要進(jìn)行必要的數(shù)據(jù)增強(qiáng)或數(shù)據(jù)刪減。上圖中訓(xùn)練和驗(yàn)證集正負(fù)樣本都稍有不均衡, 可以進(jìn)行一些數(shù)據(jù)增強(qiáng)。

4.2 計(jì)算句子長(zhǎng)度分布

# 在訓(xùn)練數(shù)據(jù)中添加新的句子長(zhǎng)度列, 每個(gè)元素的值都是對(duì)應(yīng)的句子列的長(zhǎng)度
train_data["sentence_length"] = list(map(lambda x: len(x), train_data["sentence"]))

# 繪制句子長(zhǎng)度列的數(shù)量分布圖
sns.countplot("sentence_length", data=train_data)
# 主要關(guān)注count長(zhǎng)度分布的縱坐標(biāo), 不需要繪制橫坐標(biāo), 橫坐標(biāo)范圍通過(guò)dist圖進(jìn)行查看
plt.xticks([])
plt.show()

# 繪制dist長(zhǎng)度分布圖
sns.distplot(train_data["sentence_length"])

# 主要關(guān)注dist長(zhǎng)度分布橫坐標(biāo), 不需要繪制縱坐標(biāo)
plt.yticks([])
plt.show()


# 在驗(yàn)證數(shù)據(jù)中添加新的句子長(zhǎng)度列, 每個(gè)元素的值都是對(duì)應(yīng)的句子列的長(zhǎng)度
valid_data["sentence_length"] = list(map(lambda x: len(x), valid_data["sentence"]))

# 繪制句子長(zhǎng)度列的數(shù)量分布圖
sns.countplot("sentence_length", data=valid_data)

# 主要關(guān)注count長(zhǎng)度分布的縱坐標(biāo), 不需要繪制橫坐標(biāo), 橫坐標(biāo)范圍通過(guò)dist圖進(jìn)行查看
plt.xticks([])
plt.show()

# 繪制dist長(zhǎng)度分布圖
sns.distplot(valid_data["sentence_length"])

# 主要關(guān)注dist長(zhǎng)度分布橫坐標(biāo), 不需要繪制縱坐標(biāo)
plt.yticks([])
plt.show()

訓(xùn)練集句子長(zhǎng)度分布:

驗(yàn)證集句子長(zhǎng)度分布:

分析:通過(guò)繪制句子長(zhǎng)度分布圖,可知我們的語(yǔ)料中大部分句子長(zhǎng)度的分布范圍, 因?yàn)槟P偷妮斎胍鬄楣潭ǔ叽绲膹埩,合理的長(zhǎng)度范圍對(duì)之后進(jìn)行句子截?cái)嘌a(bǔ)齊(規(guī)范長(zhǎng)度)起到關(guān)鍵的指導(dǎo)作用. 上圖中大部分句子長(zhǎng)度的范圍大致為20-250之間。

4.3 繪制句子長(zhǎng)度與標(biāo)簽的散點(diǎn)圖

sns.stripplot(x='label', y='sentence_length', data=train_data)
plt.title("訓(xùn)練集正負(fù)樣本句子長(zhǎng)度分布")
plt.show()

sns.stripplot(x='label', y='sentence_length', data=valid_data)
plt.title("驗(yàn)證集正負(fù)樣本句子長(zhǎng)度分布")
plt.show()

訓(xùn)練集上正負(fù)樣本的長(zhǎng)度散點(diǎn)分布:

驗(yàn)證集上正負(fù)樣本的長(zhǎng)度散點(diǎn)分布:

分析:通過(guò)查看正負(fù)樣本長(zhǎng)度散點(diǎn)圖,有效定位異常點(diǎn)的出現(xiàn)位置,幫助我們更準(zhǔn)確進(jìn)行人工語(yǔ)料審查。 上圖中在訓(xùn)練集正樣本中出現(xiàn)異常點(diǎn),它的句子長(zhǎng)度近3500左右,需人工審查。

4.4 統(tǒng)計(jì)不同的詞匯總數(shù)

# 導(dǎo)入jieba用于分詞
# 導(dǎo)入chain方法用于扁平化列表
import jieba
from itertools import chain

# 進(jìn)行訓(xùn)練集的句子進(jìn)行分詞, 并統(tǒng)計(jì)出不同詞匯的總數(shù)
train_vocab = set(chain(*map(lambda x: jieba.lcut(x), train_data["sentence"])))
print("訓(xùn)練集共包含不同詞匯總數(shù)為:", len(train_vocab))

# 進(jìn)行驗(yàn)證集的句子進(jìn)行分詞, 并統(tǒng)計(jì)出不同詞匯的總數(shù)
valid_vocab = set(chain(*map(lambda x: jieba.lcut(x), valid_data["sentence"])))
print("訓(xùn)練集共包含不同詞匯總數(shù)為:", len(valid_vocab))

輸出效果:

ounter(lineounter(line
訓(xùn)練集共包含不同詞匯總數(shù)為: 12147
訓(xùn)練集共包含不同詞匯總數(shù)為: 6857

4.5 生成高頻形容詞詞云

# 使用jieba中的詞性標(biāo)注功能
import jieba.posseg as pseg

def get_a_list(text):
    """用于獲取形容詞列表"""
    # 使用jieba的詞性標(biāo)注方法切分文本,獲得具有詞性屬性flag和詞匯屬性word的對(duì)象, 
    # 從而判斷flag是否為形容詞,來(lái)返回對(duì)應(yīng)的詞匯
    r = []
    for g in pseg.lcut(text):
        if g.flag == "a":
            r.append(g.word)
    return r

# 導(dǎo)入繪制詞云的工具包
from wordcloud import WordCloud

def get_word_cloud(keywords_list):
    # 實(shí)例化繪制詞云的類, 其中參數(shù)font_path是字體路徑, 為了能夠顯示中文, 
    # max_words指詞云圖像最多顯示多少個(gè)詞, background_color為背景顏色 
    wordcloud = WordCloud(font_path="./SimHei.ttf", max_words=100, background_color="white")
    # 將傳入的列表轉(zhuǎn)化成詞云生成器需要的字符串形式
    keywords_string = " ".join(keywords_list)
    # 生成詞云
    wordcloud.generate(keywords_string)

    # 繪制圖像并顯示
    plt.figure()
    plt.imshow(wordcloud, interpolation="bilinear")
    plt.axis("off")
    plt.show()

# 獲得訓(xùn)練集上正樣本
p_train_data = train_data[train_data["label"]==1]["sentence"]

# 對(duì)正樣本的每個(gè)句子的形容詞
train_p_a_vocab = chain(*map(lambda x: get_a_list(x), p_train_data))
#print(train_p_n_vocab)

# 獲得訓(xùn)練集上負(fù)樣本
n_train_data = train_data[train_data["label"]==0]["sentence"]

# 獲取負(fù)樣本的每個(gè)句子的形容詞
train_n_a_vocab = chain(*map(lambda x: get_a_list(x), n_train_data))

# 調(diào)用繪制詞云函數(shù)
get_word_cloud(train_p_a_vocab)
get_word_cloud(train_n_a_vocab)

訓(xùn)練集正樣本形容詞詞云:

訓(xùn)練集負(fù)樣本形容詞詞云:

# 獲得驗(yàn)證集上正樣本
p_valid_data = valid_data[valid_data["label"]==1]["sentence"]

# 對(duì)正樣本的每個(gè)句子的形容詞
valid_p_a_vocab = chain(*map(lambda x: get_a_list(x), p_valid_data))
#print(train_p_n_vocab)

# 獲得驗(yàn)證集上負(fù)樣本
n_valid_data = valid_data[valid_data["label"]==0]["sentence"]

# 獲取負(fù)樣本的每個(gè)句子的形容詞
valid_n_a_vocab = chain(*map(lambda x: get_a_list(x), n_valid_data))

# 調(diào)用繪制詞云函數(shù)
get_word_cloud(valid_p_a_vocab)
get_word_cloud(valid_n_a_vocab)

驗(yàn)證集正樣本形容詞詞云:

驗(yàn)證集負(fù)樣本形容詞詞云:

分析:根據(jù)高頻形容詞詞云顯示,可對(duì)當(dāng)前語(yǔ)料質(zhì)量進(jìn)行簡(jiǎn)單評(píng)估,同時(shí)對(duì)違反語(yǔ)料標(biāo)簽含義的詞匯進(jìn)行人工審查和修正,保證絕大多數(shù)語(yǔ)料符合訓(xùn)練標(biāo)準(zhǔn)。上圖中的正樣本大多數(shù)是褒義詞,而負(fù)樣本大多數(shù)是貶義詞,基本符合要求,但負(fù)樣本詞云中也存在"便利"這樣的褒義詞,因此可人工進(jìn)行審查。

5 總結(jié)

本文為各位 Javaer 提供了一系列文本數(shù)據(jù)分析方法,幫助更好地理解語(yǔ)料,為后續(xù)的機(jī)器學(xué)習(xí)模型訓(xùn)練提供基礎(chǔ)。

本文已收錄在Github Java-Interview-Tutorial,關(guān)注我,緊跟本系列專欄文章,咱們下篇再續(xù)!

  • 魔都架構(gòu)師 | 全網(wǎng)30W+技術(shù)追隨者

  • 大廠分布式系統(tǒng)/數(shù)據(jù)中臺(tái)實(shí)戰(zhàn)專家

  • 主導(dǎo)交易系統(tǒng)億級(jí)流量調(diào)優(yōu) & 車(chē)聯(lián)網(wǎng)平臺(tái)架構(gòu)

  • AIGC應(yīng)用開(kāi)發(fā)先行者 | 區(qū)塊鏈落地實(shí)踐者

  • 以技術(shù)驅(qū)動(dòng)創(chuàng)新,我們的征途是改變世界!

  • 實(shí)戰(zhàn)干貨:編程嚴(yán)選網(wǎng)

關(guān)注我,緊跟本系列專欄文章,咱們下篇再續(xù)!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
一醫(yī)院公告:為保證醫(yī)務(wù)人員休息時(shí)間,法定節(jié)假日全院停診

一醫(yī)院公告:為保證醫(yī)務(wù)人員休息時(shí)間,法定節(jié)假日全院停診

華醫(yī)網(wǎng)
2026-01-12 05:40:41
圍臺(tái)剛結(jié)束,美智庫(kù)宣布:解放軍恐陣亡10萬(wàn)人,美這次可以慘勝?

圍臺(tái)剛結(jié)束,美智庫(kù)宣布:解放軍恐陣亡10萬(wàn)人,美這次可以慘勝?

陳菲副教授
2026-01-12 10:02:37
歐洲人販子有多猖狂?被拐賣(mài)的烏克蘭女人,下場(chǎng)有多慘?

歐洲人販子有多猖狂?被拐賣(mài)的烏克蘭女人,下場(chǎng)有多慘?

跳跳歷史
2025-12-31 10:26:01
當(dāng)年在新東方任教時(shí)的董宇輝

當(dāng)年在新東方任教時(shí)的董宇輝

太急張三瘋
2026-01-10 04:10:39
時(shí)隔798天再奪冠!林昀儒世界排名重回前十 周雨:他確實(shí)很有威脅

時(shí)隔798天再奪冠!林昀儒世界排名重回前十 周雨:他確實(shí)很有威脅

顏小白的籃球夢(mèng)
2026-01-12 09:23:14
明搶5000萬(wàn)桶石油后,特朗普轉(zhuǎn)頭才發(fā)現(xiàn):中國(guó)連一桶都不肯買(mǎi)了

明搶5000萬(wàn)桶石油后,特朗普轉(zhuǎn)頭才發(fā)現(xiàn):中國(guó)連一桶都不肯買(mǎi)了

現(xiàn)代小青青慕慕
2026-01-12 10:49:05
女孩當(dāng)小姐,一晚要提供4到5次上門(mén)服務(wù),2015年被親人點(diǎn)到不赴約

女孩當(dāng)小姐,一晚要提供4到5次上門(mén)服務(wù),2015年被親人點(diǎn)到不赴約

漢史趣聞
2025-11-08 09:27:32
我國(guó)癌癥高發(fā),電飯煲是“幫兇”?提醒:4種省錢(qián)行為確實(shí)要不得

我國(guó)癌癥高發(fā),電飯煲是“幫兇”?提醒:4種省錢(qián)行為確實(shí)要不得

DrX說(shuō)
2026-01-09 14:21:49
鄰居把排污管接我院子里,我不爭(zhēng)天天種菖蒲,2月后他主動(dòng)賠6000

鄰居把排污管接我院子里,我不爭(zhēng)天天種菖蒲,2月后他主動(dòng)賠6000

卡西莫多的故事
2025-12-16 10:29:36
天呀,杜海濤竟然現(xiàn)成這樣了,沈夢(mèng)辰對(duì)他是真愛(ài)啊

天呀,杜海濤竟然現(xiàn)成這樣了,沈夢(mèng)辰對(duì)他是真愛(ài)啊

草莓解說(shuō)體育
2026-01-07 01:43:18
劉燁的基因太強(qiáng)大了,兒子太像他了,諾一是中法混血兒,很帥

劉燁的基因太強(qiáng)大了,兒子太像他了,諾一是中法混血兒,很帥

手工制作阿殲
2026-01-11 03:00:48
帥T網(wǎng)紅爆染愛(ài)滋「背長(zhǎng)滿藤壺顆!! 友目睹恐怖畫(huà)面:以為螞蟻在爬

帥T網(wǎng)紅爆染愛(ài)滋「背長(zhǎng)滿藤壺顆!! 友目睹恐怖畫(huà)面:以為螞蟻在爬

ETtoday星光云
2026-01-12 10:06:26
林書(shū)豪看F4成都演唱會(huì),坐前排被言承旭喊話好靦腆,戴帽子有胡子

林書(shū)豪看F4成都演唱會(huì),坐前排被言承旭喊話好靦腆,戴帽子有胡子

小娛樂(lè)悠悠
2026-01-12 10:43:06
女星長(zhǎng)澤雅美結(jié)婚了,破防的居然是……

女星長(zhǎng)澤雅美結(jié)婚了,破防的居然是……

新民周刊
2026-01-11 13:48:57
毛曉彤足弓暴擊!這線條太致命,是腿精本精沒(méi)錯(cuò)了?

毛曉彤足弓暴擊!這線條太致命,是腿精本精沒(méi)錯(cuò)了?

娛樂(lè)領(lǐng)航家
2026-01-06 21:00:03
武統(tǒng)還沒(méi)開(kāi)始,上百臺(tái)軍飛行員集體跑路?臺(tái)專家:統(tǒng)一有了新模式

武統(tǒng)還沒(méi)開(kāi)始,上百臺(tái)軍飛行員集體跑路?臺(tái)專家:統(tǒng)一有了新模式

青途歷史
2026-01-11 18:58:58
事業(yè)編制開(kāi)除難,網(wǎng)友吐槽辭職三年只得單間辦公室。

事業(yè)編制開(kāi)除難,網(wǎng)友吐槽辭職三年只得單間辦公室。

特約前排觀眾
2026-01-10 00:15:05
高情商呢?西超杯決賽后姆巴佩阻止隊(duì)友致敬巴薩 丟冠丟破防了

高情商呢?西超杯決賽后姆巴佩阻止隊(duì)友致敬巴薩 丟冠丟破防了

雪狼侃體育
2026-01-12 09:59:24
楊瀚森時(shí)隔8場(chǎng)被棄用:仍未進(jìn)開(kāi)拓者常規(guī)輪換 樂(lè)福羅威閃耀扎心

楊瀚森時(shí)隔8場(chǎng)被棄用:仍未進(jìn)開(kāi)拓者常規(guī)輪換 樂(lè)福羅威閃耀扎心

醉臥浮生
2026-01-12 09:22:22
雷克薩斯新車(chē)曝光:2026年4月,正式上市!

雷克薩斯新車(chē)曝光:2026年4月,正式上市!

高科技愛(ài)好者
2026-01-11 22:37:09
2026-01-12 11:32:49
JavaEdge incentive-icons
JavaEdge
Java 技術(shù)
466文章數(shù) 457關(guān)注度
往期回顧 全部

科技要聞

小米二手車(chē)價(jià)大跳水:SU7半年跌5萬(wàn)元

頭條要聞

日媒披露高市早苗或有大動(dòng)作 傳出兩個(gè)方案

頭條要聞

日媒披露高市早苗或有大動(dòng)作 傳出兩個(gè)方案

體育要聞

U23國(guó)足形勢(shì):末輪不負(fù)泰國(guó)即確保晉級(jí)

娛樂(lè)要聞

留幾手為閆學(xué)晶叫屈?稱網(wǎng)友自卑敏感

財(cái)經(jīng)要聞

揭秘“穩(wěn)賺不賠”的代工項(xiàng)目騙局

汽車(chē)要聞

2026款宋Pro DM-i長(zhǎng)續(xù)航補(bǔ)貼后9.98萬(wàn)起

態(tài)度原創(chuàng)

藝術(shù)
房產(chǎn)
親子
公開(kāi)課
軍事航空

藝術(shù)要聞

畫(huà)完這組畫(huà),他抑郁了,后來(lái)自殺了

房產(chǎn)要聞

66萬(wàn)方!4755套!三亞巨量房源正瘋狂砸出!

親子要聞

好希望十八能陪果果度過(guò)更多的人生重要時(shí)刻

公開(kāi)課

李玫瑾:為什么性格比能力更重要?

軍事要聞

俄大使:馬杜羅夫婦被控制時(shí)身邊沒(méi)人

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版