在NLTK,用樸素貝葉斯分類,從我的例子知道它非常簡單地使用辦法「的詞袋」,尋找對unigram或雙字母組或兩者兼而有之。你可以使用兩套完全不同的功能來做同樣的事嗎?一個分類器中的NLTK多個特徵集?
例如,我可以用對unigram和訓練集(我知道這已經在這裏提到一次)的長度是多少?但更多的利益對我來說將是類似的東西出現在文檔中的POS的雙字母組和「雙字母組」或組合?
這是超出基本NLTK分類的力量?
感謝 亞歷克斯
在NLTK,用樸素貝葉斯分類,從我的例子知道它非常簡單地使用辦法「的詞袋」,尋找對unigram或雙字母組或兩者兼而有之。你可以使用兩套完全不同的功能來做同樣的事嗎?一個分類器中的NLTK多個特徵集?
例如,我可以用對unigram和訓練集(我知道這已經在這裏提到一次)的長度是多少?但更多的利益對我來說將是類似的東西出現在文檔中的POS的雙字母組和「雙字母組」或組合?
這是超出基本NLTK分類的力量?
感謝 亞歷克斯
NLTK分類可以與任何鍵值字典工作。我用{"word": True}
文本分類,但你也可以使用{"contains(word)": 1}
來達到同樣的效果。您還可以將許多功能組合在一起,因此您可以有{"word": True, "something something": 1, "something else": "a"}
。最重要的是你的功能是一致的,所以你總是有相同類型的鍵和一組固定的值。數值可以使用,但分類不聰明關於他們的 - 它將把數字作爲離散值,所以,如果你想號碼以更聰明的方式來處理99和100是一樣不同的,因爲1到100,那麼我建議使用scikit-learn分類器。
+1,雖然我不確定「將數字視爲離散值」是什麼意思 - 當數字用作特徵標籤時,會發生這種情況,但是當它們用作特徵值時,會發生這種情況嗎? (真正的NLTK scikit-learn包裝會將數值傳遞給底層的分類器。) – 2012-07-13 14:11:54
我的意思是NLTK分類器將數字視爲與其他任何東西一樣,因此理想情況下這些數字來自一個小的有限集合(如枚舉)。當然,除非這些數字被傳遞給一個scikit-learn分類器,該分類器知道他們在做什麼。 – Jacob 2012-07-13 20:16:20