Форум сайта python.su
Есть некоторый абзац, или предложение необходимо выделить ключевые слова в нем. Я бы уже начал писать если бы был точно уверен что думаю в правильную сторону. Пока алгоритм таков:
1. Выбросить все слова типа местоимений, предлогов которые не содержать смысла
2. Преобразовать глаголы в инфинитив
3. Преобразовать множественное число в единичное.
5. Подсчитать и упорядочить по количеству встречаемости в тексте. (возможно еще выловить какие слова синонимичны друг другу)
6. …..
7. PROFIT!!!
Может кто-нибудь уже занимался анализом текста? Поделитесь опытом и мыслями, может даже разработками или укажите что почитать. Заранее спасибо
Офлайн
ты хочешь написать типа утилиты_сфинкс ? Она работает в питоне и находит однокоренные слова.
Отредактировано (Ноя. 28, 2009 13:35:42)
Офлайн
Сначала надо решить что такое ключевые слова. Кстати, а как собираешься выполнять пп. 2 и 3, может быть есть какие-то доступные словари?
Офлайн
ну впринципе похоже, тока насечет пункта про преобразование к единственному числу не уверен. Я еще пытался убирать окончания, можешь создать список окончаний, но тк я опаздывал со здачей я откусывал по одной буковке от всех слов длинее 4х букв, по 1-2 у слов больше 5 букв и по 1-2-3 у слов больших 6 букв (:
Офлайн
Такой процесс преобразования слов называется лемматизацией: т.е. приведение словоформы к некой канонической форме - лемме. Я реализовал когда-то подобный на питоне. Проблем там несколько больше, чем может показаться с первого взгляда :).
Кстати, что есть ключевые слова? Для некоторых задач, скажем, выделение фактов, глаголы очень даже ключевые слова.
Вобщем, рекомендация - действуйте от задачи. Возможно, вам подойдет простой стемминг, без реализации честной морфологии.
Относительно этой темы есть хороший ресурс - aot.ru. Посмотрите там.
Если интересно - гляньте в мой блог: www.linguis.ru. Правда, статью по морфологии пока не закончил.
Офлайн