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

Грамматический словарь предоставляет прикладному коду возможность выполнять лексический, морфологический и синтаксический разбор предложения с помощью набора простых процедур, доступных из нескольких языков программирования, в том числе 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 онлайн-словаря.

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

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

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

Исходный текст правил можно найти в подкаталоге ...\scripts\dictionary.src в файлах с именами rus_syntactic_analyzer_*.sol

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

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

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 Мб


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



изменено 28-Nov-11