3

Wordnetを使用して特定の単語の補題を取得するにはどうすればよいですか。ワードネットのドキュメントで欲しいものが見つからなかったようです。 http://wordnet.princeton.edu/wordnet/man/wn.1WN.html

たとえば、「本」という単語の場合、「本」、灰=>灰、予約=>本、リンゴ=>リンゴ...などを取得します。

コマンドラインでwordnetを使用してこれを実現したいのですが、そのような場合を取得するための正確なオプションが見つかりません。

私はもともとwordnetphpAPIを使用するつもりだったので、phpソリューションも非常に役立ちますが、彼らのWebサイトにある現在のソリューションは機能していないようです。

4

4 に答える 4

2

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

于 2012-07-11T20:44:23.740 に答える
2

Morphy は、WordNet ネイティブの形態素プロセッサです。WordNet インターフェイスは、ルックアップ プロセスの一部として単語を見出し語化するために Morphy を呼び出します (たとえば、"enlightened" をクエリすると、"enlightened" と、Morphy を介して "enlighten" の両方の結果が返されます)。

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

私が知る限り、WordNet 2.x を使用する必要があるかもしれませんが、PHP インターフェイスはまだ利用可能です。

于 2012-07-11T18:14:09.927 に答える
1

WordNetがそれをネイティブに実装しているかどうかはわかりません。NLTKにはMorphyがあり、これはあなたが望むことを正確に実行しますが、Pythonで実装されています。小さなPythonプログラムを作成して、コマンドラインから入力を取得し、見出語を返すことができます。

次のリンクで「Morphy」を検索します:http: //nltk.googlecode.com/svn/trunk/doc/api/nltk.corpus.reader.wordnet.WordNetCorpusReader-class.html

nltk.WordNetLemmatizer()もその役割を果たします。次のリンクで「Lemmatization」を検索します:http: //nltk.googlecode.com/svn/trunk/doc/book/ch03.html

NLTKウェブサイト:http ://www.nltk.org/

于 2011-07-24T19:29:32.570 に答える
0

nltk ライブラリの WordNetLemmatizer は、必要なことを行います。ここにpython3コードがあります:

#!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);

コマンドラインからこれを実行します:

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$ 
于 2016-10-05T05:20:07.753 に答える