传统方式的工作量太大?看深度学习技术如何解决NLP难题
文章内容深度学习是近几年来人工智能中机器学习研究领域所取得的重要进展,在诸如围棋对奕、电子竞技、语音识别等体现人类高级智慧的任务上已经接近甚至超过了人脑的处理水平,也为医学影像诊断、自动无人驾驶、机器语言翻译等复杂任务提供了目前相对可行的解决方案。继在图像、声音处理等领域取得突破性成功之后,深度学习也已成为了自然语言处理领域的研究热点。当自然语言处理遇到深度学习深度学习技术其实属于表示学习的...
深度学习是近几年来人工智能中机器学习研究领域所取得的重要进展,在诸如围棋对奕、电子竞技、语音识别等体现人类高级智慧的任务上已经接近甚至超过了人脑的处理水平,也为医学影像诊断、自动无人驾驶、机器语言翻译等复杂任务提供了目前相对可行的解决方案。继在图像、声音处理等领域取得突破性成功之后,深度学习也已成为了自然语言处理领域的研究热点。
当自然语言处理遇到深度学习
深度学习技术其实属于表示学习的一个分支,其核心在于如何有效地捕捉和产生与任务相关的特征表达(一般以向量形式表示),获得了较好的特征表示之后,无论是分类、识别或拟合任务都变得相对简单了。
比如:我们希望识别图像中的汽车,而汽车比较明显的特征是有四个车轮,那么如何从图像中捕捉车轮的特征呢?由于拍摄角度或光照的变化,车轮可能会有遮挡、形变和反光等,所以早年图像识别研究者致力于寻找能够对抗各种影响而保持不变的对象特征,这种工作被称为“特征工程”,往往要通过大量的设计和实验才能获得少数有效的特征。
自然语言处理也存在类似的问题。以中文分词为例,汉语不像英文以空格作为词与词之间的分隔符,我们阅读这些没有明确词边界的语句毫无障碍,但对于机器而言却不容易。由于一般认为词是语言表义的最小单位,为了自动将中文语句切分成词汇,机器需要判断句子中的每个字是否为词的边界。
比如:我们认为“小学”是一个词,但如果前面加一个“从”字,此时我们并不能区分是“从小/ 学”,还是“从/小学”。如果后面再加上“计算机”,则可排除“从/小学”的可能性。
因为现代汉语三个字以上的词汇所占比例已经很少了,我们往往将当前字的前两个和后两个字作为依据来判断当前字是否为词边界(即窗口为5)。即使这样,由于目前较常使用的汉字约有8000个,其特征空间规模是8000的5次幂,这是非常庞大的数字,任何模型不可能动用所有的特征。
那么深度学习是怎么应对这个问题呢?让模型自动捕捉和生成适用于任务相关的特征表示,这是深度学习最核心的思想之一。对于中文分词,最简单的实现方法是先将每个汉字转成向量表示,将当前字与周围字的向量表示拼接起来,然后通过几层网络产生体现上下文作用的当前字语义特征向量表示,最后接一个简单二分类器(是否是词边界)就可以了,训练时的误差会按网络信息流相反方向传递,直至对每个字的向量表示进行调整。
一般模型参数量(建模能力)应该与需解决问题的复杂度相当,模型参数多了会产生过拟合,少了会产生欠拟合现象。如果我们用50维的向量来表示一个汉字,所有的字向量需要40万的参数(8000乘以50),这个数量占了整个神经网络模型参数的大多数,不加控制很容易出现过拟合情况。
不过我们可以通过大量未经过人工标注(无监督)的文本来训练字向量,最简单的训练方法就是让上下文来预测中间的字或者用中间的字来预测其上下文,训练的效果是语义越相似,向量距离也越近。英文中甚至可以做到“国王”的向量表示减“男人”再加“女人”接近于“王后”的向量表示,“马德里”减“西班牙”再加“法兰西”接近于“巴黎”。
无监督预训练相当于正则化作用,用于防止过拟合和提高模型泛化能力,“无监督预训练 + 面向任务精调”,这又是深度学习另一个重要思想。最近引起广泛关注的BERT(Bidirectional Encoder Representations from Transformers)就是使用海量文本和超高算力同时预训练词汇和句子的表示之后,在11种不同的自然语言处理测试中超越了目前最高水平。
将每个字以向量表示还有什么好处呢?之前我们以离散方式看待不同的字,无法利用字与字之间的语义相似性来提高模型的泛化能力。我们希望如果模型能够正确处理“猫蹲在墙角”,并且已知“猫”与“狗”、“蹲”与“站”语义相近,模型也能够泛化到“狗站在墙角”这种没有出现在训练集中的例子。
如上所述,将每个字以这种连续、实值、低维(分布式)向量表示可以通过计算向量之间距离来估计语义的相似程度,从而利用其共享的特征提升模型的泛化能力。实验表明深度学习在中文的新词识别性能高于传统模型,就是经预训练的分布式表示所带来的好处。
自然语言处理中常用的神经网络模型
深度学习在自然语言处理中的应用十分广泛,在这里,笔者介绍几种自然语言处理中比较常用的神经网络模型及其应用。
循环神经网络
循环神经网络RNN(Recurrent Neural Network)及其长短记忆网络LSTM(Long Short-Term Memory)等变体为有效捕捉和综合长程和短期信息提供了实现思路和方法。在自然语言处理中,每一时刻的输入一般是句子中的字或词,这样的建模方式可以应对长短不一的句子。LSTM捕捉长程信息的能力来源于其记忆单元,这个记忆单元随机时刻变化不断被更新,通过输入、遗忘和输出三个门来控制当前什么信息被记录到记忆单元中、信息多长时间被储存、哪些信息在当前时刻被读出,所以记忆单元可以看成是历史信息的综合特征表达。
这种综合长程和短期信息的能力有什么好处呢?它能够帮助我们建模语言中的上下文依赖关系。比如实现机器翻译的序列到序列的模型就是采用一个LSTM对源语言的句子建模,形成反映整个句子语义信息的向量,将这个向量输入到另一个LSTM,使其依次输出目标语言的每一个词,这样就完成了翻译。由于其出色的上下文建模的能力,LSTM在序列标注(中文分词、词性标注、命名识别)和语法分析(将序列变成结构)方面也非常有用。
注意力机制
动物的视觉系统是在整个视场中不同对象和位置进行跳转的,从而进行分析和处理资源的分配和协调。我们观察视场中的物体时,也往往对会动的、例外的、熟悉的物体给予更多的关注。在做英文阅读理解题目时,我们也会根据当前的问题将注意力反复集中到相关的段落中寻找答案,因而注意力是通过资源分配来有效解决问题的机制。
受此启发,图像处理领域改变了此前将整幅图像输入到人工神经网络进行处理的方法,引入注意力机制来完成多目标识别。在自然语言处理中,也采用注意力机制来进行图像标题生成和机器翻译等任务。在图像标题任务中,我们将注意力分配到当前需描述的图像区域;机器翻译过程中,将注意力分配到目标语句当前需表达意思所对应的源语句的词汇或短语。BERT中Transformer的编码和解码模型在编码时采用了Self-Attention机制,在解码时采用了同时对源序列和目标已输出序列所有单元进行关注的策略,并且在机器翻译和语言模型方面达到目前最高水平。
生成对抗网络
生成对抗网络GAN(Generative Adversarial Network)是这几年深度学习领域的研究热点之一,其核心思想是通过对抗学习的方式同时训练生成器与判别器,最终令生成器可以基于当前输入生成几乎可以骗过判别器的新样本。
在自然语言处理方面,生成对抗网络能够帮助我们将两个不同的特征空间进行对齐,在无监督学习和迁移学习等方面用处较大。比如Alexis Conneau等在2017年所提出的无监督双语词向量对齐和训练方法,在单独训练完两种语言的词向量后,通过对抗方式让两种语言中相近意思的词相互对齐,其思路是学习两种语言词向量空间之间的某种映射,让判别器难以判断是映射后的词向量,还是目标空间已经存在的词向量,从而达到对齐的效果。
在迁移学习中,可以让某一任务(一般有较大的训练样本)中所产生的特征被用于只有少量样本的任务,从而提高小样本任务的性能,方法就是让前后两者的部分特征在同一空间生成(无法区分),因而能够在任务间共享。
自然语言处理的金融应用场景展望
金融的发展离不开高效的信息获取。在金融领域,每天都会产生大量的新闻资讯和公告以及人与人之间的沟通对话,这些庞大信息量的处理正是自然语言处理在金融领域的“用武之地”。
有人将自然语言处理称之为人工智能皇冠上的明珠,而智能问答正是各种自然语言处理技术综合水平的体现。目前在金融智能问答领域,自然语言处理的应用已经比较成熟,比如FAQ短文本相似度计算、意图分类、问题聚类、上下文对话、多轮会话等,能大大提高智能客服的效率。不过,智能问答在问题和意图理解、知识库构建和利用、智能推理和回答生成等方面的问题仍有待探索。
除了智能问答,自然语言处理在投研分析、投顾营销、投资决策、风险控制等领域也都能提供相应的支持与服务:在证券投资领域,可以为量化投资贡献因子,如情感因子、事件因子等;在大数据风控领域,可以为构建用户画像、企业画像提供技术支持,如关键词抽取技术、法律文书抽取等;在投研领域,可以减少资讯处理工作量,快速获取业绩预告、分红送转等公告信息,实现资讯二级行业分类、资讯摘要,进行资讯情感正负面判断等。此外,自然语言处理技术与知识图谱的结合,可以推导事件、情感在企业链、产业链上的传导,辅助量化投资和风控。
自然语言处理能够改变信息的获取与处理方式,从量级和速度两个维度极大地提高文字处理的工作效率。例如,金融领域对捕捉事件体系和舆情热度有着非常高的要求,按照传统的方式,财经资讯媒体至少需要200人的团队来每天整理资讯,给资讯打标签、归类、排序,而深度学习+自然语言处理技术可以大幅减少资讯处理工作量,只需要10人左右的人工智能新闻产品团队就可以运维原本200人的工作量。可以说,自然语言处理技术的应用不仅能提升金融的效率和准确率,还能让金融行业从业者从繁重的文书处理工作中解脱出来,将精力专注于更重要的任务中去。
未来,恒生研究院会继续聚焦人工智能,着力促进自然语言处理等人工智能技术在金融领域的应用推广。作为人工智能中处理人类语言的技术,自然语言处理将在问答、资讯等文字处理方面持续赋能金融行业,进一步提高金融行业的技术水平及工作效率。
原文链接
服务推荐
更多推荐
所有评论(0)