API лексикона - создание новой фразовой статьи

C/C++:

int sol_AddPhrase( HGREN hEngine, const wchar_t * Phrase, int LanguageID, int ClassID, int Flags )

int sol_AddPhrase8( HGREN hEngine, const char * PhraseUtf8, int LanguageID, int ClassID, int Flags )

C#:

int sol_AddPhrase( IntPtr hEngine, string Phrase, int LanguageID, int ClassID, int Flags )

Delphi:

function sol_AddPhrase( hEngine: PInteger; Phrase: PWideChar; LanguageID: integer; ClassID: integer; Flags: integer ): integer;

Аргументы:

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

Phrase - текст фразовой статьи.

LanguageID - id (первичный ключ) языка, либо -1.

ClassID - id (первичный ключ) части речи, либо -1 .

Flags - дополнительные флаги, управляющие добавлением статьи, следует указывать 0.

Возвращает:

Первичный ключ добавленной статьи.

число<=0 - при добавлении произошла ошибка.

Примечания

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

В отличие от словарных статей, длина текста для фразовой статьи теоретически не ограничена, а на практике лимитируется только особенностями применяемой в качестве хранилища лексикона СУБД.

Для получения дескриптора грамматического словаря можно использовать функции sol_CreateGrammarEngine и sol_LoadDictionary[A,W,8].

Возвращаемый функцией первичный ключ созданной фразовой статьи можно использовать в функциях sol_DeletePhrase или sol_GetPhraseLanguage.

Указываемый среди параметров создаваемый фразовой статьи id части речи характеризует синтаксическую роль фразы в предложении. Во многих случаях фразы, хранящиеся в лексиконе, представляют собой словосочетания, в которых одно слово является главным. Например, фраза 'грамматический словарь' синтаксически подобна неодушевленному существительному мужского рода. Если данный признак фразы не потребуется, то можно указать -1.

В ORM библиотеке фразовые статьи представляются объектами класса Phrase.

Примеры

C++:

#include "solarix_grammar_engine.h"

...

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

//...

int phrase_id = sol_AddPhrase( hEngine, L"dirt road", ENGLISH_LANGUAGE, ENG_NOUN, 0 );

// ...
  

C#:

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

// ...

int phrase_id = SolarixGrammarEngineNET.GrammarEngine.sol_AddPhrase( hEngine, "dirt road", -1, -1, 0 );

Delphi:

uses SysUtils, Windows,
    _sg_api in '..\..\..\..\..\include\lem\solarix\_sg_api.pas',
    GrammarEngineApi in '..\..\..\..\..\include\lem\solarix\GrammarEngineApi.pas';

var hEngine: PInteger;
var id_phrase1, id_phrase2, id_phrase3: integer;
var phrase_text: WideString;
begin

 hEngine := sol_CreateGrammarEngineA( '..\..\..\..\..\bin-windows\dictionary.xml' );

 id_phrase1 := sol_FindPhrase( hEngine, WideString('грамматический словарь русского языка'), 0 );
 id_phrase2 := sol_AddPhrase( hEngine, WideString('проверяем добавление фразы'), -1, -1, 0 );
 id_phrase3 := sol_FindPhrase( hEngine, WideString('проверяем добавление фразы'), 0 );

 phrase_text := sol_GetPhraseTextPAS( hEngine, id_phrase3 );
 sol_DeletePhrase( hEngine, id_phrase3 );

 sol_DeleteGrammarEngine(hEngine);

end.

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

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

English version of this page

Лексикон

Фразовые статьи

Класс Phrase - представление фразовой статьи в 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