почему результаты алгоритма стеммера портера, которые у меня не соответствуют корневому слову, должны быть?

мне нужно использовать алгоритм стеммера портера, чтобы получить основное слово в моем приложении, но когда я тестирую алгоритм, который я получаю от http://www.tartarus.org/~martin/PorterStemmer, результат стемминга не дает мне правильного основного слова, например: happy -> happyi virus -> viru и т. д., вы можете мне помочь решить это?


person user495688    schedule 23.12.2010    source источник
comment
Ваш вопрос довольно бессвязный ...   -  person Falmarri    schedule 23.12.2010


Ответы (1)


Цитата из вашей ссылки:

2. Почему стеммер не воспроизводит правильные слова?

Часто считается грубой ошибкой, что алгоритм выделения корня не оставляет реального слова после удаления основы. Но цель выделения корней состоит в том, чтобы объединить различные формы слова, а не сопоставить слово с его «парадигмальной» формой.

И в связи с этим,

3. Почему возникают ошибки?

Обычно возникает вопрос, почему слово X должно быть связано с x1, если можно было ожидать, что оно будет связано с x2? Важно помнить, что алгоритм стемминга не может достичь совершенства. В целом это улучшит (или может) улучшить работу IR, но в отдельных случаях может иногда делать то, что является или кажется ошибочным. Конечно, это совсем не то, что предлагать дополнительное правило, которое может быть включено в стеммер для повышения его производительности.

person Rekin    schedule 23.12.2010
comment
так что мне нужно дополнительное правило? - person user495688; 23.12.2010
comment
Вы можете, но пока это не поможет. Алгоритм выделения слов Портера предназначен для определения связанных слов. Связанные слова имеют каноническую форму, но она не обязательно должна быть грамматически правильной. Это не должно быть проблемой, если вы никогда не хотите напрямую использовать стеблевую форму. - person Rekin; 23.12.2010