淘宝客免费网站建设,wordpress 批量上传产品,哪个应用市场软件最全,网站顶部导航采用分类任务的指标评估生成任务的问题
举个例子#xff0c;在一个seq2seq模型中#xff0c;黄金标签是“police killed the gunman”#xff0c;模型输出是the gunman police killed#xff0c;两句话的意思是有差别的#xff0c;但是从unigram的角度#…采用分类任务的指标评估生成任务的问题
举个例子在一个seq2seq模型中黄金标签是“police killed the gunman”模型输出是the gunman police killed两句话的意思是有差别的但是从unigram的角度它们都包含了The, police, killed, gunman是完全相同的。
以常用的分类指标precision, recall, f1为例。precision TP/(TPFP), recall TP/(TPFN)。
在上面情境中模型预测出the gunman killed police四个unigram还都预测对了因为它们在黄金标签“police killed the gunman”中也出现了因此TP4, 因为没有预测错误的unigramFP0precision 1。
同理对recall而言TP4因为黄金标签中的4个unigram全都被模型预测出来了没有漏网之鱼因此FN0即没有那些本来为阳性却预测为阴性的unigram。因此recall为1.
因此F1 TP/(TPFN)1从分类的角度看模型的预测是非常成功的。 但是我们一眼就看出模型生成的结果改变了黄金标签的意思。这时候怎么去衡量模型生成结果的质量呢。
rouge-1 首先介绍rouge-1这个1指的就是连续的一个单词。上图中绿色的是机器生成的黄色的是人类给的标注从单个连续单词的角度一共有六个匹配的单词按照图中给出的公式计算即可算出rouge-1。
rouge-2 通过把模型生成的句子和人类给出的标注分拆成bi-gram的形式与计算rouge-1类似寻找匹配的bi-gram个数带入公式即可计算出rouge-2。 rouge-L
对于rouge-L它不比较两句话中有多少个L-gram是相互匹配的而是用两句话的最长公共子序列来计算。图中两句话的最长公共子序列长度为6代入图中的ROUGE-L公式即可计算出precision和recall。
如何调包计算rouge 可以调用load_metric包来计算rouge