int sol_FindEnum( HGREN hEngine, const wchar_t * CategoryName )
int sol_FindEnum8( HGREN hEngine, const char * CategoryNameUtf8 )
Аргументы:
CategoryName - наименование грамматической категории, которое было присвоено при ее объявлении.
hEngine - дескриптор созданного вызовом sol_CreateGrammarEngine экземпляра морфологического словаря.
Возвращает:
-1 - категория с указанным именем отсутствует в словаре.
число>=0 - первичный ключ (id) объявления категории.
Функции sol_FindEnum и sol_FindEnum8 отличаются текстовой кодировкой, в которой задано название категории. Функция с суффиксом 8 - получает строку в кодировке utf-8.
Поиск выполняется без учета регистра.
Грамматические категории тесно связаны с грамматическими признаками. Одна грамматическая категория объединяет несколько грамматических признаков, например категория падеж объединяет в себе именительный, родительный, творительный, дательный, винительный, предложный, звательный, местный, партитив, названия которых заданы сокращениями типа им и твор. Категория род объединяет признаки муж, жен и ср, соответствующие грамматическим родам русского языка. Для работы с грамматическими признаками как элементами одной категории служат такие функции API, как sol_FindEnumState, sol_CountCoordStates, sol_GetCoordStateName.
Для просмотра полного списка грамматических категорий и признаков для русского языка откройте в Блокноте этот файл.
В рамках SQL словаря найти числовой код категории по её наименованию можно через таблицу SG_COORD.
В ORM библиотеке класс Dictionary имеет свойство coords, с помощью которого можно перечислить все имеющиеся в грамматическом словаре категории, представляемые как объекты класса Coordinate.
Функции потокобезопасны.
Для большинства грамматических категорий в файле _sg_api.* объявлены символические константы, соответствующие их id. Например, id падежа объявлен как CASE_ru.
Обратная операция, то есть определение наименования грамматической категории по её ID, выполняется функцией sol_GetCoordName.
Пример на C++ - поиск id категории вида глагола:
#include "solarix_grammar_engine.h"
...
HGREN hEngine = sol_CreateGrammarEngineW(L"..\\..\\bin-windows\\dictionary.xml");
//...
int AspectID = sol_FindEnum( hEngine, L"вид" );
// ...
Пример на C# - поиск id категории падежа
IntPtr gren = SolarixGrammarEngineNET.GrammarEngine.sol_CreateGrammarEngineW("..\\..\\bin-windows\\dictionary.xml");
// ...
int CaseID = SolarixGrammarEngineNET.GrammarEngine.sol_FindEnum( gren, "падеж" );
// ...
Приобретение SDK грамматического словаря
Объявление грамматических категорий и признаков
Совершенный и несовершенный вид глагола
Степени сравнения прилагательных и наречий
Единственное и множественное число
Женский, мужской и средний род
Класс Coordinate - грамматическая категория в ORM библиотеке
API layer C++ source code: grammar_engine_api.cpp
Вернуться к списку функций API
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
изменено 27-Mar-11 | ||||||||||||||||||||||||||||||||||||||