6

將單詞本身用作任何機器學習算法中的特徵的最佳方法是什麼?如何在分類中包含單詞作爲數字特徵

問題我必須從一個特定的段落中提取單詞相關的功能。我應該使用詞典中的索引作爲數字特徵嗎?如果是這樣,我將如何正常化這些?

一般來說,單詞在NLP中如何被用作特徵?

回答

8

存在通過其詞語被映射到特徵(在其中行是單獨的數據矢量的2D數據矩陣的列),以便輸入到機器學習模型幾種傳統技術。 classification

  • 一個布爾字段,其​​編碼一個給定文檔中的存在或不存在該字的;

  • 一 預定組單詞的頻率直方圖,往往X最常從包括訓練數據(更多關於這一個在此答案的 最後一段)中的所有文檔之間存在的話;

  • 並置的兩個或更多個字 (例如,「替代」和以連續順序 「生活方式」具有 不相關或者 部件字含義);這種並列可以在數據模型本身中被捕獲,例如,表示在文檔中彼此直接相鄰的兩個特定詞的存在或不存在的布爾特徵,或者這種關係可以在ML技術中被利用作爲初始貝葉斯分類器將在這種情況下做強調文本;

  • 字作爲原始數據提取潛特徵,例如LSA或潛在語義分析(有時也稱爲LSI爲潛在語義索引)。 LSA是一種基於矩陣分解的技術,它從文本中的文本本身的詞彙中導出隱含變量。

機器學習中的通用參考數據集由50個左右最常用單詞的頻率組成,也就是「停用詞」(例如,,一個一個的,如果)莎士比亞,倫敦,奧斯汀,和米爾頓的發表作品。具有單個隱藏層的基本多層感知器可以以100%的準確度分離該數據集。該數據集及其變體在ML數據倉庫中廣泛存在,並且academic papers呈現分類結果同樣是常見的。

+0

「豐富功能」(我是這個術語的新手)是什麼意思? – william007 2014-06-28 06:49:39

6

標準方法是每個單詞有一個特徵的「bag-of-words」表示,如果單詞出現在文檔中,則爲「1」,如果不出現則爲「0」。

這提供了很多功能,但如果你有一個像樸素貝葉斯這樣的簡單學習者,那還是可以的。

「字典中的索引」是一個無用的功能,我不會使用它。

1

tf-idf是將單詞轉換爲數字特徵的一種非常標準的方式。

您需要記住使用支持數字特徵的學習算法,如SVM。樸素貝葉斯不支持數字特徵。

相關問題