20180315-16KG串讲

一、知识图谱表示方法

s:subject 图谱实体

p:predicate 图谱关系、实体属性

o:object 图谱实体 或者 string、float等

实体关系<章子怡,丈夫,汪峰>

实体属性<章子怡,出生,1979-02-09>

知识图谱的过程就是从s和p找到o,或者s和o找出p;

fc696fe569dc0e26c5b5ea1b79dcc751

二、知识抽取

用一批标注好的三元关系,去页面通过匹配找出句子,(不管是对的还是错的,我们认为对的占大多数)。

用三元关系和句子训练文本分类器。

三、命名实体识别

作用:识别出特定领域的实体、为关系抽取做准备、为在图谱正确查找实体做准备。

1.规则匹配

定义规则:比如 收购(NP.*)公司

1. 简单直观、容易理解、精度高
2. 应用非常广泛,例如freebase和企业图谱[7]均以此方法构建;
3. 召回率低,人力成本较高

2.条件随机场CRF
源句子: 百度收购 渡鸦科技有限责任公司

• O:无关的词
• B:代表一个实体的开头
• I :代表一个实体的中间
• E :代表一个实体的结束

分类问题,对句子中的每个词预测词的真实类别(OBIE)

比如:
•标注:     O     O      B    I      I      I        E

•源句子: 百度收购 渡鸦科技有限责任公司

1f6bc015041836099d847b76865f21fc
当前词yi的概率与前一个词yi-1有关
999a40f1676203439defc51c87b50cc7
U00:百度(以为0这位置是“渡鸦”这个词,那么前两个词是“百度”这个词)
U01:收购

四、图谱在QA的因共用

应用:图谱知识表示为知识路径,将问答任务转化成Q与路径的匹配程度计算
最大难点:如何衡量问题与答案的匹配程度

e54ff2d0229ef8770fd060501df54a2d

例子:
question:阿凡达什么时候在英国上映?
step1:通过Freebase API,完成NER和NED
1.识别问题中提到的实体:NER(Named Entity Recognition)技术,识别出阿凡达(电影or小说)、英国(国家)。

2.把实体正确的链接到知识库:命名实体消歧技术NED(Named Entity Disambiguation),
消歧结果为电影《阿凡达》

step2:
通过API检索Question得到候选的实体(NER),选择API返回的第一个结果(NED)

step3:根据实体召回三元组:<阿凡达、上映、 E> <E、时间、2009-12-20> <E、地点、英国><E、时间、2011-12-20>

这里的E表示事件实体,就是图谱中的s

step4:我们把三元组组合起来生成候选答案:

生成候选答案:

  • <阿凡达、上映、 E 、时间、2009-12-20 >
  • <阿凡达、上映、 E2、时间、2011-12-20>
  • <阿凡达、上映、 E 、地点、英国>

step5:计算

采用CNN把问题embedding成语义向量:
39354bb479ff3f667f910e4ac18d4681

CNN网络结构,具体可参考TextCNN

  • Lookup 层:句子转化成词向量矩阵
  • 卷积层:句子局部信息embedding
  • 最大池化层:保留最明显的句子特征

输入问题,输出三个问题向量(???)

  • 知识路径向量
  • 上下文向量
  • 答案类型向量

理解答案的语义,答案embedding成语义向量

<阿凡达、上映、 E 、时间、2009-12-20 >

• 答案路径向量
• 平均(向量<上映>+向量<时间>)

• 答案上下文向量
• 平均(向量<阿凡达>+向量+向量<2009-12-20>)

• 答案类型向量
• 平均(向量<上映-动词类>+向量<时间-时间类>)

7cfd5eee11a8f91e0da04462038e5989

计算答案得分,即答案与问题的匹配程度

32f83f07619ce3e225dbb0de3d024df5

f是问题向量,g是答案向量,S是问题向量在答案向量上的投影。

目标函数:候选答案中随机选择k个作为负例。采用??目标函数。
d1ee28b01b55cdf34421aee9fc50822b

线上应用:可选择得分最高的答案作为输出

comments powered by Disqus