链接:https://tech.meituan.com/2018/11/22/meituan-brain-nlp-01.html
1、什么是知识?
答案:知识是结构化的信息。
2、什么是知识图谱?
知识图谱(Knowledge Graph)以结构化的形式描述客观世界中概念、实体及其关系。是融合了认知计算、知识表示与推理、信息检索与抽取、自然语言处理、Web技术、机器学习与大数据挖掘等等方向的交叉学科。人工智能是以传统符号派与目前流行的深度神经网路为主,如下图所示,知识图谱发展史。
3、知识图谱在商业公司中的应用?
4、知识图谱领域里是如何表示知识的?
答案:可以通过将知识以〈主,谓,宾〉的三元组形式来表示。例如人的国籍就可以表示为:〈人,国籍,国家〉
5、知识图谱包含哪些内容?
答案:
①多源异构数据
②知识获取
③知识融合
④知识表示
⑤知识推理
⑥知识赋能
6、知识图谱可以用来做什么?
答案:知识图谱已经被广泛应用于问答、搜索、推荐等领域,并已涉及金融、医疗、电商等领域
7、构建知识图谱需要哪些工具?
答案:
知识图谱的技术链如下:
①多源异构数据
包括:结构化数据、半结构化数据、非结构化文档(文本数据)
结构化数据:
从关系型数据库中获取数据,需要用到数据库语言。
半结构化数据:
从具有一定的结构的网页上爬取数据,则需要使用到爬虫技术
②知识获取
包括:实体识别、实体分类、关系抽取
实体识别:
需要用到BiLSTM+CRF来进行命名实体识别
实体分类:
在知识图谱的 Schema(纲要、概要)还不完善的情况下,可以使用聚类的方法
关系抽取:
是从文本中自动抽取实体与实体之间特定的语义关系,以补充知识图谱中缺失的关系。
关系抽取可以通过定义规则模版来获取,如匹配某种表达句式、利用文法语义特征等,但规则类方法消耗大量人力,杂质较多。基于Bootstrap Learning的方法利用少量种子实例或模版抽取新的关系,再利用新的结果生成更多模版,如此迭代,KnowItAll[2]、TextRunner[3]基于这类思想;远程监督(Distant Supervision)方法[4]把现有的三元组信息作为种子,在文本中匹配同时含有主语和宾语的信息,作为关系的标注数据。这两种方法解决了人力耗费问题,但准确率还有待提高。近期的深度学习方法则基于联合模型思想,利用神经网络的端对端模型,同时实现实体识别和关系抽取[5][6],从而避免前期实体识别的结果对关系抽取造成的误差累积影响。
③知识校验
在数据层,通过源数据获取或者通过算法抽取的知识或多或少都包含着杂质,可以在Schema层面上,添加人工校验方法与验证约束规则,保证导入数据的规范性,比如对于<店A,包含,店菜B>关系,严格要求主语A的Type是POI,宾语B的Type是Dish。而对于实体间关系的准确性,如上下位关系是否正确、实例的类型是否正确,实例之间的关系是否准确等,可以利用实体的信息与图谱中的结构化信息计算一个关系的置信度,或看作关系对错与否的二分类问题,比如<店A, 适合, 情侣约会>,对于“情侣约会”标签,利用店A的信息去计算一个权重会使得数据更有说服力。此外,如果涉及到其他来源的数据,在数据融合的同时进行交叉验证,保留验证通过的知识。当图谱数据初步成型,在知识应用过程中,通过模型结果倒推出的错误,也有助于净化图谱中的杂质,比如知识推理时出现的矛盾,必然存在知识有误的情况。
④知识融合
知识融合主要是解决多源异构数据的问题,即从不同数据来源,不同结构但表达统一的实体或概念的数据,融合为一个实体或概念。
数据融合主要包括Schema融合、实例对齐、实体链接。
Schema是知识图谱的模型,其融合等价于Type层的合并和Property的合并。在特定领域的图谱中,Type与Property数量有限,可以通过人工进行合并。对于实例的对齐,可以看作一个寻找Top匹配的实例的排序问题,或者是否匹配的二分类问题,其特征可以基于实体属性信息、Schema结构化信息、语义信息等来获取。
实体对齐是多源数据融合中的重要过程。当数据来自于不同的知识库体系,需要分辨其描述的是同一个实体,将相关信息融合,最终生成该知识库中唯一的实体。这通常是一个求最相似问题或判断两个实体是否是同一个的二分类问题,实体名称、实体携带属性以及其结构化信息,都可以作为有用特征。同时,通过Type或规则限制,缩小匹配的实体范围。
一旦图谱构建完成,如何从文本中准确匹配上图谱中相应的实体,进而延伸出相关的背景知识,则是一个实体链接问题。实体链接[7] 主要依赖于实体Entity与所有Mention(文本文档中实体的目标文本)的一个多对多的映射关系表, 如 “小龙虾”这个Mention在图谱中实际对应的实体Entity可能是“麻辣小龙虾”的菜,也可能是“十三香小龙虾”的菜。对于从文本中识别出的Mention,利用上下文等信息,对其候选Entity进行排序,找出最可能的Entity。实体链接可以正确地定位用户所提实体,理解用户真实的表达意图,从而进一步挖掘用户行为,了解用户偏好。
⑤知识的表示
知识的表示是对数据的一种描述和约定,其目的是为了让计算机可以像人一样去理解知识,从而可以让计算机可以进一步地去进行推理和计算。
大多数知识图谱是以符号化的方法表示,其中RDF是最常用的符号语义表示模型,其一条边对于一个三元组<主语Subject,谓语Predicate,宾语Object>,表达一个客观事实,该方法直观易懂,具备可解释性,支持推理。
而随着深度学习的发展,基于向量表示的Embedding算法逐渐兴起,其为每个实体与关系训练一个可表征的向量,该方法易于进行算法学习,可表征隐形知识并进一步发掘隐形知识。常用的Embedding模型有Word2Vec与Trans系列[8][9],将会在之后的系列文章里进一步讲解。美团大脑参考Freebase的建模思想,以< Subject,Predicate,Object>的三元组形式将海量知识存储在分布式数据仓库中,并以CVT(Compound Value Type)设计承载多元数据,即抽象一个CVT的实例来携带多元信息,图为一个知识表示的例子。与此同时,美团大脑基于上亿节点计算Graph Embedding的表征,并将结果应用到搜索领域中。
⑥知识推理
基于知识图谱的推理工作,旨在依据现有的知识信息推导出新知识,包括实体关系、属性等,或者识别出错误关系。可以分为基于符号的推理与基于统计的推理,前者一般根据经典逻辑创建新的实体关系的规则,或者判断现有关系的矛盾之处,后者则是通过统计规律从图谱中学到新的实体关系。
利用实体之间的关系可以推导出一些场景,辅助进行决策判断。美团大脑金融子图谱利用用户行为、用户关系、地理位置去挖掘金融领域诈骗团伙。团伙通常会存在较多关联及相似特性,图谱中的关系可以帮助人工识别出多层、多维度关联的欺诈团伙,再利用规则等方式,识别出批量具有相似行为的客户,辅助人工优化调查,同时可以优化策略。
⑦知识赋能
知识图谱含有丰富的语义信息,对文本有基于语义的更为深入的理解,在推荐、搜索、问答等领域能提供更加直接与精确的查询结果,使得服务更加智能化。
个性化推荐通过实体与实体之间的关系,利用用户感兴趣的实体,进一步扩展用户偏好的相似的实体,提供可解释性的推荐内容。一方面,图谱提供了实体在多个维度的特征信息,另一方面,表示学习向量带有一定的语义信息,使得寻找推荐实体更接近目标实体或更偏向用户喜好。
语义搜索,是指搜索引擎对Query的处理不再拘泥于字面本身,而是抽象出其中的实体、查询意图,通过知识图谱直接提供用户需要的答案,而不只是提供网页排序结果,更精准的满足用户的需求。当前Google、百度、神马搜索都已经将基于知识图谱的语义搜索融入到搜索引擎中,对于一些知识性内容的查找,能智能地直接显示结果信息。
8、知识图谱还存在哪些难题还没有解决?
未来的挑战
知识图谱建设过程是美团第一次摸索基于图的构建/挖掘/存储/应用过程,也遇到了很多挑战,主要的挑战和应对思路如下:
(1)数据生成与导入
难点:Schema构建和更新;数据源多,数据不一致问题;数据质检。
应对思路:通过针对不同的数据进行特定清洗,元数据约束校验、业务逻辑正确性校验等,设置了严格的数据接入和更新规范。
(2)知识挖掘
难点:知识的融合、表征、推理和验证。
应对思路:通过借鉴文本中的词向量表征,为知识建立统一的语义空间表征,使得语义可计算,基于深度学习和知识表示的算法进行推理。
(3)百亿图存储及查询引擎
难点:数据的存储、查询和同步,数据量极大,没有成熟开源引擎直接使用。
应对思路:构建分层增量系统,实时增量、离线增量、全量图三层Merge查询,减少图更新影响范围。同时建设完整的容灾容错、灰度、子图回滚机制。基于LBS等业务特点合理切分子图View,构建分布式图查询索引层。
(4)知识图谱应用挑战
难点:算法设计,系统实现难和实时应用。
应对思路:知识图谱的应用算法则需要有效融合数据驱动和知识引导,才能提升算法效果和提供更好的解释性,属于研究前沿领域。百亿甚至千亿关系规模下,需要设计和实现分布式的图应用算法,这对算法和系统都有重大的挑战。