C/C++:
int sol_Seek5Grams( HGREN hEngine, int Type, const wchar_t * Word1, const wchar_t * Word2, const wchar_t * Word3, const wchar_t * Word4, const wchar_t * Word5 )
int sol_Seek5Grams8( HGREN hEngine, int Type, const char * Word1Utf8, const char * Word2Utf8, const char * Word3Utf8, const char * Word4Utf8, const char * Word5Utf8 )
C#:
int sol_Seek5Grams( IntPtr hEngine, int Type, string Word1, string Word2, string Word3, string Word4, string Word5 )
Delphi:
function sol_Seek5Grams( hEngine: PInteger; Flags: Integer; Word1: PWideChar; Word2: PWideChar; Word3: PWideChar; Word4: PWideChar; Word5: PWideChar ): Integer;
Аргументы:
hEngine - дескриптор созданного вызовом sol_CreateGrammarEngine экземпляра грамматического словаря.
Type - 0 для буквальных, 1 для лемматизированных.
Word1, Word2, Word3, Word4, Word5 - элементы проверяемой пентаграммы.
Возвращает:
частоту пентаграммы.
В зависимости от конфигурации грамматического словаря и параметров загрузки в файле настроек, база данных N-грамм может располагаться в реляционной СУБД общего назначения типа MySQL или в NoSQL хранилище. API предоставляет единообразный способ работы с N-граммами, скрывая от прикладного кода детали реализации back-end storage.
Функция sol_Seek5Grams8 работает с аргументами в кодировке utf-8. Это удобно при использовании API словаря на Linux или в случае работы с Qt.
С помощью функции sol_CountNGrams можно узнать общее количество пентаграмм в базе данных.
Для получения частоты N-грамм других порядков следует использовать функции sol_Seek1Grams, sol_Seek2Grams, sol_Seek3Grams, sol_Seek4Grams.
Для сбора статистической информации о тексте, в том числе о частоте 5-грамм, можно использовать утилиту Empirika, входящую в SDK. Прикладные программы также могут реализовать свои алгоритмы сборка статистики, записывая данные прямо в реляционную SQL базу данных словаря, подключение к которой задается в конфигурационном файле.
Пример на C++:
#include "solarix_grammar_engine.h" int freq51 = sol_Seek5Grams8( hEngine, 0, "СОБАКА", "И", "КОШКА", "НАШЛИ", "БОЛЬШОЕ" ); int freq52 = sol_Seek5Grams8( hEngine, 1, "СОБАКА", "И", "КОШКА", "НАШЛИ", "БОЛЬШОЕ" );
Пример на C#:
IntPtr hEngine = GrammarEngine.sol_CreateGrammarEngineW("..\\..\\..\\..\\..\\..\\..\\bin-windows\\dictionary.xml");
int freq51 = GrammarEngine.sol_Seek5Grams( hEngine, 0, "СОБАКА", "И", "КОШКА", "НАШЛИ", "БОЛЬШОЕ" );
int freq52 = GrammarEngine.sol_Seek5Grams( hEngine, 1, "СОБАКА", "И", "КОШКА", "НАШЛИ", "БОЛЬШОЕ" );
Пример на Delphi:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, Windows,
_sg_api in '..\..\..\..\..\include\lem\solarix\pro\_sg_api.pas',
GrammarEngineApi in '..\..\..\..\..\include\lem\solarix\GrammarEngineApi.pas';
var hEngine: PInteger;
var freq51, freq52: integer;
begin
hEngine := sol_CreateGrammarEngineA( '..\..\..\..\..\bin-windows\dictionary.xml' );
freq51 := sol_Seek5Grams( hEngine, 0, 'СОБАКА', 'И', 'КОШКА', 'НАШЛИ', 'БОЛЬШОЕ' );
freq52 := sol_Seek5Grams( hEngine, 1, 'СОБАКА', 'И', 'КОШКА', 'НАШЛИ', 'БОЛЬШОЕ' );
{ ... }
rc := sol_DeleteGrammarEngine(hEngine);
end.Приобретение SDK грамматического словаря
API layer C++ source code: grammar_engine_api.cpp
Вернуться к списку функций API
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
изменено 27-Mar-11 | ||||||||||||||||||||||||||||||||||||||