Лучший способ разобрать суффиксированные слова
Мне нужен парсер, который распознает часть речи в соответствии с последней буквой каждого слова. Я использовал Python, но я не уверен, что доступные парсеры CFG примут это.
Давайте возьмем эсперанто слова, например. Все прилагательные оканчиваются на -a (например, "granda" для большого), а все существительные оканчиваются на -o (например, "hundo" для собаки). Итак, вот игрушечная грамматика:
S -> AN | ASN
A -> (любое слово, оканчивающееся на -a)
N -> (любое слово, заканчивающееся на -o)
Предложение "Granda Bela Animalo Hundo" (SIC!) Следует разобрать следующим образом:
(S (A Granda) (S (A Бела) (N animalo)) (N Hundo))
У кого-нибудь есть идеи, как это закодировать? Я пытаюсь сделать грамматику максимально простой. Извините, если это выглядит странно - это сложно...
1 ответ
Вы можете использовать str.endswith
метод
word = "granda"
if word.endswith('o'):
print "Noun"
elif word.endswith('a'):
print "Adjective"