自然语言处理在开放搜索中的应用

简介:构建搜索引擎的时候,都会遇到很多效果优化的问题,其中很多都和自然语言处理相关。本文通过结合开放搜索中NLP技术要点进行解读和分析。

自然语言智能(NLP)

自然语言智能研究实现人与& _ x h 0计算机之间用语言进行有效通信。它是融合语言学、心理学、计算机科学、数学、统计学于一体的科学。它涉及到自然语言和形式0 $ o ^ e B ! 4化语言的分析、抽取、理解、转换和产生等多个课题。

人工智能可以分为几个阶段

计算智能,指依@ D y n l G ; Z 4靠计算强大的算力和海量数据的存储能力,可以在部J N b S t ) 4 o E分领域超越人类的表现。代表例子就是谷歌的alphago,凭借谷歌TPU的强大算力以及结合类似蒙特卡洛树搜索、强化学习等算法,能够在围棋的巨大搜索空间中计算出好的决策} o 路径,战胜人类,9 ~ u c Q } x X 2这是计算M H P智能; • 感知智能,是指从无结构化数据中识别出重要的要素。比如给一个qu] ~ sery,分析出包含的人民、地名、机构名等; • 认知智能,是在感知之上,能够理解其中要素的含义以及进行一些推理。比如“谢霆锋是谁的儿子 谁是谢霆锋的儿子”两句话。词和实体都差不多,但语义差别很多。这是认知智能要解决的问题; • 创造智能,比如计算机指能够理解语义的基础上,创造出符合常识、语义、逻辑的句子。比如自动写出行云流水的小说、创造娓娓动听的音乐 能够无违和跟人自然聊天等 自然语言处理研究覆盖了感知智能,认知智能,创造智能这样的学科,是实现完整人工智能的必要技术

自然语言智能发展趋势

  1. 深度语言模型突破式发展, 引领重要自然语言技术取得进展;
  2. 公有云NLP技术服务从通用功能走向定制化服务;
  3. 自然语言技术逐步与行业 = g q E # 0/场景紧密结合, 产生更大价值;

阿里集团NLP平台能_ ) k U

自然语言处理在开放搜索中的应用

从下到上分为了NLP数据、NLP基础能力、NLP应用技术和上层应用。 NLP数据是很多算法的原料,累了包括语# % L } j K g言词典、实体知识词典N : b、句法词典、情感分析等词典等。阿里NLP基础技术包含了词法分析、句法分析、文本; N T j分析、深度模型。在这之上,是NLP垂直的技术 包括问答 对话技术 反垃圾+ Z = x 地址解析等。这些技术的组合,u m 9 P % C e y w就支持了很多应用。 其中搜索是NLP能力非常密集的一个应用

开放搜索中NLP应用b t o ~ w W @和典型技术

自然语言处理在开放搜索中的应用

• 基础设施! G v M V D a $包含了阿里云基础产品,以及 | # } v T基于阿里生态搜c m - 3 Y索场景打磨出的多个搜索自研系统,比如HA3、RTP、Dii等; • 管控基础平台,保证我们离线数据采集、管理、训练等; • 算法模块,我们分为两块,一块是查询分析相关,包含多粒度分词、实体识别、纠错改写等;另一个块是相关性和排序相关,包括文本相关性、CTR C7 L % z h 3 e GVR预估、LTR 等O ` y &; (其中橙色背景的表示是跟NLP相关) 开放搜索的目标是要打造一站式、开箱即用的智能搜索服务,所以我们会把这些算法能力* ~ t K f . 9,以行业模板、 场景化、周边服务的形式开放给用户。

开放搜索NLP分H 9 h c ~ ) ^ +析链路

搜索的发起,往往是一个搜索关键词触发,比如用户搜索“ aj1北卡兰新款球鞋”K 4 U X 3 H

自然语言处理在开放搜索中的应用

跨领域分词 我们在开放搜索开_ c b放了一系列的领域的分词模型 分词 @ C v b ~ % ]挑战

  1. 各个领域不断新增的未g X c s M |登录词或者叫新词,往往会大大降低分词效果;
  2. 为新用户定制= , H q分词模- a x U e E 6 r型,从标注到训练的整个过程,成本都比较高; 解决思路
  3. 结合统计特征,比如互信息、左右上等构建一个成词模型,可以基于用户数据快速构建一份领域词典;^ 0 o _
  4. 结合源领域分词模型和目标领域的词典,我们基于远程监督技术可以快速构建一个目标领域分词器;

自然语言处理在开放搜索中的应用

(上图为自动跨领域分词框架) 用户只需要提供给我们一些自己业务的语料数据,我们就可以自动的得到一个定制化的& m ) g ` A G b分词模型,这不仅大大提升z = ; e z [ E了效率,同时也更快满足客户的需求。 通过这个技术,我们可以在各个l ) #领域_ A Q k b 9 ] 4获得比开源通用分词,更好的效果

自然语言处理在开放搜索中的应用

命名实体识别 命名实体识别(NER),例如从query中提取人名 地名 时间等。 挑战与困难 NM _ 9 z m a Y z cER在NLP领域研究非常多同v ` 2 A时也面临很多3 F 6 ; 9 ] = q G的挑战,尤其在中文上由于缺乏天然) g Y ~分隔符,面临边界歧义、语义歧义、嵌套歧义等困难。

解决思路

• 下图右上角是我们在开放搜索中使用的模型架构图; • 在开放搜索中,很多用户都积累了大量词典实体库。为了充分利用这些词典,我们提出了一种在bert之上,有机融合知识的graphNer框架。从右下角的表格可以看出,在中文上能取得最好的效果;

自然语言处理在开放搜索中的应用

拼写纠错 开放搜索分为4个纠错步骤包含了挖掘、训练、评估和在线预测。 主要的模型根据统计翻译模型和神经网络翻译模型两套系统,同时在性能、展示样式和干预上有一套完备方法。

自然语言处理在开放搜索中的应用

语义匹配 深度语言模型的出现给~ P P p ; s w w 0很多NLP任务带来了跨越式的提升,尤其是在语义匹配等任务上。 达摩院在bert上也提出了很多创新,提出了自研的StructBn J Kert。主要创新点在于在深度语言模型训练中,增加了字序/词序的目标函数 和更多样的句子结构预B W H j 2 sn v a F目标函数,进行多任务学习。但是这样的通用的structbert是无法试用给开放搜索; s x } O h W w (里成千上万个客户,成千上万个领域的。我们需要做领域适配。所以我们提出了语义匹配} ? o3阶段范式。 可以快速的P R : # V x b为客户定制适合于自己业务的语义J $ { A G匹配模型。

自然语言处理在开放搜索中的应用

(具体的流程如图)

NLP算法产品化

算法模块产品化的系统架构,包含了离线计算、在线q a L + t + (引擎以及产品控制台。 图中浅蓝色的部分是N* 6 S KLP在开放搜索上开/ e $ ^放的算W ? 1法相关功能,用户可以直接在控制台体验和使用。

自然语言处理在开放搜索中的应用

作者:工程师U

本文为阿里云原[ K Y u ? ; e P M创内容,未经允许不得转载。