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

阿里云 云栖社区

自然语言智能(NLP)

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

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

  • 计算智能,指依靠计算强大的算力和海量数据的存储能力,可以在部分领域超越人类的表现。代表例子就是谷歌的 alphago,凭借谷歌 TPU 的强大算力以及结合类似蒙特卡洛树搜索、强化学习等算法,能够在围棋的巨大搜索空间中计算出好的决策路径,战胜人类,这是计算智能;
  • 感知智能,是指从无结构化数据中识别出重要的要素。比如给一个 query,分析出包含的人民、地名、机构名等;
  • 认知智能,是在感知之上,能够理解其中要素的含义以及进行一些推理。比如“谢霆锋是谁的儿子 谁是谢霆锋的儿子”两句话。词和实体都差不多,但语义差别很多。这是认知智能要解决的问题;
  • 创造智能,比如计算机指能够理解语义的基础上,创造出符合常识、语义、逻辑的句子。比如自动写出行云流水的小说、创造娓娓动听的音乐 能够无违和跟人自然聊天等

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

自然语言智能发展趋势

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

阿里集团 NLP 平台能力

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

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

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

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

  • 基础设施包含了阿里云基础产品,以及基于阿里生态搜索场景打磨出的多个搜索自研系统,比如 HA3、RTP、Dii 等;
  • 管控基础平台,保证我们离线数据采集、管理、训练等;
  • 算法模块,我们分为两块,一块是查询分析相关,包含多粒度分词、实体识别、纠错改写等;另一个块是相关性和排序相关,包括文本相关性、CTR CVR 预估、LTR 等;

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

开放搜索 NLP 分析链路

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

跨领域分词

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

分词挑战

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

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

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



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

命名实体识别

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

挑战与困难

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

解决思路

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

拼写纠错

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

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

语义匹配

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

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

(具体的流程如图)

NLP 算法产品化

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

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

image.png


本文地址:https://www.6aiq.com/article/1603276817004
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出