自然语言理解是人工智能的核心技术,在智能客服、聊天助手、文本推荐、语义理解等领域都有非常多的应用。但自然语言理解相比图像识别、语音识别,一直没有找到很好的深度学习构型,所以进展也比较缓慢。今天推荐的 Google 论文,在 NLP 的关键任务(接续语句预测)上,能做到 20% 的提升。除此之外,在接续词语预测、语句话题预测方面也有不错的成绩。
自然语言理解(NLP)是人工智能领域使用程度最高的技术之一。受益于最近 自然语言理解技术的发展,现在已经可以应用在很多领域,例如航班预定、客服服务、任务管理、聊天助手等。
“自然语言处理已经成为了数据经济掌控之战的制高点,其具有的重要性远远高于目前的市场规模,”Tractica的分析师Bruce Daley说道,“虽然NLP有许多应用,全球最成功也最野心勃勃的企业中有一部分已经开始试图使用NLP来创造完全个性化、生产上却又无需定制的应用。”
但相比图像识别、语音识别等技术得以于深度学习的推动,NLP 一直没有找到深度学习的构型。这方面的进展,并没有我们期待的那么理想。
所以在 NLP 领域的任何显著进步,都值得我们特别关注。今天新智元推荐一篇来自 Google 的论文,在 NLP 的关键任务(接续语句预测)上,能做到 20% 的提升。这是问答系统得以发展的重要基础。
论文
标题:Contextual LSTM (CLSTM) models for Large scale NLP tasks
摘要:
文档在多种抽象层面上都展现出了一种序列结构(例如,语句、段落、章节)。这些抽象的层面组成了一种天然的、表征内容的层级结构,可以用来对文本中的词语或是更大的片段进行意义推理。在这篇论文中,我们展示了CLSTM(语境LSTM)模型,这是一种递归神经网络LSTM(长短期记忆模型)的扩展版本,我们在模型中整合入了语境特征(例如话题)。我们用了3个自然语言处理(NLP)任务来评估CLSTM模型:
1.接续词语预测
2.接续语句预测
3.语句话题预测
实验材料有两批,一批是来自维基百科的英文文档,另一批是近期的谷歌英文新闻快照(snapshot)数据集中的一个子集;实验结果显示,将词语和话题都作为特征,能够在这些任务上提高CLSTM模型的表现,使其超过基线LSTM模型的表现水平。例如,在接续语句预测任务中,我们实现了在维基百科数据集上准确率提升21%,在谷歌新闻数据集上准确率提升18%。这清楚地表明,语境信息的正确使用对于自然语言任务来说十分有益。这对于大量的自然语言应用(比如问题回答、语句补完、文本复述(paraphrase generation)、以及对话系统中的接续语句预测)都有启示意义。
论文的主要贡献
1)我们提出了一个新的语境 LSTM 模型(CLSTM),并展示出它在词语预测、接续语句预测和语句话题预测的任务中是有用的,我们的实验展示了把语境纳入到 LSTM 模型中(通过CLSTM),相比于基准的 LSTM 模型能带来效果提升。这和你可能给 NLP 任务带来广泛的应用,因为这些任务和句子完成、问答系统、复述和对话系统都有很多相关。
2)我们使用两个大规模文档集训练了 CLSTM(和相应的基准 LSTM)模型:维基百科的英文材料和最近关于 Google 新闻的快照。我们在模型中处理的词汇量也非常大:为维基百科准备了 13 万的词汇,为 Google 新闻准备了 10 万的词汇。我们的实验和分析展示了 CLSTM 模型,把话题的力量和单词级别的特征进行了融合,并相比只使用单词级别特征的基准 LSTM 模型有好得多的表现。例如,在接续语句预测中,CLSTM 相比 LSTM 模型在英文维基百科上获得了 21% 的提升,在 Google 新闻数据集上获得了 18% 的提升。
3)我们展示了最初可喜的结果,这个模型我们学会把想法嵌入到非监督学习的模型框架中,而不是使用外在的信息来做监督学习。
1. 介绍
文档在不同层级的抽象水平上都维持着序列结构:一个典型的文档由有顺序的章节构成,而章节又是由有顺序的段落构成;段落在本质上是语句的序列,语句则是短语的序列,而短语是词语的序列,等等。在语言模型(LM)中捕捉到这种层级序列结构可能会给予模型更高的预测准确度,就像我们在之前的研究中见到的那样。
文本中有一种能被用于改进LM表现的因素——长程语境(long-range context)。比如,让我们来考虑一下这三段文本:
1)Ahmed Salman Rushdie爵士是一位印度裔的英国小说家和散文家。他被认为将魔幻现实主义(magical realism)融入了历史小说中。
2)Calvin Harris和HAIM合力打造了一个魔幻MV(a magical music video)。
3)草药有着巨大的魔幻力量(magical power),因为它们蕴藏着大地的能量。
想象一下,有一个LM基于一个含有以上三段文本的数据集进行了训练——在给出“魔幻”这个词后,LM选择的下一个接续的词语最有可能是什么:现实主义、MV、还是力量?在这个例子里,这将取决于这个文本片段所处、出现了“魔幻”这个词的长程语境。简便地捕捉语境的一种方法是,使用文本片段的话题(例如,语句的话题或是段落的话题)。如果语境中有“文学”这个话题,那么最有可能出现的接续词语就应该是“现实主义”。这个发现促使我们去探索如何在LM中使用文本片段的话题来捕捉文本的层级语境以及长程语境。
在这篇论文中,我们的长短期记忆模型(LSTM)指的是一种特殊的递归神经网络(RNN)。LSTM模型以及它的各种变体在不同的序列学习问题上取得了让人印象深刻的成就,包括语音、图像、音乐、以及文本分析,LSTM在对序列的长距离依赖性(long-range dependencies)进行捕捉方面非常有用。LSTM切实地提高了我们掌控长距离依赖性的能力,虽然这些模型在这个方面仍然有一些局限性存在。
基于RNN的语言模型(RNN-LM)是由Mikolov等人提出的,而Sundermeyer等人基于此提出了使用LSTM的变体。在这篇论文中,我们致力于研究基于LSTM的语言模型。用于语言建模的LSTM通常都只将词语作为特征。Mikolov等人提出了一种条件式RNN-LM,将语境也加入特征中——我们进一步拓展了这个方法,将其范围从RNN-LM延伸到了LSTM,用大规模数据来训练LSTM模型,并且在接续词语预测的任务之外又提出了新的任务。
我们将语境特征(也就是说,基于不同文本片段得出的话题)整合入了LSTM模型,将得到的最终模型命名为语境LSTM(CLSTM)。在这次研究中,我们评估了在CLSTM中增添语境特征对于以下任务有怎样的改进幅度:
1)词语预测:在已有的句子中给定词语和话题,预测最有可能的下一个词语。这个任务的重要之处在于,应用中例如键盘预测,可以通过它来完成句子。在移动端的文本输入中,更长范围的文本可以提高词语/短语预测的准确度。
2)接续语句预测:给定句子的序列,从一组候选中找到最可能的下一句。这在问答系统中很有用,从一组模板的答案中筛选出话题的最佳答案。这个任务也很其他应用有关,例如智能回复,从一组备选的回复中预测邮件最好的回复。
3)语句话题预测:在已有的句子中给定词语和话题,预测下一个句子的话题。我们考虑了两种方案:
(a)我们不知道下一句说了什么。
(b)我们知道下一句说了什么。
方案(a)适用于这种情况,应用中我们不知道用户的下一句话是什么。例如在聊天系统中预测用户回复的话题,这对知道用户的意图有帮助。
方案(b)我们尝试预测已知话语的话题和目的,这种我们的话题建模任务中很常见。
2. 基于谷歌新闻数据得到的结果
我们也在一些文件样本上做了实验,这些文件正是最近一次谷歌新闻英语语料库内部的一个快照。这个子集包含430万个文件,并且我们将这个子集划分成三部分,分别是训练集、测试集和验证集。关于数据集的一些相关统计在下表中给出。考虑到给了我们10万个词汇,在保证实验样本数量充足的情况下,我们去除了那些出现少于100次的词条。
表5:用思维向量(Thought vector)预测测试集中语句样本的话题,基于测试结果计算模型的复杂性,结果如下表所示:W表示词汇(W=Word,PST=PrevSentThought)
输入(Inputs) | #256个隐含层单元(#Hidden units=256) | #512个隐含层单元(#Hidden units=512) | #1024个隐含层单元(#Hidden units=1024) |
---|---|---|---|
WW+PST | 24.5024.38 | 23.6323.03 | 23.2922.59 |
表6:基于谷歌新闻(Google News)数据集(M=million 百万)各个子集的统计
数据集(Dataset) | #段落(#Para) | #句子(#Sent) | #单词(Word) |
---|---|---|---|
训练集80%(Train 80%) | 6.4M | 70.5M | 1300M |
验证集10%(Validation 10%) | 0.8M | 8.8M | 169M |
测试集 10%(Test 10%) | 0.8M | 8.8M | 170M |
对于不同的任务,我们分别用基准的LSTM和CLSTM模型进行训练,这两个模型都有1024个隐含层单元,下面是基于这两种模型得到的关键结果:
1)单词预测任务:LSTM仅仅将单词作为其特征,完成单词的预测任务,其模型的复杂度大约为37。CLSTM模型用单词、句子分割话题以及段落中句子的话题作为其训练时候的特征,其复杂度相对于LSTM模型有2%的改善。
2)接续语句预测:LSTM模型的准确率约为39%。CLSTM模型的准确率约为46%,其在平均水平上有了18%的提高。
3)接续语句话题预测任务:LSTM模型仅仅用当前句子的话题作为特征,模型的复杂度约为5。CLSTM用单词和当前句子的话题作为特征,模型的复杂度相对于LSTM模型的复杂度,大约有9%的改善。
正如我们所看到的,不论是基于维基百科数据集中的自然语言处理(NLP)任务还是谷歌新闻(Google News)数据集中的自然语言处理任务,CLSTM模型相对于LSTM模型,都能得到相似的提高。
3. 结论
结合了思维向量的CLSTM模型
我们已经展示了用上下文语境作为CLSTM模型的输入特征,实现像是单词的预测、接续语句预测以及语句话题的测等不同自然语言处理任务是多么有优势。
对于单词的预测任务,CLSTM模型相对于顶尖的LSTM模型,在模型的复杂度方面有2%—3%的改善;
对于接续语句预测任务,相对于LSTM模型,CLSTM的准确率比平均准确率提高了20%;
对于语句话题的预测任务,相对于LSTM模型,CLSTM模型的准确率比LSTM模型的准确率提高了10%。(并且比BOW-DNN模型的准确率提高了7%)。
这些结果全部都具有非常重要的意义,并且我们在谷歌新闻(Google News)数据集上得到了相似的结果。这正显示了我们所使用的模型具有较好的泛化能力。
通过用上下文语境作为CLSTM模型的输入特征,得到的结果在多个重要的自然语言处理(NLP)应用的性能改善方面有着重大的暗示。这些自然语言处理(NLP)应用包括:完成句子,提出问题/回答问题以及对话系统中解释各种应用的释义生成等。
4. 未来工作
结合了思维向量和句子层次结构的LSTM模型
我们最初的实验是基于CLSTM模型中能够捕捉远距离上下文语境的思维向量实现的。这个实验得到了一个令人满意的结果。图9是思维向量模型的一个自然扩展。扩展之后的模型在隐含层与隐含层之间有连接,这个连接能够对“思维的连续性”进行建模。图10 展示了一个层级结构的LSIM模型,包含一个2级的层次结构。低层的LSTM模型对一个句子中的单词进行建模,更高一层的LSTM对一个段落中的句子进行建模。LSTM模型中第n层的LSTM细胞与第n-1层的LSTM细胞的思维向量连接能够促进从前面上下文语境中获得的概念向前传播,从而使得一个句子的“思维”向量影响下一个句子的单词。句子层隐含节点的连接也推动模型捕捉到了思维的连续性。将来我们要用这种模型做实验。
我们也将要探索将上下文语境特征用在其它语言建模上的收益,例如:通过运用单词和话题特征能够生成更好的释义。另一个有趣的应用可能是对话建模中话题层信号的使用,例如:例如用Dialog-Act(对话时的动作)作为主题特征来预测下面要说的话。
致谢:
我们要感谢Louis Shao和Yun-hsuan Sung 对我们实验的帮助。我们也谢谢Ray Kurzweil,Geoffrey Hinton,Dan Bikel,Lukasz Kaiser 以及Javier Snaider 对我们工作所给出的非常有用的反馈。
论文全文下载
请在新智元微信公众号,回复 0305 下载。