简介:
基于神经网络的自然语言生成(NNLG)领域进行文本生成时经常有两大瓶颈,(1)缺乏大量(meaning representation)MR to (natural language)NL的数据;(2)不能系统的控制输出的重要方面,从而使得生成不同风格的文本;作者这篇文章围绕这两个问题,基于Yelp数据集(代表能够容易获取的描述性的数据集),能生成出具有不同标签同时大量的和原文一样能用于训练的数据集;并且论文系统的研究了这些文本类型标签是怎么联合控制模型输出的语义(semantic)和文本风格(文体)(stylistic);
主要贡献点:
一、生成新YELPNLG数据集:
1.在原始的Yelp数据集近400w评论中,根据Oraby【1】的原始工作中拿到餐厅的词典,这些词典包含5个属性(来自于Wikipedia,DBpedia):restaurant-type, cuisine, food, service, and staff;最后拿到了50W条至少包含一个属性的评论文本,然后再留下词数在4-30的句子;
2.使用Chen and Manning【2】的斯坦福依存解析器解析这些句子;识别出所有名词,然后再属性集中寻找,得到一个二元制eg:(food:chicken-chimichange),然后再根据名词,用依存解析器提取句子中名词和形容词的amod(修饰名词短语的形容词修饰语),nsubj(名词性主语)或复杂关系提取出(attribute,value,adjective)三元组;
3.对每个句子,生成四个MR版本:BASE, +ADJ,+SENT,+STYLE;
生成的新数据集和之前数据集比较:
评估数据集:随机选出200条,ask 5 annotators on Mechanical Turk
1.content preservation
2.fluency
3.sentiment
二、模型设计
Encoder:先对(attribute:value)分别建立单独的词表,attribute是向量,value是可以更新的embedding,cat attributee和value,使用多层双向LSTM;带有属性标签时,根据【3】Senirich方法,把属性标签作为一个约束向量;
Decoder:在解码阶段的每个时间步骤中,解码器根据先前预测的单词和编码器隐藏状态的注意加权平均值计算新的解码器隐藏状态。 这是使用解码器隐藏状态来计算目标侧词汇表上的分布。解码器是一个单向多层LSTM,注意是计算在【4】Luong等人。 (2015年)采用一般计算注意力分数的方法。
参数:3层LSTM 600units,层与层之间Dropout是0.3,参数初始化【5】Glorot initialization,batch64,lr:1,decay rate :0.5,在训练后第5轮进行,绝对值大于5时进行梯度削减,beam search beam为3,embedding维度300维,预训练文本使用Glove word vectors,并且训练时更新
二、多维度评估度量
train:dev:test=8:1:1
1)Automatic Semantic Evaluation (自动语义评估):
1.Machine Translation Metrics
2.Semantic Error Rate
2)Automatic Stylistic Evaluation(自动文体评估)
对模板和文体文风的评估Language Template Variations,Achieving Other Style Goals
3)Human Quality Evaluation :从测试集中随机找200样本,每个样本五个人对Conten、Fluency、Sentiment Err进行评估
其他实验:
1.进行了长度控制实验,<=10,10-20,>=20
上述论文摘要涉及的重要引用:
【1】:Harvesting creative templates for generating stylistically varied restaurant reviews
【2】:A fast and accurate dependency parser using neural networks.
【3】:Controlling politeness in neural machine translation via side constraints.
【4】:Effective approaches to attention based neural machine translation