1

ヒンディー語のワードネット用のデータベースと API があります。NLTK python からこのワードネットにアクセスして、ワードネットで NLTK Wordnet 関数を使用したいと考えています。独自のワードネットを NLTK に追加する方法はありますか? または、ヒンディー語の Word Sense Disambiguation 用のツールはありますか (いくつかの変更を加えれば、任意の言語 Wordnet で動作します) (wordnet から最も適切な意味が得られます)。

4

1 に答える 1

1

nltk_data フォルダーを見ると、他のすべての NLTK コーパスと同様に、wordnet が単なるプレーンテキスト ファイルの集まりであることがわかります。したがって、関数を使用するには、ヒンディー語のワードネットを NLTK と同じようにフォーマットする方法が必要です。以下は、これらのファイルが読み取られる nltk.corpus.reader.wordnet オブジェクトからの抜粋です。

#: A list of file identifiers for all the fileids used by this
#: corpus reader.
_FILES = ('cntlist.rev', 'lexnames', 'index.sense',
          'index.adj', 'index.adv', 'index.noun', 'index.verb',
          'data.adj', 'data.adv', 'data.noun', 'data.verb',
          'adj.exc', 'adv.exc', 'noun.exc', 'verb.exc', )

def __init__(self, root):
    """
    Construct a new wordnet corpus reader, with the given root
    directory.
    """
    super(WordNetCorpusReader, self).__init__(root, self._FILES,
                                              encoding=self._ENCODING)

これらすべてのファイルを実際に生成する必要はないと思いますが、さらに重要なこととして、Word Sense Disambiguation のために "index.sense" ファイルを使用する必要があります。これは NLTK によって生成されませんが、その前に前処理する必要があります。または、次の形式でヒンディー語ワードネットに付属している必要があります - http://wordnet.princeton.edu/wordnet/man/senseidx.5WN.html

すべての手順を完了したら、../nltk/corpus/reader/wordnet.py に移動して、ルートとファイル名、およびその他の依存関係を変更できるコピーを作成しますが、機能を使用するか、または既存のクラス内で必要なものを変更します (推奨されません)。

PS少しグーグルでhttp://www.cs.utexas.edu/~rashish/cs365ppt.pdfへのリンクを教えてくれました。これは、この件に関する他の多くのソースを参照しています。

于 2014-06-05T22:24:29.513 に答える