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

Post on 11-Nov-2014

1.639 views 3 download

Tags:

description

 

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

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

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

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. Методы решения задач автоматического аннотирования

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

Вопросы?