2015-10-22 5 views
0

У меня есть следующее предложение: She usually walks three miles a day. Здесь есть несколько элементов грамматики, например present simple, personal pronouns, numerals и т. Д. Есть ли программное обеспечение, которое может их обнаружить?Программное обеспечение для обнаружения грамматических конструкций в предложении

+0

Это лучше всего подходит для кросс-валидации и запросить алгоритмы, а не программное обеспечение ... Затем вы можете искать реализации определенного алгоритма. – hally9k

+0

Простой грамматический анализ обычно выполняется маркерами POS. В большинстве систем вы можете получить довольно подробную подкатегорию (а не только * глагол *, но помечен для числа, времени и т. Д.). Для языков с реальными системами перегиба вы, вероятно, хотите использовать морфологический анализатор, а также. – tripleee

+0

@ hally9k Почему кросс-валидированный? Это не статистика. – tripleee

ответ

2

Вы хотите найти Английский 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 и т. Д.