python - 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']
我没有得到正确的输出。
解决方案
在笔记本和 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 用户。
推荐阅读
- strapi - 无法使用 Termux 创建 Strapi 应用程序(““文件”参数必须是字符串类型。收到未定义”)
- c# - 具有持续时间属性的语音合成器?
- ftp - 在 SOA 12C 中读取具有不同内容/字段的多个输入 CSV 文件
- linux - 如何使用 sed 在文本文件中的数字末尾添加 .00
- spring - 在使用 Spring Boot EnvironmentPostProcessor 加载 application.yml 之前获取 Azure Key Vault 值
- html - 在显示顶部显示最后一个 DIV:媒体查询期间的网格 CSS 属性
- npm - 在 Mac M1 上,无法在 package.json 中运行脚本:- sh:
: 找不到相关命令 - java - 使用 Hibernate 将数据从一个表复制到另一个表
- html - Ios Iphone 6 Divs 过度扩展屏幕
- assembly - 一次追加一个字符到 MIPS 中的文本文件?