本文是學習n-gram-based low-dimensional representation for document classification
的筆記。如果英文好的,請直接看**。
ngram是詞袋模型的子類。對於提取上下文語義有重要意義,然而n很大時,維度將非常高,運算複雜度劇增。而工業界中的認為都對響應速度要求特別高。ngram低維表示能降低維度,大大提高效率。
語句是由詞構成的序列,ngram認為當前詞只與他前面的n-1個詞有關。即乙個語句中當前詞出現的概率為p=p(w|前n-1個詞)。
當n=1時,認為詞只與當前詞管,即詞相互對立。忽略了詞序資訊
n>1時,能提取到一定程度的語義資訊。通常n取1、2、3;由3增加到4時,效能並未增加多少,但是特徵空間維度增加特別多(維度為|d|^n)。
這個模型在有些部落格上稱為ld演算法,憂傷的是有的人可能查不到。。。。(我和我同事同時用goole搜尋ld,我搜出來一些亂七八糟的,同事的第乙個搜尋結果就是。。。)
基本思想:ngram是基於語句是詞序列(字==>詞),ld認為語句是一語義序列(詞==>語義);ngram是語義的基本提取,但是可能維度特別高,故我們轉為學習ngram的特徵。這樣乙個語句就可以由語義特徵表示了。
主要流程分三步:
構建ngram的詞向量:通過skip-gram或者glove獲得詞向量,然後通過向量相加並求均值作為聚類的輸入。獲得的句向量維度相同,可以定義距離,故能做降維。
使用kmean對上一步學習到的詞向量進行學習。就是普通的聚類演算法。例如聚類為100類
把語句表示為語義為特徵的向量。從上面獲得了語義空間特徵,語句就可以表示為以語義空間特徵的向量,值為對應語義特徵在語句**現的頻率。作者的示例中是用計數向量的各個分量最大值作為對應特徵的值。如下圖
**中作者總共考慮了5種ngram組合:
作者的實驗結果:
**裡說這樣獲得的向量在svm上會獲得很好的效果。
但是我有疑問,這和詞向量有什麼區別?
關於矩陣的低秩表示的學習
研究的課題方向為非剛性結構運動 non rigid structure from motion 的三維重建,在看 時,看到乙個低秩表示 low rank representation 的討論 low rank representation for matrix recovery 矩陣恢復的低秩表示 ...
自然語言處理中n gram模型學習筆記
對於很多自然語言處理領域的問題,比如機器翻譯,處理要確定 結果中的字詞集合以外,還有乙個非常重要的方面就是要評估文字序列是否符合人類使用的習慣。也就是要判斷文字是否通順 自然 甚至在翻譯問題上,信 達 雅 是一種高階的要求。語言模型就是用於評估文字符合語言使用習慣程度的模型。要讓機器來評估文字是否符...
字典學習 稀疏表示學習筆記
首先向大家安利一下南大周志華老師寫的 機器學習 這本書,作為乙個對此一竅不通的人看了都覺得很有意思,受益匪淺。語言平實卻又乾貨十足,比某些故弄玄虛泛泛而談的其它國內教材高到不知 去了。最近看的 涉及到稀疏表示,正好這本書有講到。這兩天看了一下該書關於稀疏表示的部分 第11章 將核心知識點總結歸納一下...