SDK - компоненты поисковой машины

Ресурсы для разработчиков

SDK состоит из разделов:

1) API - компоненты поисковой машины, поисковый движок и грамматический движок в виде MS Windows DLL, а также демонстрационные программы с исходными текстами на нескольких языках;

2) исходные тексты словаря, позволяющие с одной стороны видеть описание морфологии нескольких реализованных языков, а с другой стороны вносить изменения и дополнения;

3) утилиты для работы со словарем, в число которых входят компилятор словаря compiler, технический анализатор словаря decompiler, отладчик грамматического движка lexicon, отладчик синтаксического анализатора syntax, программа для работы с тезаурусом thesaurus, оконный интегрированный отладчик морфологического и синтаксического анализатора wdebugger, утилита для статистической обработки текстового корпуса empirika, консольный синонимизатор и перефразировщик synonymizer.

4) утилиты с исходными текстами Rewriter - синонимизатор, перефразировщик и генератор текста на C#, SQLEditor - редактор словаря в SQL базе данных на Delphi.

SDK разбит на несколько дистрибутивов с разным порядком приобретения и использования. Для точнения состава и условий приобретения перейдите на эту страницу.

Установка SDK

Для установки достаточно скачать дистрибутив и установить его на диск. Для удобства, чтобы не копировать из поисковой системы файлы, лучше сначала установить словарь и поисковую систему (достаточно консольной поисковой утилиты faind), и уже поверх устанавливать в тот же каталог SDK.

В нескольких подкаталогах располагаются:

корневой каталог исполнимые файлы утилит
bin-windows и bin-linux каталоги для файлов собранного словаря для 32-битных платформ
bin-windows64 и bin-linux64 каталоги для файлов собранного словаря для 64-битных платформ
include заголовочные файлы для использования компонентов
samples исходные тексты некоторых утилит и простые демонстрационные программы
lib, lib64 скомпилированные компоненты поискового движкаиграмматической машины
dictionary.src исходные тексты словаря (базовая версия free)
scripts готовые скрипты для сборки разных версий словаря, построения баз N-грамм и авторубрикатора

Компоненты поисковой машины

Очевидно, что современные поисковые технологии основаны на большом комплексе достаточно сложных алгоритмов и подходов к решению базовых задач. Если Вы разрабатываете прикладную информационную систему и осознаете необходимость включения хорошего поискового движка в свой проект, то возникает дилемма: тратить немалые средства и время на создание собственной реализации поисковой машины, либо использовать существующий поисковый механизм с простым API. Мы ведем разработку и поддержку поисковой машины для локального поиска данных (включает поиск по файловой системе персонального компьютера, хостам локальной сети и интернет-сайтам с поддержкой механизма перехода по гиперссылкам - см. полный список возможностей). Будучи универсальной поисковой машиной, она предлагает широкий набор средств для выполнения типичных задач поиска текста и извлечения знаний (подробнее об отличительных чертах движка FAIND можно почитать здесь).

Интерфейс прикладных программ (API) поисковой системы FAIND сделан предельно простым, что делает его использование необременительным для программиста, знакомого с технологией вызова DLL или работающего в современной среде Microsoft .NET (почитать о ней можно здесь).

В случае возникновения неясностей Вы всегда можете ознакомится с демонстрационными программами. К примеру, в качестве демонстрационной программы SDK содержит код на C# для .NET Framework (см. здесь), а поисковая система Integra и утилита faind написаны полностью на C++.

В полной версии в подкаталоге lib (lib64 для платформы x64) находятся скомпилированные компоненты поисковой машины:

\lib\faind.win32.dll - базовая версия 

\lib\faind.win32.mysql.dll - Premium версия с поддержкой поискового сервера на MySql.

Утилиты

Полный вариант SDK включает в себя следующие утилиты:

Название утилиты Краткое описание Платформа

compiler

Компилятор с языка ПРИИСК - транслирует Словарь, правила грамматической продукции в бинарную форму, создает набор бинарных файлов с компонентами грамматического движка.

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

См. компиляция словаря

MS Windows, Linux

decompiler

Технический анализатор бинарного образа словаря - загружает двоичный файл словаря и сохраняет детальные сведения о том,какие объекты (словарные статьи, правила, предикаты) в нем хранятся. Полезен на стадии отладки - для выяснения, какие данные реально хранятся в словаре и как они организованы (внутренние ключи и т.д.).

См. декомпиляция и статистическая обработка cловаря

MS Windows, Linux

lexicon

Простой текстовый интерфейс для отладки лексикона: выполнение морфологического анализа, доступ к тезаурусу и базе N-грамм.

Описание.

MS Windows, Linux

syntax

Консольный интерактивный отладчик синтаксического анализатора и трансформатор текста.

Описание.

MS Windows, Linux

thesaurus

Программа с оконным интерфейсом для работы с тезаурусом.

Описание.

MS Windows + .NET

wdebugger

Отладчик разных модулей грамматического движка с оконным интерфейсом.

Описание

MS Windows
empirika Статистическая обработка текстовых документов, включая определение процента попадания в лексикон и построение базы N-грамм.

Описание

MS Windows, Linux
synonymizer Синонимизатор и перефразировщик текста

Описание

MS Windows, Linux
rewriter Синонимизатор, перефразировщик, генератор текста. Доступен в исходных текстах на C#.

Описание

MSWindows + .NET
SQLEditor Оконный редактор лексикона и тезауруса для SQL словаря. Доступен в исходных текстах на Delphi.

Описание

MS Windows+FireBird

Изменения и дополнения в словарях и тезаурусе

В состав SDK входит инструмент для формирования двоичных файлов словаря из текстовых файлов (компилятор словаря) и исходные тексты словаря (включая тезаурус). Это дает Вам возможность дополнять словарь, в том числе - формировать свой тезаурус или вводить новые поддерживаемые языки.

Кроме того, с помощью программы decompiler можно экспортировать словарь в формат SQL или XML, залить получившиеся данные в БД и работать с лексиконом и тезаурусом без использования грамматического движка. Подробнее об этом - здесь.

изменено 31-Jan-10

  © Mental Computing 2010