Pull to refresh

Comments 17

Спасибо, хороший и подробный анализ.

Хотелось бы уточнить:
Косинусный коэффициент, классический для IR

Что такое IR? В тексте статьи не нашёл.
IR — Information Retrieval.
Косинусный коэффициент позаимствован из информационного поиска, где он используется в рамках векторной модели для измерения степени сходства между двумя векторами документов / документов и запроса.
Стоит отметить что смысл реферированного текста может значительно измениться, если в предложениях используются местоимения. Два предложения, не идущих друг за другом в оригинальном тексте могут в реферате стоять рядом и, в случае если второе содержит местоимение (например, указательное "такой") создать таким образом иллюзию, что речь идет об объекте из первого.

От такого эффекта можно попытаться избавиться малой кровью, искусственно занизив рейтинг разорванных предложений с местоимениями или добавив рейтинга смежным (предстоящим?) предложениям с местоимениями.

Возможно, более надёжным способом избавиться от такого поведения было бы построение семантического графа предложений/текста и корректировки весов предложений с ним (с вероятной также заменой местоимений соответствущими объектами).
Да, замечание дельное, проблема разрешения кореферентности актуальна для любой области nlp. Нужно подумать над тем, как отождествлять личные местоимения и соответствующие им антецеденты, учитывая при этом, что местоимения, как не имеющие веса стоп-слова удаляются в самом начале предобработки.

Нашел пока что только одну доступную библиотеку по этому вопросу — GUITAR
Добавлю к своему же ответу ещё и питоновский модуль cort.
А не могли бы вы в паре предложений описать, в чём смысл этого «авторитетного» критерия под названием «Симметричное реферирование», и как вы определили, приносит ли этот критерий пользу или нет.
Смысл методики (и я не говорил, что она «авторитетная») довольно прост — берем предложение из текста, например второе, смотрим на стоящее слева от него первое предложение и проверяем, есть ли в нем такие же ключевые слова, как и в №2. Совпало, например, одно слово «питон», значит предложение №2 имеет одну свзяь с предложением №1, а так как методика симметричная, то и предложение №1 имеет также одну связь, поскольку в нем повторяется тот же «питон». Дальше проводим ту же проверку справа с предложением №3 и т.д. Чем больше у предложения связей, тем выше его вес.

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

Возникает логичный вопрос, почему я использовал эту методику? Ответ — из чистого любопытсва. Если программных реализаций известных алгоритмов типа LSA или вариаций TextRank в Интернете большое количество, то по данному методу нет ничего, кроме некоторых теоретических публикаций.
Спасибо. Мне интересен «смысл» исключительно в плане «пользы». У методики должно быть какое-то объяснение, почему она должна улучшать результаты. А тут объяснения нет. Работает или нет непонятно. Помогает или вредит непонятно. Может, в оригинальной работе Яцко есть какое-либо объяснение?
Често говоря, не нашел в работе четкого объяснения, чем этот алгоритм отличается от существующих.

А вообще, чтобы понять, работает или нет, вредит или нет, нужно провести объективную капитальную оценку качества, в идеале с использованием рефератов, составленных людьми. Собрать такое количество рефератов, в особенности для русского и немецкого — дело трудное.
Еще любопытно было бы сравнить те же самые показатели на другом объеме рефератов (больше или меньше 20%), если конечно другие инструменты поддерживают соответствующие проценты выборки при реферировании. Как меняется картина? Есть ли кардинальные изменения? Быть может какой-то инструмент эффективнее на малых выборках, тогда как другой — на средних и даже больших?
Другие инструменты поддерживают и сравнить можно. Можно также поставить ограничение на количество предложений на выходе вне зависимости от объема статьи, например 4 или 5, как это делают TextTeaser или autosummarizer.com. Но вот нужно ли оценивать качество на объемах больше 20%, это вопрос… Есть высказывание Inderjeet Mani, признанного специалиста в области nlp и автоматического реферирования, которое гласит «Саммари объемом 17% от изначального размера текста ускоряет вдвое процесс принятия решений».
Но ведь саммари в 17% — это гораздо больше, чем автореферат в 20%, при условии что саммари писал человек, который не просто сокращает обьем текста, но и перефразирует. Поэтому может оказаться что автореферат имеет свой порог «полезности»
мне кажется, автор цитаты имел в виду как раз машинное саммари.
А есть какие-нибудь общепринятые baseline-алгоритмы, датасеты или бенчмарки, на которых можно потестировать САР? Для английского, думаю, должны быть.
Не хочу сказать ничего плохого, но значения метрик, полученные на 5 новостных статьях, не могут быть объективной оценкой качества реферирования — было бы интересно погонять её на больших данных.
Согласен, представленные значения — это скорее субъективная попытка удостовериться, что алгоритм работает, и не всё так плохо, как могло бы быть.

Общепринятые датасеты, отсылку на которые можно встретить в любой статье по автоматическому реферированию, — это материалы DUC. Их, к сожалению, нельзя скачать просто так, нужно заполнить несколько форм и отправить их организаторам, после чего будет выдан доступ.

Основные метрики для измерения качества — Recall, Precision, F1-measure, Cosine Similarity (всё это позаимствовано из IR) и сходство n-грам. Реализованы они в наборе ROUGE (тут же есть небольшой набор текстов из DUC) и в Sumy.

Кстати говоря, вот этот учебный проект содержит пакет rouge (который обычно нужно так же запрашивать) и около 50 текстов с человеческими саммари. Правда они больше подходят для оценки качества multi-document summarization.
Вызывают удивление весьма приличные значения рандома по метрике Дженсона-Шеннона для немецкого и русского. Если рандом сопоставим с алгоритмами, то либо алгоритмы слабы, либо метрика не годится. Конечно, есть ещё вариант удачного рандома. Насколько понимаю, Вы рандом один раз прогоняли. Можно было бы хотя бы усредненное значение нескольких итераций взять.
Да, рандом меня тоже удивил. Прогонял его действительно один раз и не подумал о нескольких итерациях. Спасибо за замечание, видимо, нужно будет добавить ещё колонку с усреднённым рандомом.
Sign up to leave a comment.

Articles