perplexity 衡量指标_对话系统评价指标

本文介绍了对话系统评价的客观指标,包括词重叠和词向量评价方法,如BLEU、ROUGE、METEOR、贪婪匹配、向量均值法和困惑度。重点解析了困惑度作为衡量语言模型好坏的标准,探讨其计算原理和应用。
摘要由CSDN通过智能技术生成

概述

对话系统的指标分为两大类:客观评价指标和主观评价指标web

其中客观评价指标分为词重叠评价指标和词向量评价指标。svg

【词重叠评价指标】atom

根据生成语句与参考答案语句之间的词重叠率来进行评价spa

【词向量评价指标】code

经过了解每个词的意思来判断回复的相关性,词向量是实现这种评价方法的基础。orm

给每一个词分配一个词向量

全部词的词向量矩阵经过拼接成为表示一个句子的句向量,获得生成语句和参考答案语句的句向量

经过余弦距离获得二者类似度进行比较。xml

客观评价指标

词重叠评价指标

BLEU

ROUGE

METEOR

词向量评价指标

Greedy matching(贪婪匹配)

Embedding Average(向量均值法)

Vector Extrema(向量极值法)

困惑度(perplexity)

主观评价指标

流畅度

相关性

多样性

BLEU

【思想】ip

BLEU就是比较模型的生成语句和参考答案语句中的n-gram词组在整个训练语料中共现次数。ci

该方法认为若是共现次数越多,则越准确,效果越好。rem

通常采用BLEU-4

【原理】

Pn(r,r^)=∑kmin(h(k,r),h(k,ri))∑kh(k,ri)BLEU=BP∙exp(∑n=1NwnlogPn)BP={1e1−r/cif c>relseP

n

(

r

,

r

^

)

=

k

min

(

h

(

k

,

r

)

,

h

(

k

,

r

i

)

)

k

h

(

k

,

r

i

)

B

L

E

U

=

B

P

e

x

p

(

n

=

1

N

w

n

log

P

n

)

B

P

=

{

1

if c>r

e

1

r

/

c

else

其中

Pn(r,r^)P

n

(

r

,

r

^

)计算n-gram的短语词组在整个数据集中的准确度

注:此处n-gram的值为1,2,3,….,n

h(k,r)h

(

k

,

r

)表示每一个n-gram词组在参考答案语句中出现的次数(由于对于每一个n而言都会存在不少个n-gram词组,因此要有一个求和符号)。

PnP

n其实就是每一个n-gram词组在参考答案语句和生成语句中出现次数的较小值求和除以其在生成语句中出现次数的求和。

ww表示各个n-gram的权重。

BP是长度太短惩罚因子,由BP的公式可知取值范围是(0,1],候选句子越短,越接近0。咱们不想让生成的答案长度过短,因此加一个惩罚因子来改善效果。

【特色】

仅在词向量基础上比较生成语句和参考答案语句的类似性,很难捕捉长距离的语义。

Greedy Matching

【原理】

将生成语句rr和参考答案语句r^r

^的每一个词转换为词向量ew,ew^e

w

,

e

w

^

将得出的生成语句的词向量ewe

w与参考答案语句的每一个词向量计算余弦类似度,并取最大值。

一样流程反过来对生成语句再进行一次,最后结果取两者均值。

【特色】

仅在词向量基础上比较生成语句和参考答案语句的类似性,很难捕捉长距离的语义。

Embedding Average

【思想】

该方法使用句向量计算生成语句和参考答案语句之间类似度。

【原理】

语句的句向量:经过语句中每一个词的词向量求均值来计算

e¯=∑w∈rew|∑w′∈re′w|e

¯

=

w

r

e

w

|

w

r

e

w

|

e¯e

¯表示句子r中全部词组的词向量均值。

分别计算出生成语句和参考答案语句的句向量,再计算两者余弦类似度进行比较。

困惑度

【语言模型】

给出一句话的前k个词,但愿它能够预测第k+1个词是什么,即给出一个第k+1 个词可能出现的几率的分布p(x_{k+1}|x_1,x_2,…,x_k)

【思想】

困惑度(Perplexity)是衡量语言模型好坏的指标,估算一句话看该句子是否通顺。

它主要是根据每一个词来估计一句话出现的几率,并用句子长度做normalize。

【原理】

S表明句子,N表明句子长度

p(w_i)是第i个词的几率。第一个词是p(w_1|w_0),w_0是START,表明句子的起始,是个占位符

困惑度越小,p(w_i)越大,指望的句子sentence出现的几率就越高。

【另外一种表示】

PP(S)=2−1N∑log(P(wi))P

P

(

S

)

=

2

1

N

log

(

P

(

w

i

)

)

从表达式上看和前面的意义是同样的,只不过w_i再也不是单个词,它表示第i个bigram或其余单位量。

【用法】

当使用tf.contrib.seq2seq.sequence_loss()计算模型loss时,困惑度直接将计算出的loss取指数。

train_prep=math.exp(float(mean_loss)) if mean_loss < 300 else math.inf

【影响因素】

训练数据集大小。数据集越大,困惑度越小。

数据中标点对困惑度影响很大。

数据中的“的,了”等词对困惑度影响很大。可能“我借你的书”比“我借你书”的指标值小几十,但从语义上分析有没有这些停用词并不能彻底表明句子生成的好坏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值