2009-11-02 57 views
0

我對Python很陌生,並且正在嘗試與使用nltk一起學習。nltk的tokenizer錯誤

我一直在關注一些例子和測試的東西,但它似乎我是非常有限的,我可以做的,因爲錯誤被python返回。

我知道NLTK安裝和進口罰款,因爲該代碼工作

 
from nltk.sem import chat80 
print chat80.items 

然而,「從nltk.tokenizer進口*」返回

'File "stdin", line1.
使用任何類型的,當我得到類似的錯誤「TOKEN =」或者我在猜測任何東西的標記。

我已經在過去幾天安裝了python很多次,希望不同的版本或更好的安裝可能會有所幫助。

我在windows7上使用activePython2.6得到這個錯誤,雖然我已經用python 3.1 activePython3.1和Python 2.6得到類似的err 或ors。 以及Mac OS X 10.5和Python 2.5。

的MAC是給有「導入錯誤多一點數據:無模塊名爲標記者

我只是想一些介紹性演示的網上NLTK,甚至沒有試圖寫我自己的代碼呢,而我得到更多的錯誤比成功。

回答

3

貌似nltp包不具有tokenizer包。

的NLTK網站上瀏覽一下建議from nltp.tokenize import *是你追求的。

+0

謝謝亞當。 我正在使用'tokenizer',因爲我在很多例子中都看到過,比如'nltk入門'http://www.ibm。com/developerworks/linux/library/l-cpnltk.html - 在嘗試定義Token時使用tokenize而不是tokenizer失敗。所以我在想,也許有一些東西來標記化而不是標記化。 – pedalpete 2009-11-03 00:35:17

0

亞當的答案可能是正確的爲您的直接「標記器」問題。以下是一些一般建議:

當人們在不熟悉的領域閱讀道路標誌時,這是在下載頁面的頂部:「」「儘管Python 3.0現在已經可用,但是許多NLTK所需的軟件包沒有Python 3.0的發行版,現在您應該使用Python 2.4的NLTK。,2.5,或2.6 。*只有。「」「......這會爲您節省嘗試Python 3.1的努力。此外,嘗試同時學習Python 2.x和3.x對新手來說有點太過分了。 「

」「」我在過去幾天安裝了很多次python,希望安裝不同版本或更好的安裝可能會有所幫助。「」「......重複安裝相同版本不太可能有所幫助。

「」「但是,from nltk.tokenizer import *返回File "stdin", line1」「」...當請求幫助時,顯示您的輸入和所有輸出例如

>>> from nosuchthing import * 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named nosuchthing 
>>> 

並且不從內存中鍵入;使用複製/粘貼。

當遇到問題時,計劃您對可能原因的調查。首先查看那些具有高可信度和低調查成本(例如錯字或其他轉錄錯誤)的人。我不記得我在哪裏閱讀這些建議,但值得記住的是:「在你責怪上帝的行爲和蓋茨行爲之前,請檢查自己的行爲」。

+0

儘管你是正確的John,但我確實閱讀了文檔,但仍然遇到了nltk或easy_install的問題,或者我在python中的「print」或「2 + 2」基礎知識之外做的其他任何事情。這就是爲什麼我安裝不同的版本,看看我能不能工作,爲什麼我最終堅持在PC上使用2.6,在Mac上使用2.5,所有其他一切都失敗了。 另外,'tokenizer'在我看過的所有代碼示例中都經常使用,即使是來自nltk組。因此我試圖使用它而不是標記。 – pedalpete 2009-11-03 00:17:11

+0

@pedalpete:你說你看過文檔。再看看'http://nltk.googlecode.com/svn/trunk/doc/api/index.html' ...你看到一個tokenizer模塊或一個tokenize模塊嗎?你在另一條評論中提到的那篇developerworks文章已超過5年。快速查看svn回購在nltk-old中顯示tokenizer,並在其上有2004年的日期。提示:總是按照目前的文檔告訴你的,而不是你在網上挖掘的東西。預計項目會經歷重大變更,嚴重向後兼容性問題。順便說一句,你看過網站上的HOWTO部分? – 2009-11-03 08:50:37