21

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

 3 years ago
source link: https://segmentfault.com/a/1190000037534896
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

自然语言智能(NLP)

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

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

计算智能 ,指依靠计算强大的算力和海量数据的存储能力,可以在部分领域超越人类的表现。代表例子就是谷歌的alphago,凭借谷歌TPU的强大算力以及结合类似蒙特卡洛树搜索、强化学习等算法,能够在围棋的巨大搜索空间中计算出好的决策路径,战胜人类,这是计算智能;

感知智能 ,是指从无结构化数据中识别出重要的要素。比如给一个query,分析出包含的人民、地名、机构名等;

认知智能 ,是在感知之上,能够理解其中要素的含义以及进行一些推理。比如“谢霆锋是谁的儿子 谁是谢霆锋的儿子”两句话。词和实体都差不多,但语义差别很多。这是认知智能要解决的问题;

创造智能 ,比如计算机指能够理解语义的基础上,创造出符合常识、语义、逻辑的句子。比如自动写出行云流水的小说、创造娓娓动听的音乐 能够无违和跟人自然聊天等

自然语言处理研究覆盖了感知智能,认知智能,创造智能这样的学科,是实现完整人工智能的必要技术

自然语言智能发展趋势

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

阿里集团NLP平台能力

nqyQb2A.png!mobile

从下到上分为了NLP数据、NLP基础能力、NLP应用技术和上层应用。

NLP数据是很多算法的原料,累了包括语言词典、实体知识词典、句法词典、情感分析等词典等。阿里NLP基础技术包含了词法分析、句法分析、文本分析、深度模型。在这之上,是NLP垂直的技术 包括问答 对话技术 反垃圾 地址解析等。这些技术的组合,就支持了很多应用。 其中搜索是NLP能力非常密集的一个应用

开放搜索中NLP应用和典型技术

BVFj6zy.png!mobile

• 基础设施包含了阿里云基础产品,以及基于阿里生态搜索场景打磨出的多个搜索自研系统,比如HA3、RTP、Dii等;

• 管控基础平台,保证我们离线数据采集、管理、训练等;

• 算法模块,我们分为两块,一块是查询分析相关,包含多粒度分词、实体识别、纠错改写等;另一个块是相关性和排序相关,包括文本相关性、CTR CVR预估、LTR 等;

(其中橙色背景的表示是跟NLP相关)

开放搜索的目标是要打造一站式、开箱即用的智能搜索服务,所以我们会把这些算法能力,以行业模板、 场景化、周边服务的形式开放给用户。

开放搜索NLP分析链路

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

quM3ien.png!mobile

跨领域分词

我们在开放搜索开放了一系列的领域的分词模型

分词挑战

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

IbAJveI.png!mobile

(上图为自动跨领域分词框架)

用户只需要提供给我们一些自己业务的语料数据,我们就可以自动的得到一个定制化的分词模型,这不仅大大提升了效率,同时也更快满足客户的需求。

通过这个技术,我们可以在各个领域获得比开源通用分词,更好的效果

ni2Qb2.png!mobile

命名实体识别

命名实体识别(NER),例如从query中提取人名 地名 时间等。

挑战与困难

NER在NLP领域研究非常多同时也面临很多的挑战,尤其在中文上由于缺乏天然分隔符,面临边界歧义、语义歧义、嵌套歧义等困难。

**解决思路

**• 下图右上角是我们在开放搜索中使用的模型架构图;

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

ruui2uF.png!mobile

拼写纠错

开放搜索分为4个纠错步骤包含了挖掘、训练、评估和在线预测。

主要的模型根据统计翻译模型和神经网络翻译模型两套系统,同时在性能、展示样式和干预上有一套完备方法。

jmyqian.png!mobile

语义匹配

深度语言模型的出现给很多NLP任务带来了跨越式的提升,尤其是在语义匹配等任务上。

达摩院在bert上也提出了很多创新,提出了自研的StructBert。主要创新点在于在深度语言模型训练中,增加了字序/词序的目标函数 和更多样的句子结构预测目标函数,进行多任务学习。但是这样的通用的structbert是无法试用给开放搜索里成千上万个客户,成千上万个领域的。我们需要做领域适配。所以我们提出了语义匹配3阶段范式。 可以快速的为客户定制适合于自己业务的语义匹配模型。

INRnAv.png!mobile

(具体的流程如图)

NLP算法产品化

算法模块产品化的系统架构,包含了离线计算、在线引擎以及产品控制台。

图中浅蓝色的部分是NLP在开放搜索上开放的算法相关功能,用户可以直接在控制台体验和使用。

bARRBrB.png!mobile

原文链接

本文为阿里云原创内容,未经允许不得转载。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK