word2vec實例詳解 如何用word2vec計算兩個句子之間的相似度?
如何用word2vec計算兩個句子之間的相似度?一般情況下,word2vec結(jié)果只能用來計算詞與詞之間的相似度,例如用來計算近義詞。但將word2vec通過特定算法利用,也可以用來求句子與句子的相似度
如何用word2vec計算兩個句子之間的相似度?
一般情況下,word2vec結(jié)果只能用來計算詞與詞之間的相似度,例如用來計算近義詞。但將word2vec通過特定算法利用,也可以用來求句子與句子的相似度。有一篇文章From Word Embeddings To Document Distances,就是通過word2vec求句子與句子的相似度。
今天我要介紹一種簡單而且高效的方法,也是利用word2vec求句子與句子的相似度。
首先選出一個詞庫,比如說50萬個詞,然后用word2vec跑出所有詞的向量,然后對于每一個句子,構(gòu)造一個20萬維的向量,向量的每一維是該維對應(yīng)的詞和該句子中每一個詞的相似度的最大值。這樣就構(gòu)造出了句子的向量了,由于句子不會太長,20萬維的向量大部分位置的值為0,因為解是稀疏的,在計算上也沒有什么挑戰(zhàn)。
在nlp中常用的算法都有哪些?
詞向量方面有有word2vec,tf-idf,glove等
序列標(biāo)注方面有hmm,crf等常用的算法,也可和神經(jīng)網(wǎng)絡(luò)結(jié)合使用,可用于解決分詞,詞性識別,命名實體識別,關(guān)鍵詞識別等問題!
關(guān)鍵詞提取方面可以用textrank,lda等
分類方面(包括意圖識別和情感識別等)傳統(tǒng)的機器學(xué)習(xí)算法和神經(jīng)網(wǎng)絡(luò)都是可以的。
其他方面,如相似度比較的余弦相似度,編輯距離以及其他優(yōu)化方面的動態(tài)規(guī)劃,維特比等很多。