《詞向量及其在自然語言處理中的應用》

2021-09-24 17:09:13 字數 2213 閱讀 7108

杭州師範大學 馮志偉

​ 「詞向量」的概念**於語言學中的「價值」(value)和「分布」(distribution)等概念。

​ 語言學的概念指出,語言的符號具有特定的「價值」。語言符號並不純粹是語言的事實,而是系統的組成要素,這個系統代表了語言。進入系統中的符號的功能,由系統組成成員的各個要素之間的相互關係來決定。語言是乙個系統,這個系統中所有要素形成乙個整體。正如象棋可以歸結為各個棋子的位置的組合一樣,語言是乙個僅以其各個具體單位的對立為基礎的系統。

以下棋為例說明價值的概念

下棋的狀態與語言的狀態相當。棋子的各自價值是由它們在棋盤上的位置決定的。同樣,在語言裡,各項要素都由於同其他各項要素的對立才能有它的價值。系統永遠只是暫時的,會從一種狀態變為另一種狀態。誠然,價值還首先決定於不變的規約,即下棋的規則,這種規則在開始下棋之前已經存在,而且在每一著棋之後還繼續存在。語言也有這種已經承認就永遠存在的規則,即符號學的永恆的原則。

進一步用下棋來解釋「價值」的概念。比方一枚卒子,本身是不是下棋的要素呢?當然不是。因為只憑它的純物質性,離開了它在棋盤上的位置和其他下棋的條件,它對於下棋的人來說是毫無意義的。只有當它具有自己的價值,並與價值結為一體,才成為現實的和具體的要素。假如在下棋的時候,這個棋子被弄丟了或者丟失了,我們可不可以用另外乙個等價的物體來代替它呢?當然可以。不但可以換上另一枚卒子,甚至可以換上乙個外形上完全不同的卒子。只要我們授以相同的價值,就可以宣布它是同乙個東西。

​ 詞既是系統的一部分,就不只有乙個意義和乙個價值。例如,法語單詞mouton(羊,羊肉)跟英語單詞sheep(羊)可以有相同的意義,但是沒有相同的價值。當談到餐桌上的羊肉時,英語用mutton表示,而不用sheep。英語單詞sheep和法語單詞mouton的價值不同,其原因在於,英語處sheep外,還有另乙個要素mutton,而法語的詞卻不是這樣,也就是說,mouton一詞在法語詞彙系統中的地位和sheep一詞在英語詞彙系統中的地位不一樣。由此可見,詞的價值不是由標誌其客觀物件的實體來確定的,而是由其對其他詞的關係及其在該語言中的地位來決定的。價值就是系統的功能,價值就是語言事實在語言系統中的意義。總結來說,語言是形式而不是實體。

​ 另乙個更加形象的例子可以用來解釋價值概念。在涉及到機密的自然語言處理任務中,往往不能出現語言的原始文字,因為會造成機密資訊的洩露,所以往往會用乙個抽象的符號來代替原始文字**現的詞彙,較為常用的方式是將詞表中的每個不重複的詞都與乙個數字建立對映。首先構建資料集中單詞的詞表,再為每個單詞賦乙個不重複的數字作為id,將原始文字中的每個詞都用它們的id代替,形成新的資料集。這樣的資料集同樣可以作為自然語言處理任務的語料使用的原因,正是由於語言符號的可取代性和價值的不變性,就如同棋盤上的棋子可以被替換成任意的物質是乙個道理。

​ 詞向量的另乙個重要的語言學根據是「分布」。乙個單位的分布就是它所出現的全部環境的總和,也就是這個單位所有的(不同的)位置(或者出現的場合)的綜合,這個單位出現的這些位置是同其他單位的出現有關係的。根據這樣的定義,有可以將分布相同的語言單位進行歸類。

乙個例子來說明分布在語言中的意義

假定我們從來沒有看到過tesguino這個單詞,但是根據下面四個句子:

a bottle of tesguino is on the table

everybody likes tesguino

tesguino makes you drunk

we make terguino out of corn

​ 根據單詞tesguino在這四個句子中的分布和上下文的環境,我們可以猜測這個單詞指的是一種發酵的、含酒精的飲料,它想啤酒一樣,是由穀物釀造而成。我們只要計算一下在這個單詞的上下文中的單詞,觀察如bottle和drunk這樣的單詞,就能猜測出tesguino的意思。這個例子也很形象的證明了在詞向量表示時考慮單詞上下文環境的意義。

​ 語義「向量空間模型」(vector space model)指把乙個單詞嵌入(embedding)到乙個向量空間中去的模型。因此,把乙個單詞表示為乙個詞向量通常叫做「詞嵌入」(word embedding)

​ 一般來說,單詞或意義的分布都是基於「共現矩陣」(co-occurrence matrix)的。共現矩陣有可以分為"詞項-文獻矩陣"(term-document matrix)和"詞項-上下文矩陣"(term-context matrix)

自然語言處理 詞袋

詞袋模型將一段文字作為乙個個分離的詞進行處理,通過不同類文字中可能出現詞的差異對文字進行分類。必須指出的是對於文字分類,上下文對於其真正的類別有著強相關性。個人理解此類方法可能只是為了演算法的簡易性選擇性地放棄了文字中的上下文資訊,或者說只關注詞頻資訊也能夠獲得符合要求的文字分類效果。詞袋模型的三部...

自然語言處理1 分詞

分詞是自然語言處理的基礎,分詞準確度直接決定了後面的詞性標註 句法分析 詞向量以及文字分析的質量。英文語句使用空格將單詞進行分隔,除了某些特定詞,如how many,new york等外,大部分情況下不需要考慮分詞問題。但中文不同,天然缺少分隔符,需要讀者自行分詞和斷句。故在做中文自然語言處理時,我...

自然語言處理 人工計算主題向量

看 import numpy as np topic 這個 tfidf 向量只是乙個隨機的例子,就好像 它是為一篇用這些詞按隨機比例構成的文件計算出來的 tfidf dict list zip split np.random.rand 6 print tfidf 人工設定的權重 0.3,0.3,0,...