背景
最近做優(yōu)化評(píng)論的工作榔至,涉及到一些自然語(yǔ)言處理的問(wèn)題抵赢,記錄如下。
中文和英文很大的一個(gè)不同在于中分需要分詞唧取。對(duì)于英文來(lái)說(shuō)铅鲤,一個(gè)單詞就是一個(gè)詞,而對(duì)于中文來(lái)說(shuō)枫弟,可能是一個(gè)漢字代表一個(gè)詞邢享,也可能是幾個(gè)漢字代表一個(gè)詞。因此在使用許多語(yǔ)言模型的時(shí)候淡诗,首先要進(jìn)行分詞骇塘。
分詞的一個(gè)簡(jiǎn)單的方案是使用結(jié)巴分詞伊履。其中涉及自定義詞語(yǔ)的權(quán)重和自定義停用詞。雖然是python寫的款违,但是支持很多語(yǔ)言的調(diào)用唐瀑,分詞之后就可以使用一些模型進(jìn)行語(yǔ)義分析。
一段評(píng)論的關(guān)鍵信息插爹,有評(píng)論的字?jǐn)?shù)哄辣,關(guān)鍵詞,詞頻赠尾,主題力穗,情感傾向等
過(guò)長(zhǎng)或者過(guò)短的評(píng)論往往都不能提供有效信息。過(guò)長(zhǎng)的評(píng)論有可能是一些無(wú)意義的粘貼的段落气嫁,過(guò)短的評(píng)論信息含量比較少当窗。當(dāng)然,也有一些詳細(xì)的有效的長(zhǎng)評(píng)論杉编,只是占比確實(shí)小一些超全。
關(guān)鍵詞或者是敏感詞咆霜,可以過(guò)濾掉一些負(fù)面的評(píng)論邓馒,留下正面評(píng)論。但是簡(jiǎn)單的規(guī)則很難準(zhǔn)確的判斷語(yǔ)句的含義蛾坯,經(jīng)常誤傷或者漏網(wǎng)光酣。
利用機(jī)器學(xué)習(xí)模型可以幫助分析語(yǔ)句的含義。但是監(jiān)督學(xué)習(xí)需要樣本的標(biāo)注脉课。
對(duì)于標(biāo)注,有人工標(biāo)注最好,如果沒(méi)有观腊,可以采用用戶評(píng)分以及簡(jiǎn)單規(guī)則過(guò)濾幻梯,在模型訓(xùn)練之后,可進(jìn)一步對(duì)之前的分類再分類呈驶,反復(fù)迭代拷泽。如此也是加速人工標(biāo)注的方法。袖瞻。
監(jiān)督學(xué)習(xí)還需要樣本司致,也就是需要將分詞向量化。向量化的一種方式是one-hot聋迎,可同時(shí)配合tf-idf方法脂矫,另一種方式是采用word2vec方法。在得到詞特征之后霉晕,可以使用lr或者svm或者lstm等模型進(jìn)行訓(xùn)練庭再。fasttext是一種基于word2vec的文本分類工具捞奕。
fasttext除了可以用于分類,還可以得到詞向量拄轻,以計(jì)算詞語(yǔ)之間的相似度缝彬,僅在做關(guān)鍵詞過(guò)濾時(shí),也可以做詞語(yǔ)的擴(kuò)展哺眯,對(duì)于近義詞做相似的處理谷浅,好過(guò)字與字的嚴(yán)格匹配。
基本使用
fasttext可以對(duì)一個(gè)標(biāo)注的語(yǔ)段分類奶卓,也可以得到詞向量做為下一步的處理的特征
事實(shí)上一疯,如果做商品推薦,如果將一系列的商品看做一系列的分詞夺姑,也可以使用fasttext實(shí)現(xiàn)基于商品的協(xié)同過(guò)濾墩邀。
fasttext可以至少有兩種使用方式,一種是基于命令行的盏浙,一種是基于python的眉睹。命令行似乎更快一點(diǎn)。