郵箱:huang.tian-yuan@qq.com
前文推送:
R語(yǔ)言自然語(yǔ)言處理:詞性標(biāo)注與命名實(shí)體識(shí)別
R語(yǔ)言自然語(yǔ)言處理:關(guān)鍵詞提?。═F-IDF)
R語(yǔ)言自然語(yǔ)言處理:關(guān)鍵詞提取與文本摘要(TextRank)
我們之前講到的全部都是基于詞袋模型(Bag of Words)的方法,比如一個(gè)文檔某個(gè)詞出現(xiàn)了多少次,然后就記錄下來(lái);進(jìn)而,我們可以根據(jù)逆文本頻率指數(shù)(IDF)來(lái)對(duì)其進(jìn)行優(yōu)化,但是它依然是基于詞袋模型。我們想象一下,一個(gè)矩陣,行是文檔,列是單詞,其中的數(shù)值是單詞在這個(gè)文檔中出現(xiàn)的次數(shù),或者是TF-IDF。
這個(gè)模型有兩個(gè)問(wèn)題:
1. 如果單詞特別多,但是每個(gè)詞出現(xiàn)的次數(shù)又不一定很多的時(shí)候,我們得到一個(gè)巨大的稀疏矩陣。這樣存儲(chǔ)效率很低;
2. 這個(gè)模型對(duì)單詞出現(xiàn)的順序沒(méi)有任何記錄,因此“勇士打敗雷霆”和“雷霆打敗勇士”這兩個(gè)短語(yǔ),在BOW模型中認(rèn)為意思是完全一樣的。
為此,科學(xué)家提出了詞嵌入模型。
詞嵌入(Word Embedding)是文本向量化的一種,概念上而言,它是指把一個(gè)維數(shù)為所有詞的數(shù)量的高維空間嵌入到一個(gè)維數(shù)低得多的連續(xù)向量空間中,每個(gè)單詞或詞組被映射為實(shí)數(shù)域上的向量。比如在上面的圖中,我們其實(shí)可以把第一列Mary向量化為(1,0,0),但是文檔變多的時(shí)候效率很低。我們?nèi)绻褂迷~嵌入技術(shù),就可以把向量的維度確定在一定范圍之內(nèi),然后利用一個(gè)數(shù)值向量來(lái)表征這個(gè)詞,從而來(lái)計(jì)算不同單詞之間的相互關(guān)系。利用這個(gè)方法,我們有辦法找到意思相近的關(guān)鍵詞,也可以找到一些詞的反義詞,還能夠計(jì)算詞與詞之間的距離。非常經(jīng)典的例子是,“國(guó)王-男性+女性=女王”。如果我們得到詞向量,我們就可以輕易地進(jìn)行這種計(jì)算,然后進(jìn)行文本的理解。
本來(lái)希望從word2vec的方法開(kāi)始講實(shí)現(xiàn),但是發(fā)現(xiàn)R對(duì)word2vec的支持確實(shí)不完善,很多教程連數(shù)據(jù)都無(wú)法下載成功,但是有一個(gè)包卻非常優(yōu)秀,叫做text2vec。它不能做word2vec,但是卻能夠很好地實(shí)現(xiàn)GloVe。GloVe是基于word2vec的一個(gè)詞嵌入方法,是斯坦福大學(xué)研究者提出的,具體項(xiàng)目見(jiàn)[GloVe項(xiàng)目官網(wǎng)]
(https://nlp.stanford.edu/projects/glove/)
相關(guān)的R代碼在GloVe Word Embeddings(http://text2vec.org/glove.html),這是目前最新的版本,真實(shí)有效,簡(jiǎn)單快捷。方法的輸入,是一段文字,輸出是每個(gè)詞的數(shù)值向量。有了這些向量,我們可以做詞的聚類,同時(shí)也可以用這些詞向量來(lái)對(duì)文檔進(jìn)行分類。此外,fastText也能夠?qū)卧~進(jìn)行向量化(<CRAN - Package fastrtext>https://cran.r-project.org/web/packages/fastrtext/index.html)。不僅單詞可以向量化,整個(gè)文檔也可以向量化,這個(gè)可以使用doc2vec模型,而R中也有相關(guān)的實(shí)現(xiàn)(<Doc2Vec function | R Documentation>https://www.rdocumentation.org/packages/textTinyR/versions/1.1.2/topics/Doc2Vec)。
也就是說(shuō),以后如果有需要對(duì)文檔進(jìn)行分類,或者對(duì)關(guān)鍵詞進(jìn)行分類,詞嵌入的技術(shù)能夠大大幫助我們提高結(jié)果的合理性。如果有必要,后期會(huì)進(jìn)行實(shí)踐操作,目前先介紹到這里。
——————————————
聯(lián)系客服