Перейти к основному содержимому

Оценка качества языковых моделей

Языковая модель (language model) - это модель, которая статистически моделирует свойства естественного языка. Её задача — предсказывать вероятности последовательностей слов, понимать структуру языка и генерировать осмысленные текстовые данные.

В прошлой главе мы рассмотрели языковую модель, которая с помощью рекуррентной сети генерировала текстовые данные за счёт предсказания по цепочке предыдущих слов вероятностного распределения следующего слова. В этой главе мы рассмотрим методы оценки качества работы языковых моделей, генерирующих тексты.

Для этого языковую модель применяют к реальным текстам и смотрят, насколько реальные слова текста оказываются вероятны согласно предсказанному распределению вероятностей слов.

Далее будем обозначать реальный текст как последовательность из TT слов:

w1w2...wT.w_1w_2...w_T.

Средний логарифм правдоподобия

Качество языковой модели можно оценивать как средний логарифм вероятности пронаблюдать слова, встретившиеся в естественном тексте:

S(w1w2...wT)=1TlogP(w1w2...wT)=1TlogP(w1)p(w2w1)...P(wTw1w2...wT1)=1Tt=1TlogP(wtw1w2...wt1)\begin{align*} S(w_1w_2...w_T) &= \frac{1}{T}\log P(w_1w_2...w_T) \\ &=\frac{1}{T}\log P(w_1)p(w_2|w_1)...P(w_T|w_1w_2...w_{T-1}) \\ &=\frac{1}{T}\sum_{t=1}^T \log P(w_t|w_1w_2...w_{t-1}) \\ \end{align*}

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

Перплексия

Исторически для оценки качества более распространена перплексия (perplexity), являющаяся следующей нелинейной трансформацией от среднего логарифма правдоподобия:

PPL=e1Tt=1Tlnp(wtwt1wt2...w1)\text{PPL}=e^{-\frac{1}{T}\sum_{t=1}^{T}\ln p\left(w_{t}|w_{t-1}w_{t-2}...w_{1}\right)}

Её можно представить в эквивалентном виде как величину, обратную к среднему геометрическому модельных вероятностей:

PPL=1(t=1Tp(wtwt1wt2...w1))1/TPPL = \frac{1}{ \left( \prod_{t=1}^T p(w_t|w_{t-1}w_{t-2}...w_1) \right)^{1/T} }

Из последнего представления видно, что перплексию можно интерпретировать, как среднее число вариантов следующего слова, которые рассматривает модель. Чем она меньше, тем лучше согласуется реальный текст с модельными прогнозами.

Перплексия принимает значения от единицы до ++\infty. Поскольку это убывающая функция от правдоподобия выборки, то чем она меньше, тем лучше прогнозы модели согласуются с реальными текстами.

  • В идеале каждому следующему слову назначается единичная вероятность. В этом случае перплексия равна 1.

  • В худшем случае модель назначает нулевую вероятность следующим словам. Тогда перплексия равна бесконечности.

  • Базовым уровнем перплексии является случай, когда модель случайно угадывает слова среди VV слов, назначая каждому вероятность 1/V1/V. В этом случае перплексия равна VV.

ROUGE

Мера ROUGE (Recall-Oriented Understudy for Gisting Evaluation) оценивает качество сгенерированного текста, анализируя, насколько n-граммы этого текста (последовательности из nn подряд идущих слов) встречаются в реальном тексте. Существуют различные варианты этой меры:

  • ROUGE-N сравнивает пересечение n-грамм в сгенерированном и реальном тексте.

    • Например, ROUGE-1 вычислять похожесть множества слов в реальном и сгенерированном тексте. А ROUGE-2 будет считать уже сходство биграмм, т.е. наборов из 2-х подряд идущих слов.
  • ROUGE-L вычисляется по длине наибольшей общей подпоследовательности слов (longest common subsequence) между сгенерированным и реальным текстом.

Общую подпоследовательность нужно не путать с общей подстрокой. Если в общей подстроке слова должны идти в точности одинаково, то в общей подпоследовательности слова могут идти со вставками других слов. Главное - чтобы они шли в одной и той же последовательности, т.е. сохранялась одинаковая очерёдность слов в обоих текстах.

Существуют и другие варианты, как ROUGE-W и ROUGE-S.