Wordnet возвращает ноль

#ruby-on-rails #ruby #wordnet

#ruby-on-rails #ruby #wordnet

Вопрос:

Я использую words gem для поиска в wordnet. Вот мой код:

 require 'words'
data = Words::Wordnet.new
word = "geese"
lemma = data.find(word)
puts lemma
  

lemma ВОЗВРАТ nil . Это работает для других слов, таких как «car», но «geese» не работает. Слово существует, я могу выполнить поиск по нему на веб-сайте Wordnet: http://wordnetweb.princeton.edu/perl/webwn?s=geeseamp;sub=Search WordNetamp;o2=amp;o0=amp;o8=1amp;o1=amp;o7=amp;o5=amp;o9=amp;o6=amp;o3=amp;o4=amp;h=00000000000

Что может происходить? Заранее благодарю вас!

Ответ №1:

Я думаю, это потому, что «гуси» — множественное число (причем неправильное), а поиск на веб-сайте WordNet использует morphy. Я думаю, что слова gem — это не так. Попробуйте «cars» и «feet».

Комментарии:

1. Я думаю, что драгоценный камень «words» использует тот же словарь, что и wordnet. Вы уверены, что это по-другому?

2. Они используют один и тот же словарь, но в словаре есть только неотраженные словоформы. Я полагаю, что веб-сайт WordNet выполняет некоторую обработку словоизменительной морфологии, которой нет в words gem. Итак, если вы будете искать такие вещи, как множественное число и формы на -ing, вы найдете базовые формы на веб-сайте WordNet, но слова gem вам ничего не дадут, если только эти формы также не окажутся базовыми формами других слов (это часто случается с глаголами на -ed, превращенными в прилагательные).

3. А, ладно, понял. Это нехорошо… Я думаю, я буду использовать драгоценный камень wordnet. Спасибо за ваш ответ.