2014-06-05 1 views
1

У меня есть база данных и API для хинди wordnet. Я хочу получить доступ к этому wordnet из Python NLTK, чтобы использовать функции NLTK Wordnet с нашим wordnet. Есть ли способ добавить наш собственный wordnet в NLTK? or Есть ли какие-либо инструменты для устранения двузначности слова на хинди (который может работать с любым языковым Wordnet с некоторыми изменениями) (что дает наиболее подходящий смысл из wordnet)?У меня есть база данных и API для хинди wordnet. Я хочу получить доступ к этому wordnet из python NLTK. Есть ли способ добавить наш собственный wordnet в NLTK?

+0

Можете ли вы дать ссылку на имеющийся у вас словарь хинди? Это тот же самый формат файла, что и WordPress Princeton? –

+0

P.S. Не знаю, почему близкие голоса. Кажется, это отличный вопрос: как сделать это, вероятно, будет нетривиальным, и ответы, вероятно, будут очень полезны для следующего человека, желающего использовать хинди wordnet с Python. –

ответ

1

Если вы посмотрите в своей папке nltk_data, вы увидите, что wordnet, как и все остальные NLTK corpus, представляет собой всего лишь кучу текстовых файлов. Таким образом, должен быть способ отформатировать ваш хинди 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) 

Я полагаю, вы на самом деле не нужно сгенерировать все эти файлы, но что более важно, придется использовать «индекс .sense "для Word Sense Disamiguation. Это не генерируется NLTK, но должно быть предварительно обработано до этого или должно появиться с вашим хинди wordnet в следующем формате: http://wordnet.princeton.edu/wordnet/man/senseidx.5WN.html.

После того, как вы сделали все шаги, я просто перейду к ../nltk/corpus/reader/wordnet.py и создам его копию, где вы можете изменить корень и имена файлов и, возможно, некоторые другие зависимости, но все же используйте функциональность ИЛИ измените то, что вам нужно в существующих классах (не рекомендуется).

P.S. Немного по поисковому запросу дал мне ссылку на http://www.cs.utexas.edu/~rashish/cs365ppt.pdf, в которой упоминается множество других источников по этому вопросу.

Смежные вопросы