我們需要一個內容分類模塊。貝葉斯分類器似乎是我正在尋找的。我們應該去Orange還是NLTK?Orange vs NLTK用於Python中的內容分類
回答
就像文檔所證明的那樣,每個庫中的樸素貝葉斯實現很容易使用,因此爲什麼不使用兩者來運行數據並比較結果呢?
Orange和NLTK都是成熟穩定的圖書館(每個圖書館開發10年以上) 起源於大型大學;他們共享一些常見的功能,主要是機器學習 算法。除此之外,它們在範圍,目的和實施方面有很大不同。
Orange是域不可知的 - 不是針對特定的學科 或商業領域,而是將自己標榜爲全棧數據挖掘 和ML平臺。它的重點是工具他們自己,而不是在特定的學科中應用這些工具。
其功能包括IO,數據分析算法和數據可視化畫布。
另一方面,NLTK從一個大型計算機系的語言學系開始,並且仍然是一個學術項目。您提到的 (文檔內容分類)和您選擇的算法(樸素貝葉斯) 的任務在NLTK功能的核心上非常正確。 NLTK確實有 有ML /數據挖掘算法,但它的唯一原因是它們在計算語言學中有一個特定的 實用程序。
NLTK當然包括一些ML算法,但僅僅是因爲它們在計算語言學中具有實用性,還有文檔分析器,標記器,詞類分析器等等 - 所有這些都包括NLTK。
也許在橙色的樸素貝葉斯實現一樣好,我仍然會選擇NLTK的 實現,因爲它明確針對您提到的特定任務進行了優化。
有許多關於NLTK的教程,尤其是其樸素貝葉斯使用 內容分類。例如Jim Plus和另一個streamhacker.com的博客文章,例如提供使用NLTK的樸素貝葉斯的優秀 教程;第二個包含了對訪問該模塊所需的代碼的逐行討論 。這兩個 帖子的作者使用NLTK報告了良好的結果(前者爲92%,後者爲73%)。
我不知道橙,但+1 NLTK:
我先後使用的分類工具NLTK分類文本和相關的元數據。貝葉斯是默認的,但還有其他的選擇,如最大熵。作爲一個工具包,你可以自定義,如你所見 - 例如。創建你自己的功能(這是我爲元數據做的)。
NLTK也有一些好書 - 其中一個可以在Creative Commons(以及O'Reilly)下面找到。
NLTK是支持自然語言處理的四個狀態的模型的工具包:
- 標記化:分組字符看作單詞。這範圍從微不足道的正則表達式處理像「不能」的收縮
- 標記。這是將詞性標記應用於標記(例如,「NN」表示名詞,「VBG」表示動詞動名詞)。這通常通過訓練訓練語料庫(即,通過手標記的句子的大列表)訓練模型(例如,隱馬爾可夫)來完成。分組/分組。這是採取每個標記的句子和提取功能到樹(例如名詞短語)。這可以根據手寫語法或在語料庫上訓練的語法。
- 信息提取。這是遍歷樹並提取數據。這是你的特定的橙子水果將被完成的地方。
NLTK支持WordNet,這是一種巨大的語義詞典,可對詞語進行分類。所以有5個名詞定義爲橙色(南非的水果,樹木,色素,顏色,河流)。其中每個都有一個或多個分類層次結構的「上層路徑」。例如。 '橙色' 的第一讀出具有兩個路徑:
- 橙/柑橘/ edible_fruit /果/ reproductive_structure/plant_organ/plant_part/natural_object /全/對象/ physical_entity /實體
和
- 橙/柑橘/ edible_fruit /生產/食品/固/事/ physical_entity /實體
根據您的APPLI陽離子結構域可以將橙色識別爲水果,食物或植物。然後你可以使用分塊的樹結構來確定更多(誰做了什麼水果等)
- 1. Python中的文本分類 - (NLTK Sentence based)
- 2. NaiveBayes分類在NLTK使用python
- 3. Python re.split()vs nltk word_tokenize and sent_tokenize
- 4. 在Excel文件中用於NLTK的Python
- 5. Python NLTK最大熵分類器錯誤
- 6. Python NLTK分類語料庫創建
- 7. NLTK使用訓練分類
- 8. 哪個分類中NLTK
- 9. NLTK文檔分類
- 10. ANTLR的VS NLTK Jython中
- 11. nltk naivebayes分類器的文本分類
- 12. 德語中的Python情感分析NLTK
- 13. 用於分頁內容的Javascript分頁
- 14. 如何使用Python nltk的ProbDistI類
- 15. 從另一個div中的內容將分類應用於div
- 16. Orange textmining
- 17. 元素位於容器內或容器內的容器中。 (Python)
- 18. 基於語義的情感分類使用NLTK
- 19. 其中斯坦福NLP包用於內容分類
- 20. 在Python中使用NLTK Chinking
- 21. NLTK SVM分類終止
- 22. ValueError異常與NLTK分類
- 23. pi4J對於Orange Pi Plus 2
- 24. Python:用於提取內容的lxml xpath
- 25. python4delphi使用Python的哪部分內容?
- 26. 在NLTK和Python中創建自定義分類語料庫
- 27. 「getLogoAlt」不適用於Magento中的內容部分
- 28. ContentPresenter.ContentSource VS內容
- 29. 分區大於集中後的內容
- 30. python使用nltk Sentiwordnet
總是驚訝於我在這裏得到的答案的深度,謝謝。 – philgo20
我是這個領域的總菜鳥。我們想要做的是根據文本中的特徵將內容分類爲類別,即使類別名稱不是其中的一個特徵。 (如果「水果」這個詞不在文本中,那麼要將橙色分類爲水果事件。)我們應該尋找特定類型的分類還是樸素貝葉斯我們正在尋找什麼? – philgo20
我應該補充一點,結果應該是多個類別。這是否打敗樸素貝葉斯的目的? Fisher方法更適合這種情況嗎? – philgo20