... приволокли новый массив данных для анализа.
Итак,
за период с 1 июня 2010 года по 1 июня 2011
500 топовых блогеров (по количеству френдов на 05.06.2011) написало 276 488 открытых постов, получило на них 10 066 972 комментариев от 316 277 неанонимных читателей.
Т.е. данные
вот этой публикации можно признавать морально устаревшими и ждать новых
(
Read more... )
Встала передо мной задачка: сделать автоматическую генерацию тегов к новостям. Т.е. на вход - заголовок и текст, на выходе - набор слов и словосочетаний (что важно, потому что сложнее) с основными сущностями, упоминаемыми в новости.
Словосочетанием для простоты будем считать пары "существительное-существительное" (курс доллара) и "прилагательное-существительное" (кишечная инфекция).
Не встречалось ли вам описание алгоритма для такого анализа?
Я вчера поразмыслил, набросал свою версию, но наверняка должен быть готовый вариант: задача-то не выглядит специфической.
Reply
Тут мне кажется два подхода. Либо семантический, с учетом структуры языка - это надо иметь серьезные познания в лингвистике. Либо статистический - тут можно подумать если есть большая база текстов для обучения (например, построить матрицу межсловных расстояний для выделения устоявшихся словосочетаний, посчитать частоты и пр.).
PS. На хабре видел какой-то пост из песочницы, который описывает алгоритм классификации текстов на основе символьных (не словарных!) цепочек. Это не в тему, но так...
Reply
1) выделить блоки текста, разделенные знаками препинания
2) привести все слова к начальной форме, определить часть речи (для этого есть готовые инструменты, например яндексовский mystem)
3) найти в каждом блоке по шаблонам слова и словосочетания - теги
4) посчитать для тегов TF (можно еще и IDF)
5) взять N тегов с наибольшим весом.
Reply
Я бы еще отдельно увеличивал веса именам собственным - фамилии, названия, аббревиатуры. Скорее всего частота у них будет небольшая, а контекст они определяют сильно.
И IDF тоже надо, да.
Reply
Фамилии и вообще важные слова часто входят и в заголовок и в текст новости. Так что, думаю, у них автоматом будет увеличиваться вес. Плюс с частью имен собственных у меня задача облегчается: будет словарь, по которому их можно искать.
А насчет аббревиатур - мысль хорошая, надо будет их тоже выделять.
Reply
Reply
Reply
Это даже без TF/IDF (для моей задачи они не понадобились, тегов не слишком много).
Потом добавил еще эвристики для выделения аббревиатур, имен собственных по конкретным регуляркам, имен собственных по общему шаблону (буква - точка - слово с заглавной буквы), английских названий - получилось еще красивее.
Сложнее всего, как ни странно, было не выделить словосочетание, а привести его к приятному для чтения виду, согласовав прилагательное и существительное (т.е. из "незарегистрированном счете" сделать "незарегистрированный счет"). До сих пор не для всех словосочетаний срабатывает.
Reply
Leave a comment