Nltk: Функция доступа к объекту Synset с помощью сенсорной клавиши

Созданный на 10 янв. 2018  ·  4Комментарии  ·  Источник: nltk/nltk

Возможно, я пропустил это, но есть ли функция для доступа к объекту Synset из интерфейса NLTK wordnet с помощью ключа смысла ?

Если нет, можем ли мы предоставить функцию, которая может достичь этого в nltk.corpus.wordnet ? Например, https://stackoverflow.com/questions/48170666/how-to-get-the-gloss-given-sense-key-using-nltk-wordnet/

В идеале было бы хорошо иметь функциональные возможности для доступа к объектам Synset используя:

  1. offset-pos , например 1433493-a -> Synset('long.a.02')
  2. sense_key , например long%3:00:02:: -> Synset('long.a.02')

В настоящее время у нас есть synset_from_pos_and_offset() для (1).

Есть еще одна функция ( _synset_from_pos_and_line ), которая читает следующую строку, чтобы вернуть Synset('long.a.02') :

01433493 00 a 01 long 1 016 = 05129201 n 0000 + 05133287 n 0101 ! 01436003 a 0101 & 01434007 a 0000 & 01434218 a 0000 & 01434530 a 0000 & 01434717 a 0000 & 01434841 a 0000 & 01434966 a 0000 & 01435060 a 0000 & 01435189 a 0000 & 01435290 a 0000 & 01435399 a 0000 & 01435507 a 0000 & 01435675 a 0000 & 01435891 a 0000 | primarily spatial sense; of relatively great or greater than average spatial extension or extension as specified; "a long road"; "a long distance"; "contained many long words"; "ten miles long" 

но это не ключ смысла.

corpus enhancement goodfirstbug nice idea wordnet

Самый полезный комментарий

Реализована функция, предложенная в stackoverflow, но, похоже, она не соответствует правильным смыслам - например, synset_from_sense_key('afraid%3:00:00::') вернул afraid.a.04 вместо afraid.a.01 . Эта проблема распространяется и на другие точки продаж. (Смысловые ключи были получены из онлайн-интерфейса Wordnet )

Вместо этого использование метода, показанного в документации SemCor, отображается правильно - в настоящее время существует функция lemma_from_key(key) которая, похоже, принимает что-то похожее на ключ смысла. Однако lemma_from key(key) не поддерживает прилагательные сателлиты (например, afraid%3:00:02:concerned:00 ). Я определенно могу реализовать оболочку вокруг lemma_from_key(key) чтобы исправить это и вернуть Synset .

Все 4 Комментарий

Я бы хотел над этим поработать!

@craaaa Извините за поздний ответ, какое-то время отсутствовал.

Не стесняйтесь работать над этим, а потом создавать пиар.
P / S: Не беспокойтесь о том, чтобы что-нибудь сломать, перед объединением кода будут проводиться проверки и обзоры.

Реализована функция, предложенная в stackoverflow, но, похоже, она не соответствует правильным смыслам - например, synset_from_sense_key('afraid%3:00:00::') вернул afraid.a.04 вместо afraid.a.01 . Эта проблема распространяется и на другие точки продаж. (Смысловые ключи были получены из онлайн-интерфейса Wordnet )

Вместо этого использование метода, показанного в документации SemCor, отображается правильно - в настоящее время существует функция lemma_from_key(key) которая, похоже, принимает что-то похожее на ключ смысла. Однако lemma_from key(key) не поддерживает прилагательные сателлиты (например, afraid%3:00:02:concerned:00 ). Я определенно могу реализовать оболочку вокруг lemma_from_key(key) чтобы исправить это и вернуть Synset .

@craaaa. Я думаю, что проблема с прилагательными спутниками все еще существует. Я попытался использовать функцию synset_from_sense_key, и вот ошибка:

Файл "/home/izorar/anaconda3/lib/python3.7/site-packages/nltk/corpus/reader/wordnet.py", строка 1356, в синсете поднять WordNetError (message% lemma) WordNetError: прилагательное спутник запрошен, но только простой прилагательное найдено в лемме 'первый'

Есть идеи, как исправить ошибку?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги