2011-04-08 41 views
9

我曾經使用LingPipe,Stanford的NER,RiTa和各種句子相似度庫來處理我以前的Java項目,這些項目專注於大量英文文本的文本(預處理)(索引,xml標記,主題檢測等)總計大於1GB的文本爲10,000個文檔)。也許我是一個糟糕的Java程序員,但是當我切換到不同的語料庫時,我發現自己打字了很多代碼並使用了很多庫。總的來說,我覺得這項工作可能會有更好的工具。Python的NLTK與相關的Java庫?

我想我的問題是,我將受益於切換到Python和NLTK信息檢索/語言處理?還是有足夠的優點和缺點使其非常主觀? NLTK是否足夠直觀,可以快速學習?

我會弄髒自己的手,但在接下來的幾天裏我將無法使用個人計算機。

回答

11

NLTK適合自然語言處理。我已經將它用於我的數據挖掘項目。你可以訓練你自己的分析儀。學習曲線並不陡峭。

NLTK擁有龐大的語料庫來訓練您的分析儀。您還可以提供自己的一組數據,例如,一部分爲詞性標記的日記。

由於python非常適合文本處理,所以您可以試試看。另外,它有一個在線tutorial

請不要忘記使用python 2.x版本。試試python 2.6。 NLTK可能不太適合python 3.x

+0

謝謝你的建議。看起來大多數人都喜歡Python和NLTK,但是Java解決方案的數量讓我覺得我正在放棄一艘更加漂亮的船。 – wnewport 2011-04-08 21:49:26

7

如果你已經理解了NLP的基礎知識,我認爲NLTK應該很容易找到。它有大量的文檔,2本書,並且我寫了& streamhacker.com的許多文章。如果Java程序包中有任何不想丟失的東西,那麼理論上可以使用Jython(也許是execnet)將它與NLTK結合起來。

您也可以查看Pattern庫。

+0

我想我認識你.....雅各布,在我的畢業論文中引用了你的一些文章! – lamwaiman1988 2011-04-11 01:59:08

+0

酷,總是很好被引用:) – Jacob 2011-04-14 16:04:36

+0

你不能使用Jython,因爲jython上沒有numpy :(。 – andychase 2012-07-29 21:31:51