可以访问英语词典的Python模块,包括单词的定义

Sad*_*dik 21 python dictionary nlp module nltk

我正在寻找一个python模块,帮助我从英语词典中获取一个单词的定义.

当然enchant,这有助于我检查这个词是否存在于英语中,但它没有提供它们的定义(至少我没有在文档中看到类似的内容)

还有WordNet,可以通过NLTK访问.它有定义甚至是样本句子,但WordNet不包含所有英文单词.常见的词语如"如何","我","你","应该","可能"......不是WordNet的一部分.

是否有任何python模块可以访问包含单词定义的完整英语词典?

Fox*_*son 17

Wordnik似乎有一个非常好的API,以及一个漂亮的Python模块.它有定义,例句等,所以你应该被覆盖.它也有像"如何","应该"和"可能"这样的常用词.


wbe*_*est 8

什么这个.您需要编写自己的解析器,但考虑到数据的格式化,这应该是相当简单的.


小智 6

请注意,虽然WordNet没有所有英语单词,但牛津英语词典怎么样?(http://developer.oxforddictionaries.com/).根据项目的范围,它可能是一个杀手级的API.

你有没有试过看Grady Ward的Moby?[链接](http://icon.shef.ac.uk/Moby/).

您可以将其添加为NLTK中的词典(请参阅第2.1节中的"加载您自己的语料库"中的注释).

from nltk.corpus import PlaintextCorpusReader
corpus_root = '/usr/share/dict'
wordlists = PlaintextCorpusReader(corpus_root, '.*')
Run Code Online (Sandbox Code Playgroud)

要么:

from nltk.corpus import BracketParseCorpusReader
corpus_root = r"C:\corpora\penntreebank\parsed\mrg\wsj"
file_pattern = r".*/wsj_.*\.mrg"
ptb = BracketParseCorpusReader(corpus_root, file_pattern)
Run Code Online (Sandbox Code Playgroud)