Тема автоматического реферирования/аннотирования текста была поднята давно и было придумано множество способов ее реализации. Так как желание знать главное есть у всех, но это, как правило, связано с просмотром множества материалов.
Готовые библиотеки найти не так легко, а то, что есть, слабо конфигурируется, не доделано и, главное, работает только для английского языка. Я захотел исправить этот недостаток и вот что получилось.
За пару дней я написал несколько вариантов алгоритма суммаризации, взяв из интернета русскоязычные компоненты анализа русского текста, главным образом АОТ.
Главная идея этих подходов к реферированию — выбор главных предложений в тексте, тех, которые наилучшим образом передают смысл всего текста.
Все три алгоритма — это модификации LexRank.
Реферирование в моем случае идет по трем направлениям:
1. предложения. (алгоритм бьет на предложения с некоторыми эвристики, так что не все точки это их конец)
2. ключевые слова — существительные (для их извлечения используется POS таггер на основе морфологии АОТ)
3. действия — Объект-действие-субъект. (тоже с использованием POS таггер на AOT)
Если по вашему мнению какой-то из алгоритмов будет достаточно хорош.
Я планирую сделать:
1. API,
2. реферировать RSS,
3. возможность реферировать по интервалам времени (по дням, неделям).
4. плагины к броузеру для выделения в тексте предложений.
Если есть люди желающие помочь в создании этих вещей, пишите.
update1:
Добавил формат вывода JSON, если добавить параметр json=true
update2:
Статистика собранная в гугл формах на данный момент (210 проголосовавших):
алгоритм 1-3: 77%(первый 50%)
все плохие: 23%
Ключевые слова оказались полезными для 70% опрошенных.
Как по мне совсем неплохо )
Готовые библиотеки найти не так легко, а то, что есть, слабо конфигурируется, не доделано и, главное, работает только для английского языка. Я захотел исправить этот недостаток и вот что получилось.
За пару дней я написал несколько вариантов алгоритма суммаризации, взяв из интернета русскоязычные компоненты анализа русского текста, главным образом АОТ.
Главная идея этих подходов к реферированию — выбор главных предложений в тексте, тех, которые наилучшим образом передают смысл всего текста.
Все три алгоритма — это модификации LexRank.
Реферирование в моем случае идет по трем направлениям:
1. предложения. (алгоритм бьет на предложения с некоторыми эвристики, так что не все точки это их конец)
2. ключевые слова — существительные (для их извлечения используется POS таггер на основе морфологии АОТ)
3. действия — Объект-действие-субъект. (тоже с использованием POS таггер на AOT)
Если по вашему мнению какой-то из алгоритмов будет достаточно хорош.
Я планирую сделать:
1. API,
2. реферировать RSS,
3. возможность реферировать по интервалам времени (по дням, неделям).
4. плагины к броузеру для выделения в тексте предложений.
Если есть люди желающие помочь в создании этих вещей, пишите.
update1:
Добавил формат вывода JSON, если добавить параметр json=true
update2:
Статистика собранная в гугл формах на данный момент (210 проголосовавших):
алгоритм 1-3: 77%(первый 50%)
все плохие: 23%
Ключевые слова оказались полезными для 70% опрошенных.
Как по мне совсем неплохо )