基于知识图谱的问答
1. 问答系统的分类
⾮结构化的知识源
单⽂档阅读理解(Single-document Reading Comprehension):单⼀⽂档寻答案
多⽂档阅读理解(Multi-document Reading Comprehension):多个⽂档检索答案
结构化的知识源
基于关系型数据库的问答(Relational DB oriented QA)
基于知识库的问答(Knowledge based QA)KBQA
2. 问题类型
事实⾏问题:where/who/when/ was Obama born?
是⾮型问题: is beijing the captical of China?
对⽐型:which city is larger,shanghai or beijing?
原因/结果/⽅法型问题:how to open the door? why summer is hotter than winter?
观点型:what is Chinese opinion about Donald?
对话型:
3. KBQA的⼯作⽅式
问题--->实体链接--->属性理解(意图识别+属性关联)--->结构化查询---知识图谱--->答案
如:how many people live in beijing?
意图识别:识别问题所提及的实体属性, 如识别how many people live in
能够理解相同语义的不同问法
能够区分形式上接近但意图不同的问题
属性关联:明确意图之后,到知识图谱对应的属性,如到population
4. KBQA的评测
4.1 评测指标:
精确率(Precision):正确预测出答案的问题数/总问题数
召回率(Recall):正确预测的答案数/答案总数
路径精确率:正确做出谓词路径映射的问题数/总问题数
F1值:
4.2 评测数据集:
QALD(Queation Answering over Linked Data):基于DBpedia多语⾔的问答任务,混合问答任务,基于RDF的⼤规模问答任务,基于的英⽂问答任务
WebQuestions:Google⽤户搜索的问题,及在Freebase上的答案
WebQSP(Wedquestions Semanti Parses DataSet):对WebQuestions数据集中加⼊了⼈⼯标注的语义解析
SimpleQuestion:⼈⼯标注的问题及在Freebase上对应的三元组
NLPCC:⼈⼯标注的中⽂问题,及在中⽂百科图谱上的回答。作者同时放出对应知识图谱的数据
5. 基于模板的KBQA
⾃然语⾔问题匹配---⼈⼯定义的模板---意图理解---⼈⼯标注每个模板对应的知识图谱中的属性---属性关联
5.1 基于模板的意图识别
概念模板:将意图表达为包含单词概念的正则表达式,缺乏句法结构的限制
如”c1=*capital*$country“ 询问国家⾸都这⼀意图的概念模板
任何先出现单词capital,后出现概念$country的实体(⽐如China)的问题都能匹配c1
句法规则:缺乏语义信息
如”NP->Det || N“ 表⽰NP(名词短语)被定义成Det(限定词)串联N(名词)
5.2 基于模板的属性关联
属性关联:
如果符合某个语义模板的⼤多数属性问答对应的问题实体和答案总是通过知识图谱的某个谓语动词关联,则谓语动词就是语义模板的属性理解结果
如:模板”How many people live in $city“问题总对应谓词poplulation,则建⽴模板t="How many people live in $city"与知识图谱谓词
p="population"之间的关联,这⼀映射可以⽤条件概率P(p|t)来表达
百科问答
问答模型:
6. 基于图模型的KBQA
通过图模型对问题和知识图谱进⾏建模,学习从⾃然语⾔到知识图谱⼦结构的映射关系
监督学习:直接根绝标注样本学习映射
⽆监督学习:将⾃然语⾔问题和知识图谱⽤图模型统⼀表⽰,利⽤图上的消歧运算实现语义理解
6.1 监督学习
语义解析 Semantic Parsing on Freebase from Question-Answer Pairs
信息抽取 Information Extraction over Structured Data: Question Answering with Freebase
向量建模  Question answering with subgraph embeddings
6.2 ⽆监督⽅法
图表⽰:
将⾃然语⾔问题q与知识图谱的相关信息表⽰到同⼀张图上
将问题中的⽂本⽚段,短语和知识图谱的元素表⽰为图的节点,他们之间的语义关系表⽰为边
节点:
⾃然语⾔实体,属性和概念组成的三元组事实 -----q节点如:⼀个学⽣著有《形⽽上学》(arg1=⼀个学⽣,rel=著有,arg2=《形⽽上学》)
⾃然语⾔实体,属性和概念在⽂本中的表达,短语-------p节点⼀个学⽣/著有/形⽽上学
知识图谱中的核⼼元素:实体,属性,概念 -------- s-节点学⽣
边:
q节点与p节点之间的关系:⽂本⽚段与词组之间是否具有关联
p节点与s节点之间的语义关联:短语表达特定知识图谱元素的可能性,如著有属于代表作品的可能性⾼
s节点之间的语义关联:同⼀问题所对应的知识图谱元素之间⼀般有很强的语义关联,如”形⽽上学“与”代表作品“之间有很强的关联
图消歧:
某个q节点对应多个p节点
某个p节点对应多个s节点
⼦图约束:每个q节点对应三个词组(三个p节点,arg1,rel,arg2),每个p节点对应1个s节点
max αΣ Wij+βΣ Vkl +γ
Wij 问题p节点i到s节点j的语义相关度
Vkl 是s节点k与s节点l的语义相关度
7. 基于深度学习的KBQA
将问题和知识图谱作为模型输⼊,预测属性理解的结果
7.1 表⽰学习
知识图谱相关信息包括答案路径,答案上下⽂,答案类型
问题q,实体e,答案a:
(1)答案路径:实体e与答案a之间的路径,通常表⽰为该路径所经过多的属性向量之和。
up表⽰⼀个答案路径p。向量up的每个维度对应⼀个知识图谱的属性,某⼀维的取值表⽰路径p是否包含对应的属性如:路径(marriage->person->name)包含属性marriage,person,name,则该路径向量相应维度维1,其他为0
引⼊答案路径向量矩阵Wp,将⾼维的离散向量降维为低维的连续空间
f(p)=Wp up
(2)答案上下⽂:答案邻居节点信息
(3)答案类型:如《理想国》的概念是书籍,则该类型为书籍
复杂图结构的向量表⽰:组成该结构的实体或属性的向量之和
路径的左右端点(问题实体和答案)以及路径经过的属性向量之和
Emb(<;柏拉图,代表作品-IsA,书籍>)=Emb(柏拉图)+Emb(代表作品)+Emb(isA)+Emb(书籍)
7.2 分类模型
将问题和知识图谱输⼊分类模型中,判定问题q与候选答案a是否匹配的⼆元分类问题,将预测分值作为匹配度的度量
7.3 ⽣成模型
将⾃然语⾔问题到知识图谱的映射转化为结构化查询语句的⽣成问题
输⼊:⾃然语⾔问题所对应的单词序列
输出:结构化查询语句
列名(COLUMN),聚合函数(AGG)值(VALUE)判断条件(OP)
SELECT $AGG $COLUMN WHERE $COLUMN $OP $VALUE
where was Barack Obama born?
select pop(place_of_birth)where name=Barack Obama