Максимально возможная длина лексемы в грамматическом словаре

int sol_MaxLexemLen( HGREN hEngine )

int sol_MaxLexemLen8( HGREN hEngine )

Аргументы:

hEngine - дескриптор созданного вызовом sol_CreateGrammarEngine экземпляра грамматического словаря.

Возвращает:

Максимально возможная длина для слов, которыми оперирует грамматический словарь.

Примечания

Длина определяет число "широких" символов, то есть представленных типом wchar_t в C, без учета конечного 0. При работате с процедурным API многие функции передают текстовую информацию через указатели на динамическую память, куда будут записаны символы. Определять заранее длину передаваемой строки было бы слишком обременительно, если учесть, что внутренняя организация словарной базы предполагает фиксированную максимальную длину текстовых строк для имен словарных статей, словоформ и так далее. Поэтому самым простым и удобным способом является определение после загрузки словаря максимальной длины лексем с помощью sol_MaxLexemLen и затем использольвание этой константы для создания строковых буферов.

Длина буфера для строк в кодировке utf-8 должна определяться с учетом особенностей представления символов в данной многобайтовой кодировке. Она может быть в несколько раз больше числа широких символов. Кроме того, данная кодировка предполагает переменную длину кодирующих последовательностей, от 1 байта для базовой латиницы, 2 байтов для кириллицы и более для некоторых других наборов символов. Самым удобным способом получить длину буфера для utf8-строк является функция sol_MaxLexemLen8, она возвращает длину буфера "с запасом", достаточным для размещения в нем текстовой строки в самом неблагоприятном случае.

Многие функции API имеют для .NET специальные варианты с суффиксом FX, возвращающие нативную строку, то есть объект класса String, вместо того, чтобы требовать от прикладного кода манипуляций с созданием экземпляра StringBuilder и инициализацией его необходимым значением свойства Capacity.

Пример на C++:

#include "solarix_grammar_engine.h"

HGREN hEngine = sol_CreateGrammarEngineA("./dictionary.xml");
int mlen = sol_MaxLexemLen(hEngine); 
wchar_t *buffer = new wchar_t[mlen+1];
 
// ...

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

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

English version of this page

API layer C++ source code: grammar_engine_api.cpp

Вернуться к списку функций API

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


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



изменено 05-Dec-11