2011-07-21 12 views
3

Wordnetを使用して特定の単語の見出し語を取得する方法を教えてください。私はwordnetのドキュメントで私が望むものを見つけることができなかった。 http://wordnet.princeton.edu/wordnet/man/wn.1WN.html単語「本」私は「本」を取得したい、灰=>灰、予約=>ブック、りんご=>りんご....などのために例えばwordnetを使用して単語の見出し語を取得する

私はこれを実現したいですコマンドラインでwordnetを使用すると、私はこのようなケースを検索するための正確なオプションを見つけることができません。

私はもともとwordnet php APIを使用するつもりだったので、PHPの解決策も大いに役立つでしょうが、彼らのウェブサイトの現在のものは動作していないようです。

答えて

1

WordNetがネイティブに実装されているかどうかはわかりません。 NLTKにはMorphyがあります。これはあなたが望むものを正確に実行しますが、Pythonでも実装されています。小さなPythonプログラムを書いて、コマンドラインから入力を受け取り、補題を返すことができます。次のリンクの 'モルフィー' の

検索: http://nltk.googlecode.com/svn/trunk/doc/api/nltk.corpus.reader.wordnet.WordNetCorpusReader-class.html

nltk.WordNetLemmatizerは()も仕事をしていません。 http://nltk.googlecode.com/svn/trunk/doc/book/ch03.html

NLTKのウェブサイト::次のリンクの '見出し語処理' の検索http://www.nltk.org/

2

モルフィーはWordNetのに形態学的なプロセッサネイティブです。 WordNetのインターフェースは、Morphyを呼び出してルックアッププロセスの一部として単語を字句解析します(たとえば、 "enlightened"をクエリし、 "enlightened"とMorphy、 "enlighten"の両方の結果を返します)。

インターフェイスにはMorphyに直接アクセスできる機能が含まれていないため、コマンドラインで使用することは、WordNet APIのいずれかを使用して独自のプログラムを作成する場合にのみ可能です。 WordNetサイトでMorphyのdocumentationが見つかります。

私が知る限り、PHP interfaceはまだ入手可能ですが、WordNet 2.xを使用する必要があります。

2

他のツールを使用できる場合は、TreeTaggerを試してください。

+0

http://stackoverflow.com/questions/15503388/treetagger-installation-successful-but-cannot-open-par:コマンドラインからこれを実行する

#!Python3 -- this is lemmatize_s.py import nltk from nltk.stem import WordNetLemmatizer from nltk.tokenize import word_tokenize print ("This program will lemmatize your input until you ask for it to 'end'.") while True: sentence = input("Type one or more words (or 'end') and press enter:") if (sentence == "end"): break tokens = word_tokenize(sentence) lemmatizer = WordNetLemmatizer() Output=[lemmatizer.lemmatize(word) for word in tokens] print (Output); 

:ここのpython3コードです-ファイル – alvas

0

nltkライブラリのWordNetLemmatizerは、必要な処理を行います。

eyeMac2016:james$ python3 lemmatize_s.py 
This program will lemmatize your input until you ask for it to 'end'. 
Type one or more words (or 'end') and press enter:books ashes 
['book', 'ash'] 
Type one or more words (or 'end') and press enter:end 
eyeMac2016:james$ 
関連する問題