知识图谱与语义分析技术介绍(附前沿论文解读)
原文自:达观数据
什么是知识图谱?
知识图谱是一种基于图数据结构的语义网络,由节点(Point)和边(Edge)组成,每个节点表示现实中存在的实体(entity),每条边表示实体和实体之间的关系(relationship)。日常生活中很多场景都可以用知识图谱来表示。比如在一个社交网络里面,人与人的关系可以是朋友,父母,兄弟等等。下面用一个实际的例子来阐述知识图谱是什么样子的。
从上图中可以看到,图中每一个人都是一个实体,每个人都或多或少会和其他人产生关系。比如,雍正的兄弟是果郡王,雍正的妃子是甄嬛。这些关系在知识图谱中的存储形式为(雍正,兄弟,果郡王),(雍正,妃子,甄嬛)。知识图谱的构建过程就是通过导入一系列这样的数据,最后以图的形式展示给用户,并且支持简单的查询,推理等操作。
知识图谱的发展
知识图谱的发展可以从两个方面进行追溯。
一方面,人们希望计算机更加智能,完成一些人类擅长的任务,比如:推理,分析,预测等。这意味着需要把人类的知识用计算机表示,并设计相关算法来完成上述任务。
另一方面,随着互联网的发展,数据相比过去有了海量的增加,由于没有能够完成上述高级任务的方法,无法在一些商业智能决策方面进行应用。于是人们提出了语义网,通过引入知识使得原始数据能够支持复杂的任务。
在人工智能发展的初期,研究者看中如何构建一个推理模型来解决问题,却没有深入分析数据中的信息。1977 年,图灵奖获得者 EdwardFeigenbaum 最早提出了知识工程的概念,并且通过实验和研究证明了知识是实现智能行为的主要方法。随后,越来越多的研究者开始投入到知识工程的相关研究中。例如 20 世纪 70 年代的逻辑表示方法,1984 年 MarvinMinsky 提出的框架表示方法等。
20 世纪 90 年代,统计机器学习为核心的人工智能成为主流,并且进入新世纪后,随着互联网的发展,数据规模呈现爆炸式的增长,而传统搜索引擎基于关键词匹配在信息的准确度上存在缺陷。于是人们于是意识到要将文字转化为知识才能提升信息服务的效果。
在 2001 年,TimBerners-Lee 等人提出了语义网的概念,希望计算机能够自动识别并理解互联网上的内容,从而使得人们获取信息的速度更加迅速。以维基百科为核心的协同知识资源为语义网的发展起到了决定性的作用,最典型的两个通用领域知识图谱为 Freebase 和 DBpedia。
2012 年 5 月 17 日由 Google 正式提出知识图谱这一概念,其初衷是为了提高搜索引擎的能力,改善用户的搜索质量以及搜索体验。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。
知识图谱主要应用
知识图谱在日常生活中主要用于搜索,推荐,问答等业务场景。 知识图谱最重要的任务是满足用户的信息需求并且提供个性化服务。
其中,能够回答人们各种类型的问题并且返回所需要的信息是最典型的任务之一。如上图中所搜索的问题“奶茶妹妹是谁?”,如果没有知识图谱,传统的方法只能返回包含一些具体时效性的网页,需要人工过滤来得到想要的答案。知识图谱的搜索问答相比较于传统的搜索方式有很大的优势,因为已经在系统中已经存好了两个实体之间的对应关系,所以在搜索的时候只要通过关键词提取--实体识别就可以直接返回答案。
如上图所示,当用户搜索范冰冰的男友时,基于知识图谱的问答能够迅速给出答案--李晨,并且知识图谱还能李晨的个人信息。另外,知识图谱还可以做一些简单的推论,回答用户提出的问题,比如图中所询问的问题“父亲的大哥的女儿叫什么”等。
以问答和对话为核心的聊天机器人在国内非常流行,例如微软的“小冰”,百度的“度秘”等。虽然还不能解决太多实际问题,但是以用户喜欢的方式把问答和对话技术和大众分享,推动了这项技术走向成熟。
问答系统可以分为多种类型:
- 单文本问答系统:比如斯坦福问答测试平台 SQuAD
- 固定语料非结构化文本问答系统:系统从预先给定的文本语料中检索并抽取答案
- 网络问答系统:从互联网中查找问题答案
- 知识库问答系统:从预先建立好的结构化知识库中查找问题答案。
本文主要讲述基于知识图谱的问答系统,面向知识图谱的问答系统的技术方法分为以下两类:
- 语义解析型: 把自然语言问句自动转化为结构化查询语句
- 排序搜索型: 通过搜索与实体有联系的实体作为候选,然后用问句和候选答案提取的特征进行对比,对候选答案进行排序得到最优解。
本文尽量尝试使用通俗易懂的语言来介绍几篇文章,让大家了解学术界和工业界关于知识图谱在 QA 问答中的一些新的方法。
一、StrongBaselines for Simple Question Answering over Knowledge Graphs with and withoutNeural Networks
近来关于基于知识图谱的简单问答变得越来越火,一些问题可以通过找寻问题中的实体并且加以分析得到答案。
在最近的研究中,关于简单 QA 任务的工作使用了越来越复杂的神经网络架构,然而这些架构产生的效果相比最先进的技术提升很有限,并且对特定神经网络架构的有效性究竟有多少并不了解。例如,经过适当调优后的 LSTM 模型比一些最新的模型效果更佳好;使用复杂的编码器-解码器加上注意力机制的模型所产生的效果和仅仅使用注意力机制模型的效果没有太大区别。
论文中作者提出了采取剥离不必要的复杂性的方法,直到得出最简单且效果好的模型。在 SIMPLEQUESTIONS 数据集上,作者发现使用基本的神经网络架构再加上简单的启发式算法可以产生接近现有技术水平的精度。另外,不涉及神经网络的简单技术的组合仍然可以实现合理的准确性。因此作者认为虽然神经网络的确可以在这些任务上产生一定的提升效果,但是一些模型包含了不必要的复杂性并且相比基准线产生的提升效果并不大。
实现方式:
**论文作者把简单的 QA 问题分解成 4 个任务:**实体识别(entitydetection),实体链接(entity linking),关系预测(relation prediction)和证据整合(evidenceintegration)。
(一) 实体识别
给出一个问题,实体检测的目标是识别被查询的实体。这通常被当做成一个序列标注问题,标记每一个 token 是不是实体。这类问题最常用的模型就是 RNN,首先把输入问题映射成词向量,然后分别使用了双向 LSTM 和 GRU,把得到的隐藏状态 h 拼接起来,通过线性层,batchnormalization,ReLu 函数,dropout 等一系列变换,把结果映射到标注空间中。
具体的实现方式如下:
接下来让我们验证一下模型能不能检测出实体。实验使用了达观数据的投资关系示例图谱:
总共实验数据为 13929 条,选取其中的 2/3 作为训练数据,其中包含了一句短语和标签,标签中 I 代表句子中当前位置是实体。关系类型为 3 种:投资,收购和管理。
训练数据中选取了 5575 条数据,数据中包含实体名称,一个短问句和标签对应当前词语是不是实体。
模型选用 2 层双向 GRU,词嵌入维度和隐藏层维度都是 300 维,dropout 的比例选择 0.3,损失函数选择 NLLLoss。
预测时通过把问题中的文字映射成对应的 index,模型计算的结果是当前句子中的词为实体的概率,每次选取最大的一个概率的 index 作为预测的标签类型。
从测试集中找出一句话例如:“硅谷天堂 投资浙江振龙电源股份有限公司”,首先把其变成如下形式:
然后句子经过模型后得到的得分和对应的 index 为:
通过 index 就可以知道当前这句话中每一个词的类别。
模型预测的结果为:
说明模型成功识别出了句子中的实体“硅谷天堂”和“浙江振龙电源股份有限公司”。
我们再从百度新闻中随便摘取一句短语来验证一下模型的效果,输入为“高端制造业投资 势头 良好”,模型返回的输入如下:
这里看到模型把良好也划分成了实体,这是因为训练数据规模比较小,没有覆盖到不同样式的句子类型所导致的。
从输出结果来看,只要提供更多不同类型的短句来训练模型,模型可以准确的识别出一句句子中的实体。
(二) 实体链接
实体识别的输出是一系列候选的实体,需要被连接到知识图谱中的节点中。作者使用了模糊字符串匹配来代替神经网络。此外,作者从候选实体生成所有相应的 n-gram,并在所有匹配的倒排索引中查找它们。
(三) 关系预测
关系预测的目的是识别被查询的关系,论文中将其视为分类问题,并提出了三种不同的架构。
1.循环神经网络: 具体结构和实体识别类似,使用双向 LSTM 和 GRU,根据最后一层的隐藏状态来做分类。
pytorch 实现如下:
2.卷积神经网络: 使用单通道的 CNN,使用宽度为 2 到 4 的特征映射应用于输入矩阵,该输入矩阵包括转换为词嵌入的输入 tokens,随后连接最大池化层,全连接层和 softmax,输出最终预测。
pytorch 实现如下:
3.逻辑回归
在问题上具体使用了两种特征集合:
- 一元和二元的 tf-idf
- 词嵌入 + 关系词:把句子中每一个 token 的词嵌入取平均值,然后和关系名称中最常用的 300 个术语组成的独热向量做拼接。作者认为这种混合表示可以将词嵌入捕获语义相似性的优点和独热向量能清楚地区分关系名称中的强“提示”tokens 相结合
我们在这里使用和之前相同的数据来验证一下模型。
我们这里同样使用双向 GRU,训练结果如下:
给定测试数据“中证投资 投资 北京郁金香伙伴科技有限公司”,模型的预测结果为:
第一列为预测的类别,第二列为得分。得分越高说明模型认为这条数据所属于这一类别的概率越大。从图中可以看出,模型认为“中证投资投资 北京郁金香伙伴科技有限公司”这条数据属于投资类,符合我们的预期。
(四) 证据整合
给定前面组成部分的前 m 个实体和 r 个关系,最后的任务是整合证据以得出单个(实体,关系)预测。首先生成 m × r (实体,关系)元组,其得分是实体和关系的乘积。由于实体检测/链接和关系预测都是独立执行的,因此许多组合都没有意义需要,需要被删除。图谱中很多具有相同标签的节点具有相同的分数,通过使用知识图谱中实体的传入边数可以将这些点重新排序。
总结
- 至少对于简单 QA 而不是知识图的任务,在急于探索复杂的深度学习技术时,还没有以严谨的方式充分研究简单,强大的基线
- 非神经网络方法值得考虑,深度学习虽然效果很好,并且肯定会提升现有技术水平,但实际的改进却没有那么大
- 科学的最终目标是知识,而不是应该沉迷于排行榜上的排名
二、KnowledgeGraph Embedding Based Question Answering
基于知识图谱的 QA 问答是使用已经存在于知识图谱中的事实(facts)来回答基于自然语言的问题。它可以帮助用户轻松访问图谱中的知识并且不需要用户了解其背后的原理。因为捕获语句中的情感信息对机器来说不是一件容易的事情,很多基于知识图谱的词嵌入方法被提出来解决这个问题。其核心思想是把句子中所有的谓语(predicate)和实体(entity)映射到一个低纬度的向量空间使得知识图谱能保存句子中的信息关系。 这些向量还可以用于知识图谱的填充和推荐系统中。然而由于谓语可以以多种形式来表达,并且实体名词(entityname)和部分名称(partial name)之间通常容易混淆,以至于候选回答数量很多。
针对这些难点,百度提出了 KnowledgeEmbedding based Question Answering(KEQA)框架能够针对简单的问题——只包含一个头部实体和一个谓语的问答。其核心思想是在图谱嵌入空间(KGembedding spaces)中识别出一个问句的头部实体(head entity),谓语和尾部实体(tail entity),并且通过联合距离评价准则(JointDistance Metric)在知识图谱中找到一个和这三个向量最接近的事实来当做问题的回答。
KEQA 具体包含以下三个步骤:
1.KEQA 通过所有问题集 Q 中的问题和其谓语的词嵌入表示,KEQA 训练一个谓语学习模型。通过给定一个问题当做输入,模型可以返回一个分布在 KG 嵌入层空间的向量
来作为预测的谓语表示。类似的,KEQA 还训练了一个可以识别头实体的模型来预测头实体的向量表示。
2.由于 KG 中的实体数量通常很大,因此 KEQA 采用头部实体检测模型来减少候选头部实体。主要目标是将问题中的多个 tokens 识别为预测的头部实体名称,然后将搜索空间从所有实体减少到具有相同或相似名称的多个实体。
3.通过知识图谱嵌入算法(KG embedding algorithm)的关系函数 f 可以求出预测的尾实体表示:
在图谱中和预测的事实最接近的事实就是问题的答案。
(一) 知识图谱嵌入层
知识图谱嵌入方法的核心是:
1.对所有在图谱中的(h, l, t),其嵌入表示为(e_h_, e_l_, e_t_)。首先嵌入算法随机或者根据预训练好的词向量来初始化 e_h_, p_l_, e_t_。
2.定义测量嵌入空间中事实(h,l,t)的关系的函数_f_,使得 et ≈ f(e_h_, p_l_)。例如,TransE 算法定义 e_t_ ≈ e_h_ + p_l_,TransR 算法定义 e_t_M_l_ ≈ e_h_M_l_ + p_l_,其中 M_l_是谓语_l _的变化矩阵。
3.词嵌入算法最小化 e_t_和_f_(e_h_, p_l_)之间的距离。最常见的方法是定义一个关于距离的评价准则并且在正负样本上都进行训练,例如存在于图谱中的事实和人工合成不存在于图谱的事实。
(二) 谓语和头实体的模型
模型构架图
基于神经网络的谓语表示学习模型:
通过给定一个指定长度 L 的问题,首先把 L 映射成一系列的词向量{x_j_},j = 1, ….,L,比如 Glove 等预训练的词向量。然后使用双向 LSTM 把正向和反向的隐藏状态 h 拼接起来。
第_j_个 token 的注意力机制权重α_j _的计算公式如下:
接着把注意力机制的权重α_j 应用于 h_j,并且把结果和词嵌入向量 x 拼接,生成一个新的隐藏状态 s_j_ = [x_j_ ; α_j_h_j _]。最后再接一个全连接层产生一个形状为 d * 1 的 r_j _表示目标向量的第 j 个 token。预测的谓语表示 ^p_l _可以通过所有 tokens 的目标向量的平均值来得到:
用 pytorch 实现的代码如下:
基于神经网络的头实体学习模型:
使用了和基于神经网络的谓语表示学习一致的模型,给定一个问题,目标是恢复其在图谱嵌入空间中的表示,而不是直接推断头部实体。因此,头实体学习模型的目标是计算尽可能接近该问题的头实体嵌入表示的向量 e_h _。然而,知识图谱中的实体数量通常很大,并且当将 ^e_h _与所有实体嵌入表示进行比较时,计算开销昂贵且效果会受到噪声干扰。于是 KEQA 部署了一个头实体检测模型来减少候选的头实体从而提高模型学习的效率和效果。
(三) 头实体检测模型
模型架构图
头实体检测模型的结构和前两个模型的结构类似,除了没有注意力机制,并且将其转换成了一个二分类的问题:预测目标单词是不是实体。具体步骤如下:首先把问题映射成词向量{xj},然后通过双向 LSTM 学习到 xj 的正向和反向的隐藏状态拼接得到 hj。最后通过全连接层和 softmax 函数可以将 hj 转换为一个形状为 2 * 1 的目标向量 vj,向量 vj 中的两个值代表了是不是实体名称的概率。
(四) 联合距离评价准则
其中,函数表示是实体还是谓语,HEDentity 和 HEDnon 表示当前 token 通过 HED 模型识别出是不是实体名称,函数计算两个字符串的相似度,_β_1,_β_2,_β_3,_β_4 是预先设定的权重使得每一项在等式中的占比均衡。在论文中使用了 L2 范数来作为距离的度量标准。
公式中的前三项度量了一个真实事件(h, l,t)和预测值的距离,论文中还使用了_f_(e_h_,p_l_)来表示尾实体的嵌入向量替代了 e_t_,这是因为在知识图谱中可能存在多个事实具有相同的相同头实体和谓语但是具有不同的尾实体,所以仅仅依靠一个尾实体 e_t_无法回答所有的问题。等式中的后两项确保了选择一个事实的头部实体名称与 HEDentity 完全相同,并且具有问题所提到的谓词名称。
(五) 整体训练流程
输入:一个知识图谱 G,谓语名称 P 和实体名称 E,一个简单的问题 Q
输出:头实体_h_和谓语_l_
- 首先训练谓语识别模型
- 在问题集合 Q 中,对所有的 Qi:
- 把 Qi 的 L 个 token 当做输入,把它的谓语_l _当做标签来训练模型
- 更新权重矩阵{W},w,{b}和 bq 来最小化目标函数:
- 训练头实体识别模型
- 在问题集合 Q 中,对所有的 Qi:
- 把 Qi 的 L 个 token 当做输入,把它的头实体_h_当做标签来训练模型
- 更新权重矩阵和偏置项来最小化目标函数:
- 训练 HED 模型
- 在问题集合 Q 中,对所有的 Qi:
- 把 Qi 的 L 个 token 当做输入,把它的头实体名称的位置当做标签来训练模型
- 更新权重矩阵和偏置项
- 给定输入 Q,通过谓语识别模型来学习 p_l_
- 给定输入 Q,通过头实体识别模型来学习 e_h_
- 给定输入 Q,通过 HED 模型学习得到 HEDentity 和 HEDnone
- 根据 HEDentity,在图谱 G 中找到候选的事实集 C
- 在 C 中所有的事实中,计算(h,l,t*)使得目标函数最小
总结
1.通过基于 KG 嵌入执行问答,KEQA 能够处理与训练数据中的所有谓词和实体不同的谓词和实体的问题。
2.通过利用嵌入表示中保留的结构和关系信息,KEQA 可以共同执行头部实体,谓词和尾部实体预测,并且这三个子任务能够互相补充。
3.KEQA 可以推广到不同的 KG 嵌入算法,因此更复杂的 KG 嵌入算法可以进一步提高 KEQA 的性能。
三、VariationalReasoning for Question Answering with Knowledge Graph
尽管最近一些基于神经网络的端对端架构在 QA 问答的基础数据上取得了不错的进展,然而这些神经方法将知识图谱视为分项知识记录的扁平化表,使得难以利用图中的结构信息,因此对逻辑推理很弱。当问题的答案和主题实体不相邻时需要对知识图谱进行逻辑推理,而在这个方面神经网络往往表现不佳。例如当问到这样一个问题‘Whowrote the paper titled …? ’,传统的基于语义解析的方法可以通过查询知识图谱记录中的三元组(paper_title,authored_by, author_name)来得到答案。
然而对问题‘Who have co-authored papers with …?’由于缺乏 co-authored 这个关系从而导致传统方法无法转换成合适的查询语句。**常见的解决方法是为知识图谱中的非邻居实体对创建新的关系。**另一个对于传统方法的挑战是如何在知识图谱中找到主题实体。 传统方法通过简单的字符串匹配来定位所讨论的主题实体,然而实际场景中用户的输入可能是通过语音识别或者用户打字而来的,因此会带来一定的噪声,例如拼写错误或者问题的描述含糊不清等。在具有噪声的场景下,问句中的实体则很难直接准确的匹配到知识库上。因此作者提出了一个端到端的知识库问答模型来解决以上两个问题。
1.建了一个概率建模框架,用于端到端 QA 系统,可以同时处理不确定主题实体和多跳推理(multi-hop reasoning)。例如问题’who acted in the movie Passengers?’中,我们把主题实体是电影名称’Passengers’定义为 y,并将该实体与问题 qi 的兼容性建模为概率模型_P_θ1(y | qi),表示知识图谱中实体 y 在问题 qi 中被提及的概率。
2.在知识图上提出了一种新颖的类似传播的深度学习架构,以在概率模型中执行逻辑推理。给定问题 qi 中的主题实体 y,需要在知识图谱上推理从而得到答案 ai。具体做法为模拟一个答案 ai 在给定实体 y 和问题 qi 的可能性_P_θ2(ai|y, qi)。由于问题中的主题实体没有被标注,因此通过将主题实体 y 视为潜在变量来自然地制定问题。模拟问题 qi 被答案 ai 回答正确的概率可以通过累加潜在变量的所有可能性得到:
给定一个包含 N 对问题答案的训练集 Dtrain,参数θ1 和θ2,目标函数为:
模型框架图:
(一) 识别问句实体的概率模型:
很多实际问题或者音频中,主题实体往往需要构建一个识别器才能识别出主题实体。作者发现具有完整的上下文的问题对处理缺乏标注的主题实体效果较好。例如,Michael 既可以被当做人名又可以被当做电影名,所以很难仅仅从实体名来判断其是不是和问题相关,但是通过检查其周围的单词来解析。
如问句 who acted inthe movie Passengers? 我们希望能将 Passengers 识别出来。但由于训练数据中的实体没有被标注出来,因此这个识别的实体将被看成一个隐变量。识别的具体步骤如下:
1.用神经网络_f_ent 先将输入的问句 q 进行编码,将问句 q 转换为一个维度是 d 的向量。
2.随后将图谱中每个实体都转化为一个向量。
3.通过 softmax 计算在 q 下图谱中每个实体_y_是 q 中实体的概率
(二) 在知识图谱上做逻辑推理的概率模型
在推理这部分的工作中给出了上一步识别的实体和问句希望系统能给出答案。然而用参数化推理模型具有非常大的挑战,因为检索答案需要在巨大的图表上进行多步遍历。因此作者提出了一个推理图嵌入体系结构(reasoning-graph embedding architecture),其中所有的推断规则及其复杂的组合在向量空间中表示为非线性嵌入并将被学习。
我们假设算法已知逻辑推理的最大步数(或跳数)T。从主题实体 y 开始,我们根据知识图对 T 跳中的所有实体执行拓扑排序(忽略原始边缘方向),然后可以得到一个有序的实体列表 a1,a2,...,am 与知识图的关系。
下图为一个跳数为 2 的示例,其中实体用它们与源实体的拓扑距离标记。
由于在整个系统的学习过程中没有人来标注在问答时使用的推理规则,因此在问答时使用的规则将被学习出来。整个推理过程如下所示:
1.通过另一个网络 fqt 对问句 q 进行编码,将 q 转化为一个维度是 d 的向量
2.通过一个 Reasoning graph embedding:给定范围 Gy 中的潜在答案 a,我们将 Gy→a 表示为包含从 y 到 a 的所有路径的最小子图,对 y 的相邻实体进行编码。
3.通过 softmax 计算通过 y 推理找到实体是问题 q 答案的概率
4.如果推理没有达到限定的步数则返回第二步,将原来 y 相邻的实体转换为 y 进而进行推理
使用嵌入推理图 Gy→a 和范围 Gy 来计算答案 a 的正确性的概率为
(三) 端对端的学习
EM 算法通常用于学习潜变量模型,然而对于式(1)中的目标函数难以执行执行精确的 EM 更新,因为后验概率不能以封闭的形式计算。所以在论文中作者使用变分推理并优化变分下限(evidencelower bound):
,(7)
其中,变分后验概率 Q φ(y|q,a)是和模型共同学习得到的。因此,为了减少近似误差,需要一组强大的后验分布概率。Q φ计算主题实体 y 以及答案 a 的附加信息对于问题 q 的的可能性。论文中作者定义答案 a 的范围_G_a,反推理图(inverse reasoning graph)G_a→y,以及反嵌入架构(inverse embeddingarchitecture)来有效地计算嵌入_g(_G_a→y)。最终,变分后验概率由两部分组成:
, (8)
为了减少梯度的方差,其中
作者把 A(y,q,a)归一化并减去基线函数 b(q,a),于是梯度可以近似转化为
论文作者给出的具体的算法流程如下:
(四) 推断
在推断过程中只给出了问题 q,并且想通过等式
来找到答案。然而这种计算实体的方式开销太过昂贵,于是论文中作者使用了束搜索(beamsearch)的方式来近似的求解。作者根据得分从_P_θ1(y|q)中选择了 k 个候选实体 y1, y2,…, yk,最后的答案为:
在实验中,作者发现当 k=1 时效果已经表现的足够好。
总结
当人们提问带来的很多噪声(例如,文本中的拼写错误,或发音的变化),会影响 QA 系统将这些提到的实体与知识图匹配。另外,许多问题需要在知识图上进行多跳逻辑推理以检索答案。为了解决以上问题,论文中提出了一种新颖的深度学习架构,和一种端到端的变分学习算法用来处理问题中的噪声,并且能同时处理多跳逻辑推理。该方法在最近的基准数据集上表现出了最先进的性能。
四、结论
知识图谱在业界还算是一个较为新颖的技术,其主要作用还是在于分析关系,尤其是深度的关系。知识图谱与传统的知识表示不同,以三元组为统一的表达形式,不仅更加容易被人接受,而且在储存,推理和搜索方面也更加高效。
但是目前定义的知识图谱只能表示实体和关系的知识。以符号表示为基础的知识图谱和以数值计算为基础的深度学习在不同领域中各有优势。知识图谱领域一个最重要的话题是知识的推理。基于符号的推理可以从一个已有的知识图谱利用规则推理出新的实体间关系,还可以对知识图谱进行逻辑的冲突检测。
另外,知识图谱在学术界和工业界受到越来越多的关注。除了本文中所提到的对话,知识图谱还可以应用在推荐系统,文档管理,人力资源管理等不同的领域。
在多数推荐场景中,物品包含丰富的信息,物品端的知识图谱为推荐提供了丰富的参考价值,更能为推荐结果带来额外的多样性和可解释性。推荐系统是对用户和物品之间的交互的建模,而知识图谱则提供了物品之间复杂的语义关系。
由于传统的企业级文件系统基于关键词的检所无法满足数据量日益增长的业务需要,企业需要一种方法将业务数据转化为生产力。 而使用知识图谱可以快速的构建实体三元组,定义时序、事件、事理等语义网络,并且结合使用神经网络的智能搜索和智能推荐等功能帮助企业挖掘数据中的重要信息。
知识图谱还能应用于辅助写作 ,其写文章和思考模式与人类类似,利用机器学习方法,从现有资料内挖掘专业知识形成知识图谱,把零乱复杂的人类社会知识通过点、线连接,以结构化的方式组织起来,帮助用户从海量网络数据中获取结构化完整的知识与信息。使用知识图谱可以对相关专业词汇进行通俗化词汇提示,使得产出文章更加通俗易懂,辅助编辑人员编写专业的科普文章,提高文章的编写效率和专业性。
五、参考文献
[1] Mohammed, Salman, Peng Shi, and Jimmy Lin. "Strongbaselines for simple question answering over knowledge graphs with and withoutneural networks." arXiv preprint arXiv:1712.01969 (2017).
[2] Huang,Xiao, et al. "Knowledge graph embedding based question answering."Proceedings of the Twelfth ACM International Conference on Web Search and DataMining. ACM, 2019.
[3] Zhang,Yuyu, et al. "Variational reasoning for question answering with knowledgegraph." Thirty-Second AAAI Conference on Artificial Intelligence.2018.
关于作者
王逸捷: 达观数据 NLP 算法工程师,负责达观数据 NLG 方向的相关算法研发,优化工作。