rougeEvaluationScore

Оцените перевод или суммирование с счетом подобия ROUGE

Описание

Ориентированный на отзыв алгоритм оценки дублеров для гистинговой оценки (ROUGE) оценивает сходство между документом-кандидатом и набором ссылки документов. Используйте счет ROUGE для оценки качества моделей перевода и суммирования документов.

пример

score = rougeEvaluationScore(candidate,references) возвращает счет ROUGE между указанным документом-кандидатом и ссылкой документами. Функция по умолчанию вычисляет перекрытия unigram между candidate и references. Это также известно как метрика ROUGE-N с длиной n-грамм 1. Для получения дополнительной информации смотрите Счет ROUGE.

пример

score = rougeEvaluationScore(candidate,references,Name,Value) задает дополнительные опции, используя одну или несколько пары "имя-значение".

Примеры

свернуть все

Задайте документ-кандидат как tokenizedDocument объект.

str = "the fast brown fox jumped over the lazy dog";
candidate = tokenizedDocument(str)
candidate = 
  tokenizedDocument:

   9 tokens: the fast brown fox jumped over the lazy dog

Задайте ссылочные документы как tokenizedDocument массив.

str = [
    "the quick brown animal jumped over the lazy dog"
    "the quick brown fox jumped over the lazy dog"];
references = tokenizedDocument(str)
references = 
  2x1 tokenizedDocument:

    9 tokens: the quick brown animal jumped over the lazy dog
    9 tokens: the quick brown fox jumped over the lazy dog

Вычислите счет ROUGE между документом-кандидатом и документами- ссылку.

score = rougeEvaluationScore(candidate,references)
score = 0.8889

Задайте документ-кандидат как tokenizedDocument объект.

str = "a simple summary document containing some words";
candidate = tokenizedDocument(str)
candidate = 
  tokenizedDocument:

   7 tokens: a simple summary document containing some words

Задайте ссылочные документы как tokenizedDocument массив.

str = [
    "a simple document"
    "another document with some words"];
references = tokenizedDocument(str)
references = 
  2x1 tokenizedDocument:

    3 tokens: a simple document
    5 tokens: another document with some words

Рассчитать счет ROUGE между документом-кандидатом и ссылочными документами можно используя опции по умолчанию.

score = rougeEvaluationScore(candidate,references)
score = 1

The rougeEvaluationScore функция по умолчанию сравнивает перекрывания unigram (с одним маркером) между документом-кандидатом и ссылкой документами. Поскольку счет ROUGE является мерой, основанной на отзыве, если один из ссылочных документов составлен полностью из униграмм, которые появляются в документе-кандидате, полученный счет ROUGE равен единице. В этом сценарии выход rougeEvaluationScore функция неинформативна.

Для более значимого результата вычислите счет ROUGE снова с помощью биграмм путем установки 'NgramLength' опция для 2. Получившийся счет меньше единицы, поскольку каждый ссылочный документ содержит биграммы, которые не появляются в документе кандидата.

score = rougeEvaluationScore(candidate,references,'NgramLength',2)
score = 0.5000

Входные параметры

свернуть все

Документ кандидата, заданный как tokenizedDocument скаляр, строковые массивы или массив ячеек из векторов символов. Если candidate не является tokenizedDocument скаляром, тогда это должно быть вектор-строка, представляющее один документ, где каждый элемент является словом.

Справочные документы, заданные как tokenizedDocument массив, строковые массивы или массив ячеек из векторов символов. Если references не является tokenizedDocument Массив это должно быть вектор-строка, представляющее один документ, где каждый элемент является словом. Для анализа по нескольким ссылочным документам используйте tokenizedDocument массив.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: scores = rougeEvaluationScore(candidate,references,'ROUGEMethod','weighted-subsequences') задает использование метода ROUGE взвешенных подпоследовательностей.

Метод ROUGE, заданный как разделенная разделенными запятой парами, состоящая из 'ROUGEMethod' и одно из следующих:

  • 'n-grams' - Оцените счет ROUGE с помощью n-граммовых перекрытий между документом-кандидатом и ссылкой документами. Это также известно как метрика ROUGE-N.

  • 'longest-common-subsequences' - Оцените счет ROUGE с помощью статистики самой длинной общей подпоследовательности (LCS). Это также известно как метрика ROUGE-L.

  • 'weighted-subsequences' - Оцените счет ROUGE, используя взвешенную самую длинную статистику общей подпоследовательности. Этот метод благоприятствует последовательным LCS. Это также известно как метрика ROUGE-W.

  • 'skip-bigrams' - Оцените счет ROUGE, используя статистику сопутствующих событий скип-биграммы (любая пара слов в порядке предложения). Это также известно как метрика ROUGE-S.

  • 'skip-bigrams-and-unigrams' - Оцените счет ROUGE с помощью статистики сопутствующих явлений скип-биграммы и униграммы. Это также известно как метрика ROUGE-SU.

Длина N-грамма, используемая для 'n-grams' МЕТОД ROUGE (ROUGE-N), заданный как разделенная разделенными запятой парами, состоящая из 'NgramLength' и положительное целое число.

Если на 'ROUGEMethod' опция не 'n-grams', затем 'NgramLength' опция не влияет.

Совет

Если самый длинный документ в references имеет меньше, чем NgramLength слова, тогда получившийся счет ROUGE NaN. Если candidate имеет меньше, чем NgramLength слова, тогда результирующий счет ROUGE равен нулю. Чтобы гарантировать, что rougeEvaluationScore возвращает ненулевые счета для очень коротких документов, задает NgramLength в положительное целое число, меньше длины candidate и длина самого длинного документа в references.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Пропустите расстояние, используемое для 'skip-bigrams' и 'skip-bigrams-and-unigrams' МЕТОДЫ ROUGE (ROUGE-S и ROUGE-SU), заданные как разделенная разделенными запятой парами, состоящая из 'SkipDistance' и положительное целое число.

Если на 'ROUGEMethod' опция не 'skip-bigrams' или 'skip-bigrams-and-unigrams', затем 'SkipDistance' опция не влияет.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

ROUGE счета, возвращается как скалярное значение в область значений [0,1] или NaN.

Счет ROUGE, близкая к нулю, указывает на плохое сходство между candidate и references. Счет ROUGE, близкая к единице, указывает на сильное сходство между candidate и references. Если candidate идентичен одному из ссылочных документов, затем score равен 1. Если candidate и references оба являются пустыми документами, тогда получившийся счет ROUGE равен NaN.

Совет

Если самый длинный документ в references имеет меньше, чем NgramLength слова, тогда получившийся счет ROUGE NaN. Если candidate имеет меньше, чем NgramLength слова, тогда результирующий счет ROUGE равен нулю. Чтобы гарантировать, что rougeEvaluationScore возвращает ненулевые счета для очень коротких документов, задает NgramLength в положительное целое число, меньше длины candidate и длина самого длинного документа в references.

Алгоритмы

свернуть все

ROUGE Счета

Ориентированный на Recall-Oriented дублер для оценки гистинга (ROUGE) алгоритм оценки [1] вычисляет сходство между документом-кандидатом и набором ссылки документов. Используйте счет ROUGE для оценки качества моделей перевода и суммирования документов.

Статистика сопутствующих событий N-грамма (ROUGE-N)

Учитывая n длины n-граммов, метрика ROUGE-N между документом-кандидатом и одним справочным документом задается как

ROUGE-Nsingle(кандидат, ссылка)=ri ссылкаn-граммriГраф(n-грамм, кандидат)ri ссылкаnumNgrams(ri),

где элементы ri являются предложениями в ссылку документе, Count(n-грамм, кандидат) количество раз, когда заданный n-грамм встречается в документе-кандидате, и numNgrams(ri) количество n-граммов в заданном ri ссылочного предложения.

Для наборов нескольких ссылочных документов метрика ROUGE-N задается как

ROUGE-N(candidate, references) = maxk{ROUGE-Nsingle(candidate, referencesk)}.

Чтобы использовать метрику ROUGE-N, установите 'ROUGEMethod' опция для 'n-grams'.

Самая длинная общая подпоследовательность (ROUGE-L)

Учитывая предложение d=[w1,,wm] и s предложения, где элементы si соответствовать словам, подпоследовательность [wi1,,wik] является общей подпоследовательностью d и s, если wij{s1,,sn} для j=1,,k и i1<<ik, где элементами s являются слова предложения, а k - длина подпоследовательности. Подпоследовательность [wi1,,wik] является самой длинной общей подпоследовательностью (LCS), если k длины подпоследовательности является максимальным.

Учитывая документ кандидата и один справочный документ, объединение самых длинных общих подпоследовательностей задается как

LCS(candidate,ссылка)=ri ссылка{w|wLCS(кандидат,ri)},

где LCS(кандидат,ri) - набор самых длинных общих подпоследовательностей в документе-кандидате и предложение, ri из ссылочного документа.

Метрика ROUGE-L является показателем F-балла. Чтобы вычислить его, сначала вычислите счета отзыва и точности, заданные

Rlcs(кандидат, ссылка)=ri ссылка|LCS(candidate,ri)|numWords(ссылка)

Plcs(кандидат, ссылка)=ri ссылка|LCS(candidate,ri)|numWords(кандидат).

Затем метрика ROUGE-L между документом-кандидатом и одним справочным документом задается мерой F-score

ROUGE-Lsingle(кандидат, ссылка)=(1+β2)Rlcs(кандидат, ссылка)Plcs(кандидат, ссылка)Rlcs(кандидат, ссылка)+β2Plcs(кандидат, ссылка),

где параметр β управляет относительной важностью точности и отзыва. Потому что счет ROUGE предпочитает вспоминать, β обычно устанавливается на высокое значение.

Для наборов нескольких ссылочных документов метрика ROUGE-L задается как

ROUGE-L(candidate, references) = maxk{ROUGE-Lsingle(candidate, referencesk)}.

Чтобы использовать метрику ROUGE-L, установите 'ROUGEMethod' опция для 'longest-common-subsequences'.

Взвешенная самая длинная общая подпоследовательность (ROUGE-W)

Учитывая функцию взвешивания f такую что f имеет свойство, f(x+y)>f(x)+f(y) для любых положительных целых чисел x и y, задайте WLCS(кандидат, ссылка) - длина самых длинных последовательных совпадений, встречающихся в документе-кандидате, и один ссылочный документ, оцененный функцией взвешивания f. Для получения дополнительной информации о вычислении этого значения см. [1].

ROUGE-W является метрикой, заданной мерой F-балла, которая требует отзыва и точности счетов, заданных

Rwlcs(кандидат, ссылка)=f1(WLCS(кандидат, ссылка)f(numWords(ссылка))

Pwlcs(кандидат, ссылка)=f1(WLCS(кандидат, ссылка)f(numWords(кандидат))).

Метрика ROUGE-W между документом-кандидатом и одним справочным документом задается мерой F-score

ROUGE-Wsingle(кандидат, ссылка)=(1+β2)Rwlcs(кандидат, ссылка)Pwlcs(кандидат, ссылка)Rwlcs(кандидат, ссылка)+β2Pwlcs(кандидат, ссылка),

где параметр β управляет относительной важностью точности и отзыва. Потому что счет ROUGE предпочитает вспоминать, β обычно устанавливается на высокое значение.

Для нескольких ссылочных документов метрика ROUGE-W задается как

ROUGE-W(candidate, references) = maxk{ROUGE-Wsingle(candidate, referencesk)}.

Чтобы использовать метрику ROUGE-W, установите 'ROUGEMethod' опция для 'weighted-longest-common-subsequences'.

Статистика сопутствующих случаев скипа-биграмма (ROUGE-S)

Скип-биграмма - это упорядоченная пара слов в предложении, допускающая произвольные погрешности между ними. То есть, учитывая предложение ci=[ci1,,cim] из документа-кандидата, где элементы cij соответствовать словам в предложении, паре слов [cij1,cij2] является скип-биграммой, еслиj1<j2.

Метрика ROUGE-S является показателем F-балла. Чтобы вычислить его, сначала вычислите счета отзыва и точности, заданные

Rskip2(кандидат, ссылка)=ri ссылкаskip-bigramriГраф(skip-bigram,кандидат)ri ссылкаnumSkipBigrams(ri)

Pskip2(кандидат, ссылка)=riссылкаskip-bigramriГраф(skip-bigram, кандидат)ci кандидатnumSkipBigrams(ci).

где элементами ri и ci являются предложения в ссылку документе и документе-кандидате, соответственно, Count(skip-bigram, кандидат) количество раз, когда указанная скип-биграмма возникает в документе-кандидате, и numSkipBigrams(s) количество скип-биграмм в s предложений.

Затем метрика ROUGE-S между документом-кандидатом и одним справочным документом задается мерой F-балла

ROUGE-Ssingle(кандидат, ссылка)=(1+β2)Rskip2(кандидат, ссылка)Pskip2(кандидат, ссылка)Rskip2(кандидат, ссылка)+β2Pskip2(кандидат, ссылка),

Для наборов нескольких ссылочных документов метрика ROUGE-S задается как

ROUGE-S(candidate, references) = maxk{ROUGE-Ssingle(candidate, referencesk)}.

Чтобы использовать метрику ROUGE-S, установите 'ROUGEMethod' опция для 'skip-bigrams'.

Статистика совпадов Скип-Биграмма и Униграмма (ROUGE-SU)

Чтобы также включить статистику сопутствующих явлений unigram в метрику ROUGE-S, введите счетчики unigram в счета отзыва и точности для ROUGE-S. Это эквивалентно включению лексем в кандидат и справочные документы, поскольку

skip-bigramri(Count(skip-bigram, кандидат))+униграммаri(Count(униграмма, кандидат)=skip-bigramri+(Count(skip-bigram, кандидат+)),

где Count(unigram,candidate) количество раз, когда указанная unigram появляется в документе кандидата, и ri+ и candidate+ обозначает ссылочное предложение и документ-кандидат, дополненный стартовыми лексемами, соответственно.

Для наборов нескольких ссылочных документов метрика ROUGE-SU задается как

ROUGE-SU(candidate, references) = maxk{ROUGE-Ssingle(кандидат+, ссылкиk+)},

где reference+ - ссылочный документ с предложениями, дополненными стартовыми лексемами.

Чтобы использовать метрику ROUGE-SU, установите 'ROUGEMethod' опция для 'skip-bigrams-and-unigrams'.

Ссылки

[1] Лин, Чин-Ю. «Rouge: пакет для автоматической оценки сводных данных». В Text Summarization Branches Out, стр. 74-81. 2004.

Введенный в R2020a