2017-08-16 41 views
0

我以前發佈關於我從鏈接中提取的字符串,爲此我想申請tokenize,但沒有運氣。所以嘗試一個簡單的例子: 我的命令行是非常簡單的:Tokenize不能使用任何字符串輸入

a="Any Random text at all , nothing freaking works" 
sentences = nltk.sent_tokenize(a) 

我一直得到:

TypeError: Can't convert 'list' object to str implicitly 

我已經試過str.(a)a.splita=a[0],並檢查:

>>> type(a) 
<class 'str'> 

我的Python有什麼問題嗎?我已經檢查過例子,這顯然應該工作。會很感激,如果有人可以運行,看看他們得到的結果如果是這樣,什麼可能是錯誤與我的Python

Added image of error

+1

在Python 3.5.1剛纔試了 - 沒有問題。你確定你的代碼和你在這裏發佈的完全一樣嗎? –

+0

@WiktorStribiżew是的!我不知道什麼是錯的。 –

+0

無法複製。 –

回答

1

它在NLTK包本身的問題。如圖所示,它不是傳入的參數,而是nltk/data.py中的文字[''],它被認爲是列表並轉換爲字符串。

重新安裝nltk軟件包可能有幫助嗎?

顯示的nltk/data.py第69行應該是path = []

+0

非常感謝,我已經能夠修復它不是通過重新安裝,而是通過重新定義所有路徑並手動複製和粘貼所需的文件路徑,如下所示:nltk.data.path = ['H:\\/nltk_data', 'C:\\ nltk_data','D:\\ nltk_data','E:\\ nltk_data','C:\\ Program Files \\ Python35 \\ nltk_data','C:\\ Program Files \\ Python35 \ \ Program Files \\ Python35 \\ taggers \\ averaged_perception_tagger','C:\\ Program Files \\ Python35','C:/ Program Files/Python35/tokenizers/punkt/PY3']我希望通過簡單地使用nltk.data.path =「C:/ Program Files/Python35」來避免這種情況,但不起作用 –

+0

在Windows上,請參閱https://gist.github.com/alvations/0ed8641d7d2e1941b9f9 – alvas

相關問題