Синтаксический анализатор протестирован на потокобезопасность - соответствующий код входит в состав демонстрационной программы TestLexicon в SDK Грамматического Словаря. Таким образом, несколько параллельно исполняющихся потоков могут делать одновременные запросы к анализатору, например - при работе веб-сервиса переводчика.
В состав 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 грамматического словаря
Приобретение SDK грамматического словаря
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
изменено 26-Nov-11 | ||||||||||||||||||||||||||||||||||||||