Определение частоты слова по базе N-грамм

C/C++:

int sol_Seek1Grams( HGREN hEngine, int Type, const wchar_t * Word1 )

int sol_Seek1Grams8( HGREN hEngine, int Type, const char * Word1Utf8 )

C#:

int sol_Seek1Grams( IntPtr hEngine, int Type, string Word1 )

Delphi:

function sol_Seek1Grams( hEngine: PInteger; Flags: Integer; Word1: PWideChar ): Integer;

Аргументы:

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

Type - 0 для буквальных, 1 для лемматизированных.

Word1 - слово.

Возвращает:

частоту слова.

Примечания

В зависимости от конфигурации грамматического словаря и параметров загрузки в файле настроек, база данных N-грамм может располагаться в реляционной СУБД общего назначения типа MySQL или в NoSQL хранилище. API предоставляет единообразный способ работы с N-граммами, скрывая от прикладного кода детали реализации back-end storage.

С помощью функции sol_CountNGrams можно узнать общее количество монограмм в базе данных.

Для получения частоты N-грамм старших порядков следует использовать функции sol_Seek2Grams, sol_Seek3Grams, sol_Seek4Grams, sol_Seek5Grams.

Функция sol_Seek1Grams8 работает с аргументом в кодировке utf-8. Это удобно при использовании API словаря на Linux или в случае работы с Qt.

Для сбора статистики о текстах, в том числе о частоте 1-грамм, можно использовать утилиту Empirika, входящую в SDK. Прикладные программы также могут реализовать свои алгоритмы сборки статистики, записывая данные прямо в реляционную SQL базу данных словаря, подключение к которой задается в конфигурационном файле.

Примеры

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

#include "solarix_grammar_engine.h"

int freq11 = sol_Seek1Grams8( hEngine, 0, "СОБАКА" ); // без лемматизации
int freq12 = sol_Seek1Grams8( hEngine, 1, "СОБАКА" ); // с лемматизацией

Пример на C#:

IntPtr hEngine = GrammarEngine.sol_CreateGrammarEngineW("..\\..\\..\\..\\..\\..\\..\\bin-windows\\dictionary.xml");
  
int freq11 = GrammarEngine.sol_Seek1Grams( hEngine, 0, "СОБАКА" ); // без лемматизации
int freq12 = GrammarEngine.sol_Seek1Grams( 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 freq11, freq12: integer;
begin

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

 freq11 := sol_Seek1Grams( hEngine, 0, 'СОБАКА' ); // без лемматизации
 freq12 := sol_Seek1Grams( hEngine, 1, 'СОБАКА' ); // с лемматизацией
 
 { ... }
 
 rc := sol_DeleteGrammarEngine(hEngine);

end.

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

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

English version of this page

Сборщик N-грамм

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