Как учитывать словоформы?

D
На сайте с 11.12.2003
Offline
1
Des
2116

Нужно определить релевантность документа запросу. По принципу "соответствует/не соответствует". У каждого документа имеется список ключевых слов и определение соответствия документа запросу должно основываться только на анализе этого списка (он уже заранее задан). Запрос представляет из себя одно или несколько слов. Документ считается релевантным запросу, если не менее половины слов или их словоформ запроса присутствуют в списке ключевых. Основная сложность - как определить, является ли слово словоформой другого? Алгоритм не обязательно должен быть точным (т.е. допускаются ложные распознавания/нераспознования), но должен быть простым и не использовать словарь или его заменители, т.к. должен уметь обрабатывать и всякую кракозябрицу и понимать что

бокренок - словоформа бокра.

But never relax at all With our backs to the wall.
greenwood
На сайте с 08.09.2003
Offline
519
#1
должен уметь обрабатывать и всякую кракозябрицу и понимать что
бокренок - словоформа бокра.

Боюсь,что на сегодня вряд-ли Вы найдете программу с такой функцией.

Мне пока такую проблему не удалось решить,а хотелось-бы

должно основываться только на анализе этого списка (он уже заранее задан).

Это реализовано в программе PagePromoter

Документ считается релевантным запросу, если не менее половины слов или их словоформ запроса присутствуют в списке ключевых.

Вот это не совсем понятно... половина чего и от чего ?

AA
На сайте с 16.04.2001
Offline
70
#2
Алгоритм не обязательно должен быть точным...должен быть простым и не использовать словарь или его заменители, т.к. должен уметь обрабатывать и всякую кракозябрицу и понимать что бокренок - словоформа бокра.

Иначе говоря, нужно определять словоизменение и словообразование, при этом не используя словаря. Вероятно, словари суффиксов-приставок-окончаний также использовать нельзя. Тогда задача в данной постановке сводится к пустяку: написать алгоритм преобразования слов естественного языка. Тогда ключевым словом становится - "не обязательно точный". В этом случае годится практически любой алгоритм сравнения по буквам, например, сравнивающий последовательность N букв в слове (n-граммы). В случае n=4 этот алгоритм прекрасно сведет бокра и бокренка. Формально все в порядке, конечно, если не обращать внимания на вероятность ошибок :)

С уважением, Антонов Александр.
VT
На сайте с 27.01.2001
Offline
130
#3
Алгоритм не обязательно должен быть точным (т.е. допускаются ложные распознавания/нераспознования), но должен быть простым и не использовать словарь или его заменители, т.к. должен уметь обрабатывать и всякую кракозябрицу и понимать что
бокренок - словоформа бокра.

Без словаря можно использовать только стемминг - то есть описать все классы разрешенных суффиксов/окончаний. Почему он не подходит, если допускаются ложные распознавания?

AA
На сайте с 16.04.2001
Offline
70
#4
Почему он не подходит, если допускаются ложные распознавания?

Насколько я понял, из-за "кракозябрицы". Хотя распознать во многих случаях неправильной кодировку - задача решенная, и довольно давно, если правильно помню, то самим Марковым (вероятности дву- и триграмм). Однако, может, у Des, были дополнительные соображения.

K
На сайте с 22.04.2003
Offline
31
Ken
#5

(Не в целях рекламы) Мммм а как на счет вероятностного стэммера А. Коваленко?

VC
На сайте с 25.02.2004
Offline
5
#6

Насколько я понимаю, речь идет о бессловарном морфологическом анализе.

Наш модуль морфологии вроде бы такие проблемы решал.

http://www.rco.ru

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий