1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 《知识图谱:概念与技术》 读书笔记(下)

《知识图谱:概念与技术》 读书笔记(下)

时间:2019-08-26 10:41:49

相关推荐

《知识图谱:概念与技术》 读书笔记(下)

肖仰华老师的读书笔记,很多思路、方法都值得借鉴。

原始课件链接http://kw./workshop/kgbook,本博文中提到的资料就是这些原始课件链接。

本篇博客主要记录了原书第三篇和第四篇,与知识图谱的管理、应用相关,可以结合另一篇博客来看:/weixin_37763484/article/details/129016111

1.知识图谱的建模与存储

1.1 数据模型

RDF:

资源描述框架,现实世界中每个概念、关系、实体和事件都可以对应一个资源,每个资源都用URI(Uniform Resource Identifier,统一资源标识符)进行标识RDF 数据中的三元组又称为事实或者知识多元关系、时空信息、多媒体数据也可以表示为rdf,详见资料

图模型:

在这个图中,每个实体或者属性值构成图上的点,每个三元组可以视为连接主体及客体的有向边,而三元组中的谓词可以视作有向边上的标签有向无环图表达了isA 关系所构成的偏序关系树状图表达了层级结构如果一个信息网络中的所有点和边都是同一个类型的,那么我们称之为同构信息网络;否则,我们称之为异构信息网络网络模式(元数据)用来在元数据层面描述信息网络中不同类型的点之间的关系,例如关于文献的异构网络中,可能包含作者、论文、会议等三种节点,网络模式描述了他们之间的关系,网络模式中的一条路径被称为元路径,例如“作者-论文-作者”的原路径描述了作者间的合作关系

1.2 物理存储

数据表存储方式:

1.基于原始rdf三列模式的存储,包含头实体、尾实体和关系三列数据查询、自连接比较费时 2.垂直划分,将所有数据按照关系进行分组,每个关系的数据表中只存储头实体和尾实体,避免了大量自连接,但是当属性为变量的时候效率低下(例如查询“柏拉图和苏格拉底是什么关系”)3.针对三元组间的每一种排列,以及三选二的组合,都建立索引查询快,但是数据量增加,维护变慢4.利用属性优化:利用类型进行分类(例如将图书和dvd分到不同表中)或聚类(例如将具有版号的图书和dvd聚为一类)jena中,将相同类别的实体放到一起,并将他们的特征作为列名,例如ibm和联想放到一张表中,主键是ibm或联想,属性是“公司规模”、“成立时间”等

数据图存储方式:

基于邻接表:gStore,利用n-gram和hash函数进行位图映射,能够减少索引的次数,并与查询条件快速匹配,详见资料基于邻接矩阵:BitMap,例如存储“0011000”=》"[0]223",表示第一位是0,且先出现2次,然后是两个1,再然后是3个零

分布式图数据库:

1.hdfs:键值对,键是头实体,值是头实体有关的所有的关系以及对应的尾实体2.xUDT:以行的方式存储数据,类似于属性表,3.S2RDF:在垂直划分的基础上,把一些连接操作也提前做了计算,详见资料4.基于粗化:这类方法主要思想在于大的知识图谱中一些点迭代地合并起来形成能被处理的小图。然后对这个小图调用现有方法来进行划分,最后将对小图的划分结果回溯成大图的划分击打匹配的粗化:详见材料,没太看懂标签划分的粗化:在迭代的每一轮中每个节点收集来自自己的邻居标签,选择绝大部分邻居所具有的标签,然后更新自己的标签然后按照标签将数据分到不同的机器上5.基于局部模式:按照一些模式(也就是节点和有向边之间的形状),把大图中的数据分成几部分并存储到不同机器上

2.知识图谱的查询与检索

2.1 查询语言

知识图谱中,节点是概念或实体,边是关系或属性

可以执行单表查询或多表查询,

类似于sql语言,但是省略了as的别名操作,表的连接也用更直接的方式,注意"?"和"x"的用法

推理:推理包括传递性、对称性等特征,

例如“a is X”,“X isSubClass Y”=》“a is Y”或p有传递性,<u,p,v>和<v,p,w>,那么一定有<u,p,w>

2.2 查询算法与场景

1.图同构或子图查询:

同构见资料,常用算法Ullmann算法,VF2算法,是一个NP问题包括基于语义和基于语义/结构的查询基于语义:例如汽车知识图谱中,电动汽车和燃油汽车的共同祖先是汽车而电动汽车与氢动力汽车的祖先是“新能源汽车”新能源汽车的深度更大,因此电泳汽车和氢动力汽车更相似基于语义/结构:使用语义边重定向等方式,编辑图中的边和节点在给定一个子图t1的时候,根据编辑距离,找到与子图t1相似的新子图t2在查询的时候,依照t2的模式去查询例如汽车查询,资料中的图片,实际上都在描述“生产于德国的汽车”这一个意思通过不同的几条路径可以写出不同的sql查询语言编辑方式包括合并,例如“生产于澳洲”、“是汽车”=》“生产于澳洲的汽车”路径合并,例如“生产于科隆”,“科隆位于德国”=》“生产于德国”

2.top-k查询:

假设两个人提出了旅行意见,并且两个人的意见同样重要,需要综合选出得分最高的一个旅行景点那么可以先排序,后根据某些条件提前终止详细案例见资料例如fegin中,先把意见表中的第一行,九寨沟10和大理9加入表格然后把意见表中的第二行加入,直到某个元素同时在左右两列都出现,现在大理已经出现了此时表中西湖可以删去,表中还剩九寨沟10和大理9 大理8把原始数据中的九寨沟6加入计算可知,大理的分数更高Threshold算法类似,只不过是把竖着的两列换位了横着的表格

3.带标签限制的路径查询

给定一个起始顶点s和目标顶点t,以及白名单标签集合T,其任务是返回从s到t的最短路径,并且路径上的边标签是T的子集可以理解为,查找两个相关的电影明星,他们相关联的路径上只能包含白名单{参演、导演、配音...}黑名单限制查询:第一种方法,转化为白名单查询,假设全集为R,黑名单为B,那么白名单W=R-B第二种,找中间结点可以使用资料中提到的“基于标记的方法”解决参考论文【1】

4.元路径查询:

基于给定节点自动生成元路径,发现一些元路径模式,利用这些元路径再去做其他工作例如在论文知识图谱中,发现一些“会议-论文-关键字-论文-会议”的路径这些路径两端的节点有相似性,并且可以作为检索时的相关内容。相关算法pagerank、simrank、pathsim、SCAN社区发现文献【2】等

5.关键字查询

假设有三个关键词,查找两个节点的最小路径,使他们在图中联通,且包含三个关键词(可以包含其他关键词)最小斯坦纳树的一种近似解法:给定图中的所有节点V和关键词集合U,列举V-U的子集S,基于点集S∪U求最小生成树需要进行意图判断,例如用户输入“commedy,actor”需要识别其核心词汇为actor,然后对结果进行排序过滤,仅保留其中的演员

6.社团查询社区发现

networks或communities库可以实现雷斯算法,如SCAN算法可以通过关键字或社团中每个顶点都共享若干关键词比如某个社团中的人都跟音乐相关,则可以清楚的了解这个社团的类型(见资料中的例子)可以使用CL-tree,例如在资料第84页的途中,ABCD这个团的最小度数(即节点的最小度数)为3并且ACD三个点同时包含关键词x和y,因此可以认为ACD三个点关于xy相似

参考:

1.Label constrained shortest path estimation, Likhyani A2.SCAN: a structural clustering algorithm for networks,xiaowei Wu

3.知识图谱的搜索与推荐

知识图谱能完善用户画像,发掘用户与物品、问题与答案之间的语义关联,

并为结果提供解释性,为用户提供认知框架,便于用户洞察相关信息

3.1 知识图谱搜索

搜索可以分为搜索意图理解、目标查找、结果排序呈现、实体探索四步

1.意图理解:

用户意图包括导航类(访问某个网站)、信息类(查询某条信息)、事务类(找到某本图书的pdf并下载)1.主题分类:判断用户查找的是哪种实体(例如会议记录、项目信息、业务指标等),计算类别c在给定查询q下的概率P(c|q),可以利用q的上下文、q中实体对应的类别等信息来计算2.语法解析:目的是输出查询中关键词的词性和语法修饰关系,进而确定关键词和修饰词例如“苹果手机iphone13 保护套黑色水晶版”关键词是保护套,修饰词是黑色等,可以基于标注样本(标注了核心词和修饰词),或者利用行为数据(例如搜索了iphone保护套的用户都留在了保护套页面,那么核心词是保护套)或者用模板,例如招聘网站,可以将岗位定位核心词,将地点等定位修饰词3.语义解析:更精准的识别关键词间的语义关联,并将关键词连接到图谱中的实体上可以利用tagme等实体连接方法,或者利用短文本实体链接的方法计算指代词与每一个候选实体的相似度

2.目标查找:

根据意图理解的关键词和修饰词,进行查找,例如上海985高校,985学校,再查上海对于多条件的查询,返回结果的交集

3.结果呈现:

1.排序,可以利用pageRank等算法,或者利用上一章中单实例概念理解的内容,即P(e|c)来计算实体e对概念c的典型性也可以将实体的流行度P(e)与P(e|c)综合考虑2.分组展示:例如高考期间可以着重展示学校的分数线等信息可以对高频项人工设定关键属性,或利用用户行为发掘关键属性也可以针对某些类别生成摘要,例如搜索上海高校,那么可以把理工类的上海高校单独分为一类,并介绍其特点

4.实体探索:增加结果的多样性,有相关实体发现、生成摘要、相关实体解释三种类型

1.相关实体发现:评估e与e_s,在e属于类别T且二者能够通过关系R连接的概率,可分为三个步骤,其中计算候选者e与实体e_s的共现频率有两种,可以用语料中出现的频率,或者利用搜索时关键词的共现计算候选者e属于类别T(实体e_s也属于类别T),可以用jaccard算法,比较e包含的关键词与类别T的关键词的重合度计算e与e_s在关系R下的相关程度:

P ( R ∣ e s , e ) = ∏ t ∈ R P ( t ∣ θ e e s ) n ( t , R ) P(R|e_s,e)=\prod_{t\in R}^{} P(t|\theta_{ee_s} )^{n(t,R)} P(R∣es​,e)=t∈R∏​P(t∣θees​​)n(t,R)

其中t是描述关系R的一个关键词,n(t,R)是t在R中出现的次数,其中求和项为:

P ( t ∣ θ e e s ) = 1 ∣ D e e s ∣ ∑ d ∈ D e e s P ( t ∣ θ d ) P(t|\theta_{ee_s} )= \frac{1}{\left | D_{ee_s}\right |} \sum_{d \in D_{ee_s}}P(t|\theta _d) P(t∣θees​​)=∣Dees​​∣1​d∈Dees​​∑​P(t∣θd​)

$ D_{ee_s} 是同时包含 e 和 是同时包含e 和 是同时包含e和e_s 的文档集合, 的文档集合, 的文档集合,P(t|θ_d)$是t出现在文档d中的概率:

P ( t ∣ θ d ) = n ( t , d ) + u ∗ P ( t ) ∑ t ’ ∈ T n ( t ′ , d ) + u P(t|\theta_d)=\frac{n(t,d)+u*P(t)}{\sum_{t’ \in T}^{}n(t',d)+u } P(t∣θd​)=∑t’∈T​n(t′,d)+un(t,d)+u∗P(t)​

分母是一个平滑参数加上在文档d中出现与R有关的关键词T的次数和,分子是当前关键词t在d中出现的次数,与t自身概率的和整个公式的含义是,如果e与e_s的共现语料中越容易观察到t,二者与关系描述R就越接近完整过程参考【文献】Ranking Related Entities: Components and Analyses,Marc Bron,CIKM整体来看,假设现在搜索李娜(类型T为运动员),需要在关系R为“参赛”的条件下进行实体联想,那么德约科维奇可能成为一个联想结果因为德约科维奇和李娜都是网球运动员(T相同),并且二者共同出现的频率高(例如很多“世界十大网球运动员”的文章,会同时列出两人)并且在二者共同出现的文章中,非常容易观察到与“参赛”的相关的关键词t(也就是说R="参赛"的概率很大)2.生成摘要:可以使用文本摘要生成技术,例如针对运动员,构造特定模板并填充信息参考【文献】Automatic Navbox Generation by Interpretable Clustering over Linked Entities,Xie C,cikm也可以生成图像化的摘要,例如将相关实体,按照相似度,用层次化或聚类的方式展示例如将与李娜相关的中国运动员和外国运动员分成两个聚类簇,在最顶层展示姓名,当用户点击相关运动员是展示详细信息3.相关实体解释:对于已存在的实体集合q,找出与q最相关的实体e,并产生一组概念ci 能完美解释e与q 中实体间的潜在联系这些概念应该能够覆盖q中所有实体的语义,同时具有更细的粒度,这里有较大的难度,同时,前一章的多实例概念理解也有类似的问题参考【文献】Entity Suggestion with Conceptual Explanation,yi zhang,ijcai-17

3.2 知识图谱推荐

主要涉及基本推荐、物品画像、用户画像、跨领域推荐和可解释几部分

基于内容的推荐:

内容理解有难度,例如一词多义特征难以直接提取推荐结果容易同质化,需要发掘新的兴趣点

基于协同过滤:

冷启动,新物品缺乏交互信息;数据稀疏,会影响模型效果

基于知识的推荐:

弥补用户u和物品i之间的缺失,进行合理的扩展,提高多样性;引入深层语义关系,发现用户更多兴趣,提高可解释性

3.2.1 知识图谱与画像

1.基于属性向量的计算:

可以用tf-idf为一部电影生成向量,例如在演员a的维度上,用该演员在电影中的排序的倒数做tf,利用该演员参演的电影类型(或数量)倒数做idf具体计算如下:首先计算新项目i与每一个旧项目j的相似度(需要用余弦相似度,并除以两者共有的属性数量)然后针对集合J中的每一个j,根据用户对j的喜好程度计算累计分值,并除以J的大小在计算余弦相似度时,可以为不同的维度有不同的权重,这个权重可以用机器学习训练的方法得到

参见下列两个公式:

s i m ( m i , m j ) = ∑ p α p s i m p ( m i , m j ) p sim(m_i,m_j)=\frac{\sum_{^{p}}^{} \alpha _p sim_p(m_i,m_j)}{p} sim(mi​,mj​)=p∑p​αp​simp​(mi​,mj​)​

v i = ∑ m j ∈ M ( u ) v j s i m ( m j , m i ) M ( u ) v_i=\frac{\sum_{m_j \in M(u)}^{ } v_jsim(m_j,m_i)}{M(u)} vi​=M(u)∑mj​∈M(u)​vj​sim(mj​,mi​)​

其中第一个公式中的 s i m p ( m i , m j ) sim_p(m_i,m_j) simp​(mi​,mj​)表示电影i和电影j在属性p(例如主要参演演员)上的余弦相似度,不能是单一维度上的向量,

α p \alpha_p αp​是属性 p p p的权重,例如电影中,演员和导演的权重应该大于摄像师、出品公司等

第二个公式中的 M ( u ) M(u) M(u)使用户喜欢的项目的集合

2.基于异构信息网络的关联模型:

不同物品间会共享某些属性对应的实体,所以会有一条经过该共享实体的元路径(meta-path)将两个物品相连李连杰主演的不同电影之间都通过一条“电影-演员(李连杰)-电影”的元路径相连例如,在属性p上,可以用类似F1值的计算,考虑项目i和项目j的相似度:

s i m p = 2 ∗ ∣ S p ( i ) ∩ ∣ S p ( j ) ∣ S p ( i ) ∣ + S p ( j ) sim_p=\frac{2*|S_p(i)\cap |S_p(j)}{|S_p(i)|+S_p(j)} simp​=∣Sp​(i)∣+Sp​(j)2∗∣Sp​(i)∩∣Sp​(j)​

例如,p可以表示主演,通过考虑主演数量,上述公式综合考虑了电影i和j在主演维度上的相似度

3.隐式物品画像

可以利用deepwalk、node2vec、metapath2vec、hin2vec等算法,或者trans系列模型、dkn模型等cke模型可以把文本图像等信息综合考虑,Collaborative Knowledge base Embedding

4.基于标签的用户画像

例如评论中的关键词,浏览过的商品类别、注册选择、知识图谱中的近义词、实体分类等MDL算法参照博客/weixin_37763484/article/details/129242469可以在一组候选的概念标签中,挑选出一组最有代表性的

3.2.2 跨域与可解释推荐

1.跨域推荐

在不同的场景中,用户/物品可能并不重叠,指数图谱能够发挥关联与桥接的作用用户的兴趣偏好或项目特征在领域之间存在一致性或相关性利用知识图谱发现不同类实体间的关联路径,并计算相关度也可以利用百科构造是体检的相似度矩阵,见资料ppt资料中的参考【10】针对实体i构造了向量矩阵,其中的每第j维代表了i j之间的关联程度然后再用归一化Google距离计算各个实体间的距离:

N G D ( x , y ) = m a x ( l o g f ( x ) , l o g f ( y ) ) − l o g f ( x , y ) l o g M − m i n ( l o g f ( x ) , l o g f ( y ) ) NGD(x,y)=\frac{max(logf(x),logf(y))-logf(x,y)}{logM-min(logf(x),logf(y))} NGD(x,y)=logM−min(logf(x),logf(y))max(logf(x),logf(y))−logf(x,y)​

其中,M是Google搜索到的网页总数;f(x)和f(y)分别是搜索词x和y的命中数量;f(x,y)是同时出现x和y的网页数量。在资料的文献【11】中对公示进行了改进,以进行向量间的相似度计算。如果两个搜索词x和y从未一起出现在同一网页上,而是单独出现时,则他们之间的归一化Google距离是无穷。如果两个词总是同时出现,则他们的归一化Google距离是0,或者相当于x平方和y平方之间的系数。

2.可解释推荐

相关用户/物品,例如相似用户点击过,或者物品自身属性相似用户/物品的文本解释、标签等社交信息,例如群组成员、好友列表等用户与物品间的关联路径从知识角度上解释了用户会喜欢该物品的原因,基于这些路径设计的模型就是可解释的推荐模型对于在知识图谱中发现的用户-物品关联路径(可解释路径),设计合理的排序算法,选出最具代表性的路径作为可解释依据商品知识图谱中用户与商品间的可解释路径

参考文献:

10.A Graph-based Recommendation across Heterogeneous Domains,Deping Yang, in CIKM .11.Semantic-Based Recommendation Across Heterogeneous Domains, Deping Yang, ICDM

4.知识图谱和语言理解

语言理解:

识别出语句中的相关实体、概念,以及这些实体概念间的关系、属性、主题等例如将资料中的法国识别为“法国足球队”,“击败”指体育比赛中的击败

语法解析:

识别出句子中的主语、语法结构,识别词汇之间的修饰、指代等关系例如“击败”,指法国击败了克罗地亚

语义解析:

更深层的知识,例如这是一篇体育报道,是关于世界杯决赛的

4.1 实体理解

主要是对实体进行歧义消除,例如确定指代“李娜”对应 的 实体 是 歌手李娜,还是运动员李娜

可以借助toolkit实体识别,即nltk中的一些功能,看看中文是否有类似的工具包

依存句法分析等任务,可以看看paddle、hanLP的实现

1.实体链接:

*********概念:参照资料中的局部匹配函数和全局匹配函数,例如计算“李娜的代表作品是青藏高原和好嫂子”需要判断李娜指的是歌手李娜而不是网球运动员青藏高原指的是音乐而不是山局部特征中,可以计算候选实体自身的流行度、字符相似度(例如周杰伦与杰伦)等也可以考虑候上下文,比较候选实体百科中的上下文和真实文本中的上下文的相似度或者直接从百科中,选出“李娜”先验概率较高的词条,过滤掉其他叫“李娜”的普通人局部特征只考虑“李娜”或者“青藏高原”全局特征中,考虑“李娜”和“青藏高原”两个实体之间的相似度例如标准化谷歌向量和adamic adar相似度,互信息、kl散度、jaccard相似度等*********具体细节:最优实体链接,假设文本中有3个实体,每个实体有4个候选者,那么一共有64中可能的实体识别结果指代与实体链接时,可以考虑资料中的tagme、Miline等方案,综合考虑 候选实体 之间的相似度,以及 候选实体 与 原指代的候选实体 之间的相似度例如在对“李娜的代表作品是青藏高原和好嫂子”消歧时,假设李娜有三个候选者{运动员,歌手,教授},青藏高原有两个候选者{歌曲,山脉},好嫂子只有一个{歌曲}:1.独立计算:李娜、青藏高原两个指代单独计算,根据出现频率等选出李娜和青藏高原的最佳候选者,只需要3+2次,独立计算但是此方法不考虑三者之间的联系,效果差2.Miline方案,优先考虑没有歧义的:例如由于指代好嫂子没有歧义,因此先计算指代李娜和好嫂子的匹配,需要计算3次就能匹配出指代李娜的最佳候选者,确定好指代李娜的候选者后之后,再进行2次计算,就能发现指代青藏高原的最佳候选者此方法效果比1好,但条件限制较为严格3. 先独立计算,再更新计算结果:先使用1独立的计算出临时匹配P,并以其作为参考再以其作为上下文,重新为每一个指代进行计算例如先计算出三个指代的临时匹配P={运动员,歌曲,歌曲}然后重新对李娜这个指代进行计算,发现歌手李娜与P中的歌手更相关,则把P改为{歌手,歌曲,歌曲}然后在计算指代青藏高原,发现已经是最佳匹配此方法中,如果最开始的临时匹配出错,效果会变差;也可以不更新P4.Tagme方案:综合计算,考虑所有上下文,为每一个指代单独计算候选实体:例如,目前的参考集合为{歌手李娜,运动员李娜,教授李娜,歌曲青藏高原,山脉青藏高原,歌曲好嫂子}现在考虑李娜对应的三个候选实体,去指代青藏高原和好嫂子的候选者集合Q\H中,发现歌手李娜和Q中的歌曲青藏高原,H中的歌曲好嫂子匹配度高,而运动员李娜、教授李娜与集合Q\H任意元素的关系都很小,因此应该选择歌手李娜现在考虑青藏高原的两个候选实体,考虑李娜的候选者集合L和好嫂子的候选者集合H发现歌曲青藏高原与L中的歌手李娜、与H中的好嫂子匹配度高而山脉青藏高原与L\H中的任何元素关系都很小5.图算法:可以用指涉图=》稠密子图的思路,求解最优匹配,指涉图包含了所有指代和对应的全部候选实体稠密图包含了所有指代,每个指代只保留一个候选实体可以参考资料中描述,直到所有指代都对应唯一实体,然后再暴力搜索

2.短文本实体链接:

短文本指搜索记录、广告语等,缺乏上下文例如需要识别“冰与火之歌有多少卷”中实体t“冰与火之歌”,指的是概念集合C中的小说、电视剧还是音乐中将概念C的上下文,与当前实体t的文本做计算,能解决短文本实体识别的问题。参见ppt,有一种主题凝聚度算法,可以判断出实体t与概念c=小说更匹配。其中的r(w,c)为v_c(m)中的某一个维度,针对概念集合C,会计算{小说、电视剧、音乐}三个维度t是实体,w是与实体t共同出现的上下文词汇,用w去判断t属于哪个概念

2.跨域元实体链接:

工作中实际意义暂时不大,详细内容可以参考资料,其中包括“直接翻译”和“先链接到到中文百科e1,再去找与e1相似的英文百科e2”两种方法还可以计算上下文中的实体与英文百科中实体的相似度,例如文本中出现了实体e1=“姜山”,英文页面都出现了e2=“jiangshan”,且e1与e2相似,那么就可以将李娜匹配到对应的英文百科实体中。

4.2 概念理解和属性理解

1.概念理解:

单实例概念理解:例如微软对应着“公司”、“软件公司”、“世界最早的xml开发者”“软件公司”更适合作为微软的标签可以理解为:从一个实体越容易联想到一个概念,并且这个概念越容易联想到这个实体,那么这一对实体概念就越匹配具体计算计算方法见ppt概念理解:选择一组概念,来作为一组实体的标签,例如给{中国,韩国,伊朗,沙特}打上{东亚,西亚}两个标签可以利用mdl算法,需要进一步确认也可以先聚类,然后每一类选择一个公共的概念关系对理解:例如{乔丹、公牛},乔丹可能是球员或计算机学家,公牛可能是球队或动物假设首尾实体各有两个可能的概念,就把四条路径计算出来,选择概率最大的那一个组合,来给首尾实体指定概念例如首尾为乔丹、公牛,需要先计算乔丹为篮球运动员的概率p1,再计算篮球运动员和球队同时出现的概率p2,以及公牛为球队的概率p3其中p2等于n(篮球运动员,球队)/n(篮球运动员)核心词理解:例如搜索“水晶苹果手机保护套精品装”,需要把保护套作为核心词,可以用依存句法分析,发现保护套的是语法分析图的中心或者在此类商品中,依照分词结果之间的距离构建图,把分词结果作为节点,把一定窗口内共现的词汇的距离作为边的权重,也可能发现保护套是中心节点,

2.属性理解:

可以利用文本挖掘或者统计方法来做文本挖掘,例如文本为“Films directed by Christopher Nolan”,“Films directed by James Cameron ”就能归纳出 <Films f> directed by <Person c> ==>director(c) and film(f)即:从频繁出现的语言模式中,能够发现c一定是导演,f一定是电影统计方法:主要是判断某个类别c是否具有特征集合F={f1,f2,f3...}特征集合可以用频繁项集来发现。

5.知识图谱问答

本书介绍较为简略,更多内容可以参考 /weixin_37763484/article/details/129016111

常见问题分类:

事实性问题:牛顿是哪个国家的人?是非型问题:明天是否下雨?对比性问题:北京和上海,哪个面积大?观点性问题:你认为北京的市政建设水平如何?其他开放性对话,例如chatGPT

知识图谱问答需要将用户问题转化为数据库上的查询语句:

1.实体理解和属性理解,即实体链接部分的内容例如:“奥巴马的妻子是谁”,实体是奥巴马,直接属性是“配偶”,最终需要返回的是配偶的姓名“奥巴马的妻子多大了”,实体是奥巴马,直接属性是“配偶”,最终需要返回的是配偶的年龄2.意图识别,理解问题的意图例如:“北京的人口是多少”、“北京的外来人口是多少”,二者都是问“北京的人口”,但真实意图有差异要解决此类问题,可以用模板3.属性关联,例如识别了“北京的外来人口是多少”之后需要建立“北京”与“外来人口”之间的关系“外来人口”非直接属性,需要又是由“人口=》居住在北京=》无北京户籍”这样的复杂路径进行推断“人口”属性也可能会与“有多少人”“居民数量”等问句相关

5.1 基于模板的问答

1.概念模板

c1= capital of(country1)? (询问国家country1的首都)c2= philosopher wrote(book1)?(询问哲学著作book1的作者)利用c1能够匹配“which is the capital of china”,此类方法简便,但是缺乏理解能力

2.句法规则

参照资料中的举法模板,可以生成很多问句,并将“Luceion”等词事别问"N"文献【1】收集大量模板并识别它们对应的属性,则可以自动生成模板,降低成本,提升问法覆盖率例如从“how many people live in shanghai?”、“how many people live in beijign?”中识别出模板t=“how many people live in (city)?”例如,给定问题q=“how many people live in honolulu?”和图谱中的关系p=“population”,求用户所需要的属性v1.首先计算P(e|q)识别出问句的实体e,e=“honolulu”,2.根据q和e,计算P(t|q,e),识别出模板t,3.根据模板t和其他知识(如统计规律或人工指定),识别出用户想询问的真实属性v应该与关系p有关4.根据实体e和关系p,去知识图谱中查找属性v文献【1】中使用了em算法去估计参数,如有需要可再研究,上例中概率可表示为:

P ( q , e , t , p , v ) = P ( q ) P ( e ∣ q ) P ( t ∣ e , q ) P ( p ∣ t ) P ( v ∣ e , p ) P(q,e,t,p,v)=P(q)P(e|q)P(t|e,q)P(p|t)P(v|e,p) P(q,e,t,p,v)=P(q)P(e∣q)P(t∣e,q)P(p∣t)P(v∣e,p)

参考文献:

1.KBQA: Learning Question Answering over QA Corpora and Knowledge Base,wanyun cui,vldb

5.2 基于图的问答

文献【19】中,可以计算问句q和子图d的相似度,进而完成问答,公式见原资料,

例如问句q=“where was obama born”,子图d中包含了{实体a,实体b},实体a的姓名是obama,实体b的标题是holonunu,类别是city实体a和实体b通过关系r“出生”链接起来 那么问句q的答案更可能是实体b训练时,可以指定其他包含了obama的子图作为负例,通过softmax函数选择最可能的子图和答案

相似函数中的特征可以有以下几类,性详细做法参考【19】:

关联特征:例如实体对a、b以及关系r在全部文本中的共现、互信息等词汇特征:例如图谱中关系r的描述词汇,以及问句q中的关系词汇的语义相关度文本相似度:自己认为,可以是子图d的所有字符C,与全部文本中问句q周围的词汇集合W的相似度例如当前C中包含{"holonunu"},q可以找到W={“obama,a black man born in holonunu”,"born in holununu,obama decide to learn law"}计算C和W的相似度,如海明距离,编辑距离等其中文本长度差异可能较大,因此可以改进jaccard算法:

J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ + α ∗ a b s ( ∣ A ∣ − ∣ B ∣ ) J(A,B)=\frac{|A\cap B|}{|A\cup B|+\alpha *abs(|A|-|B|)} J(A,B)=∣A∪B∣+α∗abs(∣A∣−∣B∣)∣A∩B∣​

桥接特征:文本中实体对通过某一属性相连接的次数,桥接关系可以自己定义,详细内容见原文组合特征:如桥接词的pos标签等,在“What is located in Beijing”和“Where is Beijing located”中,located的含义不同,

DEANNA方法:

作为图理解的一种思路可以参考,但是实际使用可能有难度假设一个复杂问句,“出生在罗马的一位作家,并且饰演了卡萨布兰卡中的角色,请问他的妻子是谁”这个问句中有三个关系,需要通过依存分析识别出这三个关系“出生”、“饰演”、“妻子是(或者是婚配)”还要为这三个关系指定主谓宾,并且每个P-类型节点都有多个候选,这些候选是S-类型的节点需要用最优子图G=的思路来消除这些S-节点的歧义:需要综合考虑p类型节点与s类型节点i、j之间的相似度,以及s类型节点k、l之间的相似度可以参考前面的“最优实体链接”相关内容,例如“李娜演唱了青藏高原”,需要对李娜和青藏高原进行消歧

G = m a x α ∑ i , j W i , j + β ∑ k , l v k l + γ G=max \alpha \sum_{i,j}^{}W_{i,j}+\beta \sum _{k,l}v_{kl}+\gamma G=maxαi,j∑​Wi,j​+βk,l∑​vkl​+γ

参考文献:

19.Semantic Parsing on Freebase from Question-Answer Pairs,Jonathan Beran,EMNLP13

5.3 深度学习与图谱问答

主要有表示学习、分类学习和生成式问答

表示学习:

有三个核心元素,即答案路径、答案的上下文和答案类型例如“法网女单冠军是谁”,路径可以表达为“冠军》》女单”李娜的上下文是“女性”、“网球运动员”、“国家队成员”等答案类型是“运动员”在深度学习中,需要将输入进行编码。可以用0-1向量表示路径,例如上面的例子中,假设法网图谱有100个属性,那么李娜对应的路径U中,只有3各元素为1,其余为0可以引入矩阵W将U降维,得到新路径表示path:

p a t h = W U path=WU path=WU

也可以将<柏拉图, 代表作品 − 𝑖𝑠𝐴, 书籍>的路径编码E,分解成<柏拉图>、<代表作>、<isA>、<书籍>的编码之和

分类学习:

文献【1】提出了一种将问题的“词向量表示“”与答案相关的“词向量表示(包括答案路径、答案上下文、答案类型)匹配的模型,将词向量提取为3路,分别与“答案路径”、“答案上下文”、“答案类型”计算点积,作为二者的相似度

生成式模型:

主要思路是,根据问题,生成对应的sql语句也可以进行完形填空、四选一或答案提取类型的问答,类似于英语考试中的“完形填空”、“阅读理解四选一”、“从文中找出答案语句”。

参考文献:

1.Question Answering over Freebase with Multi-Column Convolutional Neural Networks,Dong li,acl15

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。