赞
踩
声明:知识学习中本文主体按照浙江大学陈华钧教授的《知识图谱》公开课讲义进行介绍,并个别地方加入了自己的注释和思考,希望大家尊重陈华钧教授的知识产权,在使用时加上出处。感谢陈华钧教授。
学识时间:2023年5月5日09:15:25
知识工程是以知识为处理对象, 研究知识系统的知识表示、 处理和应用的方法和开发工具的学科 。
规模小——成本高——知识汤
上图展示了知识工程师和领域专家与帮助构建专家系统的软件工具的交互。箭头表示信息流。
人的五官可以将世界域中的大量复杂的信息拷贝到人脑中。
知识图谱工程就是简化的知识工程
重要的知识抽取环节:概念抽取、实体抽取、关系抽取、时间抽取、规则抽取。
从不同来源、 不同结构的数据中进行知识提取, 形成知识存入到知识图谱。
★从关系数据库获取知识
Example R2RML mapping:
@prefix rr: <http://www.w3.org/ns/r2rml#>.
eprefix ex: <http://example.com/ns#>.
<#TriplesMap1>
rr:logicalTable [ rr:tableName "EMP" ];
rr:subjectMap[
rr:template "http://data.example.com/employee/(EMPNO)";
rr:class ex:Employee;
];
rr:predicateObjectMap [
rr:predicate ex:name;
rr:objectMap [ rr:column "ENAME" ];
].
Example output data:
<http://data.example.com/employee/7369> rdf:type ex:Employee.
<http://data.example.com/employee/7369> ex:name "SMITH".
详细代码出处:从关系数据库获取知识
★从视觉数据获取知识
场景图构建
★从文本获取知识
● 命名实体识别
● 术语抽取( 概念抽取)
从语料中发现 多个单词组成的相关术语。
● 关系抽取
王思聪是万达集团董事长王健林的独子。 [王健林] <父子关系> [王思聪]
● 事件抽取
据路透社消息, 英国当地时间9月15日早8时15分, 位于伦敦西南地铁线District Line 的Parsons Green地铁站发生爆炸, 目前已确定有多人受伤, 具体伤亡人数尚不明确。目前, 英国警方已将此次爆炸与起火定性为恐怖袭击。
知识图谱 ≠ 专家系统,知识图谱就是新一代的知识工程
冯诺依曼曾估计单个个体的大脑中的全量知识需要 2.4*1020 字节存储, 知识工程的根本性
科学问题是知识完备性问题, 即规模化自动化知识获取与处理能力。
从文本中识别实体边界及其类型
(1) 基于模板和规则
将文本与规则进行匹配来识别出命名实体
“***说” 、 “***老师” ;“***大学” 、 “***医院”
词本身的特征 | 描述 |
---|---|
边界特征 | 边界词概率 |
词性 | 名词、动词、副词等 |
依存关系 | 父子、从属等 |
前后缀特征 | 描述 |
---|---|
姓氏 | 李XX、 王X |
地名 | XX省、 XX市等 |
字本身的特征 | 描述 |
---|---|
是否是数字 | 是、否 |
是否是字符 | 是、否 |
确定实体识别的序列标签体系
常见序列标注模型: HMM (隐马尔可夫模型)
编者注:关于LaTex公式可以参见LaTeX公式篇
(1) 求观测序列的概率—前向后向算法
问题: 假设模型参数全知, 要求推断某个句子出现的概率
假设样本从标签 qi转移到标签qj的频率计数是Aij,那么隐藏状态转移矩阵求得:
A
=
[
a
i
j
]
A=
其中
a
i
j
=
A
i
j
∑
s
=
1
A
i
s
a_{ij} = \frac {A_{ij}}{\sum_{s=1}A_{is}}
aij=∑s=1AisAij
假设样本标签为qj且对应词为vk的频率计数是Bjk,那么观测状态概率矩阵为
B
=
[
b
j
(
k
)
]
B=
其中
b
j
(
k
)
=
B
j
k
∑
s
=
1
M
B
j
s
b_j(k) = \frac {B_{jk}}{\sum_{s=1}^{M}B_{js}}
bj(k)=∑s=1MBjsBjk
假设所有样本中初始标签为qi的频率计数为C(i),那么初始概率分布为:
Π
=
π
(
i
)
=
C
(
i
)
∑
s
=
1
N
C
(
s
)
\Pi=\pi(i) = \frac {C(i)}{\sum_{s=1}^NC(s)}
Π=π(i)=∑s=1NC(s)C(i)
鲍姆韦尔奇算法-EM算法
很多时候我们无法得到句子对应的实体标签序列, 因为这需要大量的人工数据标注工作。 如果只有D个长度为T的句子, 即{(O1),(O2),…(OD)}是已知的, 此时可以用EM算法迭代来求解。
输入: D个观测序列样本
(
O
1
)
,
(
O
2
)
,
.
.
.
,
(
O
D
)
{{(O_1),(O_2),...,(O_D)}}
(O1),(O2),...,(OD)
输出: HMM模型参数
解码隐藏状态序列—维特比算法
问题: 给定训练好的模型, 给定一句话, 预测每个词对应的实体标签
输入: 模型λ=(A,B,Π), 观测序列O=(浙, 江, 大, 学, 位, 于, 杭, 州)
输出: 最有可能的隐藏状态序列I={i1,i2,…iT}, 即实体标签序列
这里的优化目标是使P(I|O)最大化
常见序列预测模型: CRF条件随机场
CRF是无向图模型
A Survey on Deep Learning for Named Entity Recognition. (TKDE2020)
(1)常见实现方法: BiLSTM+CRF
BiLSTM+CRF: CRF层
(1)实体关系抽取的任务定义:
从文本中抽取出两个或者多个实体之间的语义关系;从文本获取知识图谱三元组的主要技术手段, 通常被用于知识图谱的补全。
美丽的西湖坐落于浙江省的省会城市杭州的西南面。
(2)实体关系抽取方法概览
1)基于模板的方法
基于触发词匹配的关系抽取
基于依存句法匹配的关系抽取
■1. 对句子进行分词、 词性标注、 命名实体识别、 依存分析等处理
■2. 根据句子依存语法树结构上匹配规则, 每匹配一条规则就生成一个三元组
■3. 根据扩展规则对抽取到的三元组进行扩展
■4. 对三元组实体和触发词进一步处理抽取出关系
优缺点
2) 基于监督学习的关系抽取
At-least-one Hypothesis
At-least-one Hypothesis
If two entities participate in a relation, at least one sentence that mentions these two entities might express that relation
• 预先定义好关系的类别
• 人工标注一些数据
• 设计特征表示
• 选择一个分类方法 (SVM、 NN等)
• 评估结果
特征设计
3) 机器学习框架
机器学习框架——特征函数+最大熵模型
同关系句子具有类似的文本特征
Words | Mention词及中间所有词 |
---|---|
Entity Type | PER / ORG / LOC |
Mention Level | NAME/ NOMINAL PRONOUN |
Overlap | Mention词间隔的词数、中间含有mention词的个数是否在同一短语中 |
Dependency | Mention在parse tree中依赖的词的POS/chunk/word |
Parse Tree | 两个mention词中的依赖路径 |
机器学习框架——核函数
机器学习框架——字符串核举例
m
(
t
i
,
t
j
)
=
{
1
,
i
f
ϕ
m
(
t
i
)
=
ϕ
m
(
t
j
)
0
,
o
t
h
e
r
w
i
s
e
m(t_i,t_j)=
s ( t i , t j ) = ∑ υ q ϵ ϕ s ( t i ) ∑ υ r ϵ ϕ s ( t j ) C ( υ q , υ r ) s(t_i,t_j)= \sum_{\upsilon_q \epsilon\phi_s(t_i)} \sum_{\upsilon_r \epsilon\phi_s(t_j)}C(\upsilon_q,\upsilon_r) s(ti,tj)=υqϵϕs(ti)∑υrϵϕs(tj)∑C(υq,υr)
Troops advanced near Tikrit
Feature | Example |
---|---|
word | troops, Tikrit |
part-of-speech (24 values) | NN,NNP |
general-pos (5 values) | noun, verb, adi |
chunk-tag | NP, VP,ADJP |
entity-type | person, geo-political-entity |
entity-level | name,nominal,pronoun |
Wordnet hypernyms | social group, city |
relation-argument | ARG_A,ARGB |
机器学习框架——最短依赖路径树核函数
最短依赖路径树(SPT) 内核:
A shortest path dependency kernel for relation extraction(EMNLP 2005)
上下文相关最短路径依赖树核函数:
Tree kernel-based relation extraction with context-sensitive structured parse tree information(EMNLP 2007)
机器学习框架—深度学习方法
基于特征的方法需要人工设计特征, 这类方法适用于标注数量较少, 精度要求较高, 人工能够胜任的情况。
基于核函数的方法能够从字符串或句法树中自动抽取大量特征, 但这类方法始终是在衡量两段文本在子串或子树上的相似度, 并没有从语义的层面对两者做深入比较。
此外, 上述两类方法通常都需要做词性标注和句法分析, 用于特征抽取或核函数计算, 这是典型的pipeline做法, 会把前序模块产生的错误传导到后续的关系抽取任务, 并被不断放大 。
深度学习技术不断发展, 端到端的抽取方法能 大幅减少特征工程, 并减少对词性标注等预处理模块的依赖 , 成为当前关系抽取技术的主流技术路线。
机器学习框架——基于递归神经网络的关系抽取
RNN(递归)可以抽取词组之间的修饰关系和逻辑关系
每个节点都由一个向量和矩阵组成
– 向量表示本身词汇语义,采用词向量初始化
– 矩阵表示该词对邻词的作用,采用高斯函数初始化
父子节点递归
p
=
f
A
,
B
(
a
,
b
)
=
f
(
B
a
,
A
b
)
=
g
(
W
[
B
a
A
b
]
)
p=f_{A,B}(a,b)=f(Ba,Ab)=g(W
P
=
f
M
(
A
,
B
)
=
W
M
[
A
B
]
P=f_M(A,B)=W_M
-输出层
d
(
p
)
=
s
o
f
t
m
a
x
(
W
l
a
b
e
l
p
)
d(p)=softmax(W^{label}p)
d(p)=softmax(Wlabelp)
∂
J
∂
θ
=
1
N
∑
(
x
,
t
)
∂
E
(
x
,
t
;
θ
)
∂
θ
+
λ
θ
\frac{\partial J}{\partial \theta }= \frac{1}{N} \sum_{(x,t)} \frac{\partial E(x,t;\theta)}{\partial \theta}+\lambda \theta
∂θ∂J=N1(x,t)∑∂θ∂E(x,t;θ)+λθ
1.对于输入句子中待分类的实体e1和e2,在句法树中找到能覆盖这两个实体的最小子树; |
---|
2.然后从该子树对应的叶节点开始,通过自底向上的方式两两合并相邻的两个单词或短语对应的向量和矩阵,直到遍历至该子树的根节点结束。 |
3.最后基于根节点对应的向量p,使用softmax对关系集合中的关系候选进行打分和排序。 |
4.该方法基于词向量和句法树本身的结构,有效的考虑了句法和语义信息,但并未考虑实体本身在句子中的位置和语义信息。 |
机器学习框架—基于CNN的关系抽取
Features | Remark |
---|---|
L1 | Noun 1 |
L2 | Noun 2 |
L3 | Left and right tokens of noun 1 |
L4 | Left and right tokens of noun 2 |
L5 | WordNet hypernyms of nouns |
Sentence level features [WF,PF]T
WF(word features):窗口词,窗口大小为3;
PF(position features) :[d1, d2]
句子级别特征(Sentence Level Feature):
仅用词级别的特征提取, 是会丢失语序、 上下文、 句子整体的信息,而使用seq_length方向的词卷积,可以尽量提取些句子级别的信息。
对sentence level特征进行线性变换(卷积)
Z
=
W
1
X
,
W
1
∈
R
n
1
×
n
0
,
X
∈
R
n
0
×
t
Z= W_1X ,W_1\in R^{n_1×n_0}, X\in R^{n_0×t}
Z=W1X,W1∈Rn1×n0,X∈Rn0×t
n1为卷积核维度(隐藏层节点数),n0为特征维度,t词数
池化
m
i
=
max
Z
(
i
,
⋅
)
,
0
≤
i
≤
n
1
,
Z
∈
R
n
1
×
t
m_i=\max Z(i,·) ,0≤i≤n_1, Z\in R^{n_1×t}
mi=maxZ(i,⋅),0≤i≤n1,Z∈Rn1×t
非线性变换
g
=
t
a
n
h
(
W
2
m
)
,
W
2
∈
R
n
2
×
n
1
,
m
∈
R
n
1
×
1
g=tanh(W_2m),W_2\in R^{n_2×n_1},m\in R^{n_1×1}
g=tanh(W2m),W2∈Rn2×n1,m∈Rn1×1
输出层+ softmax
o
=
W
3
f
,
f
=
[
l
,
g
]
⋅
,
W
3
∈
R
n
4
×
n
3
,
f
∈
R
n
3
×
1
o=W_3f,f=[l,g]·,W_3\in R^{n_4×n_3},f\in R^{n_3×1}
o=W3f,f=[l,g]⋅,W3∈Rn4×n3,f∈Rn3×1
p
(
i
∣
x
,
θ
)
=
e
o
i
∑
k
=
1
n
4
e
o
k
p(i|x,\theta)=\frac{e^{o_i}}{ \sum_ {k=1}^{n_4}e^{o_k}}
p(i∣x,θ)=∑k=1n4eokeoi
J
(
θ
)
=
∑
i
=
1
T
l
o
g
p
(
y
(
i
)
∣
x
(
i
)
,
θ
)
J(\theta)=\sum_{i=1}^Tlogp(y^{(i)}|x^{(i)},\theta)
J(θ)=i=1∑Tlogp(y(i)∣x(i),θ)
SemEval-2010 Task 8 ,F1 = 82.7
机器学习框架—Piece-wise CNN Model
位置敏感的CNN模型
机器学习框架—基于BiLSTM的关系抽取
Attention + BiLST
·CNN不能处理长线依赖,RNN有梯度消失
·LSTM层:编码句子
拓展问题—实体关系联合抽取
误差传播问题:
实体识别和关系抽取任务之间的关联:
定义一种新颖的实体关系联合抽取的序列标注规范:
Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme. (ACL2017)
级联三元组抽取:
A Novel Cascade Binary Tagging Framework for Relational Triple Extraction. (ACL2020)
拓展问题—基于胶囊神经网络多标签关系抽取
Model | Single-Sent | Cross-sent |
---|---|---|
Feature-Based | 74.7 | 77.7 |
CNN | 77.5 | 78.1 |
BiLSTM | 75.3 | 80.1 |
Graph LSTM - EMBED | 76.5 | 80.6 |
Graph LSTM - FULL | 77.9 | 80.7 |
拓展问题—跨句推理
提取不同句子中单实体间的关系
A是B的爸爸,B的妈妈是C -> A和C是夫妻
判断同一个句子中所有实体对的关系:
CNN encoder 得到模型:
E ( h , t ∣ S ) = m a x p ( r ∣ θ , s i ) E(h,t|S)=maxp(r|\theta,s_i) E(h,t∣S)=maxp(r∣θ,si)
找到和h,t均存在关系的实体,判断间接关系:
G ( h , r , t ∣ p i ) = E ( h , r A , e ) E ( e , r B , t ) p ( r ∣ r A , r B ) G(h,r,t|p_i)=E(h,r_A,e)E(e,r_B,t)p(r|r_A,r_B) G(h,r,t∣pi)=E(h,rA,e)E(e,rB,t)p(r∣rA,rB)
训练关系间relation path:
path encoder,得到r1 和r2 能推出关系r的概率
p ( r ∣ r A , r B ) = e x p ( O r ) ∑ i = 1 n r e x p ( O i ) p(r|r_A,r_B)=\frac{exp(O_r)}{\sum_{i=1}^{n_r}exp(O_i)} p(r∣rA,rB)=∑i=1nrexp(Oi)exp(Or)
O i = − ∣ ∣ r i − ( r A + r B ) ∣ ∣ L 1 O_i=-||r_i-(r_A+r_B)||L_1 Oi=−∣∣ri−(rA+rB)∣∣L1
定义(h,t)总关系
L ( h , r , t ) = E ( h , r , t ∣ S ) + α G ( h , r , t ∣ P ) L(h,r,t)=E(h,r,t|S)+\alpha G(h,r,t|P) L(h,r,t)=E(h,r,t∣S)+αG(h,r,t∣P)
J ( θ ) = ∑ ( h , r , t ) l o g ( L ( h , r , t ) ) J(\theta)=\sum_{(h,r,t)}log(L(h,r,t)) J(θ)=(h,r,t)∑log(L(h,r,t))
Incorporating Relation Paths in Neural Relation Extraction(EMNLP 2017)
4)半监督学习
半监督学习—基于远程监督的关系抽取
远程监督的基本假设: 两个实体如果在知识库中存在某种关系, 则包含该两个实体的非结构化句子均可能表示出这种关系.
Distant supervision for relation extraction without labeled data. (ACL2009)
远程监督-基于多实例学习(降噪学习)
包含相同实体对的句子组成一个Bag
基于注意力机制选择样本
Neural Relation Extraction with Selective Attention over Instances. (ACL2016)
远程监督-强化学习(降噪学习)
采取强化学习方式在考虑当前句子的选择状态下选择样例
关系分类器向样例选择器反馈,改进选择策略
Reinforcement Learning for Relation Extraction from Noisy Data. (AAAI2018)
半监督学习—基于Bootstrapping的关系抽取
Bootstrap-Neural Snowball:
Bootstrapping的语义漂移问题
新增加的实例与种子实例不相关或不属于同一类型, 称为Bootstraping的语义漂移问题
语义漂移问题的一些解决方法:
5)属性补全
属性补全: 任务定义
属性补全的方法:
属性补全应用-商品属性补全
关系抽取方法的演变
一个基于深度学习的开源中文关系抽取框架学习地址
一个基于深度学习的开源中文关系抽取框架
(1)任务定义
(2)概念知识的价值
(3)概念的上下位关系
实体、 概念通常基于词汇进行表达
实体与概念, 概念与概念之间的关系属于自然语言处理中的语言上下位关系
例如:A isA B, 通常称A是B的下位词, B是A的上位词
概念抽取并构建成无环图的过程又被称为Taxonomy
(4)概念抽取的方法
1)概念抽取的方法: 基于模板
Hearst Patterns: 基于固定的句型可以抽取isA关系
下面的左图列出了一些Hearst pattern的例子,右图举了一些符合Hearst pattern的例子
2) 概念抽取的方法: 基于模板
由于构造和维护模板的成本都比较高, 人们又发明了Boostrapping的方法,通常由专家构造种子Hearst Pattern, 然后基于Boostrapping半自动产生新模板。
3)概念抽取的方法: 基于百科
概念知识抽取
从半结构化数据中获取上下文关系,验证抽取的结果
概念知识验证
▲目标:输入概念知识, 判断是否合法
▲方法:互斥概念发现,例如e.g., 刘德华 isA 香港演员 V.S. 内地演员
▲实体相似度
▲属性分布相似度
▲领域规则过滤
4) 概念抽取的方法: 基于机器学习
从大量文本中获取概念知识
▲基于序列标注模型
▲需要大量标注样本
▲基于模板匹配的弱监督
事件是发生在某个特定的时间点或时间段、 某个特定的地域范围内, 由一个或者多个角色参与的一个或者多个动作组成的事情或者状态的改变 。
从无结构文本中自动抽取结构化事件知识:什么人/组织, 什么时间, 在什么地方, 做了什么事等等。
Joint event extraction via structured prediction with global features. (ACL2013)
2)基于结构预测的方法
框架名 | FrameNet 例句 | 类型 |
---|---|---|
Attack | AeroPlane Bombed London | Attack |
Fining | The court fined her 40 | Fine |
Execution | He was executed yesterday | Execute |
Leveraging FrameNet to Improve Automatic Event Detection. (ACL 2016)
Bridging Text and Knowledge with Multi-Prototype Embedding for Few-Shot Relational Triple Extraction. (COLING2020)
Relation | Question | Sentence & Answers |
---|---|---|
educated_at | What is Albert Einstein’s alma mater? | Albert Einstein was awarded a PhD by the Universityof Ziirich, with his dissertation titled… |
occupation | What did Steve Jobs do for a living? | Steve Jobs was an American businessman.inventorand industrial designer. |
spouse | Who is Angela Merkel married to? | Angela Merkel’s second and current husband is quantumchemist and professor Joachim Sauer, who has largely… |
Zero-Shot Relation Extraction via Reading Comprehension. (CONLL2017)
(2)基于规则引导的零样本关系抽取
Logic-guided Semantic Representation Learning for Zero-Shot Relation Classification. (COLING2020)
(3)终身知识抽取
基于表示对齐的终身关系抽取
Sentence Embedding Alignment for Lifelong Relation Extraction. (NAACL2019)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。