Я использую API лингвистики Microsoft. Я пытаюсь извлечь определенные маркеры из возвращаемого дерева. Я не вижу никакого синтаксического анализатора для перемещения по дереву в любой документации ...Parser for the Constituency Tree (API лингвистического анализа)
Один из подходов, который я рассматривал, заключался в использовании парсера Stanford NLP, но, похоже, он немного переполнен тем, что мне нужно.
Есть ли существующий парсер, который я мог бы использовать?
вот образец данных, который возвращается. например, что я могу использовать, чтобы извлечь "НПН" (Том)
[{
"analyzerId": "4FA79AF1-F22C-408D-98BB-B7D7AEEF7F04",
"result": [ ["NNP",",","NNP","."], ["WRB","VBP","PRP","NN","."] ] },
{
"analyzerId": "22A6B758-420F-4745-8A3C-46835A67C0D2",
"result":["(TOP (S (NNP Hi) (, ,) (NNP Tom) (. !)))","(TOP (SBARQ (WHADVP (WRB How)) (SQ (VP (VBP are)) (NP (PRP you)) (NN today) (. ?))))"] }]
Спасибо! Это похоже на то, что я ищу, но я не думаю, что правильно использую его. Я посылаю это: (TOP (S (NP (NNP John) (NNP Wayne)) (VP (VBZ)) (NP (DT a) (NN cowboy))) (...)), и я получаю за пределами ошибки границ. – CodeInColor
Это вызов, который я использую: ParseHelpers.ConstituencyTreeFromText (newSent); – CodeInColor
Я добавил в фрагмент кода из command.cs. Я попытаюсь выполнить более минимальный пример завтра – BSalita