単語の英語辞書から定義を取得するのに役立つpythonモジュールを探しています。
もちろんenchant
があります。これは、Wordが英語で存在するかどうかを確認するのに役立ちますが、それらの定義は提供しません(少なくとも、ドキュメントにそのようなものはありません)。
NLTKでアクセスできるWordNetもあります。定義があり、例文も含まれていますが、WordNetにはすべての英語の単語が含まれているわけではありません。 「ハウ」、「私」、「あなた」、「すべき」、「できる」などの一般的な単語は、WordNetの一部ではありません。
単語の定義を含む完全な英語辞書へのアクセスを提供するpythonモジュールがありますか?
Wordnik には、すてきなAPIがあり、 Nice-looking Python module もあるようです。定義、例文などがあります。また、「方法」、「すべき」、「できる」などの一般的な言葉も含まれています。
モジュールの代わりに、xml、json、apiなどの他のオフライン/オンラインソースを利用できます。
https://github.com/adambom/dictionary [jsonファイル]
http://dictionary-api.cambridge.org [REST api]
http://glosbe.com/a-api [REST api]
http://www.ibiblio.org/webster/ [XML、オープンソース]
this はどうですか?独自のパーサーを作成する必要がありますが、データがどのようにフォーマットされるかを考えると、それはかなり簡単なはずです。
WordNetにすべての英語の単語があるわけではありませんが、Oxford English Dictionaryはどうですか? ( 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, '.*')
または:
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)
python NLTK
には、まさにあなたが探しているWordNet
インターフェースがあります http:/ /www.nltk.org/howto/wordnet.html
編集:OPは、私がこの回答を投稿するまで、一般的な単語に対する彼の要求を指定しなかったため、WordNetを除外しました。とにかくこの回答には賛成票があるので、ここには残しておきます。