Я использую «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