领域应用 | 知识图谱在滴滴的应用 (CCKS 2019)

 

以下文章来源于滴滴科技合作 ,作者龚诚Angel

滴滴科技合作

分享滴滴科技合作最新资讯

本文转载自公众号:滴滴科技合作。                   

全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Computing)由中国中文信息学会语言与知识计算专业委员会组织和承办。2019年CCKS在杭州开幕。大会的主题是“知识智能”,旨在探讨大数据环境下语言理解、知识获取与智能服务的关键技术和应用。

继续阅读“领域应用 | 知识图谱在滴滴的应用 (CCKS 2019)”

领域应用 | 知识图谱在滴滴的应用 (CCKS 2019)

 

以下文章来源于滴滴科技合作 ,作者龚诚Angel

滴滴科技合作

分享滴滴科技合作最新资讯

本文转载自公众号:滴滴科技合作。                   

全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Computing)由中国中文信息学会语言与知识计算专业委员会组织和承办。2019年CCKS在杭州开幕。大会的主题是“知识智能”,旨在探讨大数据环境下语言理解、知识获取与智能服务的关键技术和应用。

继续阅读“领域应用 | 知识图谱在滴滴的应用 (CCKS 2019)”

领域应用 | 英文抗生素药物医学知识图谱 IASO1.0 版发布 线上试用正式启动

本文转载自公众号:PKU自然语言处理前沿。

近日,由北京大学互联网信息工程研发中心(CIRE)开发的英语医学知识图谱英文抗生素药物医学知识图谱IASO1.0发布,面向公众正式开放试用。IASO是利用自然语言处理与文本挖掘技术,基于大规模医学文本数据,以人机结合的方式研发的英文药物医学知识图谱。

继续阅读“领域应用 | 英文抗生素药物医学知识图谱 IASO1.0 版发布 线上试用正式启动”

领域应用 | 企业效益最大化的秘密:知识图谱

 

本文转载自公众号:TigerGraph

凡是有关系的地方都可以用知识图谱。

知识图谱

知识图谱是用节点和关系所组成的图谱,为真实世界的各个场景直观地建模,运用“图”这种基础性、通用性的“语言”,“高保真”地表达这个多姿多彩世界的各种关系。在这些复杂的关系中蕴藏了巨大价值。

但人们在挖掘和管理这些关系的过程中,往往把问题复杂化,或者遗漏掉很多有价值的信息。而知识图谱则非常直观、自然和高效,不需要中间过程的转换和处理各类复杂的关系。

继续阅读“领域应用 | 企业效益最大化的秘密:知识图谱”

领域应用 | 大众点评搜索基于知识图谱的深度学习排序实践

 

本文转载自公众号:美团技术团队

本文介绍了大众点评搜索核心排序层模型的演化之路,包括结合知识图谱信息构建适合搜索场景的Listwise深度学习排序模型LambdaDNN以及特征工程实践和相关工具建设。

1. 引言

挑战与思路

搜索是大众点评App上用户进行信息查找的最大入口,是连接用户和信息的重要纽带。而用户搜索的方式和场景非常多样,并且由于对接业务种类多,流量差异大,为大众点评搜索(下文简称点评搜索)带来了巨大的挑战,具体体现在如下几个方面:

  • 意图多样:用户查找的信息类型和方式多样。信息类型包括POI、榜单、UGC、攻略、达人等。以找店为例,查找方式包括按距离、按热度、按菜品和按地理位置等多种方式。例如用户按照品牌进行搜索时,大概率是需要寻找距离最近或者常去的某家分店;但用户搜索菜品时,会对菜品推荐人数更加敏感,而距离因素会弱化。
  • 业务多样:不同业务之间,用户的使用频率、选择难度以及业务诉求均不一样。例如家装场景用户使用频次很低,行为非常稀疏,距离因素弱,并且选择周期可能会很长;而美食多为即时消费场景,用户行为数据多,距离敏感。
  • 用户类型多样:不同的用户对价格、距离、口味以及偏好的类目之间差异很大;搜索需要能深度挖掘到用户的各种偏好,实现定制化的“千人千面”的搜索。
  • LBS的搜索:相比电商和通用搜索,LBS的升维效应极大地增加了搜索场景的复杂性。例如对于旅游用户和常驻地用户来说,前者在搜索美食的时候可能会更加关心当地的知名特色商户,而对于距离相对不敏感。

上述的各项特性,叠加上时间、空间、场景等维度,使得点评搜索面临比通用搜索引擎更加独特的挑战。而解决这些挑战的方法,就需要升级NLP(Natural Language Processing,自然语言处理)技术,进行深度查询理解以及深度评价分析,并依赖知识图谱技术和深度学习技术对搜索架构进行整体升级。在美团NLP中心以及大众点评搜索智能中心两个团队的紧密合作之下,经过短短半年时间,点评搜索核心KPI在高位基础上仍然大幅提升,是过去一年半涨幅的六倍之多,提前半年完成全年目标。

基于知识图谱的搜索架构重塑

美团NLP中心正在构建全世界最大的餐饮娱乐知识图谱——美团大脑(相关信息请参见《美团大脑:知识图谱的建模方法及其应用》)。它充分挖掘关联各个场景数据,用NLP技术让机器“阅读”用户公开评论,理解用户在菜品、价格、服务、环境等方面的喜好,构建人、店、商品、场景之间的知识关联,从而形成一个“知识大脑”[1]。通过将知识图谱信息加入到搜索各个流程中,我们对点评搜索的整体架构进行了升级重塑,图1为点评搜索基于知识图谱搭建的5层搜索架构。本篇文章是“美团大脑”系列文章第二篇(系列首篇文章请参见《美团餐饮娱乐知识图谱——美团大脑揭秘》),主要介绍点评搜索5层架构中核心排序层的演变过程,文章主要分为如下3个部分:

  • 核心排序从传统机器学习模型到大规模深度学习模型的演进。
  • 搜索场景深度学习排序模型的特征工程实践。
  • 适用于搜索场景的深度学习Listwise排序算法——LambdaDNN。

图1 基于知识图谱的点评搜索5层架构

2. 排序模型探索与实践

搜索排序问题在机器学习领域有一个单独的分支,Learning to Rank(L2R)。主要分类如下:

  • 根据样本生成方法和Loss Function的不同,L2R可以分为Pointwise、Pairwise、Listwise。
  • 按照模型结构划分,可以分为线性排序模型、树模型、深度学习模型,它们之间的组合(GBDT+LR,Deep&Wide等)。

在排序模型方面,点评搜索也经历了业界比较普遍的迭代过程:从早期的线性模型LR,到引入自动二阶交叉特征的FM和FFM,到非线性树模型GBDT和GBDT+LR,到最近全面迁移至大规模深度学习排序模型。下面先简单介绍下传统机器学习模型(LR、FM、GBDT)的应用和优缺点,然后详细介绍深度模型的探索实践过程。

传统机器学习模型

图2 几种传统机器学习模型结构

  • LR可以视作单层单节点的线性网络结构。模型优点是可解释性强。通常而言,良好的解释性是工业界应用实践比较注重的一个指标,它意味着更好的可控性,同时也能指导工程师去分析问题优化模型。但是LR需要依赖大量的人工特征挖掘投入,有限的特征组合自然无法提供较强的表达能力。
  • FM可以看做是在LR的基础上增加了一部分二阶交叉项。引入自动的交叉特征有助于减少人工挖掘的投入,同时增加模型的非线性,捕捉更多信息。FM能够自动学习两两特征间的关系,但更高量级的特征交叉仍然无法满足。
  • GBDT是一个Boosting的模型,通过组合多个弱模型逐步拟合残差得到一个强模型。树模型具有天然的优势,能够很好的挖掘组合高阶统计特征,兼具较优的可解释性。GBDT的主要缺陷是依赖连续型的统计特征,对于高维度稀疏特征、时间序列特征不能很好的处理。

深度神经网络模型

随着业务的发展,在传统模型上取得指标收益变得愈发困难。同时业务的复杂性要求我们引入海量用户历史数据,超大规模知识图谱特征等多维度信息源,以实现精准个性化的排序。因此我们从2018年下半年开始,全力推进L2核心排序层的主模型迁移至深度学习排序模型。深度模型优势体现在如下几个方面:

  • 强大的模型拟合能力:深度学习网络包含多个隐藏层和隐藏结点,配合上非线性的激活函数,理论上可以拟合任何函数,因此十分适用于点评搜索这种复杂的场景。
  • 强大的特征表征和泛化能力:深度学习模型可以处理很多传统模型无法处理的特征。例如深度网络可以直接中从海量训练样本中学习到高维稀疏ID的隐含信息,并通过Embedding的方式去表征;另外对于文本、序列特征以及图像特征,深度网络均有对应的结构或者单元去处理。
  • 自动组合和发现特征的能力:华为提出的DeepFM,以及Google提出的DeepCrossNetwork可以自动进行特征组合,代替大量人工组合特征的工作。

下图是我们基于Google提出的Wide&Deep模型搭建的网络结构[2]。其中Wide部分输入的是LR、GBDT阶段常用的一些细粒度统计特征。通过较长周期统计的高频行为特征,能够提供很好的记忆能力。Deep部分通过深层的神经网络学习Low-Order、高维度稀疏的Categorical型特征,拟合样本中的长尾部分,发现新的特征组合,提高模型的泛化能力。同时对于文本、头图等传统机器学习模型难以刻画的特征,我们可以通过End-to-End的方式,利用相应的子网络模型进行预处理表示,然后进行融合学习。

图3 Deep&Wide模型结构图

3. 搜索深度排序模型的特征工程实践

深度学习的横空出世,将算法工程师从很多人工挖掘和组合特征的事情中解放出来。甚至有一种论调,专做特征工程的算法工程师可能面临着失业的风险。但是深度学习的自动特征学习目前主要集中体现在CV领域,CV领域的特征数据是图片的像素点——稠密的低阶特征,深度学习通过卷积层这个强力工具,可以自动对低阶特征进行组合和变换,相比之前人工定义的图像特征从效果上来说确实更加显著。在NLP领域因为Transformer的出现,在自动特征挖掘上也有了长足的进步,BERT利用Transformer在多个NLP Task中取得了State-of-The-Art的效果。

但是对于CTR预估和排序学习的领域,目前深度学习尚未在自动特征挖掘上对人工特征工程形成碾压之势,因此人工特征工程依然很重要。当然,深度学习在特征工程上与传统模型的特征工程也存在着一些区别,我们的工作主要集中在如下几个方面。

3.1 特征预处理

  • 特征归一化:深度网络的学习几乎都是基于反向传播,而此类梯度优化的方法对于特征的尺度非常敏感。因此,需要对特征进行归一化或者标准化以促使模型更好的收敛。
  • 特征离散化:工业界一般很少直接使用连续值作为特征,而是将特征离散化后再输入到模型中。一方面因为离散化特征对于异常值具有更好的鲁棒性,其次可以为特征引入非线性的能力。并且,离散化可以更好的进行Embedding,我们主要使用如下两种离散化方法:
    • 等频分桶:按样本频率进行等频切分,缺失值可以选择给一个默认桶值或者单独设置分桶。
    • 树模型分桶:等频离散化的方式在特征分布特别不均匀的时候效果往往不好。此时可以利用单特征结合Label训练树模型,以树的分叉点做为切分值,相应的叶子节点作为桶号。
  • 特征组合:基于业务场景对基础特征进行组合,形成更丰富的行为表征,为模型提供先验信息,可加速模型的收敛速度。典型示例如下:
    • 用户性别与类目之间的交叉特征,能够刻画出不同性别的用户在类目上的偏好差异,比如男性用户可能会较少关注“丽人”相关的商户。
    • 时间与类目之间的交叉特征,能够刻画出不同类目商户在时间上的差异,例如,酒吧在夜间会更容易被点击。

3.2 万物皆可Embedding

深度学习最大的魅力在于其强大的特征表征能力,在点评搜索场景下,我们有海量的用户行为数据,有丰富的商户UGC信息以及美团大脑提供的多维度细粒度标签数据。我们利用深度学习将这些信息Embedding到多个向量空间中,通过Embedding去表征用户的个性化偏好和商户的精准画像。同时向量化的Embedding也便于深度模型进一步的泛化、组合以及进行相似度的计算。

3.2.1 用户行为序列的Embedding

用户行为序列(搜索词序列、点击商户序列、筛选行为序列)包含了用户丰富的偏好信息。例如用户筛选了“距离优先”时,我们能够知道当前用户很有可能是一个即时消费的场景,并且对距离较为敏感。行为序列特征一般有如下图所示的三种接入方式:

Pooling:序列Embedding后接入Sum/Average Pooling层。此方式接入成本低,但忽略了行为的时序关系。

RNN:LSTM/GRU接入,利用循环网络进行聚合。此方式能够考虑行为序列的时序关系;代价是增大了模型复杂度,影响线上预测性能。

Attention:序列Embedding后引入Attention机制,表现为加权的Sum Pooling;相比LSTM/GRU计算开销更低[4]。

图4 行为序列特征接入的几种方法

同时,为了突显用户长期偏好和短期偏好对于排序的不同影响,我们按照时间维度对行为序列进行了划分:Session、半小时、一天、一周等粒度,也在线上取得了收益。

3.2.2 用户ID的Embedding

一种更常见的刻画用户偏好的方式,是直接将用户ID经过Embedding后作为特征接入到模型中,但是最后上线的效果却不尽如人意。通过分析用户的行为数据,我们发现相当一部分用户ID的行为数据较为稀疏,导致用户ID的Embedding没有充分收敛,未能充分刻画用户的偏好信息。

Airbnb发表在KDD 2018上的文章为这种问题提供了一种解决思路[9]——利用用户基础画像和行为数据对用户ID进行聚类。Airbnb的主要场景是为旅游用户提供民宿短租服务,一般用户一年旅游的次数在1-2次之间,因此Airbnb的用户行为数据相比点评搜索会更为稀疏一些。

图5 按照用户画像和行为信息聚类

如上图所示,将用户画像特征和行为特征进行离散分桶,拼接特征名和所属桶号,得到的聚类ID为:US_lt1_pn3_pg3_r3_5s4_c2_b1_bd2_bt2_nu3。

我们也采取了类似Airbnb的方案,稀疏性的问题得到了很好的解决,并且这样做还获得了一些额外的收益。大众点评作为一个本地化的生活信息服务平台,大部分用户的行为都集中自己的常驻地,导致用户到达一个新地方时,排序个性化明显不足。通过这种聚类的方式,将异地有相同行为的用户聚集在一起,也能解决一部分跨站的个性化问题。

3.2.3 商户信息Embedding

商户Embedding除了可以直接将商户ID加入模型中之外,美团大脑也利用深度学习技术对UGC进行大量挖掘,对商家的口味、特色等细粒度情感进行充分刻画,例如下图所示的“好停车”、“菜品精致”、“愿意再次光顾”等标签。

图6 美团大脑提供的商家细粒度情感标签

这些信息与单纯的商户星级、点评数相比,刻画的角度更多,粒度也更细。我们将这些标签也进行Embedding并输入到模型中:

  • 直连:将标签特征做Pooling后直接输入模型。这种接入方式适合端到端的学习方式;但受输入层大小限制,只能取Top的标签,容易损失抽象实体信息。
  • 分组直连:类似于直连接入的方式,但是先对标签进行分类,如菜品/风格/口味等类别;每个分类取Top N的实体后进行Pooling生成不同维度的语义向量。与不分组的直连相比,能够保留更多抽象信息。
  • 子模型接入:可以利用DSSM模型,以标签作为商户输入学习商户的Embedding表达。此种方式能够最大化保留标签的抽象信息,但是线上实现和计算成本较高。

3.2.4 加速Embedding特征的收敛

在我们的深度学习排序模型中,除了Embedding特征,也存在大量Query、Shop和用户维度的强记忆特征,能够很快收敛。而Embedding特征是更为稀疏的弱特征,收敛速度较慢,为了加速Embedding特征的收敛,我们尝试了如下几种方案:

  • 低频过滤:针对出现频率较低的特征进行过滤,可以很大程度上减少参数量,避免过拟合。
  • 预训练:利用多类模型对稀疏Embedding特征进行预训练,然后进入模型进行微调:
    • 通过无监督模型如Word2vec、Fasttext对用户-商户点击关系建模,生成共现关系下的商户Embedding。
    • 利用DSSM等监督模型对Query-商户点击行为建模得到Query和商户的Embedding。
  • Multi-Task:针对稀疏的Embedding特征,单独设置一个子损失函数,如下图所示。此时Embedding特征的更新依赖两个损失函数的梯度,而子损失函数脱离了对强特征的依赖,可以加快Embedding特征的收敛。

图7 Multi-Task加速Embedding特征收敛

3.3 图片特征

图片在搜索结果页中占据了很大的展示面积,图片质量的好坏会直接影响用户的体验和点击,而点评商户首图来自于商户和用户上传的图片,质量参差不齐。因此,图片特征也是排序模型中较为重要的一类。目前点评搜索主要用了以下几类图片特征:

  • 基础特征:提取图片的亮度、色度饱和度等基础信息,进行特征离散化后得到图片基础特征。
  • 泛化特征:使用ResNet50进行图片特征提取[3],通过聚类得到图片的泛化特征。
  • 质量特征:使用自研的图片质量模型,提取中间层输出,作为图片质量的Embedding特征。
  • 标签特征:提取图片是否是食物、环境、价目表、Logo等作为图片分类和标签特征。

图8 图片特征接入

4. 适用于搜索场景的深度学习Listwise排序算法:LambdaDNN

4.1 搜索业务指标与模型优化目标的Gap

通常模型的预测目标与业务指标总会存在一些Gap。如果模型的预测目标越贴近业务目标,越能保证模型优化的同时业务指标也能够有相应的提升;反之则会出现模型离线指标提升,但线上关键业务指标提升不明显,甚至出现负向的问题。工业届大部分深度学习排序采用Pointwise的Log Loss作为损失函数,与搜索业务指标有较大的Gap。体现在如下两个方面:

  • 搜索业务常用的指标有QV_CTR或者SSR(Session Success Rate),更关心的是用户搜索的成功率(有没有发生点击行为);而Pointwise的Log Loss更多是关注单个Item的点击率。
  • 搜索业务更关心排在页面头部结果的好坏,而Pointwise的方法则对于所有位置的样本一视同仁。

图9 Pointwise和Listwise优化目标的区别

基于上述理由,我们对于深度学习模型的损失函数进行了优化。

4.2 优化目标改进:从Log Loss到NDCG

为了让排序模型的优化目标尽量贴近搜索业务指标,需要按照Query计算损失,且不同位置的样本具有不同的权重。搜索系统常用的指标NDCG(Normalized Discounted Cumulative Gain)相较于Log Loss显然更贴近搜索业务的要求,NDCG计算公式如下:

累加部分为DCG(Discounted Cumulative Gain)表示按照位置折损的收益,对于Query下的结果列表l,函数G表示对应Doc的相关度分值,通常取指数函数,即G(lj)=2lj-1(lj表示的是相关度水平,如{0,1,2});函数 η 即位置折损,一般采用 η(j)=1/log(j+1),Doc与Query的相关度越高且位置越靠前则DCG值会越大。另外,通常我们仅关注排序列表页前k位的效果,Zk 表示 DCG@k 的可能最大值,以此进行归一化处理后得到的就是NDCG@k。

问题在于NDCG是一个处处非平滑的函数,直接以它为目标函数进行优化是不可行的。LambdaRank提供了一种思路:绕过目标函数本身,直接构造一个特殊的梯度,按照梯度的方向修正模型参数,最终能达到拟合NDCG的方法[6]。因此,如果我们能将该梯度通过深度网络进行反向传播,则能训练一个优化NDCG的深度网络,该梯度我们称之为Lambda梯度,通过该梯度构造出的深度学习网络称之为LambdaDNN。

要了解Lambda梯度需要引入LambdaRank。LambdaRank模型是通过Pairwise来构造的,通常将同Query下有点击样本和无点击样本构造成一个样本Pair。模型的基本假设如下式所示,令Pij为同一个Query下Doci相比Docj更相关的概率,其中si和sj分别为Doci和Docj的模型得分:

使用交叉熵为损失函数,令Sij表示样本Pair的真实标记,当Doci比Docj更相关时(即Doci有被用户点击,而Docj没有被点击),有Sij=1,否则为-1;则损失函数可以表示为:

在构造样本Pair时,我们可以始终令i为更相关的文档,此时始终有Sij≡1,代入上式并进行求导,则损失函数的梯度为:

到目前为止,损失函数的计算过程中并未考虑样本所在的位置信息。因此进一步对梯度进行改造,考虑Doci和Docj交换位置时的NDCG值变化,下式即为前述的Lambda梯度。可以证明,通过此种方式构造出来的梯度经过迭代更新,最终可以达到优化NDCG的目的。

Lambda梯度的物理意义如下图所示。其中蓝色表示更相关(用户点击过)的文档,则Lambda梯度更倾向于位置靠上的Doc得到的提升更大(如红色箭头所示)。有了Lambda梯度的计算方法,训练中我们利用深度网络预测同Query下的Doc得分,根据用户实际点击Doc的情况计算Lambda梯度并反向传播回深度网络,则可以得到一个直接预测NDCG的深度网络。

图10 Lambda梯度的物理意义

4.3 LambdaDNN的工程实施

我们利用TensorFlow分布式框架训练LambdaDNN模型。如前文所述,Lambda梯度需要对同Query下的样本进行计算,但是正常情况下所有的样本是随机Shuffle到各个Worker的。因此我们需要对样本进行预处理:

  • 通过QueryId进行Shuffle,将同一个Query的样本聚合在一起,同一个Query的样本打包进一个TFRecord。
  • 由于每次请求Query召回的Doc数不一样,对于可变Size的Query样本在拉取数据进行训练时需要注意,TF会自动补齐Mini-Batch内每个样本大小一致,导致输入数据中存在大量无意义的默认值样本。这里我们提供两点处理方式:
    • MR过程中对Key进行处理,使得多个Query的样本聚合在一起,然后在训练的时候进行动态切分。
    • 读取到补齐的样本,根据设定的补齐标记获取索引位,去除补齐数据。

图11 Lambda梯度的分布式实现

为了提升训练效率,我们与基础研发平台数据平台中心紧密协同,一起探索并验证了多项优化操作:

  • 将ID类特征的映射等操作一并在预处理中完成,减少多轮Training过程中的重复计算。
  • 将样本转TfRecord,利用RecordDataSet方式读取数据并计算处理,Worker的计算性能大概提升了10倍。
  • Concat多个Categorical特征,组合成Multi-Hot的Tensor进行一次Embedding_Lookup操作,减少Map操作的同时有助于参数做分片存储计算。
  • 稀疏Tensor在计算梯度以及正则化处理时保留索引值,仅对有数值的部分进行更新操作。
  • 多个PS服务器间进行分片存储大规模Tensor变量,减少Worker同步更新的通讯压力,减少更新阻塞,达到更平滑的梯度更新效果。

整体下来,对于30亿左右的样本量、上亿级别的特征维度,一轮迭代大概在半小时内完成。适当的增加并行计算的资源,可以达到分钟级的训练任务。

4.4 进一步改进优化目标

NDCG的计算公式中,折损的权重是随着位置呈指数变化的。然而实际曝光点击率随位置变化的曲线与NDCG的理论折损值存在着较大的差异。

对于移动端的场景来说,用户在下拉滑动列表进行浏览时,视觉的焦点会随着滑屏、翻页而发生变动。例如用户翻到第二页时,往往会重新聚焦,因此,会发现第二页头部的曝光点击率实际上是高于第一页尾部位置的。我们尝试了两种方案去微调NDCG中的指数位置折损:

  • 根据实际曝光点击率拟合折损曲线:根据实际统计到的曝光点击率数据,拟合公式替代NDCG中的指数折损公式,绘制的曲线如图12所示。
  • 计算Position Bias作为位置折损:Position Bias在业界有较多的讨论,其中[7][8]将用户点击商户的过程分为观察和点击两个步骤:a.用户需要首先看到该商户,而看到商户的概率取决于所在的位置;b.看到商户后点击商户的概率只与商户的相关性有关。步骤a计算的概率即为Position Bias,这块内容可以讨论的东西很多,这里不再详述。

图12 真实位置折损与理论折损的差别

经过上述对NDCG计算改造训练出的LambdaDNN模型,相较Base树模型和Pointwise DNN模型,在业务指标上有了非常显著的提升。

图13 LambdaDNN离线NDCG指标与线上PvCtr效果对比

4.5 Lambda深度排序框架

Lambda梯度除了与DNN网络相结合外,事实上可以与绝大部分常见的网络结构相结合。为了进一步学习到更多交叉特征,我们在LambdaDNN的基础上分别尝试了LambdaDeepFM和LambdaDCN网络;其中DCN网络是一种加入Cross的并行网络结构,交叉的网络每一层的输出特征与第一层的原始输入特征进行显性的两两交叉,相当于每一层学习特征交叉的映射去拟合层之间的残差。

图14 DCN模型结构

离线的对比实验表明,Lambda梯度与DCN网络结合之后充分发挥了DCN网络的特点,简洁的多项式交叉设计有效地提升模型的训练效果。NDCG指标对比效果如下图所示:

图15 Lambda Loss与DCN网络结果的效果

5. 深度学习排序诊断系统

深度学习排序模型虽然给业务指标带来了大幅度的提升,但由于深度学习模型的“黑盒属性”导致了巨大的解释性成本,也给搜索业务带来了一些问题:

  • 日常搜索Bad Case无法快速响应:搜索业务日常需要应对大量来自于用户、业务和老板们的“灵魂拷问”,“为何这个排序是这样的”,“为什么这家商户质量跟我差不多,但是会排在我的前面”。刚切换到深度学习排序模型的时候,我们对于这样的问题显得手足无措,需要花费大量的时间去定位问题。
  • 无法从Bad Case中学习总结规律持续优化:如果不明白为什么排序模型会得出一个很坏的排序结果,自然也无法定位模型到底出了什么问题,也就无法根据Bad Case总结规律,从而确定模型和特征将来的优化方向。
  • 模型和特征是否充分学习无从得知:新挖掘一些特征之后,通常我们会根据离线评测指标是否有提升决定特征是否上线。但是,即使一个有提升的特征,我们也无法知道这个特征是否性能足够好。例如,模型拟合的距离特征,会不会在特定的距离段出现距离越远反而打分越高的情况。

这些问题都会潜在带来一些用户无法理解的排序结果。我们需要对深度排序模型清晰地诊断并解释。

关于机器学习模型的可解释性研究,业界已经有了一些探索。Lime(Local Interpretable Model-Agnostic Explanations)是其中的一种,如下图所示:通过对单个样本的特征生成扰动产生近邻样本,观察模型的预测行为。根据这些扰动的数据点距离原始数据的距离分配权重,基于它们学习得到一个可解释的模型和预测结果[5]。举个例子,如果需要解释一个情感分类模型是如何预测“我讨厌这部电影”为负面情感的,我们通过丢掉部分词或者乱序构造一些样本预测情感,最终会发现,决定“我讨厌这部电影”为负面情感的是因为“讨厌”这个词。

图16 Lime解释器的工作原理

基于Lime解释器的思想,我们开发了一套深度模型解释器工具——雅典娜系统。目前雅典娜系统支持两种工作模式,Pairwise和Listwise模式:

  • Pairwise模式用来解释同一个列表中两个结果之间的相对排序。通过对样本的特征进行重新赋值或者替换等操作,观察样本打分和排序位次的变化趋势,诊断出当前样本排序是否符合预期。如下图所示,通过右侧的特征位次面板可以快速诊断出为什么“南京大牌档”的排序比“金时代顺风港湾”要更靠前。第一行的特征位次信息显示,若将“金时代顺风港湾”的1.3km的距离特征用“南京大牌档”的0.2km的距离特征进行替换,排序位次将上升10位;由此得出,“南京大牌档”排在前面的决定性因素是因为距离近。
  • Listwise模式与Lime的工作模式基本类似,通过整个列表的样本生成扰动样本,训练线性分类器模型输出特征重要度,从而达到对模型进行解释的目的。

图17 深度学习排序诊断系统:雅典娜

6. 总结与展望

2018年下半年,点评搜索完成了从树模型到大规模深度学习排序模型的全面升级。团队在深度学习特征工程、模型结构、优化目标以及工程实践上都进行了一些探索,在核心指标上取得了较为显著的收益。当然,未来依然有不少可以探索的点。

在特征层面,大量知识图谱提供的标签信息尚未充分挖掘。从使用方式上看,简单以文本标签的形式接入,损失了知识图谱的结构信息,因此,Graph Embedding也是未来需要尝试的方向。同时团队也会利用BERT在Query和商户文本的深层语义表达上做一些工作。

模型结构层面,目前线上依然以全连接的DNN网络结构为主,但DNN网络结构在低秩数据的学习上不如DeepFM和DCN。目前LambdaDeepFM和LambdaDCN在离线上已经取得了收益,未来会在网络结构上做进一步优化。

在模型优化目标上,Lambda Loss计算损失的时候,只会考虑Query内部有点击和无点击的样本对,大量无点击的Query被丢弃,同时,同一个用户短时间内在不同Query下的行为也包含着一些信息可以利用。因此,目前团队正在探索综合考虑Log Loss和Lambda Loss的模型,通过Multi-Task和按照不同维度Shuffle样本让模型充分学习,目前我们已经在线下取得了一些收益。

最后,近期Google开源的TF Ranking提出的Groupwise模型也对我们有一些启发。目前绝大部分的Listwise方法只是体现在模型训练阶段,在打分预测阶段依然是Pointwise的,即只会考虑当前商户相关的特征,而不会考虑列表上下文的结果,未来我们也会在这个方向上进行一些探索。

参考资料

  1. 美团大脑:知识图谱的建模方法及其应用
  2. Wide & Deep Learning for Recommender Systems
  3. Deep Residual Learning for Image Recognition
  4. Attention Is All You Need
  5. Local Interpretable Mode l- Agnostic Explanations: LIME
  6. From RankNet to LambdaRank to LambdaMART: An Overview
  7. A Novel Algorithm for Unbiased Learning to Rank
  8. Unbiased Learning-to-Rank with Biased Feedback
  9. Real-time Personalization using Embeddings for Search Ranking at Airbnb

作者简介

非易,2016年加入美团点评,高级算法工程师,目前主要负责点评搜索核心排序层的研发工作。

祝升,2016年加入美团点评,高级算法工程师,目前负责点评搜索核心排序层的研发工作。

汤彪,2013年加入美团点评,高级算法专家,点评平台搜索技术负责人,致力于深层次查询理解和大规模深度学习排序的技术落地。

张弓,2012年加入美团点评,美团点评研究员。目前主要负责点评搜索业务演进,及集团搜索公共服务平台建设。

仲远,博士,美团AI平台部NLP中心负责人,点评搜索智能中心负责人。在国际顶级学术会议发表论文30余篇,获得ICDE 2015最佳论文奖,并是ACL 2016 Tutorial “Understanding Short Texts”主讲人,出版学术专著3部,获得美国专利5项。此前,博士曾担任微软亚洲研究院主管研究员,以及美国Facebook公司Research Scientist。曾负责微软研究院知识图谱、对话机器人项目和Facebook产品级NLP Service。

———-  END  ———-

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

文章转载自公众号

美团技术团队

领域应用 | 从数据到智慧,知识图谱如何推动金融更智能?

 

本文转载在公众号:恒生技术之眼

在《人工智能+知识图谱:如何规整海量金融大数据?》一文中,笔者曾提到,面向人工智能的大数据治理,势必能有效支撑智能金融从感知智能向认知智能变革。这是因为目前在资本市场中,大数据的治理存在一些问题,比如非结构化数据的处理与使用、实时敏捷的数据处理与使用以及多源异构的数据孤岛等。

 

而知识图谱在智能金融中扮演的正是数据加工、处理的角色,能够为数据服务提供相应的支持。比如对于多源异构的数据,知识图谱能做到比较好的集成,通过统一的数据表示与建模、统一数据处理与存储来降低数据的使用难度。

 

正所谓“玉不琢不成器”,数据是金融的生命线,经过知识图谱的“琢磨”,大数据治理会有更多成果呈现出来,从而更好地赋能智能金融,助力金融机构实现数据驱动下的业务运营和创新。那么想要达到这样的目的,资本市场的知识图谱应该如何构建呢?

资本市场知识图谱构建的核心目标

 

有目标,才有方向。在资本市场中,人们都在关注资产的价格、走势以及相关的分析,这是一个永恒的话题。所以资本市场知识图谱的建立应该有两个核心目标:

 

核心目标1:企业画像&企业分析

 

以前,我们为企业做信息规整的时候,以集合企业的360度属性信息为目标。而通过知识图谱技术,我们可以改变这种思路,以企业为中心,把围绕企业的实体关系建立起来,比如企业与企业的关系、企业与人的关系、企业与行业的关系、企业与舆情事件的关系、企业与宏观要素的关系等等。当我们将企业放在关系网络里,把种种关系都建立起来的时候,我们会发现,企业的画像也就完成了。

 

企业分析也是从关系分析开始的。在关系网络具备的情况下,我们可以以关系分析为起点进行企业的分析,一步步达到我们最终所需的分析目标和结果。

 

核心目标2:舆情事件基于知识图谱的传播

 

为企业做画像,是相对静态的一个结果,因为汇集的很多都是关于企业的静态信息。而舆情事件在每天的新闻、公告、研报里都会发生,是相对动态的。那么舆情事件有没有传递效应?有什么样的传递效应?这也是我们在资本市场中构筑知识图谱时需要考虑的。

 

资本市场知识图谱构建的关键点

 

有了这两个核心目标,资本市场的知识图谱应该怎么构建呢?对于资本市场来说,知识图谱的构建也需要知识建模、知识获取、知识融合、知识存储、知识展示、知识计算、知识应用等环节,这与传统行业是一样的。不一样的地方在于以下几个关键点:

 

场景驱动按需迭代

 

在金融行业,新的数据源源不断地产生、汇集,那么我们在构建知识图谱之时,需要以场景驱动来解决这个问题,在数据建模上不断地更新,先建立Schema再去寻找相应的数据,集合起来之后对特定的应用场景提供相应的数据服务。随着Schema 1.0、2.0、3.0不断演化,一个企业级的知识图谱可能就建立起来了。

 

充分利用第三方数据

 

起点不一样,是资本市场知识图谱与其他领域知识图谱的一个不同点。在资本市场中,有很多第三方数据公司为证券公司、基金公司等金融机构提供数据服务,充分利用第三方数据对于知识图谱的构建非常重要。这个起点有什么影响呢?一方面,第三方数据公司会通过自然语言处理等技术做一些数据的梳理工作,其数据结构质量会比较高,基于高质量数据来构建的知识图谱,质量也会比较好,如果我们放弃这种方式,从大规模自动建立开始做,很难达到同等的效果;另一方面,第三方数据也是在不断更新的,因此在知识获取和知识融合方面,第三方数据可以帮我们解决冷启动的问题。

 

事件与时序的支持

 

事件是相对动态的,动态的新闻、资讯对资产价格有非常大的影响,所以我们在资本市场的知识图谱构建中,包括建模、分析、展示、存储等各个环节,都要充分考虑到对事件和时序支持。

 

灵活的图展示方式

 

资本市场的知识图谱对于展示有一些不一样的需求,比如可不可以按照产业链的方式把某一行业的上下游全部展示出来,能不能按照股权结构把实际受益人的图谱关系展示出来等等,这些都是金融领域的图展示需要做到的。

资本市场知识图谱的应用场景

 

从数据的关系网络支撑这个角度来看,知识图谱作为数据治理的工具、手段,可以助力原有的传统金融业务实现智能化的升级。另外,知识图谱与机器学习等技术的结合,也会帮助原有的模型实现升级。那么具体来看,知识图谱能够对现在的金融业务产生哪些方面的赋能呢?

基础赋能

▲基础数据服务:把知识图谱当做数据库、知识库,用KBQA(Knowledge Base Question Answering)的方式,为金融问答系统、智能客服系统以及金融智能搜索等业务提供相应的支持。

 

▲关系穿透/挖掘服务:知识图谱对于关系穿透、挖掘的能力,使其非常适合找到一致行动人、实际控制人以及资本系挖掘,从而有助于关联交易关联账号识别、信息批露等风控控制,并且能够对风控风险的传播和原因做深入分析,这在合规风控领域的应用有非常大的空间。

 

▲建模/推理服务:知识图谱把一些关系的数据梳理得比较清楚,这对于营销服务领域来说是一次革新的机会。无论从数据的提供层面,还是从模型的建立层面,知识图谱在KYC/KYP(Know Your Customer / Know Your Product)、产品服务推荐、智能投顾等领域都会带来非常大的价值。

进阶赋能

▲基于知识图谱事件传播影响的智能资讯服务

 

这是静态与动态知识图谱能够结合并产生金融服务的一个场景。目前对于头部金融机构的终端服务来说,智能资讯已经是一种标配,可以把相应的资讯推送给相应的标的持有人,进行风险警示或投资机会提示。

 

在知识图谱技术的加持下,智能资讯服务能够做进一步的延伸,因为企业是处在关系网络之中的,任何一个事件的传递都会沿着关系网络传播。比如“行业的原材料价格上涨”这样一件事,会在企业的关系网络里沿着企业的上下游来进行传递,据此我们可以把涉及到的相关企业从知识图谱中找出来,命中事件传播波动相关性标的、事件要素投研逻辑相关性标的等,从而对相应投资人进行相应标的的智能资讯服务,例如持仓/自选股预警、投顾等辅助服务。

 

▲基于知识图谱的智能投研:分析师工作平台

 

智能投研是知识图谱能够有较多应用的一个场景。每个行业分析师都有一套行业产业链逻辑,并且依据这套逻辑准确定位市场现状、动态,预测并制作市场模型。借助知识图谱,这套逻辑可以演化成一个投研工具,一个智能投研的分析平台,满足分析师私有化、个性化的要求,做到能够自动添加实体(公司)、关系(产业链条)、属性(私有数据),自定义投研逻辑与预警规则,帮助分析师进行产业链与企业关系的分析。

 

展望

 

在当下的智能金融时代,一方面我们需要着手进行面向人工智能的大数据治理,在数据层面上通过知识图谱将原有的金融数据做再一次的加工、整理;另一方面,一个金融机构往往动辄几十套、上百套系统,如何把知识图谱等人工智能技术的服务能力开放给传统的业务系统,进行面向人工智能的服务治理,这也是我们必须面对的一个挑战。

此外,浙江大学陈华钧教授曾提到过知识图谱的数据源问题,由于数据太容易被复制了,一旦发生数据外泄很容易侵犯个人隐私与数据所有权,所以在知识图谱领域,我们也可以考虑结合区块链技术来对数据来源进行溯源。现在知识图谱更多是集中式的,未来可能有更多分散式的知识图谱架构出现,来帮助我们解决这个问题。

300多年,英国哲学家培根曾说,知识就是力量。而随着人工智能时代的启幕,我们或许也可以说:知识图谱就是力量。知识图谱起于搜索,又不止于搜索,它是底层的,是无处不在的,支撑着人工智能在各个场景中的应用。未来,知识图谱必将让金融更智能,在更多的金融业务场景中发挥更大的价值。

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

文章转载自公众号

恒生技术之眼

 

白雪 | NLP加持知识图谱在金融事件挖掘中的应用

本文转载自公众号:阡寻科技

9月15日讯,涵盖金融科技、人工智能及区块链领域的2018恒生技术开放日于今日开幕,阡寻科技联席CEO、复旦大学人工智能方向博士白雪受邀出席本次大会,分享了金融领域事件特点分析、常用的事件抽取方法以及金融知识图谱加持NLP等方面的实践与心得。与参会人员共同探讨了自然语言与知识图谱未来的发展方向,并对人工智能技术在金融领域的应用进行了展望。

【金融领域事件特点分析】

资本运作,并购、高管动向等事件会对金融产品价格产生冲击,这些事件会引发股票、期货等金融产品价格的波动,并且由于各方对事件解读的观点不同,对标的价格也会产生不同的影响,故需要对这些事件进行特点分析,通过文本数据解析与语义理解,从多维度建立立体的关联关系,来满足投资者对事件更快、更全、更准确的挖掘需求。

 

【常用的事件抽取方法】

事件抽取是对文本进行预处理、触发词抽取与论元识别等步骤后,从非结构化信息中抽取出特定的元素,并以结构化的形式呈现给用户。白博士向大家展示了事件抽取的大致流程,首先以基于规则或机器学习的方法来判断句子的属性,然后抽取事件骨干,同时围绕同一事件可能存在的多个表达句子,用实体对齐、同义词对齐等手段进行泛化,再通过抽取公共子串或“填坑”的方式来“拼凑”完整的事件表达式。

 

【金融知识图谱加持NLP】

金融行业产业链上的各元素之间存在着一定的逻辑关系,这些相近的元素可以从词库的扩充,子图近邻的相似等方面,进行语义理解与词法分析处理,对NLP进行加持与助力,进一步的,还能基于图谱路径进行事件的关联和推理。知识图谱在场景识别、关联查询、交叉验证等各种NLP和AI任务上都能起到积极作用。

在事件沿知识图谱的推理上,白博士以泰国特大洪水与新能源汽车销量上涨,分别对橡胶行业和下游碳酸锂电池生产企业股价的影响为例,分析了沿知识图谱多步推理的原理,此项技术在金融投资领域具有广泛的需求,可帮助人们及时发现投资机会与潜在风险。

白博士坦言NLP+知识图谱、事件抽取和推理等方向,尚处在研发应用初级阶段,未来发展空间很广,仍需大家不断的努力。

阡寻科技将深度发掘自然语言与知识图谱在金融科技、工业智能化、监管科技领域的应用,为市场带来股票对话机器人、事件预警、智能资讯、自动报告、智能公告、知识图谱构建与推理、智能矿山系统等多种产品,打造一个全方位覆盖行业产业链的数字信息平台。

继续阅读“白雪 | NLP加持知识图谱在金融事件挖掘中的应用”