嫒美直播免费版app下载-嫒美直播永久免费版下载-嫒美直播最新下载安装

當(dāng)前位置:首頁(yè) > 教育綜合 > 正文

詞向量是什么意思?

詞向量,LDA,word2vec三者的關(guān)系是什么?

詞向量,有時(shí)候翻譯為詞嵌入(word embeddings),又可以稱作distributed word representation[1], 最初起源是神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(Neural Networks Language Models),word2vec是一種常見(jiàn)的word embeddings,另外一種著名word embeddings是GloVe

LDA(Latent Dirichlet Allocation)是主題模型(Topic Models)的一種計(jì)算方法,和詞向量并無(wú)直接關(guān)系,不過(guò)如果扯上另外一種topic model, LSA(Latent Semantic Allocation),那就有一些關(guān)系了:LSA的核心技術(shù)是SVD,一種矩陣分解,而SVD一般在NLP中的使用并非是使用它分解的三個(gè)矩陣,而是合并右邊兩個(gè)矩陣。那么合并之后,左邊的矩陣就可以視為word embeddings,而右邊的矩陣可以視為當(dāng)它是context時(shí)候的embeddings。當(dāng)然,一般的矩陣分解,比如NMF,也可以得到word embeddings。而word2vec一再被人證明,從結(jié)果看,是一個(gè)全局PPMI矩陣的分解。某種意義講,word embeddings可以理解是傳統(tǒng)矩陣分解的一個(gè)加速版本。LDA和word embeddings還是可以有點(diǎn)聯(lián)系,比如加入LDA的結(jié)果作為word embeddings的輸入,來(lái)增強(qiáng)文章分類效果。Latent Dirichlet Allocation(LDA)和word2vec從模型上看幾乎沒(méi)有顯著聯(lián)系。詞向量則是所有對(duì)詞進(jìn)行表示的方法的統(tǒng)稱。關(guān)于聯(lián)系你可以這樣看:LDA的作用之一是通過(guò)對(duì)doc-word矩陣進(jìn)行建模抽出doc-topic和topic-word兩個(gè)分布。而word2vec其實(shí)是分解了word-context矩陣。其實(shí)都是對(duì)一個(gè)"A"-"B"矩陣進(jìn)行建模。那么LDA自然也可以用于對(duì)word-context矩陣進(jìn)行建模,而word2vec也可以對(duì)doc-word矩陣做分解。以上算是LDA和word2vec之間的的一點(diǎn)聯(lián)系吧。不過(guò)他們之間的區(qū)別也是非常顯著的。

詞向量工作原理是什么?

要將自然語(yǔ)言交給機(jī)器學(xué)習(xí)算法來(lái)處理,通常需要首先將語(yǔ)言數(shù)學(xué)化,詞向量就是用來(lái)將語(yǔ)言中的詞進(jìn)行數(shù)學(xué)化的一種方式,一種最簡(jiǎn)單的詞向量方式是one-hotrepresentation,就是用一個(gè)很長(zhǎng)的向量來(lái)表示一個(gè)詞,向量的長(zhǎng)度為詞典的大小,向量的分量只有一個(gè)1,其他全為0,1的位置對(duì)應(yīng)該詞在詞典中的位置。但這種詞向量表示有兩個(gè)缺點(diǎn):容易受維數(shù)災(zāi)難的困擾,尤其是將其用于DeepLearning的一些算法時(shí);不能很好地刻畫詞與詞之間的相似性(術(shù)語(yǔ)好像叫做“詞匯鴻溝”)。另一種就是你提到的DistributedRepresentation這種表示,它最早是Hinton于1986年提出的,可以克服one-hotrepresentation的上述缺點(diǎn)。其基本想法是:通過(guò)訓(xùn)練將某種語(yǔ)言中的每一個(gè)詞映射成一個(gè)固定長(zhǎng)度的短向量(當(dāng)然這里的“短”是相對(duì)于one-hotrepresentation的“長(zhǎng)”而言的),將所有這些向量放在一起形成一個(gè)詞向量空間,而每一向量則可視為該空間中的一個(gè)點(diǎn),在這個(gè)空間上引入“距離”,則可以根據(jù)詞之間的距離來(lái)判斷它們之間的(詞法、語(yǔ)義上的)相似性了。為更好地理解上述思想,我們來(lái)舉一個(gè)通俗的例子:假設(shè)在二維平面上分布有N個(gè)不同的點(diǎn),給定其中的某個(gè)點(diǎn),現(xiàn)在想在平面上找到與這個(gè)點(diǎn)最相近的一個(gè)點(diǎn),我們是怎么做的呢,首先,建立一個(gè)直角坐標(biāo)系,基于該坐標(biāo)系,其上的每個(gè)點(diǎn)就唯一地對(duì)應(yīng)一個(gè)坐標(biāo)(x,y);接著引入歐氏距離;最后分別計(jì)算這個(gè)詞與其他N-1個(gè)詞之間的距離,對(duì)應(yīng)最小距離值的那個(gè)詞便是我們要找的詞了。上面的例子中,坐標(biāo)(x,y)的地位就相當(dāng)于詞向量,它用來(lái)將平面上一個(gè)點(diǎn)的位置在數(shù)學(xué)上作量化。坐標(biāo)系建立好以后,要得到某個(gè)點(diǎn)的坐標(biāo)是很容易的。然而,在NLP任務(wù)中,要得到詞向量就復(fù)雜得多了,而且詞向量并不唯一,其質(zhì)量依賴于訓(xùn)練語(yǔ)料、訓(xùn)練算法和詞向量長(zhǎng)度等因素。一種生成詞向量的途徑是利用神經(jīng)網(wǎng)絡(luò)算法,當(dāng)然,詞向量通常和語(yǔ)言模型捆綁在一起,即訓(xùn)練完后兩者同時(shí)得到。用神經(jīng)網(wǎng)絡(luò)來(lái)訓(xùn)練語(yǔ)言模型的思想最早由百度IDL(深度學(xué)習(xí)研究院)的徐偉提出。這方面最經(jīng)典的文章要數(shù)Bengio于2003年發(fā)表在JMLR上的《ANeuralProbabilisticLanguageModel》,其后有一系列相關(guān)的研究工作,其中包括谷歌TomasMikolov團(tuán)隊(duì)的word2vec。

詞向量中數(shù)值大小的含義

詞向量中數(shù)值大小的含義如下:
這個(gè)向量的維度是詞表大小,向量中只有一個(gè)維度的值為1,其余維度為0,這個(gè)維度就代表了當(dāng)前的詞。

展開全文閱讀