главная
о нас продукты
скачать демо
технологии ^
Программный интерфейс компонента морфологического анализа |
Описание всех морф. компонент и представлений
словарей в слайдах
О компоненте морфологического анализа
IParadigm
IParadigmCollection
ILemmatizer
IPLMLineCollection
Пример использования COM-интерфейса
О компоненте морфологического анализа
|
^ |
Данный документ описывает COM-интерфейс морфологического анализатора системы
Диалинг. Для Unix-разработчиков, к сожалению, у нас нет специального документа,
но в целом Unix-версия повторяет структуру всех представленных здесь
интерфейсов, достаточно только переименовать основные типы (BSTR в string, BOOL
в bool и т.д.). Программный интерфейс компонента морфологического анализа
работает для русского, английского и немецкого языков.
Компонент экспортирует четыре интерфейса.
Представляет полную парадигму одного слова.
Свойства:
Название |
Атрибуты |
Тип возвра-щаемого значения |
Аргументы с типом |
Назначение |
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 |
|
Длина псевдоосновы (неизм. части парадигмы)
|
Коллекция объектов IParadigm
Свойства:
Название |
Атрибуты |
Тип возвра-щаемого значения |
Аргументы с типом |
Назначение |
Count |
Чтение |
long |
|
Количество объектов в коллекции |
Item |
Чтение |
*IParadigm |
Номер элемента от 0 |
Получить элемент коллекции по номеру ( допустим доступ по []) |
Коллекция строк, порожденных графематическим анализом, к которым добавлены
нормальная форма, коды 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()
-
обнуляет коллекцию
Морфоанализатор.
Свойства:
Название |
Атрибуты |
Тип возвра-щаемого значения |
Аргументы с типом |
Назначение |
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 - идентификатор
Использование:
-
Создайте объект с интерфейсом Ilemmatizer (coclass LemmatizerRussian-
для русского языка, coclass LemmatizerEnglish - для
английского ) , загрузите словари(LoadDictionaries) и пользуйтесь.
-
Т.к. словари имеют довольно большой объем, их загрузка занимает некоторое
время, поэтому рекомендуется создавать объект, как глобальный.
-
Рекомендуется использовать #import и smart pointers.
-
Пример использования на MS Visual C++.
-
Пример использования на Borland Delphi.
-
Пример использования на Borland Delphi (с выдачей
морф. характеристик).
-
Пример использования на Python (от Саши Костыркина).
|