python - 如何使用 Python NLTK 仅打印出 Wo​​rdNet 同义词集中的单词本身?

标签 python regex nltk wordnet

在 Python 2.7 中是否有一种方法使用 NLTK 来获取单词而不是包含 "synset" 和括号以及 "的额外格式n.01" 等?

例如如果我这样做

        wn.synsets('dog')

我的结果如下:

[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]

我怎样才能得到这样的列表?

dog
frump
cad
frank
pawl
andiron
chase

有没有一种方法可以使用 NLTK 来做到这一点,还是我必须使用 正则表达式?我可以在 python 脚本中使用 正则表达式 吗?

最佳答案

如果您想在没有正则表达式的情况下执行此操作,您可以使用列表理解。

[synset.name.split('.')[0] for synset in wn.synsets('dog') ]

您在这里所做的是说,对于每个同义词集,返回句点之前的第一个单词。

关于python - 如何使用 Python NLTK 仅打印出 Wo​​rdNet 同义词集中的单词本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24664250/

相关文章:

python - 哈希表解释

使用继承的 RegularExpressionAttribute 进行 ASP.NET MVC 数据注释客户端验证

php - 将外来字符更改为对应的罗马字符

regex - 如何使用正则表达式为无效的文件名字符过滤字符串

python - 使用 NLTK 将分词器组合成语法和解析器

python - 从列表的列表中提取第 n 个元素

python - 使用 Boost::Python 进行高阶编程

python - 使用 (py) Cairo 创建带有内联图像的 pdf 文件

python - 如何在Python中使用长笛乐器从音符制作MIDI文件(music21库)

python nltk.sent_tokenize 错误ascii编解码器无法解码