首页 > 解决方案 > NLTK 标记化输出不可见

问题描述

#!/usr/bin/env python3
print("Content-type: text/html\n\n")
print("Test by SG")
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
lines = 'I was running around in the road then saw a bus'
is_noun = lambda pos:pos[:2] == 'NN'
tokenized = nltk.word_tokenize(lines)
nouns = [word for (word, pos) in nltk.pos_tag(tokenized) if is_noun(pos)] 
print (nouns)

我只得到输出:

Test by SG Content-Type: text/html

但输出应该是:

['road', 'bus']

我没有得到正确的输出。

标签: pythonpython-3.xoutputnltk

解决方案


在笔记本和 python 控制台中都可以正常工作。问题可能出在您的 NLTK 包安装中。如果没有请使用虚拟环境并安装 nltk 包,下载 nltk-data 。必须检查 nltk-data 下载位置以进行确认。下载位置将如下所示:

[nltk_data] Downloading package punkt to
[nltk_data]     C:\Users\username\AppData\Roaming\nltk_data...
[nltk_data]   Unzipping tokenizers\punkt.zip.
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data]     C:\Users\username\AppData\Roaming\nltk_data...
[nltk_data]   Unzipping taggers\averaged_perceptron_tagger.zip.

如果你是 Windows 用户。


推荐阅读