文本表示: 從 One-Hot 到 Word2Vec

在自然語(yǔ)言處理(NLP)領(lǐng)域以蕴,如何對(duì)文本這種非結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行表示是 NLP 的一個(gè)重要研究方向。

One-Hot

One-Hot Encoding

在說(shuō)文本 One-Hot Encoding 之前,先來(lái)說(shuō)一說(shuō)機(jī)器學(xué)習(xí)中的 One-Hot Encoding,兩者還是有一點(diǎn)點(diǎn)區(qū)別的。

One-Hot編碼澎埠,又稱獨(dú)熱編碼、一位有效編碼始藕。其方法是使用 N 位狀態(tài)寄存器來(lái)對(duì)N個(gè)狀態(tài)進(jìn)行編碼蒲稳,每個(gè)狀態(tài)都有它獨(dú)立的寄存器位氮趋,并且在任意時(shí)候,其中只有一位有效弟塞。舉個(gè)例子凭峡,假設(shè)我們有四個(gè)樣本(行),每個(gè)樣本有三個(gè)特征(列)决记,如圖:

上圖中我們已經(jīng)對(duì)每個(gè)特征進(jìn)行了普通的數(shù)字編碼:我們的feature_1有兩種可能的取值,比如是男/女倍踪,這里男用1表示系宫,女用2表示。那么one-hot編碼是怎么搞的呢建车?我們?cè)倌胒eature_2來(lái)說(shuō)明:

這里feature_2 有4種取值(狀態(tài))扩借,我們就用4個(gè)狀態(tài)位來(lái)表示這個(gè)特征,one-hot編碼就是保證每個(gè)樣本中的單個(gè)特征只有 1 位處于狀態(tài) 1缤至,其他的都是 0潮罪。

對(duì)于2種狀態(tài)、三種狀態(tài)领斥、甚至更多狀態(tài)都是這樣表示嫉到,所以我們可以得到這些樣本特征的新表示:

one-hot編碼將每個(gè)狀態(tài)位都看成一個(gè)特征。對(duì)于前兩個(gè)樣本我們可以得到它的特征向量分別為

NLP 中的 One-Hot Encoding

在 NLP 中月洛,在特征提取上屬于詞袋模型(bag of words)何恶。下面通過(guò)一個(gè)例子進(jìn)行解釋:
假設(shè)我們的語(yǔ)料庫(kù)中有三段話:

我愛中國(guó)
爸爸媽媽愛我
爸爸媽媽愛中國(guó)

我們首先對(duì)預(yù)料庫(kù)分離并獲取其中所有的詞,然后對(duì)每個(gè)此進(jìn)行編號(hào):

1 我嚼黔; 2 愛细层; 3 爸爸; 4 媽媽唬涧;5 中國(guó)

然后使用one hot對(duì)每段話提取特征向量:

疫赎;

因此我們得到了最終的特征向量為

我愛中國(guó)  ->   1碎节,1捧搞,0,0钓株,1

爸爸媽媽愛我  ->  1实牡,1,1轴合,1创坞,0

爸爸媽媽愛中國(guó)  ->  0,1受葛,1题涨,1偎谁,1

優(yōu)缺點(diǎn)分析

優(yōu)點(diǎn):一是解決了分類器不好處理離散數(shù)據(jù)的問(wèn)題,二是在一定程度上也起到了擴(kuò)充特征的作用(上面樣本特征數(shù)從3擴(kuò)展到了9)

缺點(diǎn):
首先纲堵,它是一個(gè)詞袋模型巡雨,不考慮詞與詞之間的順序(文本中詞的順序信息也是很重要的);
其次席函,它假設(shè)詞與詞相互獨(dú)立(在大多數(shù)情況下铐望,詞與詞是相互影響的);

最后茂附,它得到的特征是離散稀疏的正蛙。

Word2Vec

Word2Vec 來(lái)源于2013年的論文《Efficient Estimation of Word Representation in Vector Space》,它的核心思想是通過(guò)詞的上下文得到詞的向量化表示营曼,有兩種方法:CBOW(通過(guò)上下文的詞預(yù)測(cè)中心詞)乒验、Skip-gram(通過(guò)中心詞預(yù)測(cè)上下文的詞):

CBOW :
通過(guò)目標(biāo)詞的上下文的詞預(yù)測(cè)目標(biāo)詞,圖中就是取大小為2的窗口蒂阱,通過(guò)目標(biāo)詞前后兩個(gè)詞預(yù)測(cè)目標(biāo)詞锻全。具體的做法是,設(shè)定詞向量的維度d录煤,對(duì)所有的詞隨機(jī)初始化為一個(gè)d維的向量鳄厌,然后要對(duì)上下文所有的詞向量編碼得到一個(gè)隱藏層的向量,通過(guò)這個(gè)隱藏層的向量預(yù)測(cè)目標(biāo)詞辐赞,CBOW中的做法是簡(jiǎn)單的相加部翘,然后做一個(gè)softmax的分類,例如詞匯表中一個(gè)有V個(gè)不同的詞响委,就是隱藏層d維的向量乘以一個(gè)W矩陣(Rd×VR d×V )轉(zhuǎn)化為一個(gè)V維的向量新思,然后做一個(gè) softmax 的分類。

由于 V 詞匯的數(shù)量一般是很大的赘风,每次訓(xùn)練都要更新整個(gè)W矩陣計(jì)算量會(huì)很大夹囚,同時(shí)這是一個(gè)樣本不均衡的問(wèn)題,不同的詞的出現(xiàn)次數(shù)會(huì)有很大的差異邀窃,所以論文中采用了兩種不同的優(yōu)化方法 「層次Softmax」和「負(fù)采樣」荸哟。

Skip-gram :
跟CBOW的原理相似,它的輸入是目標(biāo)詞瞬捕,先是將目標(biāo)詞映射為一個(gè)隱藏層向量鞍历,根據(jù)這個(gè)向量預(yù)測(cè)目標(biāo)詞上下文兩個(gè)詞,因?yàn)樵~匯表大和樣本不均衡肪虎,同樣也會(huì)采用多層softmax或負(fù)采樣優(yōu)化劣砍。

層次 Softmax:

由于單詞出現(xiàn)的頻率是不一樣的,所以用哈夫曼編碼構(gòu)建一個(gè)二叉樹扇救,出現(xiàn)頻率高的詞放在前面可以減少計(jì)算量刑枝,用哈夫曼編碼記錄路徑香嗓,例如圖中單詞2(w2w 2?
,規(guī)定左邊走是1装畅,右邊走是0)的哈夫曼編碼就是1110靠娱,在路徑上每到一個(gè)節(jié)點(diǎn)就是一個(gè)sigmoid的二分類,所以叫多層softmax掠兄。具體來(lái)說(shuō)每個(gè)節(jié)點(diǎn)處會(huì)有一個(gè)d維的向量參數(shù)θ
θ像云,每個(gè)單詞也是d維的向量xwx w,一個(gè)sigmoid的方程決定向左或者右走的概率蚂夕,往左走的概率是:

負(fù)采樣也是把模型變?yōu)槎倪壿嫽貧w苫费,每個(gè)詞對(duì)應(yīng)一個(gè)詞向量xwx w和詞的網(wǎng)絡(luò)參數(shù)θw
θ w?,每個(gè)詞附近有2c個(gè)詞双抽,通過(guò)負(fù)采樣,隨機(jī)采樣neg個(gè)反例闲礼,讓正例詞對(duì)目標(biāo)詞的詞向量和窗口內(nèi)詞的網(wǎng)絡(luò)參數(shù)的乘積盡可能的大牍汹,反例的盡可能小,是模型的訓(xùn)練目標(biāo)柬泽。例如在skip-gram中目標(biāo)詞A的詞向量是xAx A? 慎菲,它2c的窗口內(nèi)附近一個(gè)詞的網(wǎng)絡(luò)參數(shù)是θB
θ B ,讓這兩個(gè)的乘積盡可能的大锨并,σ(xTAθB)σ(x AT θ B)盡可能大露该,反例,隨機(jī)采樣出來(lái)的詞乘積盡可能小第煮。同理CBOW中是將2c個(gè)詞相加求平均解幼,然后與目標(biāo)詞的網(wǎng)絡(luò)參數(shù)相乘,也是讓窗口內(nèi)真實(shí)存在的詞乘積盡可能大包警,隨機(jī)采樣出的詞盡可能小撵摆。
負(fù)采樣的方式是根據(jù)詞出現(xiàn)的頻率進(jìn)行采樣,出現(xiàn)頻率越高害晦,越可能被采樣到特铝,原文中是根據(jù)出現(xiàn)頻率的 3/4次方然后做一個(gè)歸一化作為概率進(jìn)行采樣。

另外這篇論文的作者在2016年開源了一個(gè)文本分類的工具壹瘟,F(xiàn)astText鲫剿,與word2vec的原理非常類似,只不過(guò)在做文本分類時(shí)是一個(gè)有監(jiān)督的分類預(yù)測(cè)文本的label稻轨。另外加入n-gram的特征灵莲,對(duì)于英文,每個(gè)單詞前后加入標(biāo)識(shí)澄者,例如#good#笆呆,如果是3-gram的特征就是加入#go,goo,ood,od#请琳,可以解決一些oov的問(wèn)題(不在訓(xùn)練集中出現(xiàn)的生詞)和引入一些詞根的特征。對(duì)于中文“你愛我”和“我愛你”有完全不同的語(yǔ)義赠幕,用CNN或者h(yuǎn)ighway網(wǎng)絡(luò)處理的char embedding可以引入這部分的特征俄精。


[1] https://www.cnblogs.com/lianyingteng/p/7755545.html
版權(quán)聲明:本文為CSDN博主「xiayto」的原創(chuàng)文章,遵循CC 4.0 by-sa版權(quán)協(xié)議榕堰,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明竖慧。
原文鏈接:https://blog.csdn.net/xiayto/article/details/84730009

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市逆屡,隨后出現(xiàn)的幾起案子圾旨,更是在濱河造成了極大的恐慌,老刑警劉巖魏蔗,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砍的,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡莺治,警方通過(guò)查閱死者的電腦和手機(jī)廓鞠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谣旁,“玉大人床佳,你說(shuō)我怎么就攤上這事¢螅” “怎么了砌们?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)搁进。 經(jīng)常有香客問(wèn)我浪感,道長(zhǎng),這世上最難降的妖魔是什么拷获? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任篮撑,我火速辦了婚禮,結(jié)果婚禮上匆瓜,老公的妹妹穿的比我還像新娘赢笨。我一直安慰自己,他們只是感情好驮吱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布茧妒。 她就那樣靜靜地躺著,像睡著了一般左冬。 火紅的嫁衣襯著肌膚如雪桐筏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天拇砰,我揣著相機(jī)與錄音梅忌,去河邊找鬼狰腌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛牧氮,可吹牛的內(nèi)容都是我干的琼腔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼踱葛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丹莲!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起尸诽,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤甥材,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后性含,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洲赵,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年商蕴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了板鬓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡究恤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出后德,到底是詐尸還是另有隱情部宿,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布瓢湃,位于F島的核電站理张,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绵患。R本人自食惡果不足惜雾叭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望落蝙。 院中可真熱鬧织狐,春花似錦、人聲如沸筏勒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)管行。三九已至厨埋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捐顷,已是汗流浹背荡陷。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工雨效, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人废赞。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓徽龟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蛹头。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顿肺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容