web-dev-qa-db-ja.com

Python単語の定義を含む英語の辞書にアクセスできるモジュール

単語の英語辞書から定義を取得するのに役立つpythonモジュールを探しています。

もちろんenchantがあります。これは、Wordが英語で存在するかどうかを確認するのに役立ちますが、それらの定義は提供しません(少なくとも、ドキュメントにそのようなものはありません)。

NLTKでアクセスできるWordNetもあります。定義があり、例文も含まれていますが、WordNetにはすべての英語の単語が含まれているわけではありません。 「ハウ」、「私」、「あなた」、「すべき」、「できる」などの一般的な単語は、WordNetの一部ではありません。

単語の定義を含む完全な英語辞書へのアクセスを提供するpythonモジュールがありますか?

21
Sadik

Wordnik には、すてきなAPIがあり、 Nice-looking Python module もあるようです。定義、例文などがあります。また、「方法」、「すべき」、「できる」などの一般的な言葉も含まれています。

17
Fox Wilson

モジュールの代わりに、xml、json、apiなどの他のオフライン/オンラインソースを利用できます。

  1. https://github.com/adambom/dictionary [jsonファイル]

  2. http://dictionary-api.cambridge.org [REST api]

  3. http://glosbe.com/a-api [REST api]

  4. http://developer.oxforddictionaries.com/developer-resources/api-reference-guide/intro-using-the-oxford-dictionaries-api/ [REST api]

  5. http://www.ibiblio.org/webster/ [XML、オープンソース]

15
DhruvPathak

this はどうですか?独自のパーサーを作成する必要がありますが、データがどのようにフォーマットされるかを考えると、それはかなり簡単なはずです。

8
wbest

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)
6
Korbonits

python NLTK には、まさにあなたが探しているWordNetインターフェースがあります http:/ /www.nltk.org/howto/wordnet.html

編集:OPは、私がこの回答を投稿するまで、一般的な単語に対する彼の要求を指定しなかったため、WordNetを除外しました。とにかくこの回答には賛成票があるので、ここには残しておきます。

3
jayelm