В моей научной работе, мне необходим стеммер (на данный момент я вызываю exe mystem от Яндекса).
Думаю надо от него отказаться и перейти на hunspell. Нагуглить ничего не удалось, а документация поражает своей лаконичностью, посему есть вопросы к тем, кто его уже использовал:
1) Как он относиться к кодировке(у методов в качестве параметров выступает char *)? Как он понимает на каком языке/кодировке запрос-ответ (в случае нескольких подгруженных словарей)
2) Можно ли создавать несколько объектов Hunspell, как дружит с многопоточностью?
Ну и напоследок кто знает альтернативы с поддержкой русского и английского языков?
Здравствуйте, hotdox, Вы писали:
H>В моей научной работе, мне необходим стеммер (на данный момент я вызываю exe mystem от Яндекса).
H>Думаю надо от него отказаться и перейти на hunspell. Нагуглить ничего не удалось, а документация поражает своей лаконичностью, посему есть вопросы к тем, кто его уже использовал:
H>1) Как он относиться к кодировке(у методов в качестве параметров выступает char *)? Как он понимает на каком языке/кодировке запрос-ответ (в случае нескольких подгруженных словарей)
H>2) Можно ли создавать несколько объектов Hunspell, как дружит с многопоточностью?
H>Ну и напоследок кто знает альтернативы с поддержкой русского и английского языков?
Вопрос: а чем не устроил mystem?
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
Здравствуйте, hotdox, Вы писали:
H>В моей научной работе, мне необходим стеммер (на данный момент я вызываю exe mystem от Яндекса).
H>Думаю надо от него отказаться и перейти на hunspell. Нагуглить ничего не удалось, а документация поражает своей лаконичностью, посему есть вопросы к тем, кто его уже использовал:
Диcклэймер

— пользовался сравнительно давно (версия 1.1.4), сейчас быстро просмотрел (версия 1.2.8) — вроде ничего по теме вопросов не изменилось.
H>1) Как он относиться к кодировке(у методов в качестве параметров выступает char *)? Как он понимает на каком языке/кодировке запрос-ответ (в случае нескольких подгруженных словарей)
Библиотека принимает слово и выдает результат в кодировке конкретного словаря (см. метод get_dic_encoding). Конвертация кодировки — обязанность программера, которую он может переложить на iconv/MLang/icu/sgt-charset/другие подобные библиотеки.
H>2) Можно ли создавать несколько объектов Hunspell, как дружит с многопоточностью?
Библиотека не содержыт глобальных переменных, поэтому поведение вполне обычное: можно создавать много объектов, они не зависят друг от друга, но работать с конкретным объектом в один момент времени может только один поток.
H>Ну и напоследок кто знает альтернативы с поддержкой русского и английского языков?
*
Snowball — поддержывает русский/английский и еще немножко языков, лиценция — BSD,
* (еще одна библиотека для полноты картины)
Oleander Stemming Library — русский
не поддержывает, лицензия BSD.