博舍

浅谈计算机自然语言处理(NLP)与法律实践的融合 自然语言处理技术的应用领域

浅谈计算机自然语言处理(NLP)与法律实践的融合

2010年从法学院毕业后,笔者进入一家传统大型汽车公司从事法务工作,公司福利待遇好,领导同事关系融洽,一切都是美好向往的生活。直到2016年,当“人工智能”这个陌生而又新鲜的词汇,一次次推到笔者面前,或许是冥冥中自有安排,笔者最后决定投身到一家AI创业公司。

正如笔者前文《浅谈人工智能公司法务的能力维度和提升路径》提到,16年在班车上偶然读到了英国学者理查德·萨斯坎德所著《法律人的明天会怎样?——法律职业的未来》一书,我被书中描绘的法律市场的剧变、颠覆性的法律技术、律所的未来、法律人的新工作场景等内容所震撼,也第一次记住了“人工智能”这一名词。

而在国内,有三位年轻的律师,在自学Python编程后从律师事务所辞职,成立了一家斯沃茨科技公司(Swartz),这家公司致力于开发法律人工智能产品。2016年,创始团队写出了《遇见法律知识工程师——互联网时代法律人的职业新选择》一书,书中第一次提出“法律知识工程师”以及“法律知识树”的崭新概念,引发笔者诸多共鸣。斯沃茨公司的主要产品是一款名叫“推之”的法律智能咨询网页,通过预设的法律场景和问题,让用户手动匹配自己的客观事实,再由系统生成一份法律分析意见以及相关案例。但是按照现在视角,这款产品背后更多是人工,并非人工智能技术。

2016年11月,美国最著名律师事务所之一BakerHostetler宣布引进人工智能Ross法律机器人(https://rossintelligence.com),聘请为法律研究员,与50名破产部的律师成为“同事”。ROSS采用IBM的Watson技术,通过NLP自然语言处理技术,负责筛选数以千计的法律文件以支持事务所的案子。

2016年12月冬天,在一家沪上韩国烤肉店改装的办公室里,笔者第一次遇见竹间智能创始人Kenny,被Kenny创业情怀和对技术的执着所打动,最终决定辞职,加入到这家拥有多模态情感计算技术,擅长中文自然语言处理(NLP)的AI创业公司。公司创业初期虽然法务事项繁杂,但在闲暇之余,

“为何计算机读懂一篇中文文章有那么难?

我们能不能搭建一款中文版的智能法律咨询机器人呢?

自然语言处理技术之与法律实践,究竟会产生何种影响和价值?”

这些问题常会浮现,萦绕在心头。

通过补习相关计算机技术理论知识,结合自身法务实践,笔者尝试分享个人对于“NLP+法律”问题的理解和思考,也希望自己能为NLP工程师/产品经理与法律人之间的沟通交流,架起一座“信息”的桥梁。

本文略长,第一部分“汉语语言学研究回顾”,是理解中文NLP问题基础;第二部分“自然语义解析架构”尽可能解释得通俗一些,对于法律人而言还是会比较陌生烧脑。不过法律人如能了解一些NLP技术原理与算法模型,有助于理解NLP技术;第三部分“NLP赋能法务”,通过描述法律人的学习经历和认知思维,希望对于人工智能训练师,AI产品经理设计AI+法律产品,会有一些参考意义。

(本文写作之时,无论是NLP领域的算法模型抑或法律领域的法理学/法哲学理论,都是在不断变化和发展。如果您发现有任何错误或意见,还请告诉我,有利于笔者修订和更正,感谢。)

一、汉语语言学研究回顾——中文语言与印欧语系有何区别?

人类对大脑的研究发现,人类大脑控制语言的功能区有两个,前脑的布罗卡区(主管语言的处理和话语的生成),另一个是后脑的威尔尼克区(主管分辨语音,形成语义),而对信息的搜索、推理和决策则由大脑的前额叶完成。所以,一个自然语言处理系统至少包含三个模块,语言的解析、语义的理解及语言的生成。东西方的语言规则和语法结构虽然存在差异,但人类处理自然语言的生理构造是相同或极类似的。

汉语属于汉藏语系,与广泛采用拼音文字的印欧语系相比,无论从字符的结构和形式上都会显得特立独行,这是中华民族独特的地理位置和长期统一的发展历程所决定的。祖先创造的汉语文明历经千年传承,吸收和同化了匈奴、鲜卑、蒙古和梵语等文化成分,却依然能保持独立性,没有受到欧洲外来文化的侵袭和阻断,这是留给我们最大的一笔财富。

按照许慎《说文解字》的解析,汉字的造字方法和使用模式归纳成六种(古人称为“六书”):象形、指事、会意、转注、假借、形声,每一种构造模式都来源于古人对于大自然的观察,模仿和学习。汉语独特的字形符号构造,承载的“音、形、义”信息功能,导致汉语在自然语言处理中,会经常出现“一词多义”的现象。认识到汉语的特殊模式,对于研究和解析词汇及文本都具有一定意义。

二、自然语义解析架构——计算机如何读懂一篇“中文文章”的实现步骤

计算机阅读理解一篇文章,目前还是以“句子”的语义解析架构为主。该架构共包含三大部分,分别为词法分析、句法分析和句义分析,每部分涉及不同的语言规则和算法模型,由简至难,烧脑等级层层上升。

第一步:词法分析

该阶段有两个任务,一个是词形的解析,包括:中文分词、命名实体识别、语义组块;另一个是词性的解析,包括:词性标注和组块标注。

(1)中文分词

中文分词是汉语NLP第一步,也是最关键的一个环节。因为中文不像英文,实行分词连写(词与词之间用空格分隔)。在分析中文文本之前必须将一个汉字短语或句子,分成一个一个单独的词。

江湖上,中文分词原有三大流派:A-机械式分词(依葫芦画瓢派),将文章中的字符串与词典中的词逐一匹配,优点是简单暴力,缺点是得有词源信息齐全的葵花词典。B-基于语法和规则的分词法(内功气宗派),原理是分词的同时进行句法和语义分析。利用句法信息和语义信息作词性标注,以解决分词歧义现象。该派优点理想很美好,但低估了中文语法难度,输出的精确度很低。C-基于统计的分词法(数据分析派),根据字符串在语料库中出现的统计频率来决定是否构成词。背后逻辑就是概率统计,“一次是偶然,两次是偶然。。。em,相邻【字】出现次数多了,你两(字)之间必有苟且!”就是那么神奇。

“天下大势,分久必合”,经过20多年的各派研究努力,最终江湖上出现了一枚神器,中文词汇自动切分技术。该神器的心法是:基于条件随机场(CRF)的中文分词算法开源系统——如哈工大HITLTP语言技术平台),以及基于张华平Nshort的中文分词算法的开源系统——如结巴分词算法(商用领域的主流算法,最大不足不能解决歧义)。虽然神器还有缺陷,但使中文分词的水品得到显著改善,准确率一度达到98%。

计算机处理中文分词的流程不一一展开,如果用尽可能通俗的表达,笔者理解为:计算机能利用各种资源(专业词典和算法模型),将输入的“句子”切分成字,识别出专有名词后(命名实体识别),筛选整合出词并初步标注词性,最后输出分词结果的过程。

(2)命名实体识别

命名实体识别,用于识别文本中具有特定意义的实体,常见的实体包括人名、地名、机构名及其他等7类专有名词。其中,人名、地名、组织机构名的识别是最难,也是最重要的三类。命名实体识别不仅需要标注词的语法信息,更重要是指示词的语义信息(eg人名还是组织机构名等)。NLP中需要识别的命名实体一般不是已知名词,而是指新词(或称词典中未登录词)。

“这很难吗?”“yes,真的很难!”这一技术处理的好,会应用于信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术。举几个例子:

1)中国人起名字一般由姓氏+名字两部分构成,不过雅俗共享,“林静”、“夏天一”、“张麻子”等是由常见姓氏汉字组合而成。计算机碰到这种情况怎么办,“【林静】走进一片树林,这片树林静悄悄的”“【张麻子】脸上长满了麻子”“夏天一到,【夏天一】就感觉快热昏了。”有时候汉字姓名就是很特别,在句子中不同位置,但没有违和感。

2)较之人名,地名更像一个闭集。绝大多数地名可以通过词典或资料覆盖,但也有其困难之处。如存在地名简称歧义(峨眉,有“峨眉市”,“峨眉山”,还是一个武功门派?),词语搭配歧义(上海/上甘岭/西直门)等情形。

3)组织结构的识别难度更加困难,既集合了人名+地名的识别难题,又有其自身的问题。组织机构名称长度不稳定,短的仅有两字“宝钢”,长的比一个句子还长“全国人民代表大会常务委员会法制工作委员会”。这给中文命名实体边界的确认造成了极大的困难。

虽然面对着难以克服的困难,计算机学家和语言学家们也想出了很多解决的办法,比如设计领域专属的分词器,词典与统计相结合的CRF算法策略,基于层叠式隐马尔科夫算法模型(简称HMM),以及基于角色标注的命名实体识别方法。

这里简单说明下,计算机NLP处理会涉及到几十种的算法,像CRF(条件随机场),HMM(隐马尔科夫)等著名算法。算法会运用于NLP各个环节,然而“术业有专用”,对于非计算机专业或非数学专业的人士,主要了解算法介绍和应用场景,不去深入讨论算法性能和工程特征。

(3)词性标注

词性标注,判断一个句子中每个词所扮演的语法角色。在汉语中,常用词的词性都不是固定的,一个词可能具有多个词性。汉语与英语的不同又在于,汉语词汇都没有形态的变化,这就为确定中文词性带来困难。

“老爸,我下午去体育馆【游泳】。”(动词)

“嗯,【游泳】是一项好运动。”(名词)

通过词性标注,计算机能理解同一个词在句子中扮演的角色,进而能理解句法。现在一般使用哪种词性分类的标准呢?根据词性对句子结构的标识作用来选择,宾州数库PennTree中的《汉语词性标注规范》。中文的词性标注算法比较统一,大多数使用HMM(隐马尔科夫模型)或最大熵算法。目前流行的中文词性标注系统:Stanford大学的中文词性标注模块(简称NER)。

(4)语义组块标注

汉语语句并不是“词”的简单堆砌,对于句子的核心成分(包含核心词的前置修饰成分),其实存在句法块(Chunk)的概念。通过对这种组块的语义标注,可以大大提升分析效率和标注准确率,也降低句子分析难度。结合CTB对汉语句法短语类型的分类和宾州数库的例子说明,语义组块的主要类型有NP(名字短语)、VP(动词短语)、ADJP(形容词短语)等11种。

语义组块识别最常用的算法是CRF条件随机场算法,使用语料一般为CTB的树库语料。使用CRF来识别语义组块,通过如下三个阶段完成,从而达到抽取语义块的目的:

——将CTB树库中的语料从树状结构变为序列结构;

——使用CRF算法对制作好的语料进行训练,生成模型;

——使用训练的结果,测试组块标记。

第二步:句法分析

句法分析是根据给定的语法体系自动推导出句子的语法结构,分析句中各语法单元之间的关系。最后将句子转化为一棵结构化的语法树。句法分析主要有两种不同的理论,一种是短语结构语法,另一种是依存语法。

短语结构语法属于转换生成语法派别——理论基础来源于一位美国语言学家诺姆.乔姆斯基——即在分析一个句子时,也使用自底向上逐层归纳的思路。将句子中的句法构造层次考虑进来,并按其构造层次,逐层进行分析,指出每一层面的直接组成部分:词汇、短语、小句和句子。通过运用不同文法产生规则,最后推导的结果称为【推导树】,或称为【句法树】,树的简单形态如下:

短语结构推导树是机器自动学习自然语言句法知识的重要资源。句法树标注的好坏直接影响自动学习的效率和实现。

依存句法分析,代表了句法分析的另一个派系。与转换生成语法不同,依存句法的分析可以同时容纳句子的语法结构和语义结构两种关系,其理论基础来源于【配价理论】。什么是配价?法国语言学家泰思尼耶尔有个很形象的类比,将句子比喻成化学元素中的分子,分子由原子按照一定的价结合到一起。【动词】是句子的“中心”,所有的成分都是围绕着句子的中心动词展开的。“中心”动词的价就决定句子的成分结构。这种支配与从属的决定关系,应用于句法分析,构成了“依存”。依存句法分析的结果也是一棵树状图,不过这棵树状图不仅有层次关系,还给出了依存的方向关系。也就是说,“遣词造句”,词与词之间不仅要符合一定的规则,还要具有一定的语义联系。

有关句法分析的算法,主要有两种:在短语结构文法中,目前最成熟,精度最高的算法是PCFG算法。另一种基于依存句法理论的分析算法,较为高效的是基于转换的LSTM算法,算法代表人物有LTP依存句法分析和Stanford依存句法分析。

在句法分析实务操作阶段,首先要对复句进行切分,变为单句集合的形式。然后进行依存句法(或短语结构句法分析),获得分析结果进入共(同)指(代)消解(歧义),还原被压缩部分的指称成分。(共指消解是NLP中文语言处理上一个难点,这里不过多展开)

第三步:句义分析(语义依存)

啰里啰嗦写了很多,对于非计算机专业或理工科专业的法律人而言可能已经云里雾里了,但这些科学研究还属于第一个算法体系:传统NLP“概率图模型”的范畴。接下去的语义理解和分析会更加复杂,涉及到认知科学——脑科学(神经科学)方面的语言研究。也正归功于近几年神经网络科学的理论发展,推开了NLP领域人工智能深度学习的大门。

“林中两路分,一路人迹稀。我独进此路,境遇乃相异。”

传统的句义分析(形式语言学)主要是基于逻辑的语义学,在计算机科学家眼中,句子的含义是词义根据一定方式组合的产物。一个句子是否真实的反映了外部世界的某种现象,或者作出虚假的描述,用逻辑术语来说,就是是非判断(真假判断)。这套以命题逻辑和谓词逻辑为中心的推理系统,后来被证明在计算机程序语言方面具有很大的用途,但最终逐步淡出自然语言处理的视野。

NLP的第二个算法体系:基于人工神经网络的深度学习理论。深度学习理论将人工智能带入一个新时代:认知计算。认知计算的目标不再是寻求现实中的最优解或在给定数据结构上进一步提升搜索性能,而是让计算机系统能够像人类的大脑一样学习、思考,并做出正确的决策。

深度学习在NLP上的应用,包括在词汇语义上几大突破:Word2Vec算法(词向量模型)、使用LSTM(长短期记忆网络)进行序列标注、使用LSTM解决依存句法问题。“深度学习”背后的数学思想和原理很难用文字完全解释明白,但可以从“特征映射”这个词去切入。一个最简单的深度学习模型,含有输入层—隐含层—输出层三个层次,计算机会根据数据特征的相似度,在内部映射后输出解析结果(我们常说的“黑箱子”)。以Word2Vec词向量算法举例,计算机将中文词汇转化为词向量后,从输入层进入到神经网络模型训练,根据输出结果的差异度,神经网络专家调优参数,获得的新数据再次投入训练。只要“训练语料”足够充足,经过多重反复,计算机会变得越来越“聪明”,即使预测新词汇时,也能够自动将相似度高词义的词汇组合在一起,直接输出词性标注和语义分析。

在句义分析阶段,主要分为以下情况:

(1)如果输入单句,也不需要共指消解,在中文分词、词性标注后的句子进入第三步进行句义分析。

(2)如果输入的是复句,但不需要共指消解,在中文分词、词性标注后的句子先做复句切分,切分之后的结果再做句义分析。

(3)如果输入的是复句,而且需要共指消解,在词法分析和复句切分流程之间,增加一项“共指消解”的环节。

以上,是计算机进行自然语言处理时比较基本的步骤:中文分词——命名实体识别——语义组块标注——句法分析——句义分析。两种算法体系各有优劣——相比于传统“概率图模型”,“深度学习”虽然能主动学习,但在专业领域如果缺少足够标注的数据,精确度反而不如传统的“概率图模型”高——所以,需要综合运用。

我们虽然还处在人工智能时代的前夜(或称为弱人工智能时期),随着算法模型验证测试,大数据积累及硬件设备性能的更新优化,这种变化是呈指数级的增长趋势,可能就在不久的未来,NLP的奇点就会到来。

三、“NLP”赋能法务——计算机认知思维与法律实践思维的融合

在科技公司从事法务工作,最有趣的地方,莫过于新技术的发明会带给传统法务工作思维和实践一种新的思考。笔者认为,计算机NLP学习过程和法律人学习法律的过程是非常相似的——从法律概念(词汇)入手,基于固定的语法和逻辑规则(算法程序),识别出法律/文句背后的深层语义。不同点在于思维模式:法律人的逻辑规则基于经典的“三段论”,包含归纳、演绎、辩证等推理模式。现阶段计算机处理自然语言主要还是基于数据分析,不通过推理分析,直接映射形成判断。机器判断虽然准确率较高,但仍具有“或然性”属性。

一、法律概念——法律人的“词法分析”

计算机的语义哲学,是从词汇发展至本体论的过程。语义,所指语言符号与所指事物之间的关系。人类在语言概念上一个重要的认知机制——范畴化(领域性)的特征。由于世间万物在人的头脑中形成的信息不是相互独立的,而是普遍联系的,随着对客观世界认识的不断丰富,逐渐形成一个网络(概念)。在这个网络中,经常出现的关系有:类——表示概念的集合;个体——表示概念的个体;子类——表示上下位关系;特征——属性、行为和约束。

“概念,在语义领域用更专业的词来定义——本体。本体论原是一个哲学概念,对于真实世界的一个客观描述,而不依赖于任何特定的语言。但理论研究使本体超越了哲学的范畴,在于语义紧密相关的知识工程中,本体发挥重要作用。计算机科学家提出了本体模型,甚至还形成本体推理计算的基本规则。”

无论是大陆法系或是英美法系的法学院学生在学习法律的过程中,也是先从【法律概念】的辨析入手。

“法律的基本作用之一乃是为人类为数众多、种类纷繁、各不相同的行为与关系达致某种合理程度的秩序,并颁布一些适用于某些应予限制的行动的行为规则或行为标准”。为能成功完成这一任务,法律制度就必须形成一些有助于对社会生活中多种多样的现象与事件进行分类的专门观念和概念。”——E.博登海默

例如:一个人出于愤怒、怨恨或报复而揍打另一个人或使其遭受人身伤害的事实,被法律归于“殴打”这一术语之下。当一个人向另一个人许诺一种行为以得到后者的某种允诺时,这种情形在法律术语上被称之为“合同”,并受广泛规范制度所调整。在面对一个人伤害他人生命或身体健康的情形,需要探究该行为是否出于主观意愿,有无违背个人意志,这种情形在法律术语上成为“主观”与“过失”的区分。

从上述例子可见,法律概念的形成不是基于词汇的表层含义(泛化),而是对客观世界中的行为或状态抽象形成的一种定义,包括法律关系、主体,客体,权利、义务、责任、诉讼时效等等法律术语。没有概念,司法活动就不能得到准确的实施。笔者曾设想,是否能设计一款法律智能咨询机器人?很难。如今的自然语言交互技术的发展主要基于前人设立的通用语料库,那么法律智能咨询也势必会涉及到“法律概念语料库”的设计,也是最重要的一关。如果没有这种特殊领域语料和知识图谱的积累,单纯依靠技术,很难达到“智能咨询”的阶段。据笔者了解,国内已经有法律科技公司已经开始整理,积累相关语料素材。

二、法律规则分析推理——法律人的“算法模型”

早在几千年前,亚里士多德就提出了分析推理的“三段论”。从形式来说,用三段论所得出的结论是从前提中得出的无懈可击的逻辑结论。

所有生物一定会死。(大前提)

人是生物。(小前提)

所以,人会死。(结论)

这种通过的自然语言论证逻辑,计算机通过词库及算法训练,也能做到前提-结论的论证形式。

最简单的法律推论形式也是用三段论方法进行推理。不过即使最简单的三段论,也包含了演绎、归纳、辩证等分析推理的方法,比如:

我国刑法规定,不满14周岁的自然人是完全无刑事责任能力年龄阶段。(大前提-法律)

小岩今年13岁。(小前提-现实)

所以,小岩是完全无刑事责任能力的人。(结论-评价)

如果机器人阅读理解这一三段论,就会非常有难度。一方面,法律语句的分词与常规通用词汇的分词规则不一样,“刑事责任能力”是分为“刑事/责任/能力”、“刑事责任/能力”或者“刑事/责任能力”?另一方面,法律规则与现实案件并不是一一匹配的,什么是侵权,什么是正当防卫,每个术语背后都有不同的构成要件,每一个构成要件都可能存在又一个“三段论”的论证。这种不断在“法律条文与现实世界中来回穿梭“的情形,客观上制约着计算机对法律语言的理解。

在司法审判实务中,法官对于案件的评价,也并不仅限于纯粹的形式逻辑或仅注重结果的推理。在某种程度上,它也是一种以先例为基础的逻辑。对于先例的选择逻辑,是以整个法律秩序和社会秩序为基础的,也是以某些渊源于传统、社会习俗和时代的一般精神为基础的。这种“价值判断”上的伸缩性,客观上也会影响法官对其所作判决的预期结果。

从这个意义上而言,现阶段的人工智能技术很难完全取代人的司法审判(计算机无法把价值判断因素量化为数据)。不过,计算机通过快速阅读,提取分析结构化数据和信息,能作为法官“定纷止争”的辅助参考工具。

根据亿欧智库2018年AI法律服务的研究报告,上海的《刑事案件智能辅助办案系统》(又称206工程),某家科技公司联合上海司法部门,打通公检法的办案系统,计算机通过学习几万份案件的卷宗,文书数据,可以提取证据信息,实行刑事案件的标准化和流程化。

三、公司法务+计算机NLP,新型的法律风险管理工具

笔者在之前《浅谈公司法务的四重境界》里提到,“公司法务与外部律师功能最大的不同在于,不仅仅是识别或提示法律风险,给到一份专业法律风险应对方案或意见书即可,而是要站在公司立场,结合公司“人、财、物”资源,去衡量分析法律风险方案的可操作性,为公司找到最合适的合规路径。”

就像计算机能将一系列中文词汇转化成“词向量”,通过Nshort算法计算后,在词图中找到最优化的,权值最小(概率最大)的词义匹配路径。随着大数据分析及人工智能技术普及,未来法务部门的法律风险管理是否也能从【传统法律风险管理】转向为【实时跟踪+智能量化分析】呢?

传统的法律风险管理,中小型公司主要是业务风控型,即对单份合同的法律风险审核把关,按照业务需求申请经营资质,编制公司管理制度等工作。对于集团型公司,法务部往往承担着公司整体风控体系的建设,常使用PCDA戴明循环等工具模型,根据不同权重设计风险防范体系(风险识别-评估-实施-整改等环节),这种风险防范的优势在于由上而下,提前规划预测。不过缺点也较明显:事后补救,对突发事件反应不足,有些危险因子已经凸显,但无法及时介入/预警。计算机深度学习技术恰好能弥补不足,其最大优势在于通过大数据收集,实时监测风险因子并在后台作出分析。

现阶段计算机自然语言处理技术还无法完全理解“法言法语”,却已然能代替公司法务部分技术含量较低的工作,产生一定的商业价值,以下场景可供参考:

——制度培训答疑:现有计算机已经能够通过语音或者文字,对员工简单的合规制度问题答疑解惑,比如信息保护,数据安全防范,合同签署盖章流程等相关问题,让公司法务从回答繁琐问题的重复性劳动中解放出来。

——格式合同审查:通过过语料标注和算法优化,计算机能在极短时间内,输出文字审核结果并提示出法律风险,准确率不低于律师。《隐私协议》《用户服务协议》《保密协议和竞业限制协议》都属于该等范畴。

——工商事务,知产业务指导:企业工商事务和部分知识产权申请(譬如软件著作权),属于有固定模板和申请流程,按照要求一步步执行,一般都能完成。如有语音助手指导,初级法务或者公司办事人员也能独立完成相关工作。

回到本文开头我曾困惑的三个问题:

“为何计算机读懂一篇中文文章有那么难?”

——因为中文和英文的字形结构,遣词造句很不一样,而这恰恰是老祖宗留给我们的宝贵财富。

我们能不能搭建一款中文版的智能法律咨询机器人呢?

——能。但需要建立法律语料库和知识图谱,攻克计算机意图识别及深层次语义理解等技术难题。

自然语言处理技术(NLP)之与法律实践,究竟会产生何种影响和价值?”

——代码是规则,法律本质亦是一种规则。未来,应该会殊途同归吧。

   “代码即法律。”

参考书目:

(1)郑捷著——《NLP汉语自然语言处理原理与实践》2018年6月版

(2)YoavGoldberg著,车万翔等译——《基于深度学习的自然语言处理》2018年7月版

(3)亿欧智库——《2018人工智能助力法律服务研究报告》

(4)E.博登海默著邓正来译——《法理学:法律哲学与法律方法》2018年5月版

(5)法律+科技类《AI科技评论》《智合》《机器之心》等若干公众号。

张博, 董瑞海|自然语言处理技术赋能教育智能发展——人工智能科学家的视角

张博,爱尔兰都柏林大学教育技术与创新博士;华东师范大学教育信息技术系助理研究员。

目录概览

一、引言

二、人工智能科学家

三、对自然语言处理定义的理解

四、自然语言处理关键前沿技术

五、自然语言处理技术加快赋能教育智能发展

六、自然语言处理技术在智能教育发展中的应用趋势与挑战

一、引言

自然语言处理(NaturalLanguageProcessing,NLP)于20世纪50年代末兴起。“图灵测试”的出现被认为是自然语言处理发展的开端。60年代,人工智能领域的第一次发展高潮出现,孕育出自然语言处理和人机对话技术。70年代开始,基于统计的方法逐渐代替了基于规则的方法。90年代中期以来,计算机的运行速度和存储量大幅度增加,为自然语言处理技术的飞速发展提供了硬件基础。同时,随着互联网商业化和网络技术的发展,基于自然语言的信息检索、提炼,以及语言翻译和理解的需求日益增加,这些都促使语音和语言处理技术逐渐产品化并被广泛应用。到了21世纪,自然语言处理技术的突破进展,已经使人工智能(ArtificialIntelligence,AI)系统的语音能力、语言能力等得到前所未有的提高,并开始对全球发展产生重要的经济影响。

人工智能尤其是自然语言处理技术的快速发展给教育领域带来了巨大的机遇(Alhawiti,2014),并衍生出人工智能+教育。人工智能教育,又称智能教育(ArtificialIntelligenceinEducation,AIED),是人工智能技术对教育的赋能,具体是指通过人工智能技术在教育领域的运用,来实现辅助、优化教与学过程,甚至是替代教师完成一些机械性工作,以提升教育质量,实现个性化学习等目标(吴永和,刘博文,马晓玲,2017)。作为人工智能最重要的一部分,自然语言处理的快速发展,对教育实现智能发展具有关键的促进作用。郑南宁指出自然语言处理技术有望帮助教师从简单重复的教学工作中解放出来,比如,降低教师作业批改的工作量,使他们有更多时间专注学生全面长远的发展(郑南宁,2019)。其次,自然语言处理技术可以促进传统教学方法、教学环境的变革,比如提供更多元化的教学材料、更丰富的交互方式、更加个性化的教育模式等(清华大学人工智能研究院,2020)。未来教师将不仅仅是知识的传授者,也将成为智能化满足学生个性化学习需求的教学实践者。本文旨在通过对国内外AI科学家近几年公开发表的访谈、演讲、会议报告、论文等数据进行分析,梳理自然语言处理关键技术的发展趋势,探讨其赋能教育智能发展的现状,以及在未来智能教育发展中的应用趋势与挑战。

二、人工智能科学家

人工智能的持续发展离不开AI科学家的不断探索和创新,他们是技术持续发展的推动者,是技术应用趋势的预测者,他们会在各种重要场合(例如,访谈、演讲、国际会议等)发表最新的研究,以及对人工智能未来发展趋势的看法。AI科学家乐观预测自然语言处理技术将进一步发展成熟,并在未来被应用到更多领域,尤其是教育领域。2019年,刘群在知乎专访中提到自然语言处理让机器变得善解人意(知乎,2019)。沈向洋在公开演讲时表示,下一个十年人工智能的突破在自然语言的理解方面(清华大学,2020)。2017年,吴达恩在斯坦福的人工智能年度报告中提出,随着深度学习的快速发展及其在自然语言处理领域的广泛应用,自然语言处理技术正在经历关键的革命时刻,这将促进新应用程序的繁荣(例如,教育机器人),并为其他领域的发展带来创新(Shoham,Perrault,Brynjolfsson,&Clark,2017)。2020年,StuartJonathanRussell在展望未来5—10年人工智能对人类社会的影响时强调,如果AI智能系统能更精确地理解人类语言,其将在人类日常的学习与生活中扮演更重要的角色,并认为未来十年将迎来语言理解的重大突破(Russell,2020)。在2020年中国人工智能学会(ChineseAssociationforArtificialIntelligence,CAAI)的特约专栏中,宗成庆提出,自然语言处理最终要解决的是人类语言的理解问题,是可以使智能系统实现更精准的性能水平,是可以满足个性化用户需求,甚至让机器做到像人一样理解自然语言的问题(宗成庆,2020)。因此,了解自然语言处理技术的发展历程及其赋能教育智能发展的现状,探究其对未来智能教育发展的影响,是本研究的重点。

本文以自然语言处理的技术发展及其在智能教育领域中的应用与实践为主题,收集了44位AI科学家发表的相关观点与研究,旨在探讨AI科学家视角下自然语言处理技术赋能教育智能发展的现状。在收集到的数据中,国外AI科学家23名,主要来源于美国人工智能协会(theAssociationfortheAdvancementofArtificialIntelligence,AAAI);国内AI科学家21名,主要来自中国人工智能学会(ChineseCongressonArtificialIntelligence,CAAI)。

数据显示,本研究所涉及的AI科学家中,男性36人,占总样本的82%;女性8人,占总样本的18%,如图1(a)所示。其次,AI科学家的工作单位所在国家分布情况如图1(b)所示,中国科学家最多,占总样本的48%,美国科学家占39%,其余科学家分布在英国、爱尔兰、加拿大、智利、泰国和巴基斯坦。数据结果从侧面印证,中国和美国是目前全球研究自然语言处理及其在教育领域应用方面的两个主要国家(戴静&顾小清,2020)。

图1AI科学家分布情况

三、对自然语言处理定义的理解

自然语言处理主要研究人与计算机之间用自然语言进行有效交流的各种理论和方法。自然语言是指汉语、英语等人们日常使用的语言,而语言是人类学习的重要工具。自然语言处理技术可以广泛应用于师生教与学的活动过程中,自然语言处理是教育智能发展的基础。由于自然语言处理技术涉及多种不同的任务,基于AI科学家的视角,我们可以从四个层次对自然语言处理的定义进行理解:

二是对自然语言的理解。在对文本进行处理的基础上,自然语言处理技术会理解文本包含的意义,比如表达意图、情感、情绪等理解过程。刘群解释,自然语言处理的研究对象是人类语言,如词语、短语、句子、篇章等。通过对这些语言单位的分析,计算机不但可以理解语言所表达的字面含义,还可以理解人类语言所表达的情感以及语言所传达的意图(知乎,2019)。

三是交互,即人类通过自然语言与计算机进行交流对话,例如,人机问答–教育机器人、浏览器搜索、智能电子设备的信息沟通等。DanJurafsky认为,自然语言处理是实现人与计算机之间用语言进行有效通信的方法,是了解人类心理和态度的最佳途径(Dan,2017)。DragomirRadev认为,自然语言处理可应用于人机问答、情感分析、机器翻译、语义分析、拼写纠错等教育活动,但是话语意图分析、习惯性表达、语义相关等方面的语言理解使得自然语言处理发展遇到挑战(Dragomir,2017)。

四是创新,即计算机可以通过语言理解进行智能创作,包括写作辅助、图文自动生成等。例如,2021年,IIyaSutskever宣布,语言模型将开始了解视觉世界,通过自然语言的输入,系统可以智能生成各种具有创造性的图像(OpenAI,2021)。

何晓东认为,自然语言处理作为人工智能的核心技术,主要用于连接人类和计算机世界的交流(何晓东,2019)。从自然语言处理定义的四个层次可以看出,基于自然语言处理技术可以开发出具有互动性、创新性、个性化的智能工具来赋能教育的智能发展。AI科学家期望随着自然语言处理技术的不断优化,相关智能工具的性能会被不断提高,并为未来的智能教育带来更好的体验。

四、自然语言处理关键前沿技术

随着自然语言处理技术的快速发展,它在教育领域的应用取得了突破性的进展,越来越多的智能工具与系统逐渐被广泛地应用于教学活动中。然而,这些突破性的进展离不开一系列关键技术的涌现。为了更好地理解自然语言处理的一些技术原理,基于AI科学家的研究进展,本节对自然语言处理发展过程中涌现的关键技术进行详细讨论。例如,随着新词嵌入方法的出现,计算机对自然语言的理解更加精准与高效,随着大规模语料库预训练模型的不断发展,多种自然语言处理任务的性能得到显著提高。这些自然语言处理关键技术的进步是智能教育不断发展的重要基石。

(一)新词嵌入方法的出现

依据上文的描述,计算机在基于自然语言处理学习读懂自然语言的过程中,最先开始学习的是文本中词汇的理解与表达。在深度学习出现之前,在自然语言处理问题的机器学习方法中,我们一般采用一种高维但稀疏的向量来表达词汇,比如One-hotEncoding。然而这种方式不仅带来计算空间的浪费,还会影响系统模型的性能,因为系统不能理解单词之间的相关性。其次,早期的基于奇异值分解的LSI/LSA(LatentSemanticIndexing/LatentSemanticAnalysis)(Hofmann,1999)、基于概率分布的LDA(LatentDirichletAllocation)(Blei,Ng,&Jordan,2003)等系统模型在对单词的语义理解上取得较大进步,但这类模型计算比较耗时,并需要对不同语料库的主题与数量进行合理的选择。2003年Bengio等人提出神经语言模型(NNLM),使深度学习开始应用于自然语言处理(Bengio,Ducharme,Vincent,&Janvin,2003);2013年,Mikolov等人构建CBOW和Skip-Gram模型,通过观察共现词汇并引入负采样等可行性措施,实现了高密度词向量的表达方式(Mikolov,Chen,Corrado,&Dean,2013)。GloVe(Pennington,Socher,&Manning,2014)也是生成词向量的有效方法,它是一种基于词统计的模型,可使词向量拟合预先基于整个数据集计算得到的全局统计信息,从而能高效地学习词的表征。

其次,随着迁移学习技术的进步(庄福振,罗平,何清,&史忠植,2015),AI科学家尝试构建多语言统一的词向量(MultilingualWordEmbedding,MWE)方式(Ruder,Vulic,&Søgaard,2019),也就是在统一词向量空间中表示来自多种语言的词汇。AI科学家尝试采用无监督的MWE方法来获得统一的词嵌入表达,与传统的监督方法相比,这一方法可以利用近似无限的未标注语料库,从而为低资源语言(应用范围比较小,缺乏标注的数据)开辟了许多新的可能性(Conneau,Lample,Ranzato,Denoyer,&Jégou,2017;Zhang,Liu,Luan,&Sun,2017)。

(二)超越词袋模型

随着计算机对单词表达能力的提升,如何提取文本(例如句子、篇章)中的高级语义信息,是实现自然语言处理任务的关键,例如,基于文本信息的情感分析、问答系统、机器翻译等任务。随着文本提取技术的不断创新发展,自然语言处理的任务性能得到显著提高。早期的词袋(BagofWords)模型忽略了语句中词语之间的依赖关系。比如,在词袋模型中,“我喜欢苹果,不喜欢鸭梨”和“我喜欢鸭梨,不喜欢苹果”两个句子是相同的表达。深度学习技术对语境和序列信息的捕获能力为语义的理解带来了变革。卷积神经网络(CNN)是早期被采用对自然语言词汇序列进行特征提取的模型,其擅长捕获局部语境信息,然而CNN无法满足语言序列长期记忆性的要求。因而,循环神经网络(RNN)被广泛应用。RNN的执行思路是通过系统中共享的参数进行序列信息的处理(Cho,etal,2014)。原始的RNN模型容易出现梯度消失和爆炸的问题。因而,经过改良,LSTM和GRU模型(RNN的升级版)开始被广泛应用于各种自然语言处理任务中,它们通过门控制技术极大地提高了各种任务的性能。

此外,注意力机制(Attention)被提出并被应用到机器翻译的任务中,不仅改善了翻译的性能,还增强了模型的可解释性(Bahdanau,Cho,&Bengio,2014)。2017年,AshishVaswani团队扩展了注意力机制,首次提出Transformer模型结构(Vaswani,etal,2017)。Transformer模型完全去除了编码中的循环和卷积,仅依赖多头注意力机制和位置编码来分析语义信息,使翻译、解析等任务的训练时间大幅缩短。同时,注意力机制的Transformer模型是基于大规模语料库训练的预训练语言模型的重要基石之一,为自然语言处理技术的进一步发展带来重大突破。

(三)基于大规模语料库的预训练语言模型

随着基于大规模语料库的预训练语言模型的出现与不断创新,自然语言处理获得了跨越性发展,它可以实现的任务越来越多元化,并且任务性能更加精确与高效。SebastianRuder在2021年公开发表的报告中,对2018年到2020年自然语言处理预训练语言模型的发展进行了总结(Sebastian,2021),如图2所示,预训练语言模型的发展越来越趋于大规模化。2018年,AlecRadford团队发布了GPT(GenerativePre-trainingTransformer)语言模型,这是一套人工智能的生成网络模型,可以通过文字、图片、音乐、一段程序或者数据分析结果来智能化生成新的内容。2018年,基于Transformer,JacobDevlin团队发布了BERT(BidirectionalEncoderRepresentationsfromTransformers)预训练语言模型(Devlin,Chang,Lee,&Toutanova,2018)。2019年,OpenAI发布GPT–2无监督的转化语言模型,它可以基于一个特定的线索,自动编写出文本内容。2020年,TomBrown团队提出GPT–3语言模型,可以将学习能力转移到同一领域的多个相关任务中,既能做组词造句,又能做阅读理解(Brown,etal.,2020)。2021年,WilliamFedus团队首次提出一个1.6万亿参数的自然语言处理模型——稀疏激活专家模型(SwitchTransformer)(Fedus,Zoph,&Shazeer,2021)。SwitchTransformer模型的突破在于,它可以在使用相同计算资源的情况下使预训练速度提高7倍以上,同时保证模型质量得到30%的提升。

图2自然语言处理近期模型规模发展史

由此可知,随着这些自然语言处理关键技术的不断优化,自然语言处理任务逐渐被简化,并实现应用的通用化,这对各领域尤其是智能教育领域的发展产生了重要的影响。数据显示,随着BERT以及BERT衍生模型的快速发展,自然语言处理任务在阅读理解、文本分析、语言翻译、情感分析等应用上都迎来了突破和创新(Matthew,2020)。这些关键技术的优化发展对开发可以应用在教育领域的智能工具至关重要,因为智能工具可以实现教育系统中各环节要素的自动分析,实施精准干预,支持规模化教学与个性化学习等机制(彭绍东,2021)。因此,自然语言处理技术的快速发展会促进教育领域智能工具的开发,而这些智能工具在学、教、管、评的教育活动中不断创新优化与实践的过程,就是自然语言处理赋能教育智能发展的过程。

五、自然语言处理技术加快赋能教育智能发展

在过去近40年,自然语言处理领域逐渐出现10个研究热度较高的技术话题,包括情感分析、机器翻译、问答、语言模型、神经网络模型、语义表示、知识图谱、词对齐、条件随机场和词义消歧(清华大学,2020),如图3所示。其中,2003年以后,情感分析的研究热度迅速增长,其基于自然语言处理的数据挖掘技术被应用于提取和分析用户生成语言中的主观信息,而机器翻译、问答系统等技术研究热度也一直保持上升态势。何晓东预测,自然语言处理技术在未来可能会从文本分析、文本创作、情感智能、机器翻译、智能对话(例如语音助手、聊天机器人)等方向取得重大突破;而这些技术方向的发展都与智能教育的未来发展密切相关(何晓东,2019)。具体来说,智能教育也是基于多元化的教育数据进行分析,以了解师生教与学过程中的各种需求,然后提供评估反馈和智能化的解决方案,并应用于“教、学、评、测、练”五大环节(前瞻产业研究院,2020)。结合上文中介绍的自然语言处理关键技术的原理知识,本节将基于AI科学家的研究实例,深入探讨五种在教育领域被广泛应用的自然语言处理技术,以及这些技术赋能教育智能发展的实践与创新。

图3自然语言处理领域技术研究发展趋势

(一)情感分析与情绪分析

目前,基于自然语言处理的情感分析技术逐渐应用于教育领域。情感分析(SentimentAnalysis)是指利用自然语言处理的文本挖掘技术,对带有情感色彩的文本进行抽取、分析和处理,从而发现潜在的问题以用于预测或改进(Yang,Cunningham,Zhang,Smyth,&Dong,2021)。郑耀威在2020年的AAAI会议上,提出了新的分析方法,使用语法信息增强了语句多方面情感分类的效果(Zheng,Zhang,Mensah,&Mao,2020)。情感分析在教育领域的应用是,通过对学生的课程反馈、教师评价、课程论坛评论等文本信息进行分析,智能化预测学生对学校教育教学现状的态度,评估教师授课质量,等等。例如,HeatherNewman等人使用情感分析工具VADER分析学校教与学的评价信息,以研究学习环境对改善学生学习的体验,以及对教师教学的体验(Newman&Joyner,2018)。QuratulainRajput等人基于情感分析指标,对某课程结束后学生提交的反馈报告进行多种方法的文本分析,使教师教学评估更加高效(Rajput,Haider,&Ghani,2016)。因此,分析学生对学校政策、教学活动等事件的反馈与态度,可以使教育组织更加了解学生的需求,不断提高教学质量,提供更具个性化的教育环境。

而情绪分析(EmotioinAnalysis)主要是分析用户的状态、情绪等(比如高兴、沮丧、失落、抑郁等)(Koelstra,etal.,2011)。情绪分析在教育领域逐渐被应用于学校舆情监督、心理观察等方面。例如,利用自然语言处理系统模型监督学校论坛上的评论、留言等信息,可以实时分析学生情绪,在观测到学生感到沮丧失落的时候,学校可以及时做出安抚和应对措施。AngelinaTzacheva等人基于计算机科学课程学生反馈的评估数据,通过为每个文本注释创建多个标签,自动检测学生反馈中的情绪以了解学生对课堂教学模式的感受,从而帮助教师改善教学(Tzacheva,Ranganathan,&Jadi,2019)。

(二)文本分类

文本分类是自然语言处理在教育领域应用的另一个重要模块,它旨在通过分配不同的标签对文本信息(例如句子、段落)进行分类。文本信息可以有不同的来源,包括电子邮件、论坛留言、社交媒体、教学评价、教学材料等。自然语言处理的文本分类技术广泛应用于教育领域的不同任务中,包括问题解答、个性化学习推荐、图书馆内容管理、新闻分类、内容审核等(Minaee,etal.,2021)。随着技术的发展,文本分类技术的研究也在不断进步。2020年,阿里云推出的智能文本分类服务,可以按照给定的类目体系对用户提供的文本进行自动分类(阿里云,2020)。邱锡鹏团队提出的多尺度注意力的文本分类方法使语言的理解结果更优化(Guo,Qiu,Liu,Xue,&Zhang,2020)。随着文本分类模型系统性能的提升,相关的智能工具性能也在不断优化,并被广泛应用于阅读等级分类、作文自动批改等方面。

阅读等级分类是衡量阅读难度的标准之一,文本可读性对于阅读教学材料、教材编排等有重要意义。自然语言处理在教育文本阅读方向的一个重要应用是阅读分级。阅读分级测评体系通过计算机对大量的文本、书籍进行自动处理并分析其难度,然后为不同水平的学习者提供不同难度的学习资料。例如,蓝思(Lexile)阅读测评体系(Ardoin,Williams,Christ,Klubnik,&Wellborn,2010)基于书籍难度和读者阅读能力两个指标进行分级,使学习者可以轻松选择适合自己的书籍。迷雾指数(TheGunningFOGIndex)(Swieczkowski&Kułacz,2021)是一种针对英语文本的可读性测试,该模型系统可从词数、难度、完整思维的数量、平均句长等方面考察一篇文章的阅读难度,并评估出适合阅读此文章的阅读者的正规教育年限,比如,当读物的迷雾指数为12时,阅读者大概需要相当于高中生的阅读水平。2020年,唐玉玲等人提出结合语言难度特征的句子可读性计算方法,构建了规模更大的汉语句子可读性语料库,提高了评估准确率,优化了汉语材料的可读性应用(Tang&Yu,2020)。

(三)问答与对话系统

随着智能机器人逐渐被应用于教育领域,问答与对话系统的性能(例如,准确度、智能化、个性化)优化一直受到AI科学家的关注。问答系统(QuestionAnsweringSystem,QASystem)是用来回答用户提出问题的系统,其设计思想是由计算机负责解析并理解由用户提出的自然语言(问题),并从当前收集的所有问答集中检索出最适合的答案返回给用户。目前,基于自然语言处理的问答系统任务的准确性已经可以超越人类水平的基准线,并逐渐达到专家水平。例如,基于斯坦福问答数据集(StanfordQuestionAnsweringDataset,SQuAD)的文本理解挑战赛,就是检验计算机阅读理解水平的权威测试。2018年,PranavRajpurkar团队提出SQuAD2.0,该数据集可以测试模型系统回答阅读理解类问题的准确度(Rajpurkar,Jia,&Liang,2018)。基于SQuAD2.0官网数据,本文整理了从2018年到2021年,问答系统模型执行能力的变化趋势。如图4所示,随着模型系统的不断升级,一些模型系统获得的精确匹配度(ExactMatch,EM)和准确度(F1)分值不断提高,逐渐超越人类水平的基准线(EM86.831,F189.452),并达到了前所未有的新高度(EM90.871,F193.183)(SQuAD2.0,2021)。刘知远团队提出,基于BabelNet(一种多语言的百科全书词典)为多种语言建立统一的义位知识库(Qi,Chang,Sun,Ouyang,&Liu,2020),可优化知识库的构建。2021年,严睿团队提出的检查模型优化了回答阅读理解问题的答案生成响应效能(Chen,etal.,2020)。这说明自然语言处理任务在智能化地执行阅读理解和问答测试方面的技术越来越成熟,这些技术衍生的智能工具可以在教育系统中帮助师生提高教与学的效率。

图4基于SQuAD2.0的测试结果

此外,对话系统属于多轮次对话的问答系统(例如,聊天机器人)。不同对话系统具有不同的复杂程度,有简单的单行响应对话系统(基于人工模板的聊天机器人),也有复杂的多轮次对话系统(数字语音助手)。现有的检索式对话系统可能会出现忽略上下文相关性而只能回答简单问题的情况,而严睿团队提出的基于预训练语言模型的文本–回复匹配模型,可以显著改善这个问题(Xuetal.,2020)。车万翔团队开发的目标管理模型使开放式对话能够获得更连贯且更有趣的多轮对话(Xu,Wang,Niu,Wu,&Che,2020)。在个性化对话系统的创新中,张亦驰提出的一种基于多动作数据增强的学习框架,可以有效学习到多样化的对话策略(Zhang,Ou,&Yu,2020)。黄民烈团队提出的个性化对话生成模型,可以在对话生成的时候控制回复中所展现的个性化属性(Zheng,Zhang,Huang,&Mao,2020)。而随着自然语言处理中对话系统的不断创新与发展,AI科学家开始将智能对话系统实现在教育机器人领域。例如,麻省理工学院媒体实验室(MITMediaLab)的CynthiaBreazeal团队设计的“社交机器人”,是可以与人合作的社交、情感智能机器,能满足从孩子到老年人各年龄段新技能的学习和情感需求(Cynthia,2019)。余胜泉团队开发的一个新颖实用的对话系统,专门帮助教师和家长为学生解决德育方面的困扰,可以精确理解用户的问题并实时推荐适合的解决方案(Peng,etal.,2019)。2021年,陈鹏鹤团队设计并创建了一个名为PBAdvisor的智能助手,它可以帮助没有心理学专业知识的老师和家长轻松地就学生的问题行为找到合适的解释方案,并解释问题行为形成的原因(Chen,Lu,Liu,&Xu,2021)。同年,卢宇团队开发了新型智能辅导系统RadarMath,以支持智能化的、个性化的数学学习教育。该智能辅导系统可以为学习者提供自动评分、个性化学习指导等服务(Lu,Pian,Chen,Meng,&Cao,2021)。这些智能对话系统可以在不同的教学环境中提供人性化的交互方式和个性化的智能辅导与教学,可见,基于自然语言处理技术的教育机器人展示了其在未来智能教育发展中巨大的应用前景。

(四)机器翻译系统

机器翻译是另一个广泛应用于教育领域的自然语言处理技术。机器翻译(MachineTranslation,MT)是利用计算机将一种自然语言(源语言)转变成另一种自然语言(目标语言)的自动翻译(Russell&Norvig,2002)。随着技术的不断发展,神经网络机器翻译(NeuralMachineTranslation,NMT)于2013年被提出(Kalchbrenner&Blunsom,2013)并迅速发展,它在文本翻译、对话系统和文字概括方面的性能不断得到优化和提升。在机器翻译任务中,双语互译质量评估辅助工具(bilingualevaluationunderstudy,BLEU)是非常重要的指标。2002年,KishorePapineni首次提出BLEU指标,其设计思想是机器翻译结果越接近专业人工翻译的结果,模型系统的效果就越佳(Papineni,Roukos,Ward,&Zhu,2002)。依据2018年斯坦福发布的人工智能年报,如图5所示,在2008年到2018年期间,模型系统在将新闻从英语翻译成德语的BLEU分数是2008年的3.5倍,而从德语翻译成英语的BLEU分数是2008年的2.5倍(Shoham,etal.,2018),这表明了机器翻译性能在过去十年的快速发展。

图5新闻稿翻译——WMT竞赛

通过以上分析可以发现,应用于教育领域的自然语言处理技术仍在快速发展,并不断赋能智能教育的发展与创新。随着智能工具的普及与成熟,越来越多的学生开始自主选择适合自己的智能学习工具,以满足个性化的学习需求。学校教师也开始在教学中应用智能批改、智能搜索、虚拟现实、智能学情分析等智能技术辅助备课、教学以及对学生的评估与管理,以增强课堂的趣味性、有效性和个性化。然而,自然语言处理技术赋能未来智能教育发展的过程中,机遇与挑战是共存的。

六、自然语言处理技术在智能教育发展中的应用趋势与挑战

基于上文的讨论,自然语言处理俨然已经成为智能教育未来发展过程中最重要的人工智能技术。同时,自然语言处理正在结合其他人工智能技术,给智能教育的未来发展带来新的机遇,同时也给传统的教育方法带来了新的挑战。

(一)智能教育未来发展趋势

迈向大规模个性化教育个性化教育是智能教育时代变革的必然趋势。《教育信息化十年发展规划(2011—2020年)》指出要为每一名学习者提供个性化学习的信息化环境和服务。通过本文的讨论可以发现,基于自然语言处理技术的智能工具可以为师生的教与学提供智能化、个性化的解决方案。未来的个性化教育,将主要建立在师生充分交互的大数据获取基础上。通过对这些教育数据的统计分析,可实现学生个性化评估反馈、以学定教、自动化辅导与答疑,并智能化推荐适合学生的学习内容,以提升学习效率与质量,从而实现大规模因材施教。其次,基于自然语言处理技术的智能推荐系统将更精确地对师生的教与学活动进行赋能,将标准化、专业化的传统教育逐渐转型为个性化、多样化的智能化教育。

教育智能化的战略布局2020年以来,疫情的蔓延加速了线上线下融合教学模式的普及:以学生为中心,通过智能技术连接线上和线下、虚拟和现实的学习场景,形成智能化教育场景生态,为实现个性化教学新样态提供了基础。在智能时代,教育组织、技术型企业机构以及社会相关部门应该密切沟通,相互合作,在分析人工智能最新技术范式和理念的基础上,明确教育智能化的发展方向,系统审视其应用场景,助力我国教育智能化建设。基于国家对智能时代教育发展的政策支持,结合我国国情,跨领域的合作应该从实践层面分析人工智能与教育系统各要素融合的路径,阐释智能教育理念下未来教育的体制机制、服务模式和治理体系,并形成有中国特色的人工智能教育发展战略布局。

(二)智能教育未来发展中的挑战

完善智能教育理论体系与传统教育不同,智能教育时代的教学方法、评价模式等都需要进行改进,以建设与智能时代相适应的教育观念与理论。伍红林曾表示,在智能技术支持下,教育学的学科形态和使命都将发生转变,例如,一些新的跨学科分支将产生,并有可能成为研究主流(伍红林,2020)。人工智能的快速发展正在逐步推动教育学基本理论研究的新变化,而教育存在形态的变化可能引起教育学原有研究领域和理论内涵的转换与更新,这将迫使教育学主动对其他学科进行吸收与转化。因此,随着人工智能技术的快速发展,我们应该对传统教育学理论进行完善,抓紧建构适应人工智能时代的教育学理论体系。

加强教育数据治理随着智能教育系统中自然语言处理技术的不断应用,教育数据的积累已经在一定程度上实现了教与学的自动化和智能化,然而,这其中也潜藏着风险。近年来,智能技术伦理、教育数据安全方面的一些问题受到很多关注,比如,个人数字信息的过分暴露可能会对教师与学生的隐私、安全等造成严重的负面影响(清华大学,2020)。因此,加强智能教育时代的数据治理研究已经刻不容缓。数据治理的能力决定着未来教育发展的水平和布局,所以教育组织应该:(1)搭建智能化数据资产平台,建立数据收集、整合、治理、存储的常态化监控体系;(2)建立有效的数据共享、管理与保障体系,通过对师生行为数据进行梳理,建立全局数据字典,完成数据的标准化和治理化;(3)建设跨校区统一支撑平台,加强统一身份认证、课程认证、学分认证、教师角色定位等问题的治理,保障数据的隐私性。因此,搭建智能教育数据资源及管理平台,构建智能教育大数据的治理体系,是人工智能时代未来智能教育建设的关键路径。

进一步优化教育智能技术沈向洋曾表示:“人工智能要真正达到人类思维水平,特别是在认知方面,还有很长的路要走。”(沈向洋,2018)尽管人工智能依靠深度学习取得了快速的发展,却仍需要依赖大规模标注的数据进行监督训练,因此,要实现真正的人类智能,计算机还需要掌握大量的常识性知识,以人的思维模式和知识结构来进行语言理解、视觉场景解析和决策分析。刘群曾指出,关于自然语言处理模型系统的学习问题,尽管很多知识点的逻辑推理对人类来说不是问题,但是计算机理解起来却有困难;同时,自然语言处理还面临着标注数据资源贫乏的问题,例如,小语种的机器翻译、特定领域对话系统、多轮问答系统等,都将使自然语言处理在教育领域的应用面临挑战(知乎,2019)。在2021年麻省理工学院的人工智能会议上,LexFridman提出希望自然语言处理在未来智能教育的发展过程中可以使常识推理与语言模型相结合,通过上下文信息实现从有限的句子智能写作到包含数千个词语的段落篇章写作(Lex,2021)。关于其他新兴智能技术,例如,智能教学机器人、脑机接口改善学习能力等,则还需要进一步成熟与优化,并加快应用于教育的智能发展。

(张博工作邮箱:bzhang@ed.ecnu.edu.cn)

上期回顾

特稿

尤西林:中国当代通识教育的起源背景与现状问题——兼论通识教育“评估−调整”机制的意义

高等工程教育

乔伟峰等|基于共同体准则的治理:工程教育认证的理论源流与实践走向

曾开富等|中美研究型大学工程教育制度与理念研究——基于语料库的批判话语分析方法

李曼丽等|新时期本科教育拔尖创新人才培养模式探索——一项关于清华“钱班”12年试点的质性研究

基本理论与基本问题

吴瑞君等|我国人口在校模式高质量发展研究

李小红等|家庭文化资本对学生阅读素养的影响:基于多层logistic模型的实证研究

杨钋,颜芷邑|寄宿如何影响学生的心理健康?

郑磊,孙钰|有志者,事竟成——学生意志力对认知能力的异质性影响

蔡庆丰等|交通基础设施改善会提升家庭教育期望吗?——基于“中国家庭追踪调查”的实证分析

李毅,李纪阳|社会博弈与公共理性:义务教育“公民同招”的治理逻辑与路径

本刊声明

一、本刊对所有来稿不收取任何费用,也未委托任何机构或个人代为组稿。

二、本刊严禁一稿多投,如因作者一稿多投给本刊造成损失的,本刊保留追究作者法律责任的权利。

三、作者投稿请登陆华东师范大学学报期刊社官方网站(www.xb.ecnu.edu.cn)。

华东师范大学学报期刊社

华东师范大学学报期刊社微信矩阵

我知道你在看哟返回搜狐,查看更多

自然语言处理的应用前景

自然语言处理(NLP)的定义

自然语言处理(NLP)是人工智能技术的一个分支,它使计算机能够像人们一样理解、处理和生成语言,并且在商业中的应用正在迅速增长。

虽然自然语言处理(NLP)这一术语最初指的是人工智能系统的阅读能力,但它后来成为所有计算语言学的一种通俗说法。其子类别包括自然语言生成(NLG)(计算机自行创建通信的能力)和自然语言理解(NLU)(理解俚语、错误发音、拼写错误以及其他语言变体的能力)。

[[323561]]

自然语言处理(NLP)的工作原理

自然语言处理通过机器学习(ML)进行。机器学习系统像其他任何形式的数据一样存储单词及其组合方式。将短语、句子,有时甚至整本书的内容都输入机器学习引擎,并根据语法规则和人们的现实语言习惯(或两者兼而有之)进行处理。然后,计算机使用这些数据来查找模式并推断出下一步的工作。以翻译软件为例:在法语中,“我要去公园”是“Jevaisauparc”,因此机器学习预测“我要去商店”也将以“Jevaisau”开头。

自然语言处理应用

机器翻译是更好的自然语言处理(NLP)应用程序之一,但它并不是最常用的一种。人们每次在Google或Bing搜索引擎中查找内容时,都将数据输入到系统中。当单击搜索结果时,搜索引索会将其视为对找到的结果正确的确认,并在以后使用这个信息更好地进行搜索。

聊天机器人的工作方式与其相同:它们与Slack、MicrosoftMessenger和其他聊天程序集成在一起,可以在其中读取人们所说的语言,然后在说出触发词语时将其打开。当Siri和Alexa等语音助手听到“Hey,Alexa”之类的短语时,它们就会进行响应。这就是批评者指责这些程序一直在监听的原因:如果不是,它们永远不会知道人们何时需要它们。除非人们自己打开应用程序,否则自然语言处理程序将在后台运行,等待短语的出现。

自然语言处理(NLP)对人们的利大于弊。人们可以想象一下没有谷歌搜索或者拼写检查程序的生活。它使用自然语言处理(NLP)将输入的单词与字典中的单词进行比较。通过比较这两个数据集,拼写检查程序可以找出问题并提供建议。

自然语言处理(NLP)示例

搜索引擎和拼写检查的应用如今非常普遍,人们经常将它们视为一种理所当然的技术,尤其是在自然语言处理(NLP)可以显著提高生产力的工作中。例如如果想知道还剩下多少假期?不必询问人力资源部门。可以采用聊天机器人Talla节省时间,它会搜索企业政策以寻找答案。打电话联系客户需要翻看手机所存的电话号码?可以采用语音提示,通过声音搜索启动SecondMind,将会给出所需的号码。这种集成的搜索工具可以加快员工与客户的沟通。

自然语言处理还可以帮助招聘者对简历进行分类,吸引各种应聘者并雇用更多合格的员工。对垃圾邮件进行检测可以使用自然语言处理(NLP),以阻止垃圾电子邮件进入人们的收件箱;此外,可以采用Outlook和Gmail等程序将某些人的邮件分类到创建的文件夹中。

诸如情绪分析之类的工具可帮助企业快速识别推文内容的好坏,从而可以了解客户的顾虑。情感分析不仅可以处理社交媒体上的文字,还可以分解词语出现的语境。对于分析机构Periscopic公司的数据可视化工具SkyeMorét来说,只有30%的英语单词是正面的,其余的是中性或负面的。因此,自然语言处理(NLP)可以帮助企业更全面地理解一个帖子:在这些中性词汇背后,消费者表达的情感是什么?

传统上,企业使用自然语言处理将反馈分为积极和消极两类。但是FleishmanHillard公司社会和创新业务的高级副总裁RyanSmith表示,当今的自然语言处理工具可以识别更精确的情绪,例如悲伤、愤怒和恐惧。

自然语言处理(NLP)软件

无论人们是要构建聊天机器人、语音助手、预测文本应用程序,还是以自然语言处理为核心的其他应用程序,企业都将需要采用工具。根据调查,最受欢迎的自然语言处理软件包括:

自然语言工具包(NLTK)。自然语言工具包(NLTK)是一个开放源代码框架,用于构建Python程序以使用人类语言数据。它是在宾夕法尼亚大学计算机和信息科学系开发的,为50多个语料库和词汇资源库、一个文本处理库、自然语言处理库和论坛提供接口。自然语言工具包(NLTK)是在Apache2.0许可下提供的。SpaCy。SpaCy是一个开放源代码库,用于高级自然语言处理,专门为生产目的而非研究目的而设计。SpaCy的设计充分考虑了高级数据科学,并允许深度数据挖掘。它是由麻省理工学院授权的。Gensim。Gensim是一个用于自然语言处理的开源Python库。独立于平台的库支持可扩展的统计语义、针对语义结构的纯文本文档分析以及检索语义相似文档的能力。可以在无需人工监督的情况下处理大量文本。AmazonComprehend。这项Amazon服务不需要机器学习的经验。它旨在帮助组织从电子邮件、客户评论、社交媒体、支持通知单和其他文本中获得见解。它使用情感分析、词性提取和标记化来分析单词背后的意图。IBMWatson音频分析器。这个基于云计算的解决方案旨在用于社交监听、聊天机器人集成和客户服务监控。它可以分析客户帖子中的情绪和语气,并监视客户服务电话和聊天对话。谷歌云翻译。这个API使用自然语言处理来检查源文本以确定语言,然后使用神经机器翻译将文本动态翻译为另一种语言。这个API允许用户将功能集成到他们自己的程序中。

自然语言处理(NLP)课程

有很多资源可用于学习创建和维护自然语言处理应用程序,其中许多是免费的资源。其中包括:

DataCamp中的Python自然语言处理。这门免费课程提供15个视频和51个练习文件,涵盖了使用Python处理自然语言的基础知识。它涵盖了如何识别和分隔单词,如何在文本中提取主题,以及如何构建自己的虚假新闻分类器。Udemy的自然语言处理(NLP)。这个入门课程提供使用Python和自然语言工具包处理和分析文本的实践经验。它包括三个小时的点播视频,三篇文章和16个可下载资源。该课程费用为19.99美元,并提供结业证书。使用Udemy的Python进行自然语言处理(NLP)。这个课程面向具有语言基础编程经验,理解面向对象编程的概念,具有基础到中级数学知识以及矩阵运算知识的个人。它完全基于项目,并且涉及构建文本分类器以实时预测推文的情绪,以及构建文章摘要器,该文章摘要器可以获取文章并提取摘要。该课程包括10.5小时的点播视频和8篇文章。该课程费用为19.99美元,并提供结业证书。edX的自然语言处理(NLP)。由微软公司通过edX提供的为期六周的课程概述了自然语言处理和经典机器学习方法的使用。它涵盖了统计机器翻译和深度语义相似性模型(DSSM)及其应用。它还涵盖了在自然语言处理和视觉语言多模式智能中应用的深度强化学习技术。这是一门高级课程,完成该课程学习的人员只需支付99美元即可获得认证证书。Coursera公司提供的自然语言处理。本课程是Coursera公司高级机器学习专业化的一部分,涵盖自然语言处理任务,包括情感分析、摘要、对话状态跟踪等。Coursera公司表示,这是一门高级课程,需要学习五个星期,每个星期需要学习四到五个小时。

自然语言处理为社会公益提供支持

除了帮助企业处理数据外,情绪分析还可以帮助人们了解社会动态。例如,Periscopic已将自然语言处理(NLP)与视觉识别结合使用,创建了特朗普表情计算器(TrumpEmoticoaster),这是一种处理语言和面部表情的数据引擎,目的是了解美国特朗普总统的情绪状态。

类似的技术也可以防止校园枪击事件:在哥伦比亚大学,研究人员已经处理了9000名暴力倾向的年轻人发布的200万条推文,并在寻找问题的答案:随着青少年越来越倾向采用暴力,那么其语言是如何改变的?

Coursera公司项目总监DesmondPatton博士说,“有问题的内容会随着时间的推移而发展。”随着一些年轻人越来越接近危险的边缘,他们会通过语言表达。然后,自然语言处理会标记出有问题的情绪,以便社会工作者可以进行干预。

与Periscopic一样,Columbia公司将情感分析与图像识别结合使用,以提高准确性。Patton说,计算机视觉将推文上的图片进行分解,然后机器学习将它们与语言一起处理,以告诉“图片的真实情感”。这个图像是关于悲伤的吗?这是有关威胁的图片吗?这些图像中还发生了什么,可以帮助人们更好地理解?”除校园枪击事件之外,哥伦比亚计划还希望采用这种技术防止团伙暴力。

自然语言处理(NLP)以提高个人水平

自然语言处理(NLP)还可以帮助人们监控自己的情绪状态。Woebot是一种电子治疗师,可通过FacebookMessenger聊天机器人或独立应用程序与用户联系。不过,目前还没有高级的情感分析技术,Woebot实际上只能跟踪那些抑郁和焦虑,可能表明用户面临紧急情况的词汇。

 

自然语言处理技术(NLP)在推荐系统中的应用

作者: 张相於,58集团算法架构师,转转搜索推荐部负责人,负责搜索、推荐以及算法相关工作。多年来主要从事推荐系统以及机器学习,也做过计算广告、反作弊等相关工作,并热衷于探索大数据和机器学习技术在其他领域的应用实践。 责编:何永灿(heyc@csdn.net) 本文为《程序员》原创文章,更多精彩文章请订阅《程序员》

概述

个性化推荐是大数据时代不可或缺的技术,在电商、信息分发、计算广告、互联网金融等领域都起着重要的作用。具体来讲,个性化推荐在流量高效利用、信息高效分发、提升用户体验、长尾物品挖掘等方面均起着核心作用。在推荐系统中经常需要处理各种文本类数据,例如商品描述、新闻资讯、用户留言等等。具体来讲,我们需要使用文本数据完成以下任务:

候选商品召回。候选商品召回是推荐流程的第一步,用来生成待推荐的物品集合。这部分的核心操作是根据各种不同的推荐算法来获取到对应的物品集合。而文本类数据就是很重要的一类召回算法,具有不依赖用户行为、多样性丰富等优势,在文本信息丰富或者用户信息缺乏的场合中具有非常重要的作用。相关性计算。相关性计算充斥着推荐系统流程的各个步骤,例如召回算法中的各种文本相似度算法以及用户画像计算时用到的一些相关性计算等。作为特征参与模型排序(CTR/CVR)。在候选集召回之后的排序层,文本类特征常常可以提供很多的信息,从而成为重要的排序特征。

但是相比结构化信息(例如商品的属性等),文本信息在具体使用时具有一些先天缺点。

首先,文本数据中的结构信息量少。严格来说,文本数据通常是没有什么结构的,一般能够有的结构可能只是“标题”、“正文”、“评论”这样区分文本来源的结构,除此以外一般就没有更多的结构信息了。为什么我们要在意结构信息呢?因为结构代表着信息量,无论是使用算法还是业务规则,都可以根据结构化信息来制定推荐策略,例如“召回所有颜色为蓝色的长款羽绒服”这样一个策略里就用到了“颜色”和“款式”这两个结构化信息。但是如果商品的描述数据库中没有这样的结构化信息,只有一句“该羽绒服为蓝色长款羽绒服”的自由文本,那么就无法利用结构信息制定策略了。

其次,文本内容的信息量不确定。与无结构化相伴随的,是文本数据在内容的不确定性,这种不确定性体现在内容和数量上,例如不同用户对同一件二手商品的描述可能差异非常大,具体可能在用词、描述、文本长短等方面都具有较大差异。同样的两个物品,在一个物品的描述中出现的内容在另外一个物品中并不一定会出现。这种差异性的存在使得文本数据往往难以作为一种稳定可靠的数据源来使用,尤其是在UGC化明显的场景下更是如此。

再次,自由文本中的歧义问题较多。歧义理解是自然语言处理中的重要研究课题,同时歧义也影响着我们在推荐系统中对文本数据的使用。例如用户在描述自己的二手手机时可能会写“出售iPhone6一部,打算凑钱买iPhone7”这样的话,这样一句对人来说意思很明确的话,却对机器造成了很大困扰:这个手机究竟是iPhone6还是iPhone7?在这样的背景下如何保证推荐系统的准确率便成为了一个挑战。

但是文本数据也不是一无是处,有缺点的同时也具有一些结构化数据所不具有的优点:

数据量大。无结构化的文本数据一般来说是非常容易获得的,例如各种UGC渠道,以及网络爬取等方法,都可穿获得大量文本数据。多样性丰富。无结构化是一把双刃剑,不好的一面已经分析过,好的一面就是由于其开放性,导致具有丰富的多样性,会包含一些结构规定以外的数据。信息及时。在一些新名词,新事物出现之后,微博、朋友圈常常是最先能够反应出变化的地方,而这些都是纯文本的数据,对这些数据的合理分析,能够最快得到结构化、预定义数据所无法得到的信息,这也是文本数据的优势。

综上所述,文本数据是一类量大、复杂、丰富的数据,对推荐系统起着重要的作用,本文将针对上面提到的几个方面,对推荐系统中常见的文本处理方法进行介绍。

从这里出发:词袋模型

词袋模型(BagofWords,简称BOW模型)是最简单的文本处理方法,其核心假设非常简单,就是认为一篇文档是由文档中的词组成的多重集合(多重集合与普通集合的不同在于考虑了集合中元素的出现次数)构成的。这是一种最简单的假设,没有考虑文档中诸如语法、词序等其他重要因素,只考虑了词的出现次数。这样简单的假设显然丢掉了很多信息,但是带来的好处是使用和计算都比较简单,同时也具有较大的灵活性。

在推荐系统中,如果将一个物品看作一个词袋,我们可以根据袋中的词来召回相关物品,例如用户浏览了一个包含“羽绒服”关键词的商品,我们可以召回包含“羽绒服”的其他商品作为该次推荐的候选商品,并且可以根据这个词在词袋中出现的次数(词频)对召回商品进行排序。

这种简单的做法显然存在着很多问题:

首先,将文本进行分词后得到的词里面,并不是每个词都可以用来做召回和排序,例如“的地得你我他”这样的“停用词”就该去掉,此外,一些出现频率特别高或者特别低的词也需要做特殊处理,否则会导致召回结果相关性低或召回结果过少等问题。

其次,使用词频来度量重要性也显得合理性不足。以上面的“羽绒服”召回为例,如果在羽绒服的类别里使用“羽绒服”这个词在商品描述中的出现频率来衡量商品的相关性,会导致所有的羽绒服都具有类似的相关性,因为在描述中大家都会使用类似数量的该词汇。所以我们需要一种更为科学合理的方法来度量文本之间的相关性。

除了上面的用法,我们还可以将词袋中的每个词作为一维特征加入到排序模型中。例如,在一个以LR为模型的CTR排序模型中,如果这一维特征的权重为w,则可解释为“包含这个词的样本相比不包含这个词的样本在点击率的logodds上要高出w”。在排序模型中使用词特征的时候,为了增强特征的区分能力,我们常常会使用简单词袋模型的一种升级版——N-gram词袋模型。

N-gram指的就是把N个连续的词作为一个单位进行处理,例如:“Johnlikestowatchmovies.Marylikesmoviestoo.”这句话处理为简单词袋模型后的结果为:

["John":1,"likes":2,"to":1,"watch":1,"movies":2,"Mary":1,"too":1]

而处理为bigram(2-gram)后的结果为:

["Johnlikes":1,"likesto":1,"towatch":1,"watchmovies":1,"Marylikes":1,"likesmovies":1,"moviestoo":1]

做这样的处理有什么好处呢?如果将bigram作为排序模型的特征或者相似度计算的特征,最明显的好处就是增强了特征的区分能力,简单来讲就是:两个有N个bigram重合的物品,其相关性要大于有N个词重合的物品。从根本上来讲,是因为bigram的重合几率要低于1-gram(也就是普通词)的重合几率。那么是不是N-gram中的N越大就越好呢?N的增大虽然增强了特征的区分能力,但是同时也加大了数据的稀疏性,从极端情况来讲,假设N取到100,那么几乎不会有两个文档有重合的100-gram了,那这样的特征也就失去了意义。一般在实际应用中,bigram和trigram(3-gram)能够在区分性和稀疏性之间取到比较好的平衡,N如果继续增大,稀疏性会有明显增加,但是效果却不会有明显提升,甚至还会有降低。

综合来看,虽然词袋模型存在着明显的弊端,但是只需要对文本做简单处理就可以使用,所以不失为一种对文本数据进行快速处理的使用方法,并且在预处理(常用的预处理包括停用词的去除,高频/低频词的去除或降权等重要性处理方法,也可以借助外部高质量数据对自由文本数据进行过滤和限定,以求获得质量更高的原始数据)充分的情况下,也常常能够得到很好的效果。

统一度量衡:权重计算和向量空间模型

从上文我们看到简单的词袋模型在经过适当预处理之后,可以用来在推荐系统中召回候选物品。但是在计算物品和关键词的相关性,以及物品之间的相关性时,仅仅使用简单的词频作为排序因素显然是不合理的。为了解决这个问题,我们可以引入表达能力更强的基于TF-IDF的权重计算方法。在TF-IDF方法中,一个词t在文档d中权重的计算方法为:

其中tft,d代表t在d中出现的频次,而dft指的是包含t的文档数目,N代表全部文档的数目。

TF-IDF以及其各种改进和变种(关于TF-IDF变种和改进的详细介绍,可参考《IntroductiontoInformationRetrieval》的第六章。)相比简单的TF方法,核心改进在于对一个词的重要性度量,例如:

原始TF-IDF在TF的基础上加入了对IDF的考虑,从而降低了出现频率高而导致无区分能力的词的重要性,典型的如停用词。因为词在文档中的重要性和出现次数并不是完全线性相关,非线性TF缩放对TF进行log缩放,从而降低出现频率特别高的词所占的权重。词在文档中出现的频率除了和重要性相关,还可能和文档的长短相关,为了消除这种差异,可以使用最大TF对所有的TF进行归一化。

这些方法的目的都是使对词在文档中重要性的度量更加合理,在此基础之上,我们可以对基于词频的方法进行改进,例如,可以将之前使用词频来对物品进行排序的方法,改进为根据TF-IDF得分来进行排序。

但是除此以外,我们还需要一套统一的方法来度量关键词和文档,以及文档和文档之间的相关性,这套方法就是向量空间模型(VectorSpaceModel,简称VSM)。

VSM的核心思想是将一篇文档表达为一个向量,向量的每一维可以代表一个词,在此基础上,可以使用向量运算的方法对文档间相似度进行统一计算,而这其中最为核心的计算,就是向量的余弦相似度计算:

其中V(d1)和V(d2)分别为两个文档的向量表示。这样一个看似简单的计算公式其实有着非常重要的意义。首先,它给出了一种相关性计算的通用思路,那就是只要能将两个物品用向量进行表示,就可以使用该公式进行相关性计算。其次,它对向量的具体表示内容没有任何限制——基于用户行为的协同过滤使用的也是同样的计算公式,而在文本相关性计算方面,我们可以使用TFIDF填充向量,同时也可以用N-gram,以及后面会介绍的文本主题的概率分布、各种词向量等其他表示形式。只要对该公式的内涵有了深刻理解,就可以根据需求构造合理的向量表示。再次,该公式具有较强的可解释性,它将整体的相关性拆解为多个分量的相关性的叠加,并且这个叠加方式可以通过公式进行调节,这样一套方法很容易解释,即使对非技术人员,也是比较容易理解的,这对于和产品、运营等非技术人员解释算法思路有很重要的意义。最后,这个公式在实际计算中可以进行一些很高效的工程优化,使其能够从容应对大数据环境下的海量数据,这一点是其他相关性计算方法很难匹敌的。

VSM是一种“重剑无锋,大巧不工”的方法,形态简单而又变化多端,领会其精髓之后,可以发挥出极大的能量。

透过现象看本质:隐语义模型

前面介绍了文本数据的一些“显式”使用方法,所谓显式,是指我们将可读可理解的文本本身作为了相关性计算、物品召回以及模型排序的特征。这样做的好处是简单直观,能够清晰地看到起作用的是什么,但是其弊端是无法捕捉到隐藏在文本表面之下的深层次信息。例如,“羽绒服”和“棉衣”指的是类似的东西,“羽绒服”和“棉鞋”具有很强的相关性,类似这样的深层次信息,是显式的文本处理所无法捕捉的,因此我们需要一些更复杂的方法来捕捉,而隐语义模型(LatentSemanticAnalysis,简称LSA)便是这类方法的鼻祖之一。

隐语义模型中的“隐”指的是隐含的主题,这个模型的核心假设,是认为虽然一个文档由很多的词组成,但是这些词背后的主题并不是很多。换句话说,词不过是由背后的主题产生的,这背后的主题才是更为核心的信息。这种从词下沉到主题的思路,贯穿着我们后面要介绍到的其他模型,也是各种不同文本主体模型(TopicModel)的共同中心思想,因此理解这种思路非常的重要。

在对文档做LSA分解之前,我们需要构造文档和词之间的关系,一个由5个文档和5个词组成的简单例子如下:

LSA的做法是将这个原始矩阵C进行如下形式的SVD分解:

其中U是矩阵CCT的正交特征向量矩阵,V是矩阵CTC的正交特征向量矩阵,∑k是包含前k个奇异值的对角矩阵,k是事先选定的一个降维参数。

得到原始数据的一个低维表示,降低后的维度包含了更多的信息,可以认为每个维度代表了一个主题。降维后的每个维度包含了更丰富的信息,例如可以识别近义词和一词多义。可以将不在训练文档中的文档d通过变换为新向量空间内的一个向量(这样的变换无法捕捉到新文档中的信息,例如词的共现,以及新词的出现等等,所以该模型需要定期进行全量训练。),从而可以在降维后的空间里计算文档间相似度。由于新的向量空间包含了同义词等更深层的信息,这样的变换会提高相似度计算的准确率和召回率。

为什么LSA能具有这样的能力?我们可以从这样一个角度来看待:CCT中每个元素CCTi,j代表同时包含词i和词j的文档数量,而CTC中每个元素CTCi,j代表文档i和文档j共享的词的数量。所以这两个矩阵中包含了不同词的共同出现情况,以及文档对词的共享情况,通过分解这些信息得到了类似主题一样比关键词信息量更高的低维度数据。

从另外一个角度来看,LSA相当于是对文档进行了一次软聚类,降维后的每个维度可看做是一个类,而文档在这个维度上的取值则代表了文档对于这个聚类的归属程度。

LSA处理之后的数据推荐中能做什么用呢?首先,我们可以将分解后的新维度(主题维度)作为索引的单位对物品进行索引,来替代传统的以词为单位的索引,再将用户对物品的行为映射为对新维度的行为。这两个数据准备好之后,就可以使用新的数据维度对候选商品进行召回,召回之后可以使用VSM进行相似度计算,如前文所述,降维后的计算会带来更高的准确率和召回率,同时也能够减少噪音词的干扰,典型的,即使两个文档没有任何共享的词,它们之间仍然会存在相关性,而这正是LSA带来的核心优势之一。此外,还可以将其作为排序模型的排序特征。

简单来讲,我们能在普通关键词上面使用的方法,在LSA上面仍然全部可用,因为LSA的本质就是对原始数据进行了语义的降维,只需将其看作是信息量更丰富的关键词即可。

可以看到LSA相比关键词来说前进了一大步,主要体现在信息量的提升,维度的降低,以及对近义词和多义词的理解。但是LSA同时也具有一些缺点,例如:

训练复杂度高。LSA的训练时通过SVD进行的,而SVD本身的复杂度是很高的,在海量文档和海量词汇的场景下难以计算,虽然有一些优化方法可降低计算的复杂度,但该问题仍然没有得到根本解决。检索(召回)复杂度高。如上文所述,使用LSA做召回需要先将文档或者查询关键词映射到LSA的向量空间中,这显然也是一个耗时的操作。LSA中每个主题下词的值没有概率含义,甚至可能出现负值,只能反应数值大小关系。这让我们难以从概率角度来解释和理解主题和词的关系,从而限制了我们对其结果更丰富的使用。概率的魔力:概率隐语义模型

为了进一步发扬隐语义模型的威力,并尽力克服LSA模型的问题,ThomasHofmann在1999年提出了概率隐语义模型(probabilisticLatentSemanticAnalysis,简称pLSA)。从前面LSA的介绍可以看出,虽然具体的优化方法使用的是矩阵分解,但是从另一个角度来讲,我们可以认为分解后的U和V两个矩阵中的向量,分别代表文档和词在隐语义空间中的表示,例如一个文档的隐向量表示为(1,2,0)T,代表其在第一维隐向量上取值为1,第二维上取值为2,第三维上取值为0。如果这些取值能够构成一个概率分布,那么不仅模型的结果更利于理解,同时还会带来很多优良的性质,这正是pLSA思想的核心:将文档和词的关系看作概率分布,然后试图找出这个概率分布来,有了文档和词的概率分布,我们就可以得到一切我们想要得到的东西了。

在pLSA的基本假设中,文档d和词w的生成过程如下:

以P(d)的概率选择文档d。以P(z|d)的概率选择隐类z。以P(w|z)的概率从z生成w。P(z|d)和P(w|z)均为多项式分布。

将这个过程用联合概率进行表达得到:

图1pLSA的生成过程

可以看到,我们将隐变量z作为中间桥梁,将文档和词连接了起来,形成了一个定义良好、环环相扣的概率生成链条(如图1所示)。虽然pLSA的核心是一种概率模型,但是同样可以用类似LSI的矩阵分解形式进行表达。为此,我们将LSI中等号右边的三个矩阵进行重新定义:

在这样的定义下,原始的矩阵C仍然可以表述为C=U∑VT。这样的对应关系让我们更加清晰地看到了前面提到的pLSA在概率方面的良好定义和清晰含义,同时也揭示了隐语义概率模型和矩阵分解之间的密切关系(关于概率模型和矩阵分解的密切关系可参考这篇文档:http://www.cs.cmu.edu/~epxing/Class/10708-15/slides/LDA_SC.pdf)。在这样的定义,隐变量z所代表的主题含义更加明显,也就是说,我们可以明确的把一个z看作一个主题,主题里的词和文档中的主题都有着明确的概率含义。也正是由于这样良好的性质,再加上优化方法的便捷性,使得从pLSA开始,文本主题开始在各种大数据应用中占据重要地位。

从矩阵的角度来看,LSA和pLSA看上去非常像,但是它们的内涵却有着本质的不同,这其中最为重要的一点就是两者的优化目标是完全不同的:LSA本质上是在优化SVD分解后的矩阵和原始矩阵之间的平方误差,而pLSA本质上是在优化似然函数,是一种标准的机器学习优化套路。也正是由于这一点本质的不同,导致了两者在优化结果和解释能力方面的不同。

至此我们看到,pLSA将LSA的思想从概率分布的角度进行了一大步扩展,得到了一个性质更加优良的结果,但是pLSA仍然存在一些问题,主要包括:

由于pLSA为每个文档生成一组文档级参数,模型中参数的数量随着与文档数成正比,因此在文档数较多的情况下容易过拟合。pLSA将每个文档d表示为一组主题的混合,然而具体的混合比例却没有对应的生成概率模型,换句话说,对于不在训练集中的新文档,pLSA无法给予一个很好的主题分布。简言之,pLSA并非完全的生成式模型。

而LDA的出现,就是为了解决这些问题。

概率的概率:生成式概率模型

为了解决上面提到的pLSA存在的问题,DavidBlei等人在2003年提出了一个新模型,名为“隐狄利克雷分配”(LatentDirichletAllocation,简称LDA),这个名字念起来颇为隐晦,而且从名字上似乎也看不出究竟是个什么模型,在这里我们试着做一种可能的解读:

Latent:这个词不用多说,是说这个模型仍然是个隐语义模型。Dirichlet:这个词是在说该模型涉及到的主要概率分布式狄利克雷分布。Allocation:这个词是在说这个模型的生成过程就是在使用狄利克雷分布不断地分配主题和词。

上面并非官方解释,但希望能对理解这个模型能起到一些帮助作用。

LDA的中心思想就是在pLSA外面又包了一层先验,使得文档中的主题分布和主题下的词分布都有了生成概率,从而解决了上面pLSA存在的“非生成式”的问题,顺便也减少了模型中的参数,从而解决了pLSA的另外一个问题。在LDA中为一篇文档di生成词的过程如下:

从泊松分布中抽样一个数字N作为文档的长度(这一步并非必须,也不影响后面的过程)。从狄利克雷分布Dir(α)中抽样一个样本θi,代表该篇文档下主题的分布。从狄利克雷分布Dir(β)中抽样一组样本Φk,代表每个主题下词的分布。对于1到N的每个词wn: 从多项式分布Multinomial(θi)中抽样一个主题ci,j。从多项式分布Multinomial(Φi)中抽样一个词wi,j。

图2LDA的生成过程

忽略掉最开始选择文档长度的步骤,我们发现LDA的生成过程相比pLSA来讲,在文档到主题的分布和主题到词的分布上面都加了一层概率,使得这两者都加上了一层不确定性,从而能够很自然地容纳训练文档中没有出现过的文档和词,这使得LDA具有了比pLSA更好的概率性质。

LDA的应用

这部分我们介绍LDA在用作相似度计算和排序特征时需要注意的一些地方,然后介绍以LDA为代表的文本主题在推荐系统中更多不同角度的应用。

相似度计算

上面提到LSA可以直接套用到VSM中进行相似度计算,在LDA中也可以做类似的计算,具体方法是把文档的主题分布值向量化然后用余弦公式进行计算。但是把余弦相似度替换为KLdivergence或Jensen–Shannondivergence效果更好,原因是LDA给出的主题分布是含义明确的概率值,用度量概率之间相似度的方法来进行度量更为合理。

排序特征

将物品的LDA主题作为排序模型的特征是一种很自然的使用方法,但并不是所有的主题都有用。物品上的主题分布一般有两种情况:

有少数主题(三个或更少)占据了比较大的概率,剩余的主题概率加起来比较小。所有主题的概率值都差不多,都比较小。

在第一种情况下,只有前面几个概率比较大的主题是有用的,而在第二种情况下,基本上所有的主题都没有用。那么该如何识别这两种情况呢?第一种方法,可以根据主题的概率值对主题做一个简单的K-Means聚类,K选为2,如果是第一种情况,那么两个类中的主题数量会相差较大——一个类中包含少量有用主题,另一个类包含其他无用主题;而第二种情况下主题数量则相差不大,可以用这种方法来识别主题的重要性。第二种方法,可以计算主题分布的信息熵,第一种情况对应的信息熵会比较小,而第二种情况会比较大,选取合适的阈值也可以区分这两种情况。

物品打标签&用户打标签

为物品计算出其对应的主题,以及主题下面对应的词分布之后,我们可以选取概率最大的几个主题,然后从这几个主题下选取概率最大的几个词,作为这个物品的标签。在此基础上,如果用户对该物品发生了行为,则可以将这些标签传播到用户身上。

这种方法打出的标签,具有非常直观的解释,在适当场景下可以充当推荐解释的理由。例如我们在做移动端个性化推送时,可供展示文案的空间非常小,可以通过上面的方式先为物品打上标签,然后再根据用户把标签传播到用户身上,在推送时将这些标签词同时作为召回源和推荐理由,让用户明白为什么给他做出这样的推荐。

主题&词的重要性度量

LDA训练生成的主题中,虽然都有着同等的位置,但是其重要性却是各不相同的,有的主题包含了重要的信息,有的则不然。例如,一个主题可能包含“教育、读书、学校”等词,和这样主题相关的文档,一般来说是和教育相关的主题,那么这就是一个信息量高的主题;相反,有的主题可能会包含“第一册、第二册、第三册……”等词(如果在一个图书销售网站的所有图书上训练LDA,就有可能得到这样的主题,因为有很多套装图书都包含这样的信息),和这样主题相关的文档却有可能是任何主题,这样的主题就是信息量低的主题。

如何区分主题是否重要呢?从上面的例子中我们可以得到启发:重要的主题不会到处出现,只会出现在小部分与之相关的文档中,而不重要的主题则可能在各种文章中都出现。基于这样的思想,我们可以使用信息熵的方法来衡量一个主题中的信息量。通过对LDA输出信息做适当的变换,我们可以得到主题θi在不同文档中的概率分布,然后我们对这个概率分布计算其信息熵,通俗来讲信息熵衡量了一个概率分布中概率值分散程度,越分散熵越大,越集中熵越小。所以在我们的问题中,信息熵越小的主题,说明该主题所对应的文档越少,主题的重要性越高。

使用类似的方法,我们还可以计算词的重要性,在此不再赘述。

更多应用

除了上面提到的,LDA还有很多其他应用,甚至在文本领域以外的图像等领域也存在着广泛应用。LSA/pLSA/LDA这些主题模型的核心基础是词在文档中的共现,在此基础上才有了各种概率分布,把握住这个核心基础,就可以找到文本主体模型的更多应用。例如,协同过滤问题中,基础数据也是用户对物品的共同行为,这也构成了文本主题模型的基础,因此也可以使用LDA对用户对物品的行为进行建模,得到用户行为的主题,以及主题下对应的物品,然后进行物品/用户的推荐。

捕捉上下文信息:神经概率语言模型

以LDA为代表的文本主题模型通过对词的共现信息的分解处理,得到了很多有用的信息,但是pLSA/LDA有一个很重要的假设,那就是文档集合中的文档,以及一篇文档中的词在选定了主题分布的情况下都是相互独立,可交换的,换句话说,模型中没有考虑词的顺序以及词和词之间的关系,这种假设隐含了两个含义:

在生成词的过程中,之前生成的词对接下来生成的词是没有影响的。两篇文档如果包含同样的词,但是词的出现顺序不同,那么在LDA看来他们是完全相同的。

这样的假设使得LDA会丢失一些重要的信息,而近年来得到关注越来越多的以word2vec为代表的神经概率语言模型恰好在这方面和LDA形成了一定程度的互补关系,从而可以捕捉到LDA所无法捕捉到的信息。

word2vector的中心思想用一句话来讲就是:Awordischaracterizedbythecompanyitkeeps(一个词的特征由它周围的词所决定)。

这是一句颇有哲理的话,很像是成语中的“物以类聚人以群分”。具体来讲,词向量模型使用“周围的词=>当前词”或“当前词=>周围的词”这样的方式构造训练样本,然后使用神经网络来训练模型,训练完成之后,输入词的输入向量表示便成为了该词的向量表示,如图3所示。

这样的训练方式,本质上是在说,如果两个词具有类似的上下文(上下文由周围的词组成),那么这两个词就会具有类似的向量表示。有了词的向量表示之后,我们可以做很多事情,最常见的是将这一层向量表示作为更深层次模型的一个嵌入层。除了在深度学习中的使用以外,在推荐系统中还可以做很多其他的事情,其中之一就是做词的聚类,以及寻找相似词。我们知道LDA天然就可以做到词的聚类和相似词的计算,那么使用word2vec计算出来的结果和LDA有什么不同呢?它们之间的不同具体体现在两点:第一是聚类的粒度不同,LDA关注的主题级别的粒度,层次更高,而词向量关注的是更低层次的语法语义级别的含义。例如“苹果”,“小米”和“三星”这三个词,在LDA方法中很可能会被聚类在一个主题中,但是在词向量的角度来看,“苹果”和“小米”可能会具有更高的相似度,就像“乔布斯”和“雷军”在词向量下的关系一样,所以在词向量中可能会有:“vector(小米)-vector(苹果)+vector(乔布斯)=vector(雷军)”这样的结果。

除此以外,由于word2vec有着“根据上下文预测当前内容”的能力,将其做适当修改之后,还可以用来对用户行为喜好做出预测。首先我们将用户的行为日志进行收集,进行session划分,得到类似文本语料的训练数据,在这个数据上训练word2vec模型,可以得到一个“根据上下文行为预测当前行为”的模型。但是原始的行为数据中行为的对象常常是id级的,例如商品、视频的id等等,如果直接放到模型中训练,会造成训练速度慢、泛化能力差等问题,因此需要对原始行为做降维,具体来说可以将行为映射到搜索词、LDATopic、类别等等低维度特征上,然后再进行训练。例如,我们可以对用户的搜索词训练一个word2vec模型,然后就可以根据用户的历史搜索行为预测他的下一步搜索行为,并在此基础上进行推荐。这种方法考虑到了上下文,但是对前后关系并没有做最恰当的处理,因为word2vec的思想是“根据上下文预测当前内容”,但我们希望得到的模型是“根据历史行为预测下一步行为”,这两者之间有着微妙的差别。例如用户的行为序列为“ABCDE”,每个字母代表对一个物品(或关键词)的行为,标准的word2vec算法可能会构造出下面这些样本:AC→B,BD→C,CE→D…但是我们希望的形式其实是这样的:AB→C,BC→D,CD→E…因此,需要对word2vec生成样本的逻辑进行修改,使其只包含我们需要的单方向的样本,方可在最终模型中得到我们真正期望的结果。

下面是按照该方法生成的一些预测例子:

可以看出,预测搜索词都与历史搜索词有着紧密的关系,是对历史搜索词的延伸(例如学生书桌和烤肠机的例子)或者细化(例如小龟王和西铁城手表的例子),具有比较好的预测属性,是非常好的推荐策略来源。沿着这样的思路,我们还可以对word2vec作进一步修改,得到对时序关系更为敏感的模型,以及尝试使用RNN、LSTM等纯时序模型来得到更好的预测结果,但由于篇幅所限,在此不做展开。

行业应用现状

文本主题模型在被提出之后,由于其良好的概率性质,以及对文本数据有意义的聚类抽象能力,在互联网的各个行业中都取得了广泛的应用。搜索巨头Google在其系统的各个方面都在广泛使用文本主题模型,并为此开发了大规模文本主题系统Rephil。例如在为用户搜索产生广告的过程中,就使用了文本主题来计算网页内容和广告之间的匹配度,是其广告产品成功的重要因素之一。此外,在匹配用户搜索词和网页间关系的时候,文本主题也可用来提高匹配召回率和准确性。Yahoo!也在其搜索排序模型中大量使用了LDA主题特征,还为此开源了著名的Yahoo!LDA工具。

在国内,文本主题最著名的系统当属腾讯开发的Peacock系统,该系统可以捕捉百万级别的文本主题,在腾讯的广告分类、网页分类、精准广告定向、QQ群分类等重要业务上均起着重要的作用。该系统使用的HDP(HierarchicalDirichletProcess)模型是LDA模型的一个扩展,可智能选择数据中主题的数量,还具有捕捉长尾主题的能力。除了腾讯以外,文本主题模型在各公司的推荐、搜索等业务中也已经在广泛使用,使用方法根据各自业务有所不同。

以word2vec为代表的神经网络模型近年来的使用也比较广泛,典型的应用如词的聚类、近义词的发现、query的扩展、推荐兴趣的扩展等。Facebook开发了一种word2vec的替代方案FastText,该方案在传统词向量的基础上,考虑子词(subword)的概念,取得了比word2vec更好的效果 。

总结和展望

我们从简单的文本关键词出发,沿着结构化、降维、聚类、概率、时序的思路,结合推荐系统中候选集召回、相关性计算、排序模型特征等具体应用,介绍了推荐系统中一些常用的自然语言处理技术和具体应用方法。自然语言处理技术借着深度学习的东风,近年来取得了长足的进步,而其与推荐系统的紧密关系,也意味着推荐系统在这方面仍然有着巨大的提升空间,让我们拭目以待。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇