近两年来,随着Linking Open Data等项目的全面展开,语义Web数据源的数量激增,大量RDF数据被发布。互联网正从仅包含网页和网页之间超链接的文档万维网(Document Web)转变成包含大量描述各种实体和实体之间丰富关系的数据万维网(Data Web)。在这个背景下,Google、百度和搜狗等搜索引擎公司纷纷以此为基础构建知识图谱,分别为Knowledge Graph、知心和知立方,来改进搜索质量,从而拉开了语义搜索的序幕。
知识图谱的表示和本质
正如Google的辛格博士在介绍知识图谱时提到的:“The world is not made of strings , but is made of things.”,知识图谱旨在描述真实世界中存在的各种实体或概念。其中,每个实体或概念用一个全局唯一确定的ID来标识,称为它们的标识符(identifier)。每个属性-值对(attribute-value pair,又称AVP)用来刻画实体的内在特性,而关系(relation)用来连接两个实体,刻画它们之间的关联。知识图谱亦可被看作是一张巨大的图,图中的节点表示实体或概念,而图中的边则由属性或关系构成。上述图模型可用W3C提出的资源描述框架RDF[2] 或属性图(property graph)来表示。知识图谱率先由Google提出,以提高其搜索的质量。
知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。
知识图谱的作用
为了让用户能够更快更简单的发现新的信息和知识,Google搜索将发布“知识图谱”(Knowledge Graph)——可以将搜索结果进行知识系统化,任何一个关键词都能获得完整的知识体系。
比如搜索“Amazon”(亚马逊河),一般的搜索结果会给出和Amazon最相关的信息。比如Amazon网站,因为网上关于它的信息最多,但Amazon并不仅仅是一个网站,它还是全球流量最大的Amazon河流。如果在追溯历史,它可能还是希腊女战士一族的代称。而这些结果未来都会在Google搜索的“知识图谱”中展现出来。
不管用户搜索的关键词是代表了地标、名人、城市、球队名、电影、专业词语还是一种菜的做法,Google的“知识图谱”都可以将搜索结果的知识体系完整的呈现出来。
和之前的搜素结果相比,“知识图谱”将在三个方面大幅度提高Google搜索的最终效果:
1 找到正确的结果。由于一个关键词可能代表多重含义,所以知识图谱会将最全面的信息展现出来,让用户找到自己最想要的那种含义。
2 最好的总结。有了知识图谱,Google可以更好的理解用户搜索的信息,并总结处相关的内容和主题。当你搜“玛丽·居里”时,你不仅可以获得这个关键词的所有相关内容,还能获得居里夫人的详细生平介绍。
3 更深、更广。由于“知识图谱”会给出搜索结果的完整知识体系,所以用户往往会发现很多不知道的东西(知识)。当你搜索一个即将去旅行的地方时,可能你会发现一个以此命名的餐馆,甚至还可能发现还有一本小说就叫这个名字,并且已经改编成了同名电影。
Google的“知识图谱”不仅仅会从Freebase、维基百科或全球概览中获得专业的信息,同时还通过大规模的信息搜索分析来提高搜索结果的深度和广度。现在Google数据库中包含超过5亿个事物,不同事物之间的关系超过35亿条。同时人们搜索的越多,Google获得的信息也就越多越全面,整个知识图谱也就会达到更好的效果。
知识图谱的构建
1. 知识图谱的规模
据不完全统计,Google知识图谱到目前为止包含了5亿个实体和35亿条事实(形如实体-属性-值,和实体-关系-实体)。其知识图谱是面向全球的,因此包含了实体和相关事实的多语言描述。不过相比占主导的英语外,仅包含其他语言(如中文)的知识图谱的规模则小了很多。与此不同的是,百度和搜狗主要针对中文搜索推出知识图谱,其知识库中的知识也主要以中文来描述,其规模略小于Google的。
2. 知识图谱的表示
假设我们用知识图谱来描述一个事实(Fact) - “张三是李四的父亲”。这里的实体是张三和李四,关系是“父亲”(is_father_of)。当然,张三和李四也可能会跟其他人存在着某种类型的关系(暂时不考虑)。当我们把电话号码也作为节点加入到知识图谱以后(电话号码也是实体),人和电话之间也可以定义一种关系叫 has_phone,就是说某个电话号码是属于某个人。
另外,我们可以把时间作为属性(Property)添加到 has_phone 关系里来表示开通电话号码的时间。这种属性不仅可以加到关系里,还可以加到实体当中,当我们把所有这些信息作为关系或者实体的属性添加后,所得到的图谱称之为属性图 (Property Graph)。属性图和传统的RDF格式都可以作为知识图谱的表示和存储方式。
3. 知识图谱的存储
知识图谱是基于图的数据结构,它的存储方式主要有两种形式:RDF存储格式和图数据库(Graph Database)。
根据DB-Engines Ranking的排名, neo4j在整个图存储领域里占据着NO.1的地位,而且在RDF领域里Jena还是目前为止最为流行的存储框架。
当然,如果需要设计的知识图谱非常简单,而且查询也不会涉及到1度以上的关联查询,我们也可以选择用关系型数据存储格式来保存知识图谱。但对那些稍微复杂的关系网络(现实生活中的实体和关系普遍都比较复杂),知识图谱的优点还是非常明显的。首先,在关联查询的效率上会比传统的存储方式有显著的提高。当我们涉及到2,3度的关联查询,基于知识图谱的查询效率会高出几千倍甚至几百万倍。其次,基于图的存储在设计上会非常灵活,一般只需要局部的改动即可。比如我们有一个新的数据源,我们只需要在已有的图谱上插入就可以。于此相反,关系型存储方式灵活性方面比较差,它所有的Schema都是提前定义好的,如果后续要改变,它的代价是非常高的。最后,把实体和关系存储在图数据结构是一种符合整个故事逻辑的最好的方式。
4. 知识图谱的数据来源
为了提高搜索质量,特别是提供如对话搜索和复杂问答等新的搜索体验,我们不仅要求知识图谱包含大量高质量的常识性知识,还要能及时发现并添加新的知识。在这种背景下,知识图谱通过收集来自百科类站点和各种垂直站点的结构化数据来覆盖大部分常识性知识。这些数据普遍质量较高,更新比较慢。而另一方面,知识图谱通过从各种半结构化数据(形如HTML表格)抽取相关实体的属性-值对来丰富实体的描述。此外,通过搜索日志(query log)发现新的实体或新的实体属性从而不断扩展知识图谱的覆盖率。相比高质量的常识性知识,通过数据挖掘抽取得到的知识数据更大,更能反映当前用户的查询需求并能及时发现最新的实体或事实,但其质量相对较差,存在一定的错误。这些知识利用互联网的冗余性在后续的挖掘中通过投票或其他聚合算法来评估其置信度,并通过人工审核加入到知识图谱中。
a) 百科类数据
维基百科 ,通过协同编辑,已经成为最大的在线百科全书,其质量与大英百科媲美。可以通过以下方式来从维基百科中获取所需的内容:通过文章页面(Article Page)抽取各种实体;通过重定向页面(Redirect Page)获得这些实体的同义词(又称Synonym);通过去歧义页面(Disambiguation Page)和内链锚文本(Internal Link Anchor Text)获得它们的同音异义词(又称Homonym);通过概念页面(Category Page)获得各种概念以及其上下位(subclass)关系;通过文章页面关联的开放分类抽取实体所对应的类别;通过信息框(Infobox)抽取实体所对应的属性-值对和关系-实体对。类似地,从百度百科和互动百科抽取各种中文知识来弥补维基百科中文数据不足的缺陷。此外,Freebase[5] 是另一个重要的百科类的数据源,其包含超过3900万个实体(其称为Topics)和18亿条事实,规模远大于维基百科。对比之前提及的知识图谱的规模,我们发现仅Freebase一个数据源就构成了Google知识图谱的半壁江山。更为重要的是,维基百科所编辑的是各种词条,这些词条以文章的形式来展现,包含各种半结构化信息,需要通过事先制定的规则来抽取知识;而Freebase则直接编辑知识,包括实体及其包含的属性和关系,以及实体所属的类型等结构化信息。因此,不需要通过任何抽取规则即可获得高质量的知识。虽然开发Freebase的母公司MetaWeb于2010年被Google收购,Freebase还是作为开放的知识管理平台独立运行。所以百度和搜狗也将Freebase加入到其知识图谱中。
b) 结构化数据
除了百科类的数据,各大搜索引擎公司在构建知识图谱时,还考虑其他结构化数据。其中,LOD项目在发布各种语义数据的同时,通过owl:sameAs将新发布的语义数据中涉及的实体和LOD中已有数据源所包含的潜在同一实体进行关联,从而实现了手工的实体对齐(entity alignment)。LOD不仅包括如DBpedia[6] 和YAGO[7] 等通用语义数据集,还包括如MusicBrainz 和DrugBank 等特定领域的知识库。因此,Google等通过整合LOD中的(部分)语义数据提高知识的覆盖率,尤其是垂直领域的各种知识。此外,Web上存在大量高质量的垂直领域站点(如电商网站,点评网站等),这些站点被称为Deep Web[10]。它们通过动态网页技术将保存在数据库中的各种领域相关的结构化数据以HTML表格的形式展现给用户。各大搜索引擎公司通过收购这些站点或购买其数据来进一步扩充其知识图谱在特定领域的知识。这样做出于三方面原因:其一、大量爬取这些站点的数据会占据大量带宽,导致这些站点无法被正常访问;其二、爬取全站点数据可能会涉及知识产权纠纷;最后,相比静态网页的爬取,Deep Web爬虫需要通过表单填充(Form Filling)技术来获取相关内容,且解析这些页面中包含的结构化信息需要额外的自动化抽取算法,具体细节在下一节描述。
c) 半结构化数据挖掘AVP
虽然从Deep Web爬取数据并解析其中所包含的结构化信息面临很大的挑战,各大搜索引擎公司仍在这方面投入了大量精力。一方面,Web上存在大量长尾的结构化站点,这些站点提供的数据与最主流的相关领域站点所提供的内容具有很强的互补性,因此对这些长尾站点进行大规模的信息抽取(尤其是实体相关的属性-值对的抽取)对于知识图谱所含内容的扩展是非常有价值的。另一方面,中文百科类的站点(如百度百科等)的结构化程度远不如维基百科,能通过信息框获得AVP的实体非常稀少,大量属性-值对隐含在一些列表或表格中。一个切实可行的做法是构建面向站点的包装器(Site-specific Wrapper)。其背后的基本思想是:一个Deep Web站点中的各种页面由统一的程序动态生成,具有类似的布局和结构。利用这一点,我们仅需从当前待抽取站点采样并标注几个典型详细页面(Detailed Pages),利用这些页面通过模式学习算法(Pattern Learning)自动构建出一个或多个以类Xpath表示的模式,然后将其应用在该站点的其他详细页面中从而实现自动化的AVP抽取。对于百科类站点,我们可以将具有相同类别的页面作为某个“虚拟”站点,并使用类似的方法进行实体AVP的抽取。自动学习获得的模式并非完美,可能会遗漏部分重要的属性,也可能产生错误的抽取结果。为了应对这个问题,搜索引擎公司往往通过构建工具来可视化这些模式,并人工调整或新增合适的模式用于抽取。此外,通过人工评估抽取的结果,将那些抽取结果不令人满意的典型页面进行再标注来更新训练样本,从而达到主动学习(Active Learning)的目的。
d) 通过搜索日志进行实体和实体属性等挖掘
搜索日志是搜索引擎公司积累的宝贵财富。一条搜索日志形如<查询,点击的页面链接,时间戳>。通过挖掘搜索日志,我们往往可以发现最新出现的各种实体及其属性,从而保证知识图谱的实时性。这里侧重于从查询的关键词短语和点击的页面所对应的标题中抽取实体及其属性。选择查询作为抽取目标的意义在于其反映了用户最新最广泛的需求,从中能挖掘出用户感兴趣的实体以及实体对应的属性。而选择页面的标题作为抽取目标的意义在于标题往往是对整个页面的摘要,包含最重要的信息。据百度研究者的统计,90%以上的实体可以在网页标题中被找到。为了完成上述抽取任务,一个常用的做法是:针对每个类别,挑选出若干属于该类的实体(及相关属性)作为种子(Seeds),找到包含这些种子的查询和页面标题,形成正则表达式或文法模式。这些模式将被用于抽取查询和页面标题中出现的其他实体及其属性。如果当前抽取所得的实体未被包含在知识图谱中,则该实体成为一个新的候选实体。类似地,如果当前被抽取的属性未出现在知识图谱中,则此属性成为一个新的候选属性。这里,我们仅保留置信度高的实体及其属性,新增的实体和属性将被作为新的种子发现新的模式。此过程不断迭代直到没有新的种子可以加入或所有的模式都已经找到且无法泛化。在决定模式的好坏时,常用的基本原则是尽量多地发现属于当前类别的实体和对应属性,尽量少地抽取出属于其他类别的实体及属性。上述方法被称为基于Bootstrapping的多类别协同模式学习。
5. 从抽取图谱到知识图谱
上述所介绍的方法仅仅是从各种类型的数据源抽取构建知识图谱所需的各种候选实体(概念)及其属性关联,形成了一个个孤立的抽取图谱(Extraction Graphs)。为了形成一个真正的知识图谱,我们需要将这些信息孤岛集成在一起。
a) 实体对齐
实体对齐(Object Alignment)旨在发现具有不同ID但却代表真实世界中同一对象的那些实体,并将这些实体归并为一个具有全局唯一标识的实体对象添加到知识图谱中。虽然实体对齐在数据库领域被广泛研究,但面对如此多异构数据源上的Web规模的实体对齐,这还是第一次尝试。各大搜索引擎公司普遍采用的方法是聚类。聚类的关键在于定义合适的相似度度量。这些相似度度量遵循如下观察:具有相同描述的实体可能代表同一实体(字符相似);具有相同属性-值的实体可能代表相同对象(属性相似);具有相同邻居的实体可能指向同一个对象(结构相似)。在此基础上,为了解决大规模实体对齐存在的效率问题,各种基于数据划分或分割的算法被提出将实体分成一个个子集,在这些子集上使用基于更复杂的相似度计算的聚类并行地发现潜在相同的对象。另外,利用来自如LOD中已有的对齐标注数据(使用owl:sameAs关联两个实体)作为训练数据,然后结合相似度计算使用如标签传递(Label Propagation)等基于图的半监督学习算法发现更多相同的实体对。无论何种自动化方法都无法保证100%的准确率,所以这些方法的产出结果将作为候选供人工进一步审核和过滤。
b) 知识图谱schema构建
在之前的技术点介绍中,大部分篇幅均在介绍知识图谱中数据层(Data Level)的构建,而没有过多涉及模式层(Schema Level)。事实上,模式是对知识的提炼,而且遵循预先给定的schema有助于知识的标准化,更利于查询等后续处理。为知识图谱构建schema相当于为其建立本体(Ontology)。最基本的本体包括概念、概念层次、属性、属性值类型、关系、关系定义域(Domain)概念集以及关系值域(Range)概念集。在此基础上,我们可以额外添加规则(Rules)或公理(Axioms)来表示模式层更复杂的约束关系。面对如此庞大且领域无关的知识库,即使是构建最基本的本体,也是非常有挑战的。Google等公司普遍采用的方法是自顶向下(Top-Down)和自底向上(Bottom-Up)相结合的方式。这里,自顶向下的方式是指通过本体编辑器(Ontology Editor)预先构建本体。当然这里的本体构建不是从无到有的过程,而是依赖于从百科类和结构化数据得到的高质量知识中所提取的模式信息。更值得一提的是,Google知识图谱的Schema是在其收购的Freebase的schema基础上修改而得。Freebase的模式定义了Domain(领域),Type(类别)和Topic(主题,即实体)。每个Domain有若干Types,每个Type包含多个Topics且和多个Properties关联,这些Properties规定了属于当前Type的那些Topics需要包含的属性和关系。定义好的模式可被用于抽取属于某个Type或满足某个Property的新实体(或实体对)。另一方面,自底向上的方式则通过上面介绍的各种抽取技术,特别是通过搜索日志和Web Table抽取发现的类别、属性和关系,并将这些置信度高的模式合并到知识图谱中。合并过程将使用类似实体对齐的对齐算法。对于未能匹配原有知识图谱中模式的类别、属性和关系作为新的模式加入知识图谱供人工过滤。自顶向下的方法有利于抽取新的实例,保证抽取质量,而自底向上的方法则能发现新的模式。两者是互补的。
c) 不一致性的解决
当融合来自不同数据源的信息构成知识图谱时,有一些实体会同时属于两个互斥的类别(如男女)或某个实体所对应的一个Property[11] (如性别)对应多个值。这样就会出现不一致性。这些互斥的类别对以及Functional Properties可以看作是模式层的知识,通常规模不是很大,可以通过手工指定规则来定义。而由于不一致性的检测要面对大规模的实体及相关事实,纯手工的方法将不再可行。一个简单有效的方法充分考虑数据源的可靠性以及不同信息在各个数据源中出现的频度等因素来决定最终选用哪个类别或哪个属性值。也就是说,我们优先采用那些可靠性高的数据源(如百科类或结构化数据)抽取得到的事实。另外,如果一个实体在多个数据源中都被识别为某个类别的实例,或实体某个functional property在多个数据源中都对应相同的值,那么我们倾向于最终选择该类别和该值。注:在统计某个类别在数据源中出现的频率前需要完成类别对齐计算。类似地,对于数值型的属性值我们还需要额外统一它们所使用的单位。
6. 知识图谱上的挖掘
通过各种信息抽取和数据集成技术已经可以构建Web规模的知识图谱。为了进一步增加图谱的知识覆盖率,需要进一步在知识图谱上进行挖掘。下面将介绍几项重要的基于知识图谱的挖掘技术。
a) 推理
推理(Reasoning或Inference)被广泛用于发现隐含知识。推理功能一般通过可扩展的规则引擎来完成。知识图谱上的规则一般涉及两大类。一类是针对属性的,即通过数值计算来获取其属性值。例如:知识图谱中包含某人的出生年月,我们可以通过当前日期减去其出生年月获取其年龄。这类规则对于那些属性值随时间或其他因素发生改变的情况特别有用。另一类是针对关系的,即通过(链式)规则发现实体间的隐含关系。例如,我们可以定义规定:岳父是妻子的父亲。利用这条规则,当已知姚明的妻子(叶莉)和叶莉的父亲(叶发)时,可以推出姚明的岳父是叶发。
b) 实体重要性排序
搜索引擎识别用户查询中提到的实体,并通过知识卡片展现该实体的结构化摘要。当查询涉及多个实体时,搜索引擎将选择与查询更相关且更重要的实体来展示。实体的相关性度量需在查询时在线计算,而实体重要性与查询无关可离线计算。搜索引擎公司将PageRank算法[12] 应用在知识图谱上来计算实体的重要性。和传统的Web Graph相比,知识图谱中的节点从单一的网页变成了各种类型的实体,而图中的边也由连接网页的超链接(Hyperlink)变成丰富的各种语义关系。由于不同的实体和语义关系的流行程度以及抽取的置信度均不同,而这些因素将影响实体重要性的最终计算结果,因此,各大搜索引擎公司嵌入这些因素来刻画实体和语义关系的初始重要性,从而使用带偏的PageRank算法(Biased PageRank)。
c) 相关实体挖掘
在相同查询中共现的实体,或在同一个查询会话(Session)中被提到的其他实体称为相关实体。一个常用的做法是将这些查询或会话看作是虚拟文档,将其中出现的实体看作是文档中的词条,使用主题模型(如LDA)发现虚拟文档集中的主题分布。其中每个主题包含1个或多个实体,这些在同一个主题中的实体互为相关实体。当用户输入查询时,搜索引擎分析查询的主题分布并选出最相关的主题。同时,搜索引擎将给出该主题中与知识卡片所展现的实体最相关的那些实体作为“其他人还搜了”的推荐结果。
7. 知识图谱的更新和维护
a) Type和Collection的关系
知识图谱的schema为了保证其质量,由专业团队审核和维护。以Google知识图谱为例,目前定义的Type数在103-104的数量级。为了提高知识图谱的覆盖率,搜索引擎公司还通过自动化算法从各种数据源抽取新的类型信息(也包含关联的Property信息),这些类型信息通过一个称为Collection的数据结构保存。它们不是马上被加入到知识图谱schema中。有些今天生成后第二天就被删除了,有些则能长期的保留在Collection中,如果Collection中的某一种类型能够长期的保留,发展到一定程度后,由专业的人员进行决策和命名并最终成为一种新的Type。
b) 结构化站点包装器的维护
站点的更新常常会导致原有模式失效。搜索引擎会定期检查站点是否存在更新。当检测到现有页面(原先已爬取)发生了变化,搜索引擎会检查这些页面的变化量,同时使用最新的站点包装器进行AVP抽取。如果变化量超过事先设定的阈值且抽取结果与原先标注的答案差别较大,则表明现有的站点包装器失效了。在这种情况下,需要对最新的页面进行重新标注并学习新的模式,从而构建更新的包装器。
c) 知识图谱的更新频率
加入到知识图谱中的数据不是一成不变的。Type对应的实例往往是动态变化的。例如,美国总统,随着时间的推移,可能对应不同的人。由于数据层的规模和更新频度都远超schema层,搜索引擎公司利用其强大的计算保证图谱每天的更新都能在3个小时内完成,而实时的热点也能保证在事件发生6个小时内在搜索结果中反映出来。
d) 众包(Crowdsourcing)反馈机制
除了搜索引擎公司内部的专业团队对构建的知识图谱进行审核和维护,它们还依赖用户来帮助改善图谱。具体来说,用户可以对搜索结果中展现的知识卡片所列出的实体相关的事实进行纠错。当很多用户都指出某个错误时,搜索引擎将采纳并修正。这种利用群体智慧的协同式知识编辑是对专业团队集中式管理的互补。
知识图谱在搜索中的应用
1. 查询理解
搜索引擎借助知识图谱来识别查询中涉及到的实体(概念)及其属性等,并根据实体的重要性展现相应的知识卡片。搜索引擎并非展现实体的全部属性,而是根据当前输入的查询自动选择最相关的属性及属性值来显示。此外,搜索引擎仅当知识卡片所涉及的知识的正确性很高(通常超过95%,甚至达到99%)时,才会展现。当要展现的实体被选中之后,利用相关实体挖掘来推荐其他用户可能感兴趣的实体供进一步浏览。
2. 问题回答
除了展现与查询相关的知识卡片,知识图谱对于搜索所带来的另一个革新是:直接返回答案,而不仅仅是排序的文档列表。要实现自动问答系统,搜索引擎不仅要理解查询中涉及到的实体及其属性,更需要理解查询所对应的语义信息。搜索引擎通过高效的图搜索,在知识图谱中查找连接这些实体及属性的子图并转换为相应的图查询(如SPARQL )。这些翻译过的图查询被进一步提交给图数据库进行回答返回相应的答案。
知识图谱在互联网金融中的应用
反欺诈
反欺诈是风控中非常重要的一道环节。基于大数据的反欺诈的难点在于如何把不同来源的数据(结构化,非结构)整合在一起,并构建反欺诈引擎,从而有效地识别出欺诈案件(比如身份造假,团体欺诈,代办包装等)。而且不少欺诈案件会涉及到复杂的关系网络,这也给欺诈审核带来了新的挑战。 知识图谱,作为关系的直接表示方式,可以很好地解决这两个问题。 首先,知识图谱提供非常便捷的方式来添加新的数据源,这一点在前面提到过。其次,知识图谱本身就是用来表示关系的,这种直观的表示方法可以帮助我们更有效地分析复杂关系中存在的特定的潜在风险。
反欺诈的核心是人,首先需要把与借款人相关的所有的数据源打通,并构建包含多数据源的知识图谱,从而整合成为一台机器可以理解的结构化的知识。在这里,我们不仅可以整合借款人的基本信息(比如申请时填写的信息),还可以把借款人的消费记录、行为记录、网上的浏览记录等整合到整个知识图谱里,从而进行分析和预测。这里的一个难点是很多的数据都是从网络上获取的非结构化数据,需要利用机器学习、自然语言处理技术把这些数据变成结构化的数据。
不一致性验证
不一致性验证可以用来判断一个借款人的欺诈风险,这个跟交叉验证类似。比如借款人张三和借款人李四填写的是同一个公司电话,但张三填写的公司和李四填写的公司完全不一样,这就成了一个风险点,需要审核人员格外的注意。
再比如,借款人说跟张三是朋友关系,跟李四是父子关系。当我们试图把借款人的信息添加到知识图谱里的时候,“一致性验证”引擎会触发。引擎首先会去读取张三和李四的关系,从而去验证这个“三角关系”是否正确。很显然,朋友的朋友不是父子关系,所以存在着明显的不一致性。
不一致性验证涉及到知识的推理。通俗地讲,知识的推理可以理解成“链接预测”,也就是从已有的关系图谱里推导出新的关系或链接。 比如在上面的例子,假设张三和李四是朋友关系,而且张三和借款人也是朋友关系,那我们可以推理出借款人和李四也是朋友关系。
组团欺诈
相比虚假身份的识别,组团欺诈的挖掘难度更大。这种组织在非常复杂的关系网络里隐藏着,不容易被发现。当我们只有把其中隐含的关系网络梳理清楚,才有可能去分析并发现其中潜在的风险。知识图谱,作为天然的关系网络的分析工具,可以帮助我们更容易地去识别这种潜在的风险。举一个简单的例子,有些组团欺诈的成员会用虚假的身份去申请贷款,但部分信息是共享的。下面的图大概说明了这种情形。从图中可以看出张三、李四和王五之间没有直接的关系,但通过关系网络我们很容易看出这三者之间都共享着某一部分信息,这就让我们马上联想到欺诈风险。虽然组团欺诈的形式众多,但有一点值得肯定的是知识图谱一定会比其他任何的工具提供更佳便捷的分析手段。
异常分析(Anomaly Detection)
异常分析是数据挖掘研究领域里比较重要的课题。我们可以把它简单理解成从给定的数据中找出“异常”点。在我们的应用中,这些”异常“点可能会关联到欺诈。既然知识图谱可以看做是一个图 (Graph),知识图谱的异常分析也大都是基于图的结构。由于知识图谱里的实体类型、关系类型不同,异常分析也需要把这些额外的信息考虑进去。大多数基于图的异常分析的计算量比较大,可以选择做离线计算。在我们的应用框架中,可以把异常分析分为两大类: 静态分析和动态分析,后面会逐一讲到。
- 静态分析
所谓的静态分析指的是,给定一个图形结构和某个时间点,从中去发现一些异常点(比如有异常的子图)。下图中我们可以很清楚地看到其中五个点的相互紧密度非常强,可能是一个欺诈组织。所以针对这些异常的结构,我们可以做出进一步的分析。
- 动态分析
所谓的动态分析指的是分析其结构随时间变化的趋势。我们的假设是,在短时间内知识图谱结构的变化不会太大,如果它的变化很大,就说明可能存在异常,需要进一步的关注。分析结构随时间的变化会涉及到时序分析技术和图相似性计算技术。
失联客户管理
除了贷前的风险控制,知识图谱也可以在贷后发挥其强大的作用。比如在贷后失联客户管理的问题上,知识图谱可以帮助我们挖掘出更多潜在的新的联系人,从而提高催收的成功率。
现实中,不少借款人在借款成功后出现不还款现象,而且玩“捉迷藏”,联系不上本人。即便试图去联系借款人曾经提供过的其他联系人,但还是没有办法联系到本人。这就进入了所谓的“失联”状态,使得催收人员也无从下手。那接下来的问题是,在失联的情况下,我们有没有办法去挖掘跟借款人有关系的新的联系人? 而且这部分人群并没有以关联联系人的身份出现在我们的知识图谱里。如果我们能够挖掘出更多潜在的新的联系人,就会大大地提高催收成功率。举个例子,在下面的关系图中,借款人跟李四有直接的关系,但我们却联系不上李四。那有没有可能通过2度关系的分析,预测并判断哪些李四的联系人可能会认识借款人。这就涉及到图谱结构的分析。
智能搜索及可视化展示
基于知识图谱,我们也可以提供智能搜索和数据可视化的服务。智能搜索的功能类似于知识图谱在Google, Baidu上的应用。也就是说,对于每一个搜索的关键词,我们可以通过知识图谱来返回更丰富,更全面的信息。比如搜索一个人的身份证号,我们的智能搜索引擎可以返回与这个人相关的所有历史借款记录、联系人信息、行为特征和每一个实体的标签(比如黑名单,同业等)。另外,可视化的好处不言而喻,通过可视化把复杂的信息以非常直观的方式呈现出来, 使得我们对隐藏信息的来龙去脉一目了然。
精准营销
一个聪明的企业可以比它的竞争对手以更为有效的方式去挖掘其潜在的客户。在互联网时代,营销手段多种多样,但不管有多少种方式,都离不开一个核心 - 分析用户和理解用户。知识图谱可以结合多种数据源去分析实体之间的关系,从而对用户的行为有更好的理解。比如一个公司的市场经理用知识图谱来分析用户之间的关系,去发现一个组织的共同喜好,从而可以有针对性的对某一类人群制定营销策略。只有我们能更好的、更深入的(Deep understanding)理解用户的需求,我们才能更好地去做营销。
【本文为51CTO专栏作者“大数据和云计算”的原创稿件,转载请通过微信公众号获取联系和授权】