我试图使用PunktWordTokenizer,发生了如下错误。
from nltk.tokenize.punkt import PunktWordTokenizer
这会出现以下错误消息。
Traceback (most recent call last): File "file", line 5, in <module>
from nltk.tokenize.punkt import PunktWordTokenizer ImportError: cannot import name PunktWordTokenizer
我已经检查过安装了nltk,并且还使用nltk.download()安装了PunkWordTokenzer。需要一些帮助。
先谢谢
答案 0 :(得分:2)
在3.0.2中似乎存在与PunktWordTokenizer相关的回归。该问题在3.0.1中不存在,回滚到该版本或更早版本修复了该问题。
>>> import nltk
>>> nltk.__version__
'3.0.2'
>>> from nltk.tokenize import PunktWordTokenizer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name PunktWordTokenizer
要解决此问题,请尝试pip install -U nltk
升级您的NLTK版本。
答案 1 :(得分:0)
PunktWordTokenizer以前向用户公开,但不再公开。您可以使用WordPunctTokenizer。
from nltk.tokenize import WordPunctTokenizer
WordPunctTokenizer().tokenize(“text to tokenize”)
区别是:
PunktWordTokenizer对标点符号进行拆分,但将其与单词保持一致。其中,如WordPunctTokenizer将所有标点符号拆分为单独的标记。
例如,给定输入:这是一个测试
PunktWordTokenizer: [‘This’, “‘s”, ‘a’, ‘test’]
WordPunctTokenizer: [‘This’, “‘”, ‘s’, ‘a’, ‘test’]