软件测试编程语言完整版(文本生成哪家强)
软件测试编程语言完整版(文本生成哪家强)NLL-test:基于测试数据的似然度估计。衡量构造出测试数据在待评测语言模型的衡量下的负对数似然。NLL-oracle:基于人造数据的似然度估计。衡量待评测语言模型的输出在构造出的人造数据模型衡量下的负对数似然。BLEU:基于词袋(bag of words)模型的评测指标。以词和词组为基本单位。EmbSim :使用模型输出的序列训练出的词向量的相互相似性特征定义的评测指标。以基本词元(token)为基本单位。基于似然性(likelihood)的指标:
【新智元导读】上海交通大学、伦敦大学学院朱耀明 卢思迪 郑雷 郭家贤 张伟楠 汪军 俞勇等人的研究团队最新推出Texygen平台,这是一个支持开放域文本生成模型研究的基准平台。Texygen不仅实现了大部分的文本生成模型,而且还覆盖了一系列衡量生成文本的多样性、质量和一致性的评测指标。
项目地址: https://github.com/geek-ai/Texygen
论文:https://arxiv.org/abs/1802.01886
上海交通大学、伦敦大学学院朱耀明 卢思迪 郑雷 郭家贤 张伟楠 汪军 俞勇等人的研究团队最新推出Texygen,这是一个支持开放域文本生成模型研究的基准平台。Texygen不仅实现了大部分的文本生成模型,而且还提供了一系列衡量生成文本的多样性、质量和一致性的评测指标。Texygen平台可以帮助规范文本生成的研究,促进研究人员提供自己所呈现工作的官方开源实现。这将有助于提高文本生成的未来研究工作的可复现性和可靠性。
BLEU:基于词袋(bag of words)模型的评测指标。以词和词组为基本单位。
EmbSim :使用模型输出的序列训练出的词向量的相互相似性特征定义的评测指标。以基本词元(token)为基本单位。
基于似然性(likelihood)的指标:
-
NLL-oracle:基于人造数据的似然度估计。衡量待评测语言模型的输出在构造出的人造数据模型衡量下的负对数似然。
-
NLL-test:基于测试数据的似然度估计。衡量构造出测试数据在待评测语言模型的衡量下的负对数似然。
基于多样性评价的指标:
-
Self-BLEU:基于词袋(bag of words)模型的评测指标。衡量一个模型的每一句输出与此模型其他输出的相似性。以词和词组为基本单位。
Texygen平台的架构
图1: Texygen的架构
Texygen是通过TensorFlow实现的[1]。如图1所示,系统由两部分组成,主要包括3个模块,彼此高度分离,易于定制化。
在utils部分,我们提供用户Metrics类和Oracle类。前者有3个用于计算BLEU score、NLL loss和EmbSim的子类,后者则允许用户初始化3种不同类型的Oracle:基于LSTM的,基于GRU的和基于SRU的。默认的oracle是基于LSTM的。
在模型部分,用户只需要与GAN类(作为一个主要类)交互就可以开始训练过程,而不必关心生成器、鉴别器和奖励(对于基于RL的GAN而言)类。Texygen还提供了两种不同类型的GAN训练过程:人造数据训练和真实数据训练。前者使用oracle LSTM生成的数据,后者使用真实世界的数据集(例如,COCO image caption数据集)。
实验
图2:整个训练过程的NLL-oracle loss的比较
图3:整个训练过程的NLL-test loss的比较
图4:整个训练过程的EmbSim比较
表1:训练数据的BLEU score
表2:测试数据的BLEU score
表3: Self-BLEU score
结论和将来的工作
Texygen是一个文本生成的基准平台,帮助研究人员评估自己的模型,并从不同的角度公平,方便地与现有的基准模型进行比较。Texygen已经设计和实现了各种评估标准,以提供一个全面的基准。
我们发现并不是所有的NLP 评测指标都适用于文本生成模型。例如,上下文无关语法(context free grammar,CFG)是文本语法分析中广泛使用的评测指标,并且在一些相关工作中被用作评测指标[8]。但实际上,我们发现这个metric不能区分不同的文本生成模型,甚至倾向于支持更严重的mode collapse,因为这些模型只能学习几个语法。未来,我们将不断加入对新的模型和新的metric实现支持,以更好地对文本生成任务进行基准测试。
项目地址: https://github.com/geek-ai/Texygen
论文:https://arxiv.org/abs/1802.01886