語言學如此有趣(十)非誠勿擾與bag of words
非誠勿擾當屬國內最火爆的相親類的節目,想必大家也非常熟悉整個流程。當然我們也可以從另一個角度來解讀這一流程:即男嘉賓先展示自己不同的特徵,女嘉賓通過這些特徵來判斷是否符合自己的要求;之後男嘉賓再根據女嘉賓的特徵來判讀是否符合自己的要求。如果兩邊都相互對對方的特徵滿意,自然是好事一狀。
其實這和語言學裡的一個經典模型非常相似。這個模型是bag of words,又被稱為bag of features模型。
這一模型最早由Zellig Harris在一篇名為Distributional Structure的論文中提出。在這篇論文中,他假設語言由不同的結構(structure)組成,而各個結構可以獨立運作,所以他提出了這一推論:
Some elements are similar to others in terms of certain tests; or are similar in the sense that if we group these similar elements into sets (“similarity groupings”), the distribution of all members of a set (in respect to other sets) will be the same as far as we can discover (158).
簡單說來,就是這些不同的結構會有相似的特徵,如果提取某一特徵,就可以通過部份特徵來推斷整體的特徵。回到上面非誠勿擾的例子,男女嘉賓其實相互之間毫無瞭解,通過vcr裡的簡介,或者是朋友的評價,大家彼此有個淺顯的認識,然後判斷對方是否符合自己的要求。其中vcr的簡介或者朋友的推薦就相當於bag of words模型中的特徵,而最後做的判斷,其實就是通過這些部份特徵來推斷整體特徵。說的好聽點,叫一見鍾情,說得難聽點,就是盲人摸象。
bag of words是語言學學科的一個經典模型,自1954年誕生以來,這一模型被廣泛應用,特別是在計算機學科,比如自然語言處理(NLP)和計算機視覺兩大領域都特別重視這一模型。
下面我們來介紹一下在情感分析(sentiment analysis)中的應用。所謂情感分析,並不是字面上的情感,而是利用計算機的算法來判斷大規模文本中包含的情感,這是目前NLP領域中最具挑戰的一個分支。比如它可以用來判斷產品評價是否讚賞這一產品,或者厭惡這一產品。又比如判斷一篇影評對於某部電影的評價。在商業應用中,大規模的自動判斷顯得尤為重要,因為可以節省大量人力,而且效率更高,判斷也更有統一性。
在sa中,bag of words是如此運用的:簡單來說,先根據文本來製作兩個詞表,一個是positive的,一個是negative,當然也有很多會利用事先設計好的詞表。然後將文本轉換成以行為單位的文本(line-based),也就是說,每一個單獨的文本都被轉換為單一的一行文本。然後再根據詞表,統計詞表中的詞在每一行數據出現的頻率,最後生成一個詞頻統計的矩陣(word matrix)。這樣一個bag of words的模型就生成了,詞頻就成為了特徵。也可以統計positive/negative各自的總和。之後可以利用機器學習或者其他的算法來學習並判斷這些特徵,從而進行情感分析。
bag of words的最大優勢在於,它簡單易用,而且效果不差。以sa為例,bag of words的準確率普遍在60%左右,當然也有更高的。與其他NLP領域不同的是,sa的準確率要低的多,一般60/70%都是在可以接受的範圍內。這主要是因為sa具有很強的主觀性,就算利用人來做sa的判斷,準確率大概也在70%左右。
當然bag of words也飽受詬病。因為很多語言學家認為這一模型割裂了語言本身的聯繫,僅僅憑頻率統計根本不足一說明問題。這恐怕也是bag of words這一模型的精度很難提升的很大原因。
再回到非誠勿擾這個例子,上面展示的這些特徵都是經過精心挑選的,而不是隨機生成的。所以僅僅憑這些特徵來判斷一個人,效果可想而知。
當然,很多情況下,愛情是不能拿科學來解釋的~
Harris, Z. S. (1954). Distributional Structure. Word, 10(2/3), 146–162
語言學如此有趣(一)
語言學如此有趣(二)詞典是怎麼編的
語言學如此有趣(三)文理不分科
語言學如此有趣(四)語言學與語言學習
語言學如此有趣(五)從紐約時報中文版談起
語言學如此有趣(六)J.K. 羅琳與比特幣
語言學如此有趣(七)火星文與計算機語言學
語言學如此有趣(八)豆瓣關鍵詞與word cloud
語言學如此有趣(九)digital humanities 與語言學
其實這和語言學裡的一個經典模型非常相似。這個模型是bag of words,又被稱為bag of features模型。
斯坦福NLP實驗室內的bag of words模型。 |
這一模型最早由Zellig Harris在一篇名為Distributional Structure的論文中提出。在這篇論文中,他假設語言由不同的結構(structure)組成,而各個結構可以獨立運作,所以他提出了這一推論:
Some elements are similar to others in terms of certain tests; or are similar in the sense that if we group these similar elements into sets (“similarity groupings”), the distribution of all members of a set (in respect to other sets) will be the same as far as we can discover (158).
簡單說來,就是這些不同的結構會有相似的特徵,如果提取某一特徵,就可以通過部份特徵來推斷整體的特徵。回到上面非誠勿擾的例子,男女嘉賓其實相互之間毫無瞭解,通過vcr裡的簡介,或者是朋友的評價,大家彼此有個淺顯的認識,然後判斷對方是否符合自己的要求。其中vcr的簡介或者朋友的推薦就相當於bag of words模型中的特徵,而最後做的判斷,其實就是通過這些部份特徵來推斷整體特徵。說的好聽點,叫一見鍾情,說得難聽點,就是盲人摸象。
bag of words是語言學學科的一個經典模型,自1954年誕生以來,這一模型被廣泛應用,特別是在計算機學科,比如自然語言處理(NLP)和計算機視覺兩大領域都特別重視這一模型。
下面我們來介紹一下在情感分析(sentiment analysis)中的應用。所謂情感分析,並不是字面上的情感,而是利用計算機的算法來判斷大規模文本中包含的情感,這是目前NLP領域中最具挑戰的一個分支。比如它可以用來判斷產品評價是否讚賞這一產品,或者厭惡這一產品。又比如判斷一篇影評對於某部電影的評價。在商業應用中,大規模的自動判斷顯得尤為重要,因為可以節省大量人力,而且效率更高,判斷也更有統一性。
在sa中,bag of words是如此運用的:簡單來說,先根據文本來製作兩個詞表,一個是positive的,一個是negative,當然也有很多會利用事先設計好的詞表。然後將文本轉換成以行為單位的文本(line-based),也就是說,每一個單獨的文本都被轉換為單一的一行文本。然後再根據詞表,統計詞表中的詞在每一行數據出現的頻率,最後生成一個詞頻統計的矩陣(word matrix)。這樣一個bag of words的模型就生成了,詞頻就成為了特徵。也可以統計positive/negative各自的總和。之後可以利用機器學習或者其他的算法來學習並判斷這些特徵,從而進行情感分析。
bag of words的最大優勢在於,它簡單易用,而且效果不差。以sa為例,bag of words的準確率普遍在60%左右,當然也有更高的。與其他NLP領域不同的是,sa的準確率要低的多,一般60/70%都是在可以接受的範圍內。這主要是因為sa具有很強的主觀性,就算利用人來做sa的判斷,準確率大概也在70%左右。
當然bag of words也飽受詬病。因為很多語言學家認為這一模型割裂了語言本身的聯繫,僅僅憑頻率統計根本不足一說明問題。這恐怕也是bag of words這一模型的精度很難提升的很大原因。
再回到非誠勿擾這個例子,上面展示的這些特徵都是經過精心挑選的,而不是隨機生成的。所以僅僅憑這些特徵來判斷一個人,效果可想而知。
當然,很多情況下,愛情是不能拿科學來解釋的~
Harris, Z. S. (1954). Distributional Structure. Word, 10(2/3), 146–162
語言學如此有趣(一)
語言學如此有趣(二)詞典是怎麼編的
語言學如此有趣(三)文理不分科
語言學如此有趣(四)語言學與語言學習
語言學如此有趣(五)從紐約時報中文版談起
語言學如此有趣(六)J.K. 羅琳與比特幣
語言學如此有趣(七)火星文與計算機語言學
語言學如此有趣(八)豆瓣關鍵詞與word cloud
語言學如此有趣(九)digital humanities 與語言學