АОТ   Автоматическая Обработка Текста

главная о нас продукты скачать  демо технологии   ^

Программный интерфейс компонента морфологического анализа

Описание всех морф. компонент и представлений словарей в слайдах

О компоненте морфологического анализа

IParadigm

  IParadigmCollection

ILemmatizer

  IPLMLineCollection

Пример использования COM-интерфейса

 

О компоненте морфологического анализа

^

Данный документ описывает COM-интерфейс морфологического анализатора системы Диалинг. Для Unix-разработчиков, к сожалению, у нас нет специального документа, но в целом Unix-версия повторяет структуру всех представленных здесь интерфейсов, достаточно только переименовать основные типы (BSTR в string, BOOL в bool и т.д.). Программный интерфейс компонента морфологического анализа работает для русского, английского и немецкого языков.

Компонент экспортирует четыре интерфейса.

IParadigm ^

Представляет полную парадигму одного слова.

Свойства:

Название Атрибуты Тип возвра-щаемого значения Аргументы с типом Назначение
Norm Чтение BSTR   Нормальная форма слова
Count Чтение long   Количество словоформ в парадигме
Form Чтение BSTR Номер формы от 0, long Словоформа, по ее порядковому номеру в парадигме
Ancode Чтение BSTR Номер формы от 0, long Информация о словоформе в кодах agramtab.tab, по ее порядковому номеру в парадигме
TypeAncode Чтение BSTR   Общий анкод парадигмы
ParadigmID Чтение long   Уникальный идентификатор парадигмы
SrcAncode Чтение BSTR   Информация о найденной словоформе в кодах agramtab.tab
SrcNorm Чтение BSTR   Нормальная форма слова, которое служит родителем искомого при предсказании
WordWeight Чтение long   Частота встречаемости слова в массиве обучающих текстов
HomonymWeight Чтение long   Частота встречаемости омонима
Founded Чтение BOOL   TRUE, если слово найдено в словаре
BaseLength Чтение UINT   Длина псевдоосновы (неизм. части парадигмы)

 

IParadigmCollection

^

Коллекция объектов IParadigm

Свойства:

Название Атрибуты Тип возвра-щаемого значения Аргументы с типом Назначение
Count Чтение long   Количество объектов в коллекции
Item Чтение *IParadigm Номер элемента от 0 Получить элемент коллекции по номеру ( допустим доступ по [])

IPLMLineCollection

^

Коллекция строк, порожденных графематическим анализом, к которым добавлены нормальная форма, коды agramtab.tab и ParadigmID.

Свойства:

Название Атрибуты Тип возвра-щаемого значения Аргументы с типом Назначение
Count Чтение long   Количество объектов в коллекции
Item Чтение/Запись BSTR Номер элемента от 0 Доступ к элементу коллекции по номеру ( допустим доступ по [])

Методы:

HRESULT Remove([in] long pos)
удалить строчку с номером pos
HRESULT SaveToFile([in] BSTR filename)
сохранить коллекцию в файл filename
HRESULT ProcessPlmLines([in] IGraphmatFile* piGraphmatFile)
по интерфейсу piGraphmatFile
HRESULT AttachLemmatizer(ILemmatizer* pVal)
присоединяет морфологический словарь
pVal - указатель на морфологию
HRESULT CopyItems(IUnknown* pVal)
импортирует все строки из pVal
pVal - указатель на интерфейс IPLMLineCollection
HRESULT Clear()
обнуляет коллекцию

 

ILemmatizer

^

Морфоанализатор.

Свойства:

Название Атрибуты Тип возвра-щаемого значения Аргументы с типом Назначение
UsePrediction Чтение/ Запись BOOL   Использовать предсказание(по умолчанию - FALSE)
UseStatistic Чтение/ Запись BOOL   Использовать статистику для выявления наиболее вероятного омонима (по умолчанию FALSE)
MaximalPrediction Чтение/ Запись BOOL   Использовать максимальное предсказание (когда выдаются все гипотезы, а не только наилучшие). Наилучшая гипотеза - это та гипотеза, у которой совпадение с конца максимально.(по умолчанию равно FALSE)

Методы:

LoadDictionariesRegistry([in] long reserved)
метод загружает словари в память. Путь к словарям берется из файла $RML\rml.ini HKEY_LOCAL_MACHINE\Software\Dialing\Lemmatizer\Russian\DictPath - для русского и HKEY_LOCAL_MACHINE\Software\ Dialing\Lemmatizer\English\DictPath - для английского языка
reserved - всегда 0
LoadStatisticRegistry([in] _subject_t subj)
метод загружает файлы статистики в память. Путь к файлам берется из файла $RML\rml.ini HKEY_LOCAL_MACHINE\Software\Dialing\Lemmatizer\Russian\DictPath - для русского и HKEY_LOCAL_MACHINE\Software\ Dialing\Lemmatizer\English\DictPath - для английского языка
subj - код предметной области:
  • subjFinance - финансы
  • subjComputer - компьютер
  • subjLiterature - худ. литература
CreateParadigmCollectionFromNorm ([in] BSTR norm, [in] BOOL capital, [out, retval] IParadigmCollection* *pVal)
находит все слова с данной нормальной формой и помещает их парадигмы в коллекцию, указатель на которую и возвращает. Если слова нет в словаре и если UsePrediction = TRUE, возвращает наиболее вероятные варианты.
norm - нормальная форма
capital - считается ли, что слово начиналось с большой буквы
CreateParadigmCollectionFromForm ([in] BSTR form, [in] BOOL capital, [out, retval] IParadigmCollection* *pVal)
находит все слова, которые могут иметь данную форму и помещает их парадигмы в коллекцию, указатель на которую и возвращает. Если слова нет в словаре и если UsePrediction = TRUE, возвращает наиболее вероятные варианты.
form - форма
capital - считается ли, что слово начиналось с большой буквы
CreateParadigmFromID([in] long id, [out, retval] IParadigm* *pVal)
создает объект IParadigm по уникальному идентификатору и возвращает указатель на него.
Id - идентификатор

Использование:

  1. Создайте объект с интерфейсом Ilemmatizer (coclass LemmatizerRussian- для русского языка, coclass LemmatizerEnglish - для английского ) , загрузите словари(LoadDictionaries) и пользуйтесь.
  2. Т.к. словари имеют довольно большой объем, их загрузка занимает некоторое время, поэтому рекомендуется создавать объект, как глобальный.
  3. Рекомендуется использовать #import и smart pointers.
  4. Пример использования на MS Visual C++.
  5. Пример использования на Borland Delphi.
  6. Пример использования на Borland Delphi (с выдачей морф. характеристик).
  7. Пример использования на Python (от Саши Костыркина).

главная о нас продукты скачать  демо технологии   ^

 
Разработка DiP.
© 2003 АОТ. Все права защищены.