Синтаксический анализатор грамматического словаря

Многопоточность синтаксического анализатора

Синтаксический анализатор протестирован на потокобезопасность - соответствующий код входит в состав демонстрационной программы TestLexicon в SDK Грамматического Словаря. Таким образом, несколько параллельно исполняющихся потоков могут делать одновременные запросы к анализатору, например - при работе веб-сервиса переводчика.

API для выполнения синтаксического разбора предложения

В состав SDK входит программа Syntax, которая является консольным отладчиком синтаксического анализатора и позволяет в интерактивном режиме проверить работу различных модулей. Полное описание этой программы и примеры - здесь.

Также в составе SDK есть примеры вызова процедур синтаксического анализатора на C++ и C#.

Для выполнения синтаксического разбора одного предложения процедурный API экспортирует ряд функций.

sol_SyntaxAnalysis[8] выполняет синтаксический разбор одного предложения.

Остальные функции позволяют просматривать результаты синтаксического разбора:

sol_DeleteResPack удаление результатов синтаксического разбора

sol_CountGrafs определение числа альтернативных наборов деревьев

sol_CountRoots получение числа корневых узлов в наборе деревьев

sol_GetRoot получение дескриптора корневого узла

sol_CountLeafs определение числа дочерних узлов

sol_GetLeaf получение дескриптора дочернего узла

sol_GetNodePosition определение порядкового номера слова, которому соответствует узел синтаксического графа

sol_GetNodeContents[8] получение текстового содержимого для узла синтаксического графа

Утилиты для отладки синтаксического анализатора

Чтобы проверить работу синтаксического анализатора после модификации правил или выяснить, какой синтаксический граф строит анализатор для конкретного предложения, можно использовать одну из входящих в SDK утилит.

Консольная утилита Syntax позволяет вводить предложения, задавать точки останова анализа в тексте правил, просматривать значения переменных и контекста в этих точках, видеть промежуточные и окончательные результаты синтаксического разбора.

Программа Debugger имеет оконный интерфейс и позволяет вводить предложения и видеть синтаксические деревья, получающиеся в результате разбора.

Морфологический разбор предложения

Синтаксический разбор включает в себя несколько этапов, в том числе морфологический анализ. Определение синтаксических связей и построение синтаксического дерева занимает достаточно много времени. Если синтаксический граф не нужен, то можно ограничиться вызовом функции sol_MorphologyAnalysis или даже sol_ProjectWord для отдельных слов.

Дополнительные материалы

Примеры использования API грамматического словаря

API грамматического словаря

Алгоритмы русской морфологии

Синтаксический анализатор

Морфологический анализатор

Утилита SYNTAX

Приобретение SDK грамматического словаря

  © Козиев Илья 2019
изменено 14-Feb-12