У меня есть следующее предложение: She usually walks three miles a day
. Здесь есть несколько элементов грамматики, например present simple
, personal pronouns
, numerals
и т. Д. Есть ли программное обеспечение, которое может их обнаружить?Программное обеспечение для обнаружения грамматических конструкций в предложении
ответ
Вы хотите найти Английский parser. Существует множество различных методов и инструментов для синтаксического анализа. NLTK включает в себя обширные возможности для синтаксического анализа (here). Если вы хотите что-то легкое и готовое, вы можете использовать Stanford Parser, который также доступен в виде Java-программы. Ваш пример предложение обрабатывается как следующие:
She/PRP usually/RB walks/VBZ three/CD miles/NNS a/DT day/NN
(ROOT
(S
(NP (PRP She))
(VP
(ADVP (RB usually))
(VBZ walks)
(NP
(NP (CD three) (NNS miles))
(NP (DT a) (NN day))))))
Universal dependencies
nsubj(walks-3, She-1)
advmod(walks-3, usually-2)
root(ROOT-0, walks-3)
nummod(miles-5, three-4)
dobj(walks-3, miles-5)
det(day-7, a-6)
dep(miles-5, day-7)
Universal dependencies, enhanced
nsubj(walks-3, She-1)
advmod(walks-3, usually-2)
root(ROOT-0, walks-3)
nummod(miles-5, three-4)
dobj(walks-3, miles-5)
det(day-7, a-6)
dep(miles-5, day-7)
Это может выглядеть довольно загадочным, но на самом деле он содержит всю информацию, которую вы ищете. Например, в walks/VBZ
, VBZ
означает Verb, 3rd person singular present
. PRP
означает Personal Pronoun
или CD
средства Cardinal Number
. Это аббревиатуры, используемые в Penn Treebank. Вы можете найти большинство из них here.
В последней части рассматриваются зависимости. Например, advmod(walks-3, usually-2)
означает наречие usually
относится к глаголу walks
и т. Д.
Это лучше всего подходит для кросс-валидации и запросить алгоритмы, а не программное обеспечение ... Затем вы можете искать реализации определенного алгоритма. – hally9k
Простой грамматический анализ обычно выполняется маркерами POS. В большинстве систем вы можете получить довольно подробную подкатегорию (а не только * глагол *, но помечен для числа, времени и т. Д.). Для языков с реальными системами перегиба вы, вероятно, хотите использовать морфологический анализатор, а также. – tripleee
@ hally9k Почему кросс-валидированный? Это не статистика. – tripleee