共计 1881 个字符,预计需要花费 5 分钟才能阅读完成。
随着互联网和人工智能的发展,机器越来越多地参与到企业产品建设中。而知识图谱能够将物理世界中的知识转化成数字世界中的符号,为机器提供行业背景知识,提高智慧程度。本篇文章是作者在建设知识图谱路上的心得与思路整理。
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、总结
通常建设知识图谱最难的情况就是,在没有高质量的标注语料下,怎样能提取出高质量、大范围的专业词汇,只有词汇量足够充足,才能做后续的实体识别、关系抽取工作。后续作者会持续分享接下来的同义词发现、关系抽取等任务。