2017-08-16 45 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

相关问题