Автоматическое аннотирование новостного потока
Алексей Шаграев, Я.Новости
1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования
План
1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования
План
1. Введение
Я.Новости• Я.Новости – служба автоматической агрегации новостей
– Выделяет в новостном потоке темы (сюжеты)– Составляет краткие описания выделенных сюжетов– Производит рубрикацию сюжетов– Ранжирует сюжеты в соответствии с их актуальностью на
настоящий момент
• Задача – представление новостной картины дня
1. Введение
Этапы агрегации новостного потока1. Скачивание новостных сообщений2. Сегментация сообщений
– Выделение заголовка, описания, основного текста, картинок, видео, …
3. Выделение сюжетов – Кластеризация документов на основе анализа их текстов
4. Рубрикация сюжетов (политика, общество, наука, …)5. Аннотирование сюжетов
– Представление в кратком виде основного содержания сюжетов
6. Ранжирование сюжетов– Определение позиций сюжетов на главной странице Яндекса и в
рубриках
1. Введение
Представление результатов агрегации1. Заголовки топ-5 новостей на главной странице Яндекса:
1. Введение
Представление результатов агрегации2. Новостные рубрики:
1. Введение
Представление результатов агрегации3. Страницы сюжетов:
1. Введение
Страница сюжета• Результаты аннотирования сюжета
– Заголовок сюжета– Несколько вырезок из документов, вошедших в сюжет (сниппеты)– Список действующих лиц (персоны, организации)– Карта– Цитата
• Дополнительная информация– Последние сообщения, статьи, интервью на эту тему– Список сюжетов, имеющих сходную тематику– Для сюжетов на спортивные темы – текстовые трансляции,
информация о соревновании и т. д.
1. Введение
Аннотирование• В качестве аннотации будем рассматривать только
заголовок сюжета и три сниппета– Поиск цитатных и адресных сниппетов, действующих лиц – задача
выделения фактов
• Мы не занимаемся автоматической генерацией текстов, мы используем фрагменты текстов, написанных новостными изданиями
1. Введение
1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования
План
2. Задачи автоматического аннотирования
• Аннотирование – создание краткой версии некоторого текста или множества текстов
• Создание аннотации человеком – часто встречающаяся задача
Задачи аннотирования
2. Задачи автоматического аннотирования
• Следует различать задачу аннотирования одного документа и задачу аннотирования множества документов
• Задача аннотирования одного документа– Краткое представление основного содержания этого документа
• Задача аннотирования множества документов– Краткое представление общей темы– Выявление различных точек зрения на эту тему– Возможно, существует влияние временного фактора, т.е. некоторые
документы устаревают и не должны учитываться
• Задача аннотирования новостных сюжетов – задача многодокументного аннотирования с учетом временного фактора
Задачи аннотирования
2. Задачи автоматического аннотирования
• Требования к аннотации:– Свежесть: отражает последнее важное событие, произошедшее в
сюжете– Разнообразие: представляет различные точки зрения на
описываемые события, описывает контекст происходящего– Ядерность: полностью относится к теме сюжета
• Например:
Критерии качества аннотации
2. Задачи автоматического аннотирования
• Заголовок сюжета должен быть ясен без прочтения всей аннотации– На главной странице Яндекса показываются только заголовки– Только заголовками представлены некоторые сюжеты в рубриках:
Критерии качества аннотации
2. Задачи автоматического аннотирования
• Сниппет, показывающийся на странице рубрики, должен раскрывать содержание заголовка
• Другие два сниппета должны вносить разнообразие в аннотацию, при этом не теряя ядерности
Критерии качества аннотации
2. Задачи автоматического аннотирования
1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования
План
3. Оценка и сравнение качества программ-аннотаторов
• Формальные метрики– Формальная метрика – это некоторая числовая функция, значение
которой можно рассчитать для каждой из аннотаций– Усредненное значение метрики на некотором множестве
аннотаций является интегральной метрикой качества алгоритма аннотирования (на этом множестве аннотаций)
• Сравнение с участием человека– Для некоторых сюжетов сравниваются аннотации, построенные
различными алгоритмами– Лучшим из алгоритмов считается тот, аннотации которого
оказались лучшими в большем числе случаев
Способы оценивания качества
3. Оценка и сравнение качества программ-аннотаторов
• Для того, чтобы вычислять важнейшие метрики качества, необходима ручная разметка сюжетов
• В каждом сюжете асессором оцениваются слова, заголовки и сниппеты
• Слова, заголовки и сниппеты, размеченные как «подходящие сюжету», будем называть релевантными, размеченные как «не подходящие сюжету» – нерелевантными
• Желательно, чтобы градаций оценки было больше, чем две
Ручная разметка сюжетов
3. Оценка и сравнение качества программ-аннотаторов
• Пусть размечено сюжетов• Релевантность заголовков
– Пусть – множество заголовков сюжетов, полученных аннотатором– – функция релевантности, принимает значение 1, если асессор
разметил заголовок как релевантный, и 0 в противном случае– – функция оцененности, принимает значение 1, если асессор
разметил заголовок как релевантный или нерелевантный, и 0 в противном случае
Основные метрики качества
3. Оценка и сравнение качества программ-аннотаторов
• Релевантность первого сниппета– Пусть – множество сниппетов, выбранных аннотатором в качестве
первых сниппетов сюжетов– – функция релевантности, принимает значение 1, если асессор
разметил сниппет как релевантный, и 0 в противном случае– – функция оцененности, принимает значение 1, если асессор
разметил сниппет как релевантный или нерелевантный, и 0 в противном случае
Основные метрики качества
3. Оценка и сравнение качества программ-аннотаторов
• Релевантность аннотаций в целом– Пусть функция определяется так, что значение равно количеству
сниппетов, выбранных аннотатором для сюжета номер (будем считать, что аннотатор всегда выбирает хотя бы один сниппет)
– Функция определяется для сюжета с номером как количество сниппетов, размеченных релевантными среди выбранных алгоритмом для этого сюжета
– Функция определяется для сюжета с номером как количество сниппетов, размеченных релевантными или нерелевантными среди выбранных алгоритмом для этого сюжета
Основные метрики качества
3. Оценка и сравнение качества программ-аннотаторов
• Покрытие релевантных слов– Важно, чтобы аннотация содержала важные для сюжета слова– Но при этом наличие в заголовке/сниппете важных слов не делает
его релевантным– Пусть значение функции определяется как количество слов,
размеченных в сюжете с номером как релевантные– Пусть значение функции определяется как количество слов,
размеченных в сюжете с номером как релевантные и вошедших в аннотацию
Второстепенные метрики качества
3. Оценка и сравнение качества программ-аннотаторов
• Время, прошедшее с момента публикации выбранного заголовка/сниппета до текущего момента– Чем меньше это время, тем выше шансы, что заголовок/сниппет
отражают свежую информацию– Сам по себе небольшой возраст заголовка/сниппета не
гарантирует того, что он не устарел– Пусть – время (в секундах), прошедшее с момента написания
заголовка , – среднее время, прошедшее с момента написания сниппетов, выбранных в аннотацию для сюжета с номером
Второстепенные метрики качества
3. Оценка и сравнение качества программ-аннотаторов
• Соответствие первого сниппета выбранному заголовку– Не всегда наличие в сниппете слов из заголовка гарантирует, что
он имеет тот же смысл, что и заголовок– И, напротив, одно и то же можно сказать разными словами
• Разнообразие аннотации– Люди по-разному реагируют на повторяемость разных слов– Слишком большое разнообразие, как правило, приводит к
снижению ядерности
• При равных значениях формальных метрик две аннотации могут совершенно по-разному восприниматься людьми
Что трудно измерить автоматически
3. Оценка и сравнение качества программ-аннотаторов
• Важнейший этап проверки нового алгоритма – просмотр человеком результатов аннотирования
• Сравнение двух алгоритмов:– Просмотр человеком результатов аннотирования двумя разными
алгоритмами некоторого случайно выбранного множества сюжетов
– Человек не должен знать, какой алгоритм какую аннотацию сгенерировал («слепой тест»)
• Проблема: занимает много времени• Использование формальных метрик позволяет делать
ручные сравнения редко
Сравнение аннотаций человеком
3. Оценка и сравнение качества программ-аннотаторов
1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования
План
4. Методы решения задач автоматического аннотирования
• Общий процесс:1. Определяем для каждого слова, встретившегося в сюжете,
степень его релевантности для этому сюжету2. Выбираем заголовок сюжета3. Выбираем первый сниппет, раскрывающий выбранный
заголовок4. Выбираем второй и третий сниппет из соображений
разнообразия и ядерности
• Для автоматического определения степени релевантности слов, заголовков и сниппетов сюжету, используются методы машинного обучения
• При выборе сниппетов в аннотацию также используются эвристические правила
Методика аннотирования в Я.Новостях
4. Методы решения задач автоматического аннотирования
• Пусть дано некоторое конечное множество объектов– Каждый объект описывается набором свойств– Для каждого объекта известно значение некоторой неизвестной
функции
• Пытаемся построить приближение неизвестной функции, основываясь на известных данных
• Требования:– Возможность спрогнозировать значение неизвестной функции на
новых объектах– Обобщающая способность: на новых объектах приближение не
должно быть хуже, чем на уже известных
• Важнейшие проблемы:– Выбор свойств, которыми будут описываться объекты– Выбор алгоритма построения приближающей функции
Машинное обучение
4. Методы решения задач автоматического аннотирования
• Обучающая выборка: – , – – векторы признаков, – – величина «истинной» релевантности, проставленная
асессором
• Требуется построить вычислимую на компьютере функцию , которая приближала бы значения
• Функция выбирается из некоторого класса функций :– Линейные: – Полиномиальные– Деревья– Нейронные сети– …– Композиции функций
Машинное обучение
4. Методы решения задач автоматического аннотирования
• Пример: интерполяция многочленом (machinelearning.ru)
• Обобщающая способность полинома степени 20 выше, чем полинома степени 40
• При этом отклонение от значений в точках обучающей выборки меньше у полинома степени 40
Машинное обучение
4. Методы решения задач автоматического аннотирования
• Обычно выбирается как решение некоторой задачи оптимизации
• Регрессия:
– …
• Задачи предсказания релевантности слов, заголовков и сниппетов могут рассматриваться как задачи регрессии
Машинное обучение
4. Методы решения задач автоматического аннотирования
• Ранжирование– Объекты в обучающей выборке относятся к разным сюжетам:
– Объекты сортируются внутри сюжетов по убыванию предсказанной релевантности:
– Для каждого сюжета вычисляется некоторая метрика, например
– Интегральная метрика – результат усреднения по всем сюжетам:
Машинное обучение
4. Методы решения задач автоматического аннотирования
• Задача выбора заголовка – задача ранжирования с метрикой
• Функции ранжирования не являются гладкими, т.к. зависят от упорядочивания элементов, например:
• Поэтому при оптимизации обычно рассматривают сглаженные версии этих метрик, например «ожидаемое значение» метрики, определяя вероятность того, что объект будет отранжирован на позицию
Машинное обучение
4. Методы решения задач автоматического аннотирования
• Используемые факторы:– Частота встречаемости слова в заголовках, текстах– Позиции предложений, в которых встретилось слово– Возраст сообщений, в которых встречается слов– …
• Проблема: каждый фактор в отдельности не способен отличить релевантное слово от нерелевантного– Важные для сюжета и при этом новые слова поначалу имеют
низкую частоту («пожар разгорелся» «пожар потушен»)– Распределение релевантных слов по позициям предложений
примерно то же, что и нерелевантных
• Сложно придумать эвристическое правило
Предсказание релевантности слов
4. Методы решения задач автоматического аннотирования
• Пример: релевантные слова – только в начале текстов?• Рассмотрим среднюю позицию предложения, в котором
впервые встретилось слово
Предсказание релевантности слов
4. Методы решения задач автоматического аннотирования
1 2 3 4 5 6 7 8 9 10 11 12 13 14 > 14Основной
Основной
Основной
Релевантные слова Средняя позиция
Доля
• Пример: релевантные слова – только в начале текстов?• Распределение среди нерелевантных слов практически
такое же
Предсказание релевантности слов
4. Методы решения задач автоматического аннотирования
1 2 3 4 5 6 7 8 9 10 11 12 13 14 > 14Основной
Основной
Основной
Релевантные слова Нерелевантные слова
Доля
Средняя позиция
• Используемые факторы:– Предсказанная весомость входящих в заголовок слов– Возраст заголовка– Цитируемость источника– Количество заголовков, «похожих» на данный– …
• Заголовки внутри сюжета дополнительно кластеризуются для выделения тем внутри сюжета
Выбор заголовков
4. Методы решения задач автоматического аннотирования
Пожар в жилом доме на Ямале, шесть человек погиблиПожар в жилом доме на Ямале, шесть человек погибли// Свободная прессаШесть человек погибли в пожаре в многоквартирном доме в Надыме// GlobalSib.comШесть человек погибли при пожаре в жилом доме в Надыме// Вести.RuШесть человек погибли при пожаре на Ямале// ИнтерфаксШесть человек погибли при пожаре на Ямале// NewsProm.RuПожар в Надыме: шесть человек погибших, жители дома эвакуированы// Аргументы.руВ рабочем поселке на Ямале шесть человек погибли во время пожара// МТРК МирШесть человек погибли в Надыме на пожаре в многоквартирном деревянном доме// ИТАР-ТАСС
• Не всегда самая объемная тема оказывается «свежей»
Выбор заголовков
4. Методы решения задач автоматического аннотирования
Пожар в жилом доме на Ямале, шесть человек погиблиПожар в жилом доме на Ямале, шесть человек погибли// Свободная прессаШесть человек погибли в пожаре в многоквартирном доме в Надыме// GlobalSib.comШесть человек погибли при пожаре в жилом доме в Надыме// Вести.RuШесть человек погибли при пожаре на Ямале// ИнтерфаксШесть человек погибли при пожаре на Ямале// NewsProm.RuПожар в Надыме: шесть человек погибших, жители дома эвакуированы// Аргументы.руВ рабочем поселке на Ямале шесть человек погибли во время пожара// МТРК МирШесть человек погибли в Надыме на пожаре в многоквартирном деревянном доме// ИТАР-ТАСС
Пожар в жилом доме на Ямале, унесший жизни шести человек, ликвидированПожар в жилом доме на Ямале, унесший жизни шести человек, ликвидирован// РИА НовостиПожар в жилом доме на Ямале ликвидирован// Росбалт
• Заголовки, содержащие релевантные слова, также не обязательно «свежи»
Выбор заголовков
4. Методы решения задач автоматического аннотирования
1 2 3 4 5 6 7 8 9 10 11Основной
Основной
Основной
Релевантные заголовки Нерелевантные заголовки
Доля
Количество релевантных слов
• 40% релевантных сниппетов – первые предложения текстов
• 40% всех предложений встречаются на позициях дальше девятой
• Первые предложения обычно также хорошо согласованы с заголовком
Выбор сниппетов
4. Методы решения задач автоматического аннотирования
1 2 3 4 5 6 7 8 9 > 9Основной
Основной
Релевантные предложения Все предложения
Позиция
Доля
• Не всегда первые сниппеты текста – лучшие в смысле соответствия заголовку
Выбор сниппетов
4. Методы решения задач автоматического аннотирования
• После выбора заголовка сюжета рассматриваем начальные фрагменты сообщений, заголовки которых отнеслись к тому же кластеру
• Вычисляем весомость слов на основе частот их вхождения в эти фрагменты
• Выбирается первый сниппет на основе вычисленной весомости входящих в него слов
• Выбираются второй и третий сниппеты– Три сниппета должны покрывать как можно больше весомых слов– Три сниппета должны быть разнообразными: используется
модификация энтропийного критерия
Выбор сниппетов
4. Методы решения задач автоматического аннотирования
Спасибо за внимание!
Вопросы?