NLTK包中的babelize_shell()无法工作

5 投票
1 回答
4941 浏览
提问于 2025-04-18 16:38

我在用Python做自然语言处理(NLP)的时候遇到了一个错误:

babelize_shell()
NLTK Babelizer: type 'help' for a list of commands.
Babel> how long before the next flight to Alice Springs?
Babel> german
Babel> run
0> how long before the next flight to Alice Springs?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/nltk/misc/babelfish.py", line 175, in babelize_shell
    for count, new_phrase in enumerate(babelize(phrase, 'english', language)):
  File "/usr/local/lib/python2.7/dist-packages/nltk/misc/babelfish.py", line 126, in babelize
    phrase = translate(phrase, next, flip[next])
  File "/usr/local/lib/python2.7/dist-packages/nltk/misc/babelfish.py", line 106, in translate
    if not match: raise BabelfishChangedError("Can't recognize translated string.")
nltk.misc.babelfish.BabelfishChangedError: Can't recognize translated string.

我按照说明导入了nltk.book:

from nltk.book import*

*** NLTK书籍的入门示例 ***

正在加载text1到text9和sent1到sent9

输入文本或句子的名称来查看它。

输入: 'texts()' 或 'sents()' 来列出所有材料。

text1: 《白鲸》 由赫尔曼·梅尔维尔著,1851年

text2: 《理智与情感》 由简·奥斯汀著,1811年

text3: 《创世纪》

text4: 就职演说语料库

text5: 聊天语料库

text6: 《蒙提·派森与圣杯》

text7: 《华尔街日报》

text8: 个人广告语料库

text9: 《星期四的男人》 由G·K·切斯特顿著,1908年

有人能帮我吗?我刚学Python,不太明白这个错误到底是什么。

1 个回答

11

问题不在于你的代码。真正的问题是,babelfish翻译服务已经停止运行,所以示例代码就不能再用了。

更多细节可以查看 https://github.com/nltk/nltk/issues/265

撰写回答