rougeEvaluationScore

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

Описание

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

пример

score = rougeEvaluationScore(candidate,references) возвращает счет ROUGE между заданным документом кандидата и справочными документами. Функция, по умолчанию, вычисляет перекрытия униграммы между 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

rougeEvaluationScore функция, по умолчанию, сравнивает униграмму (одно-маркерные) перекрытия между документом кандидата и справочными документами. Поскольку счет 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 с помощью, взвесил самую длинную общую статистику подпоследовательности. Этот метод способствует последовательному LCSS. Это также известно как метрику 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.

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

Совет

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

Алгоритмы

свернуть все

Счет ROUGE

Ориентированный на отзыв Дублер для Оценки Джистинга (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-счета

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-счета

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 ссылкабиграмма пропускаriКоличество(биграмма пропуска,кандидат)ri ссылкаnumSkipBigrams(ri)

Pskip2(кандидат, ссылка)=riссылкабиграмма пропускаriКоличество(биграмма пропуска, кандидат)ci кандидатnumSkipBigrams(ci).

где элементами ri и ci являются предложения в справочном документе и документе кандидата, соответственно, Count(биграмма пропуска, кандидат) число раз, заданная биграмма пропуска происходит в документе кандидата, и 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)

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

биграмма пропускаri(Count(биграмма пропуска, кандидат))+униграммаri(Count(униграмма, кандидат)=биграмма пропускаri+(Count(биграмма пропуска, кандидат+)),

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

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

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

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

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

Ссылки

[1] Лин, Тис Подбородка. "Помада: пакет для автоматической оценки сводных данных". В тексте Резюмирование Расширяется, стр 74-81. 2004.

Введенный в R2020a