Хороший словарь/корпус для перепроверки существительных во множественном числе.

Я использую «nltk» для определения существительных, а затем «изменяю», чтобы найти форму множественного числа существительного. Я добавил непредвиденный случай, когда форма множественного числа сверяется со словарем/корпусом, и если это слово во множественном числе отсутствует, то вместо использования формы множественного числа добавляется «(s)». Ниже приведена небольшая часть кода (часть перекрестной проверки).

import inflect    
word = input()
p = inflect.engine()
pluralized = p.plural(word
with open("words.rtf") as f:
  text = f.read().strip().split()
  if pluralized in text:
     newword = pluralized
  else:
     newword = word+"(s)"
print(word," : ",newword)

Проблема в том, что словарь/корпус, который я использую, "words.rtf", не содержит большинства форм множественного числа возможных слов. Есть ли текстовый файл с большим количеством примеров во множественном числе или лучший способ перекрестной проверки. Я хочу отказаться от множественного числа аббревиатур и акронимов и принять только множественное число правильных английских слов. Например,

knife: knives
ID: ID(s) #not IDS

person AMG    schedule 29.05.2019    source источник


Ответы (1)


Если вы ищете что-то, что поможет с перегибами, вы можете проверить pyInflect или LemmInflect. Они сделают для вас гораздо лучшую работу, чем NLTK.

Если вам действительно нужен только список слов, посмотрите пакет Debian wamerican. Если вы используете Linux, он, вероятно, уже установлен в /usr/share/dict. Я считаю, что для Windows вы можете использовать 7-zip или несколько других программ для извлечения файла .deb, а затем просто использовать список слов внутри архива.

Есть также более крупный список, например версии wamerican-large, -huge и -insane и wbritish (см. аналогичные пакеты в правой части страницы wamerican).

person bivouac0    schedule 04.06.2019