在 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 仅打印出 WordNet 同义词集中的单词本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24664250/