Функции API для поиска id грамматического признака

int sol_FindEnumState( HGREN hEngine, int CategoryID, const wchar_t * AttributeName )

int sol_FindEnumState8( HGREN hEngine, int CategoryID, const char * AttributeNameUtf8 )

Аргументы:

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

CategoryID - ID грамматической категории.

AttributeName - наименование грамматического признака в рамках заданной категории CategoryID. Поиск выполняется без учета регистра.

Возвращает:

-1 - Грамматический признак с указанным именем отсутствует в указанной грамматической категории.

число>=0 - первичный ключ (id) признака.

Примечания

Функции sol_FindEnumState и sol_FindEnumState8 отличаются текстовой кодировкой, в которой задано название категории. Функция с суффиксом 8 - получает строку в кодировке utf-8.

Грамматическую категорию, то есть параметр вызова CategoryID, можно задать либо с использованием символических констант, объявленных в _sg_api.*, либо вызвав sol_FindEnum для поиска ID по имени категории.

Для просмотра полного списка грамматических категорий и признаков для русского языка откройте в Блокноте этот файл.

В рамках SQL словаря найти числовой код признака по его наименованию можно через таблицу SG_STATE.

Грамматические признаки имеют уникальный ID только в рамках одной грамматической категории. Например, признаки несовершенного вида глагола и именительного падежа могут иметь одинаковые ID, так как они относятся к разным категориям. В случаях, когда требуется различать грамматические признаки разных категорий в одном вызове API, вместе с ID признака указывается также ID категории.

Функции потокобезопасны.

Для большинства грамматических признаков в файле _sg_api.* объявлены символические константы, соответствующие их id. Например, id винительного падежа объявлен как ACCUSATIVE_CASE_ru.

Пример на C++ - поиск ID винительного падежа:

#include "solarix_grammar_engine.h"

...

HGREN hEngine = sol_CreateGrammarEngineW(L"..\\..\\bin-windows\\dictionary.xml");

//...

int CaseID = sol_FindEnum( hEngine, L"падеж" );
int AccusativeID = sol_FindEnumState( hEngine, CaseID, L"винительный" );

// ...
  

Пример на C# - поиск ID превосходной степени прилагательного:

IntPtr gren = SolarixGrammarEngineNET.GrammarEngine.sol_CreateGrammarEngineW("..\\..\\bin-windows\\dictionary.xml");

// ...

int DegreeID = SolarixGrammarEngineNET.GrammarEngine.sol_FindEnum( gren, "степень" );
int SuperlativeID = SolarixGrammarEngineNET.GrammarEngine.sol_FindEnumState( gren, DegreeID, "превосходная" );

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

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

English version of this page

Падеж

Совершенный и несовершенный вид глагола

Степени сравнения прилагательных и наречий

Единственное и множественное число

Женский, мужской и средний род

класс Coordinate - грамматическая категория в ORM библиотеке

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


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



изменено 27-Mar-11