API проверки орфографии

Программный интерфейс (API) проверки орфографии


API проверки орфографии является простой надстройкой над интерфейсом морфологического анализатора и обеспечивает традиционные алгоритмы подбора кандидатов на замену для любого поданного слова. Модуль доступен в исходных текстах, так что подробности реализации и использованные модели проще всего смотреть, читать и при необходимости модифицировать непосредственно «по месту».

1.Интерфейс морфологического анализатора

struct morphomodule { short (MLMA_API EXPORT *checkword)( const char*, unsigned short ); short (MLMA_API EXPORT *lemmatize)( const char*, unsigned short, char*, lexeme_t*, char*, unsigned short, unsigned short, unsigned short ); short (MLMA_API EXPORT *buildform)( const char*, lexeme_t, unsigned short, unsigned char, char*, unsigned short ); short (MLMA_API EXPORT *checkhelp)( const char*, char* ); };

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

2.Проверка правописания

int spellCheckWord( struct morphomodule* module, const char* pszstr );

Просто транслирует вызов, передавая аргументы и добавляя нулевые настройки, методу checkword интерфейса morphapi, переданного параметром module.

3.Подбор кандидатов на замену

int spellCheckHelp( struct morphomodule* module, char* szbuff, unsigned ccbuff, const char* pszstr );

Функция применяет основные методы подбора кандидатов на замену в предположении, что переданная строка является ошибочным начертанием, восстанавливает найденные варианты замены в массив szbuff размерности ccbuff, разделяя их нулями, и возвращает количество построенных вариантов.