Transcript
Page 1: автоматическое аннотирование новостного потока

Автоматическое аннотирование новостного потока

Алексей Шаграев, Я.Новости

Page 2: автоматическое аннотирование новостного потока

1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования

План

Page 3: автоматическое аннотирование новостного потока

1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования

План

1. Введение

Page 4: автоматическое аннотирование новостного потока

Я.Новости• Я.Новости – служба автоматической агрегации новостей

– Выделяет в новостном потоке темы (сюжеты)– Составляет краткие описания выделенных сюжетов– Производит рубрикацию сюжетов– Ранжирует сюжеты в соответствии с их актуальностью на

настоящий момент

• Задача – представление новостной картины дня

1. Введение

Page 5: автоматическое аннотирование новостного потока

Этапы агрегации новостного потока1. Скачивание новостных сообщений2. Сегментация сообщений

– Выделение заголовка, описания, основного текста, картинок, видео, …

3. Выделение сюжетов – Кластеризация документов на основе анализа их текстов

4. Рубрикация сюжетов (политика, общество, наука, …)5. Аннотирование сюжетов

– Представление в кратком виде основного содержания сюжетов

6. Ранжирование сюжетов– Определение позиций сюжетов на главной странице Яндекса и в

рубриках

1. Введение

Page 6: автоматическое аннотирование новостного потока

Представление результатов агрегации1. Заголовки топ-5 новостей на главной странице Яндекса:

1. Введение

Page 7: автоматическое аннотирование новостного потока

Представление результатов агрегации2. Новостные рубрики:

1. Введение

Page 8: автоматическое аннотирование новостного потока

Представление результатов агрегации3. Страницы сюжетов:

1. Введение

Page 9: автоматическое аннотирование новостного потока

Страница сюжета• Результаты аннотирования сюжета

– Заголовок сюжета– Несколько вырезок из документов, вошедших в сюжет (сниппеты)– Список действующих лиц (персоны, организации)– Карта– Цитата

• Дополнительная информация– Последние сообщения, статьи, интервью на эту тему– Список сюжетов, имеющих сходную тематику– Для сюжетов на спортивные темы – текстовые трансляции,

информация о соревновании и т. д.

1. Введение

Page 10: автоматическое аннотирование новостного потока

Аннотирование• В качестве аннотации будем рассматривать только

заголовок сюжета и три сниппета– Поиск цитатных и адресных сниппетов, действующих лиц – задача

выделения фактов

• Мы не занимаемся автоматической генерацией текстов, мы используем фрагменты текстов, написанных новостными изданиями

1. Введение

Page 11: автоматическое аннотирование новостного потока

1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования

План

2. Задачи автоматического аннотирования

Page 12: автоматическое аннотирование новостного потока

• Аннотирование – создание краткой версии некоторого текста или множества текстов

• Создание аннотации человеком – часто встречающаяся задача

Задачи аннотирования

2. Задачи автоматического аннотирования

Page 13: автоматическое аннотирование новостного потока

• Следует различать задачу аннотирования одного документа и задачу аннотирования множества документов

• Задача аннотирования одного документа– Краткое представление основного содержания этого документа

• Задача аннотирования множества документов– Краткое представление общей темы– Выявление различных точек зрения на эту тему– Возможно, существует влияние временного фактора, т.е. некоторые

документы устаревают и не должны учитываться

• Задача аннотирования новостных сюжетов – задача многодокументного аннотирования с учетом временного фактора

Задачи аннотирования

2. Задачи автоматического аннотирования

Page 14: автоматическое аннотирование новостного потока

• Требования к аннотации:– Свежесть: отражает последнее важное событие, произошедшее в

сюжете– Разнообразие: представляет различные точки зрения на

описываемые события, описывает контекст происходящего– Ядерность: полностью относится к теме сюжета

• Например:

Критерии качества аннотации

2. Задачи автоматического аннотирования

Page 15: автоматическое аннотирование новостного потока

• Заголовок сюжета должен быть ясен без прочтения всей аннотации– На главной странице Яндекса показываются только заголовки– Только заголовками представлены некоторые сюжеты в рубриках:

Критерии качества аннотации

2. Задачи автоматического аннотирования

Page 16: автоматическое аннотирование новостного потока

• Сниппет, показывающийся на странице рубрики, должен раскрывать содержание заголовка

• Другие два сниппета должны вносить разнообразие в аннотацию, при этом не теряя ядерности

Критерии качества аннотации

2. Задачи автоматического аннотирования

Page 17: автоматическое аннотирование новостного потока

1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования

План

3. Оценка и сравнение качества программ-аннотаторов

Page 18: автоматическое аннотирование новостного потока

• Формальные метрики– Формальная метрика – это некоторая числовая функция, значение

которой можно рассчитать для каждой из аннотаций– Усредненное значение метрики на некотором множестве

аннотаций является интегральной метрикой качества алгоритма аннотирования (на этом множестве аннотаций)

• Сравнение с участием человека– Для некоторых сюжетов сравниваются аннотации, построенные

различными алгоритмами– Лучшим из алгоритмов считается тот, аннотации которого

оказались лучшими в большем числе случаев

Способы оценивания качества

3. Оценка и сравнение качества программ-аннотаторов

Page 19: автоматическое аннотирование новостного потока

• Для того, чтобы вычислять важнейшие метрики качества, необходима ручная разметка сюжетов

• В каждом сюжете асессором оцениваются слова, заголовки и сниппеты

• Слова, заголовки и сниппеты, размеченные как «подходящие сюжету», будем называть релевантными, размеченные как «не подходящие сюжету» – нерелевантными

• Желательно, чтобы градаций оценки было больше, чем две

Ручная разметка сюжетов

3. Оценка и сравнение качества программ-аннотаторов

Page 20: автоматическое аннотирование новостного потока

• Пусть размечено сюжетов• Релевантность заголовков

– Пусть – множество заголовков сюжетов, полученных аннотатором– – функция релевантности, принимает значение 1, если асессор

разметил заголовок как релевантный, и 0 в противном случае– – функция оцененности, принимает значение 1, если асессор

разметил заголовок как релевантный или нерелевантный, и 0 в противном случае

Основные метрики качества

3. Оценка и сравнение качества программ-аннотаторов

Page 21: автоматическое аннотирование новостного потока

• Релевантность первого сниппета– Пусть – множество сниппетов, выбранных аннотатором в качестве

первых сниппетов сюжетов– – функция релевантности, принимает значение 1, если асессор

разметил сниппет как релевантный, и 0 в противном случае– – функция оцененности, принимает значение 1, если асессор

разметил сниппет как релевантный или нерелевантный, и 0 в противном случае

Основные метрики качества

3. Оценка и сравнение качества программ-аннотаторов

Page 22: автоматическое аннотирование новостного потока

• Релевантность аннотаций в целом– Пусть функция определяется так, что значение равно количеству

сниппетов, выбранных аннотатором для сюжета номер (будем считать, что аннотатор всегда выбирает хотя бы один сниппет)

– Функция определяется для сюжета с номером как количество сниппетов, размеченных релевантными среди выбранных алгоритмом для этого сюжета

– Функция определяется для сюжета с номером как количество сниппетов, размеченных релевантными или нерелевантными среди выбранных алгоритмом для этого сюжета

Основные метрики качества

3. Оценка и сравнение качества программ-аннотаторов

Page 23: автоматическое аннотирование новостного потока

• Покрытие релевантных слов– Важно, чтобы аннотация содержала важные для сюжета слова– Но при этом наличие в заголовке/сниппете важных слов не делает

его релевантным– Пусть значение функции определяется как количество слов,

размеченных в сюжете с номером как релевантные– Пусть значение функции определяется как количество слов,

размеченных в сюжете с номером как релевантные и вошедших в аннотацию

Второстепенные метрики качества

3. Оценка и сравнение качества программ-аннотаторов

Page 24: автоматическое аннотирование новостного потока

• Время, прошедшее с момента публикации выбранного заголовка/сниппета до текущего момента– Чем меньше это время, тем выше шансы, что заголовок/сниппет

отражают свежую информацию– Сам по себе небольшой возраст заголовка/сниппета не

гарантирует того, что он не устарел– Пусть – время (в секундах), прошедшее с момента написания

заголовка , – среднее время, прошедшее с момента написания сниппетов, выбранных в аннотацию для сюжета с номером

Второстепенные метрики качества

3. Оценка и сравнение качества программ-аннотаторов

Page 25: автоматическое аннотирование новостного потока

• Соответствие первого сниппета выбранному заголовку– Не всегда наличие в сниппете слов из заголовка гарантирует, что

он имеет тот же смысл, что и заголовок– И, напротив, одно и то же можно сказать разными словами

• Разнообразие аннотации– Люди по-разному реагируют на повторяемость разных слов– Слишком большое разнообразие, как правило, приводит к

снижению ядерности

• При равных значениях формальных метрик две аннотации могут совершенно по-разному восприниматься людьми

Что трудно измерить автоматически

3. Оценка и сравнение качества программ-аннотаторов

Page 26: автоматическое аннотирование новостного потока

• Важнейший этап проверки нового алгоритма – просмотр человеком результатов аннотирования

• Сравнение двух алгоритмов:– Просмотр человеком результатов аннотирования двумя разными

алгоритмами некоторого случайно выбранного множества сюжетов

– Человек не должен знать, какой алгоритм какую аннотацию сгенерировал («слепой тест»)

• Проблема: занимает много времени• Использование формальных метрик позволяет делать

ручные сравнения редко

Сравнение аннотаций человеком

3. Оценка и сравнение качества программ-аннотаторов

Page 27: автоматическое аннотирование новостного потока

1. Введение: Я.Новости в целом2. Задачи автоматического аннотирования3. Оценка и сравнение качества программ-аннотаторов4. Методы решения задач автоматического аннотирования

План

4. Методы решения задач автоматического аннотирования

Page 28: автоматическое аннотирование новостного потока

• Общий процесс:1. Определяем для каждого слова, встретившегося в сюжете,

степень его релевантности для этому сюжету2. Выбираем заголовок сюжета3. Выбираем первый сниппет, раскрывающий выбранный

заголовок4. Выбираем второй и третий сниппет из соображений

разнообразия и ядерности

• Для автоматического определения степени релевантности слов, заголовков и сниппетов сюжету, используются методы машинного обучения

• При выборе сниппетов в аннотацию также используются эвристические правила

Методика аннотирования в Я.Новостях

4. Методы решения задач автоматического аннотирования

Page 29: автоматическое аннотирование новостного потока

• Пусть дано некоторое конечное множество объектов– Каждый объект описывается набором свойств– Для каждого объекта известно значение некоторой неизвестной

функции

• Пытаемся построить приближение неизвестной функции, основываясь на известных данных

• Требования:– Возможность спрогнозировать значение неизвестной функции на

новых объектах– Обобщающая способность: на новых объектах приближение не

должно быть хуже, чем на уже известных

• Важнейшие проблемы:– Выбор свойств, которыми будут описываться объекты– Выбор алгоритма построения приближающей функции

Машинное обучение

4. Методы решения задач автоматического аннотирования

Page 30: автоматическое аннотирование новостного потока

• Обучающая выборка: – , – – векторы признаков, – – величина «истинной» релевантности, проставленная

асессором

• Требуется построить вычислимую на компьютере функцию , которая приближала бы значения

• Функция выбирается из некоторого класса функций :– Линейные: – Полиномиальные– Деревья– Нейронные сети– …– Композиции функций

Машинное обучение

4. Методы решения задач автоматического аннотирования

Page 31: автоматическое аннотирование новостного потока

• Пример: интерполяция многочленом (machinelearning.ru)

• Обобщающая способность полинома степени 20 выше, чем полинома степени 40

• При этом отклонение от значений в точках обучающей выборки меньше у полинома степени 40

Машинное обучение

4. Методы решения задач автоматического аннотирования

Page 32: автоматическое аннотирование новостного потока

• Обычно выбирается как решение некоторой задачи оптимизации

• Регрессия:

– …

• Задачи предсказания релевантности слов, заголовков и сниппетов могут рассматриваться как задачи регрессии

Машинное обучение

4. Методы решения задач автоматического аннотирования

Page 33: автоматическое аннотирование новостного потока

• Ранжирование– Объекты в обучающей выборке относятся к разным сюжетам:

– Объекты сортируются внутри сюжетов по убыванию предсказанной релевантности:

– Для каждого сюжета вычисляется некоторая метрика, например

– Интегральная метрика – результат усреднения по всем сюжетам:

Машинное обучение

4. Методы решения задач автоматического аннотирования

Page 34: автоматическое аннотирование новостного потока

• Задача выбора заголовка – задача ранжирования с метрикой

• Функции ранжирования не являются гладкими, т.к. зависят от упорядочивания элементов, например:

• Поэтому при оптимизации обычно рассматривают сглаженные версии этих метрик, например «ожидаемое значение» метрики, определяя вероятность того, что объект будет отранжирован на позицию

Машинное обучение

4. Методы решения задач автоматического аннотирования

Page 35: автоматическое аннотирование новостного потока

• Используемые факторы:– Частота встречаемости слова в заголовках, текстах– Позиции предложений, в которых встретилось слово– Возраст сообщений, в которых встречается слов– …

• Проблема: каждый фактор в отдельности не способен отличить релевантное слово от нерелевантного– Важные для сюжета и при этом новые слова поначалу имеют

низкую частоту («пожар разгорелся» «пожар потушен»)– Распределение релевантных слов по позициям предложений

примерно то же, что и нерелевантных

• Сложно придумать эвристическое правило

Предсказание релевантности слов

4. Методы решения задач автоматического аннотирования

Page 36: автоматическое аннотирование новостного потока

• Пример: релевантные слова – только в начале текстов?• Рассмотрим среднюю позицию предложения, в котором

впервые встретилось слово

Предсказание релевантности слов

4. Методы решения задач автоматического аннотирования

1 2 3 4 5 6 7 8 9 10 11 12 13 14 > 14Основной

Основной

Основной

Релевантные слова Средняя позиция

Доля

Page 37: автоматическое аннотирование новостного потока

• Пример: релевантные слова – только в начале текстов?• Распределение среди нерелевантных слов практически

такое же

Предсказание релевантности слов

4. Методы решения задач автоматического аннотирования

1 2 3 4 5 6 7 8 9 10 11 12 13 14 > 14Основной

Основной

Основной

Релевантные слова Нерелевантные слова

Доля

Средняя позиция

Page 38: автоматическое аннотирование новостного потока

• Используемые факторы:– Предсказанная весомость входящих в заголовок слов– Возраст заголовка– Цитируемость источника– Количество заголовков, «похожих» на данный– …

• Заголовки внутри сюжета дополнительно кластеризуются для выделения тем внутри сюжета

Выбор заголовков

4. Методы решения задач автоматического аннотирования

Пожар в жилом доме на Ямале, шесть человек погиблиПожар в жилом доме на Ямале, шесть человек погибли// Свободная прессаШесть человек погибли в пожаре в многоквартирном доме в Надыме// GlobalSib.comШесть человек погибли при пожаре в жилом доме в Надыме// Вести.RuШесть человек погибли при пожаре на Ямале// ИнтерфаксШесть человек погибли при пожаре на Ямале// NewsProm.RuПожар в Надыме: шесть человек погибших, жители дома эвакуированы// Аргументы.руВ рабочем поселке на Ямале шесть человек погибли во время пожара// МТРК МирШесть человек погибли в Надыме на пожаре в многоквартирном деревянном доме// ИТАР-ТАСС

Page 39: автоматическое аннотирование новостного потока

• Не всегда самая объемная тема оказывается «свежей»

Выбор заголовков

4. Методы решения задач автоматического аннотирования

Пожар в жилом доме на Ямале, шесть человек погиблиПожар в жилом доме на Ямале, шесть человек погибли// Свободная прессаШесть человек погибли в пожаре в многоквартирном доме в Надыме// GlobalSib.comШесть человек погибли при пожаре в жилом доме в Надыме// Вести.RuШесть человек погибли при пожаре на Ямале// ИнтерфаксШесть человек погибли при пожаре на Ямале// NewsProm.RuПожар в Надыме: шесть человек погибших, жители дома эвакуированы// Аргументы.руВ рабочем поселке на Ямале шесть человек погибли во время пожара// МТРК МирШесть человек погибли в Надыме на пожаре в многоквартирном деревянном доме// ИТАР-ТАСС

Пожар в жилом доме на Ямале, унесший жизни шести человек, ликвидированПожар в жилом доме на Ямале, унесший жизни шести человек, ликвидирован// РИА НовостиПожар в жилом доме на Ямале ликвидирован// Росбалт

Page 40: автоматическое аннотирование новостного потока

• Заголовки, содержащие релевантные слова, также не обязательно «свежи»

Выбор заголовков

4. Методы решения задач автоматического аннотирования

1 2 3 4 5 6 7 8 9 10 11Основной

Основной

Основной

Релевантные заголовки Нерелевантные заголовки

Доля

Количество релевантных слов

Page 41: автоматическое аннотирование новостного потока

• 40% релевантных сниппетов – первые предложения текстов

• 40% всех предложений встречаются на позициях дальше девятой

• Первые предложения обычно также хорошо согласованы с заголовком

Выбор сниппетов

4. Методы решения задач автоматического аннотирования

1 2 3 4 5 6 7 8 9 > 9Основной

Основной

Релевантные предложения Все предложения

Позиция

Доля

Page 42: автоматическое аннотирование новостного потока

• Не всегда первые сниппеты текста – лучшие в смысле соответствия заголовку

Выбор сниппетов

4. Методы решения задач автоматического аннотирования

Page 43: автоматическое аннотирование новостного потока

• После выбора заголовка сюжета рассматриваем начальные фрагменты сообщений, заголовки которых отнеслись к тому же кластеру

• Вычисляем весомость слов на основе частот их вхождения в эти фрагменты

• Выбирается первый сниппет на основе вычисленной весомости входящих в него слов

• Выбираются второй и третий сниппеты– Три сниппета должны покрывать как можно больше весомых слов– Три сниппета должны быть разнообразными: используется

модификация энтропийного критерия

Выбор сниппетов

4. Методы решения задач автоматического аннотирования

Page 44: автоматическое аннотирование новостного потока

Спасибо за внимание!

Вопросы?


Recommended