Синтаксический разбор предложений

Грамматический словарь предоставляет прикладному коду возможность выполнять лексический, морфологический и синтаксический разбор предложения с помощью набора простых процедур, доступных из нескольких языков программирования, в том числе C, C++, C#, Delphi, PHP. В частности, синтаксический разбор одного предложения выполняется с помощью функции sol_SyntaxAnalysis. Результатом ее работы будет синтаксическое дерево, в котором явным образом зафиксированы синтаксические отношения элементов предложения.

Для использования синтаксического анализатора необходим SDK Грамматического Словаря или ознакомительная версия этого SDK, доступная для свободного скачивания. Представленные в этих дистрибутивах примеры на нескольких языках программирования позволят быстро создать прототип своего прикладного анализатора.

Процедура синтаксического разбора включает в себя два дополнительных этапа, которые можно выполнить отдельно через специальные функции процедурного API. Во-первых, сначала грамматический движок определяет границы слов в предложении с учетом разнообразных правил для русского языка (или другого целевого естественного языка, описанного в словаре). Этот этап называется токенизация и доступен через функцию sol_Tokenize. Во-вторых, для каждого слова распознаются его грамматические признаки, такие как падеж, род, число, время и так далее, с учетом возможных неоднозначностей. Этот этап называется морфологическим разбором и может быть выполнен прикладным кодом отдельно с помощью функций sol_ProjectWord и sol_MorphologyAnalysis.

Визуализация результатов синтаксического разбора предложения

Результат синтаксического разбора - это набор словоформ, отображенных в узлы синтаксического графа, и соединяющих их связей (ребер). Визуализация графа может быть выполнена прикладным кодом под конечное устройство отображения самостоятельно. Сам грамматический словарь через API предоставляет только возможность обойти узлы синтаксического дерева и определить их параметры.

В качестве иллюстрации можно рассмотреть следующие примеры. Все они демонстрируют визуализацию результатов синтаксического разбора предложения Планета Юпитер видна невооруженным глазом.

ASP.NET страница может сгенерировать HTML код, использующий возможности современных браузеров с поддержкой HTML 5, для очень наглядного представления синтаксического дерева:

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

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

На скриншоте выделены как введенное исходное предложение, так и синтаксическое дерево.

.NET версия синтаксического анализатора

Программы на управляемых языках на платформе .NET могут вызывать функции процедурного API через небольшую обертку gren_fx.dll. Сама эта обертка написана на C# и доступна в исходном коде в SDK.

Online вариант модуля синтаксического анализа для .NET доступен на сайте asp.net онлайн-словаря.

Правила синтаксического разбора

Правила пишутся на специальном встроенном языке программирования.

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

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

Синтаксис правил, управляющих работой синтаксического анализатора

API синтаксического анализатора

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

Словарные статьи

Модальные глаголы в Грамматическом Словаре

Лексикон

Внутренний язык грамматической машины

Syntax - консольный отладчик синтаксического анализатора

Debugger - оконная версия отладчика синтаксического анализатора

  © Elijah Koziev 2010
прикладные проекты на основе грамматического словаря API грамматической машины компоненты для доступа к грамматическому словарю условия получения SDK токенизатор и сегментатор морфологический анализ и синтез лемматизатор база N-грамм синтаксический анализатор словоформы морфология и синтаксис русского языка падеж число род совершенный и несовершенный вид экспорт в SQL формат экспорт в XML формат скрипт SQL словаря структура SQL словаря структура XML словаря компоненты для доступа к грамматическому словарю ORM Persistent Dictionary Library лемматизация стемминг примеры использования грамматического словаря склонение существительных в русском языке склонение русских прилагательных спряжение глаголов в русском языке поиск текста с учетом морфологии OCR подсистема расширенные регулярные выражения генератор текста генератор случайного текста и имитатор рандомизатор синонимизатор перефразировщик Статистика буквенных паттернов

Грамматический словарь русского языка



Грамматический словарь
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
требования: 512 Mb свободной памяти, 300 Мб на диске
размер:         34 Мб

  скачать грамматический словарь купить грамматический словарь SDK грамматического словаря
грамматический словарь русского языка



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



SDK Грамматического Словаря
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
размер:         13 Мб

SQL словарь (демо):
sqlite mysql oracle firebird mssql

скачать демо-версию SDK купить SDK API грамматического словаря



Поисковая система



Integra
настольная и сетевая поисковая система 

платформа:  Windows XP ... Windows 7
требования: 512 Mb свободной памяти
размер:         21 Мб

Дополнительные компоненты:
MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать поисковую систему SDK поисковой системыописание поисковой системы



SDK Поисковой системы



SDK Поискового движка
API для настольной и сетевой поисковая система 

платформа:  Windows XP ... Windows 7
размер:         17 Мб

Дополнительные компоненты:

MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать SDK SDK поисковой системы



Экранный переводчик



Translator
экранный переводчик

платформа:  Windows XP ... Windows 7
требования: 256 Mb свободной памяти
размер:         4.4 Мб

Дополнительные компоненты:
расширенный англо-русский словарь 6.4 Мб


скачать экранный переводчикописание экранного переводчика



изменено 18-May-12