使用 python3 和 nltk 从模块调用函数的问题
problems with invokings functions from module, using python3 and nltk
摘自本书:使用 Python 进行自然语言处理,pg。 60.
我创建了一个带有一些功能的模块(在 EMACS 中),但是当我 运行 它们和 Python3 它们给我带来了问题。
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>import nltk
>>>import sys
>>> sys.path.append("/home/giovanni/Scrivania/Giovanni/programmi")
>>> from esempio import unusual_words
>>> unusual_words(nltk.corpus.gutenberg.words("austen-sense.txt"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/giovanni/Scrivania/Giovanni/programmi/esempio.py", line 14, in unusual_words
english_vocab = set((w.lower()) for w in nltk.corpus.words.words())
NameError: name 'nltk' is not defined
为什么说 nltk 未定义?
将以下语句添加到 esempio.py 的顶部。
import nltk
完整文件:
import nltk
def unusual_words(text):
text_vocab = set(w.lower() for w in text if w.isalpha())
english_vocab = set((w.lower()) for w in nltk.corpus.words.words())
unusual = text_vocab.difference(english_vocab)
return sorted(unusual)
然后在 python 交互式 shell 中发出以下命令。我从你的问题中复制了它们。
import nltk
import sys
sys.path.append("/home/giovanni/Scrivania/Giovanni/programmi")
from esempio import unusual_words
unusual_words(nltk.corpus.gutenberg.words("austen-sense.txt"))
祝你好运!
摘自本书:使用 Python 进行自然语言处理,pg。 60. 我创建了一个带有一些功能的模块(在 EMACS 中),但是当我 运行 它们和 Python3 它们给我带来了问题。
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>import nltk
>>>import sys
>>> sys.path.append("/home/giovanni/Scrivania/Giovanni/programmi")
>>> from esempio import unusual_words
>>> unusual_words(nltk.corpus.gutenberg.words("austen-sense.txt"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/giovanni/Scrivania/Giovanni/programmi/esempio.py", line 14, in unusual_words
english_vocab = set((w.lower()) for w in nltk.corpus.words.words())
NameError: name 'nltk' is not defined
为什么说 nltk 未定义?
将以下语句添加到 esempio.py 的顶部。
import nltk
完整文件:
import nltk
def unusual_words(text):
text_vocab = set(w.lower() for w in text if w.isalpha())
english_vocab = set((w.lower()) for w in nltk.corpus.words.words())
unusual = text_vocab.difference(english_vocab)
return sorted(unusual)
然后在 python 交互式 shell 中发出以下命令。我从你的问题中复制了它们。
import nltk
import sys
sys.path.append("/home/giovanni/Scrivania/Giovanni/programmi")
from esempio import unusual_words
unusual_words(nltk.corpus.gutenberg.words("austen-sense.txt"))
祝你好运!