从零搭建行业知识图谱及应用(一)

点击查看原文

随着互联网和人工智能的发展,机器越来越多地参与到企业产品建设中。而知识图谱能够将物理世界中的知识转化成数字世界中的符号,为机器提供行业背景知识,提高智慧程度。本篇文章是作者在建设知识图谱路上的心得与思路整理。

1、知识图谱背景介绍

随着数据红利的消耗,前期由少部分数据能够驱动的计算智能(数值优化、数值模拟等)到感知智能(语音识别、意图识别、图像识别等)已经不能够满足企业的需求,知识图谱所代表的认知智能将是下一代AI发展的焦点。

认知智能是智能化的关键,才能让机器真正以人的思维来思考。

机器理解数据的本质是:建立从数据到知识库中实体、概念、关系的映射。

机器解释现象的本质是:利用知识库中实体、概念、关系解释现象的过程。

知识图谱根据领域分为:1)通用领域知识图谱 2)行业知识图谱 3)企业知识图谱。

目前通用领域知识图谱比较知名的有:Wiki百科、Google百科、百度百科等。

行业知识图谱需要根据行业特性,对比通用领域知识图谱具有知识范围窄、深度深、颗粒度细、专家参与程度高、应用复杂等特点,但行业知识图谱对行业内企业产生的价值无可估量。

知识图谱的核心内容为三元组。三元组是以〈主体(Subject),属性(Property),客体(Object)〉形式的词组,例如〈姚明,职业,篮球运动员〉,主体与客体之间,有多对一、一对多的关系。

将全行业的全部抽取出来的三元组存储到一起,并且整理他们之间的关系,就构成了一张行业知识图谱。

2、三元组

三元组抽取的总体流程就是词汇发现-->实体识别-->关系抽取。本文主要讲解词汇发现的过程,后续系列会继续深入实体识别及关系抽取的过程。

三元组的提取模型按照监督类型可以分为有监督学习、无监督学习及半监督学习。

2.1 有监督学习

如果在已经有类似标注语料的情况下,可以直接使用深度学习模型进行训练,模型精确度与语料质量成正相关。

但是由于行业内很少有相应的高质量语料公开,如果要使用这种方式,需要耗费很大的人力成本进行语料标注,并且由于标注人员素质参差不齐,会出现同一语料标注成不同结果的情况,造成模型训练不收敛或者准确度不高的后果。

本篇主要内容为在没有大量语料及人力成本的前提下,为读者提供一种成本较低的思路提取实体。

2.2 无监督及半监督学习

在无标注语料的前提下,我们来看看三元组的构成:〈实体,关系,实体〉或〈实体,属性,值〉等。可以看出,基本可以分成两个部分,实体识别和关系抽取。

2.2.1 实体识别

基于深度学习模型,我们可以看到业界主要分为两种:多分类模型和序列标注模型。

分类模型主要是在Bi-LSTM的输出结果之后,使用全连接+Softmax作为解码器,选择概率分布最高的结果,将每个字或词来做分类,独立地预测每个字符或单词的分类,得到分类结果。

序列标注模型则是在Bi-LSTM的输出结果之后,使用Softmax的概率分布,再加上概率转移矩阵(即CRF)来输出每个字或词的结果。

序列标注模型的优点是模型的输出结果具有连续性,CRF会考虑前后tag之间的关系,而分类模型的结果有可能不符合常理。所以业界常用序列标注模型加上CRF的方式来做实体识别。

深度学习模型必须要经过训练,并且不论是分类模型还是序列标注模型,都需要提前标注语料。

使用传统的机器学习方法,怎么来提取实体呢?

2.2.1.1 基于规则的词汇挖掘

通过专家预先定义的Pattern来提取识别文档中的高质量词汇,得到的词汇质量很高,但是使用人工定义规则成本极高,并且难以覆盖全面。

2.2.1.2 基于统计学习

首先我们采用N-gram的方式来进行分词,并且统计词频,得到候选词列表及词频分数。

如果仅仅这样,我们统计出来的词组会出现很多类似“我们”、“今天”这种无意义词语,所以还需要结合TF-IDF、PMI等特征工程来提取出真正意义上所需的高质量高频词。

再结合候选词词频及TF-IDF计算的特征进行加权得到词语的最终得分,然后通过人工判断的方式取topK,这样得到的词语质量比较高。

常用的特征工程包含:

TF-IDF:挖掘能够有效代表某篇文章的词语

C-value:考虑了短语与其父短语的关系来挖掘高质量短语    

NC-value:在C-value的基础上进一步考虑了上下文来挖掘高质量短语

PMI:挖掘组成部分一致性较高(经常一起搭配)的短语

左(右)邻字熵:挖掘左(右)邻丰富的短语

3、总结

通常建设知识图谱最难的情况就是,在没有高质量的标注语料下,怎样能提取出高质量、大范围的专业词汇,只有词汇量足够充足,才能做后续的实体识别、关系抽取工作。后续作者会持续分享接下来的同义词发现、关系抽取等任务。

你可能感兴趣的:(从零搭建行业知识图谱及应用(一))