AWS改良词向量模型搭配迁移学习,降低Alexa NLU系统错误率

去年5月,AWS研究团队已经针对较少量训练数据的领域,用迁移学习的方法,使自然语言理解系统的错误率减少了平均14%,最近,AWS宣布在第33届美国人工智能学会举办的研讨会中,将会针对训练数据较少的情况,提出一项利用Alexa数百万的未标注数据,将自然语言理解(NLU)模型错误率,再降低8%的新方法。

开发一套自然语言理解系统,通常需要数千个例句样本当作训练数据,收集和手动标注这些数据相当耗时且昂贵,对于小型的开发商而言,是一项麻烦的工作,像是现在Alexa已经具备超过70,000个第三方开发商提供的技能。提升训练性能的一项方法,就是迁移学习,迁移学习即是将具有已标注过的数据的神经网络,针对相对稀疏的数据新领域再训练的方法,在AWS之前的论文中,是利用基本的迁移学习程序,来减少NLU系统的错误率。

为了能够有效改善NLU模型,AWS研究团队训练了一套神经网络,来产生词向量(embedding),该词向量在高维度的空间中,用点表示词汇,因此,相似功能的词汇就会被分为同一群,原先AWS采用市面上知名的词向量模型ELMo(Embeddings from Language Models),但是,为了让该NLU系统能够用于Alexa这种即时的语音助理应用,AWS简化了产生词向量的网络,将执行速度提升60%,并将修改过的词向量模型称之为ELMoL(ELMo Light)。

词向量通常会将共同出现的词汇分成一群,由于两个共同出现的词汇有更多的公用点,这两个词汇在词向量中的距离就会越近,因此,词向量就直接能够抓取字义相似度的信息,不需要人工手动标注训练信息。

大部分的词向量网络都是通过庞大的文本数据预先训练,也就是说,庞大的数据量确保了字义相似度的可靠性,而现在许多自然语言理解系统,就是用预先训练的词向量,AWS过去也是用现成的词向量方案Fasttext,但是,AWS团队发现,比起现成的预先训练词向量提供多样化文本,发送给Alexa的请求,存在更多语言的规律,若针对这些请求的文本,训练一个词向量网络,将能够更有效地利用这些规则,并且AWS也有足够的数据能够产生一个可靠的词向量网络。

词向量模型ELMo和Fasttext的差异在于对于上下文的敏感度,例如,以bark这个词汇来说,在狗的叫声(bark)很大声和这棵树的树皮(bark )很坚硬两个句子中,用ELMo模型应该会回传不同的词向量,为了有效的处理上下文信息,AWS的ELMoL模型用双向长短时记忆(bi-LSTMs),来预测句子中下一个出现的字,也因为Alexa接收的语言文本较统一,AWS相信可以从一层bi-LSTMs中,萃取出足够的表现水平,也能让执行的速度大幅地提升。

在ELMo和ELMoL的网络中,AWS用2.5亿笔未标注的Alexa请求数据来训练词向量层,当所有的词向量训练完成后,再用Alexa现存的另外400万笔未标注数据,训练两个标准NLU任务的网络,第一个任务是要分类用户的意图,第二个则是Slot的标示,也就是系统决定要链接到哪个实体概念(entity),通用用途的网络训练完成之后,AWS会通过迁移学习技术,利用有限数据再训练网络,进而训练模型执行新的任务。

在这次的实验中,研究团队比较了用Fasttext、ELMo和ELMoL不同词向量模型的NLU网络,就如同AWS的预期,ELMo的表现最好,但是ELMoL的表现紧追在后,能够有效降低NLU系统错误率,又能应用在即时回复的系统上。