行业知识图谱如何构建?
知识图谱的基本组成三要素:实体、属性、关系。实体-关系-实体 三元组;实体-属性-属性值三元组。目前的知识图谱分为两类。一类是开放域的知识图谱,另一类是垂直领域的知识图谱。比如谷歌为搜索引擎所建立的知识图谱就属于开放域的。垂直领域的知识图谱,比如说金融的,电商的。
首先就是要先处理数据。互联网上的数据基本上都是结构化的,非结构化的和半结构化的。结构数据一般就是公司的业务数据。这些数据都存储到数据库里,从库里面抽取出来做一些简单的预处理就可以拿来使用。半结构化数据和非结构化数据,比如对商品的描述,或是标题,可能是一段文本或是一张图片,这就是一些非结构化数据了。但它里面是存储了一些信息的,反映到的是知识图谱里的一些属性。所以需要对它里面进行一个抽取,这是构建知识图谱中比较费时费力的一个工作。
从数据里需要抽取的其实就是之前所提到的实体、属性、关系这些信息。对于实体的提取就是NLP里面的命名实体识别。这里相关的技术都比较成熟了,从之前传统的人工词典规则的方法,到现在机器学习的方法,还有深度学习的一些使用。比如说,从一段文本里面,我们提取出来比尔盖次这个实体以及微软这个实体,然后再进行一个关系提取。比尔盖次是微软的创始人,会有这么一个对应的关系。另外还有属性提取,比如比尔盖茨的国籍是美国。在这些提取完成之后都是一些比较零散的信息,然后在再加之前用结构化信息所拿到的东西以及从第三方知识库里面所拿到的信息做一个融合。
另外还需要做的是实体对齐和实体消歧。
关于实体对齐。举例来说,比尔盖茨这四个字是中文名称,Bill Gates是他的英文名称,但其实这两个指的是同一个人。由于文本的不一样,开始的时候导致这是两个实体。这就需要我们对它进行实体对齐,把它统一化。
另外是实体消歧。举例来说,苹果是一种水果,但是在某些上下文里面,它可能指的是苹果公司。这就是一个实体歧义,我们需要根据上下文对它进行实体消歧。
在完成了以上步骤之后,接下来就是本体抽取。比如之前提到的微软和苹果,它们的实体是公司。从文本里面可能无法直接提取出来,它们是公司。那么需要一些方法对他们进行抽取。然后搭建出本体库,比如说公司是一个机构,它是有这种上下流的关系的。对于平级的也需要计算一个他们的相识度,比如比尔盖茨和乔布斯在实体层面,他们是比较相似的。他们都属于人这个实体。他们跟公司的差别还是挺大的,所以需要一个相似度的计算。
在以上步骤完成之后需要对知识库进行质量评估,这是一个避免不了的人工步骤。在做完质量评估以后,最终形成知识图谱。形成知识图谱以后,有些关系可能是无法直接得到的,然后需要进行知识推理,这可以对知识图谱进行扩展。比如,猫是猫科动物。猫科动物是哺乳动物。这就可以推理出来,猫是哺乳动物。但是这个推理也不是随便就可以推出来的。比如,比尔盖茨是美国人,比尔盖茨创建了一个公司,但这个公司并不一定是美国的。