人工智能笔记12 --知识表示

知识工程概况

人工智能为什么要研究知识?

大数据的日益积累、计算能力的快速增长为人类进入智能时代奠定了基础

大数据为智能技术的发展带来了前所未有的数据红利

机器计算智能、感知智能达到甚至超越人类

感知智能并不够,需要认知智能

随着数据红利消耗殆尽,以深度学习为代表的感知智能遇到天花板

认知智能将是未来一段时期内AI发展的焦点,是进一步释放AI产能的关键

自然语言的深度理解需要背景知识
歧义

隐喻

依赖上下文

复杂问答需要知识推理
知识辅助决策

比如投资黄金

知识帮助解释现象的本质

• 机器理解数据的本质:建立从数据到知识库中实体、概念、关系的映射

• 机器解释现象的本质:利用知识库中实体、概念、关系解释现象的过程

知识导引

知识必须经过合理的表示才能为计算机所处理。知识表示是对现实世界的一种抽象(abstract)表达。

评价知识表示的两个重要因素

Ø 表达能力(expressiveness):知识表示应该具有足够强的表达能力,以充分完整地表达特定领域或者问题所需的知识。

Ø 计算效率(efficiency):基于知识表示的计算求解过程也应有着足够高效的执行效率。
知识表示的关键因素

根据学科背景的不同,发展了基于图论、逻辑
学、概率论的各种知识表示
早期:以离散符号表示为主,侧重于表达专家的知识或经验,比如规则、逻辑、语义网络等

后期:以连续向量表示为主,易于计算机数值计算和推理

基于离散符号的知识表示

• 谓词逻辑表示法
• 产生式规则表示法
• 框架表示法
• 脚本表示法
• 语义网络表示
• 知识图谱表示

谓词逻辑

谓词逻辑表示

谓词 P ( x 1 , x 2 , … … , x n ) P(x_1,x_2,……,x_n) P(x1,x2,,xn)
• 个体 x 1 , x 2 , … … , x n x_1,x_2,……,x_n x1,x2,,xn:某个独立存在的事物或概念,可以为常量、变量或函数
• 谓词名 P P P:刻画个体的性质、状态或个体间关系

联结词:利用联结词将原子谓词公式组合为复合谓词公式。
• 否定(¬): “ ¬ P ¬P ¬P”表示“P的否定”(非)
• 析取(∨):“ P ∨ Q P ∨Q PQ”表示“P或Q”(或)
• 合取(∧):“ P ∧ Q P ∧ Q PQ”表示“P与Q”(与)
• 蕴含(→):“ P → Q P → Q PQ”表示“如果P,那么Q”

量词:表示个体与个体域之间的包含关系

• 全称量词( ∀ x ∀x x):表示该量词作用的辖域为个体域中“所有的个体 x ”
或“每一个个体都”要遵从所约定的谓词关系
• 存在量词( ∃ x ∃x x):表示该量词要求“存在于个体域中的某些个体 x ”或“某个个体 x ”要服从所约定的谓词关系。

∀ x M a n ( x ) → M a l e ( x ) ∨ F e m a l e ( x ) ∀ x ∃ y M a n ( x ) → F a t h e r ( y , x ) ∀x Man(x) →Male(x) ∨Female(x)\\ ∀x ∃y Man(x) →Father(y, x) xMan(x)Male(x)Female(x)xyMan(x)Father(y,x)

优缺点
谓词逻辑表示的优点

严密性:有形式化的语法和语义,以及相关的推理规则,可以保证其演绎推理结果的正确性。

易表达:对逻辑的某些外延进行扩展后,可以把大部分精确性的知识表达成一阶谓词逻辑的形式。

• 谓词逻辑表示的缺点

效率低:推理过程太冗长,降低了系统效率。谓词表示越细,表达越清楚,推理越慢,效率越低。

灵活性差:不便表达和加入启发性知识和元知识,不便表达不确定性的知识。

组合爆炸:在其推理过程中,随着事实数目的增大及盲目地使用推理规则,有可能产生组合爆炸。

产生式规则

产生式规则是种形如“条件-结论/动作”的规则,基本形式为:
if then

Ø R1:IF 病人发烧 AND 咳嗽 THEN 病人得了病毒性感冒
Ø R2:IF 病人你长期吸烟 THEN 病人有肺部疾病(0.9) 0.9为不确定性
Ø R3:IF 病人得了病毒性感冒 THEN 给予治疗(表达动作)

• 产生式规则优缺点
Ø 一种自然的、清晰的、可扩展的知识表示,擅长表达具有因果关系的过程性知识。
Ø 在实际应用也会碰到,规则应用时的规则冲突、规则失配等难题

• 产生式规则优点
• 有效性:既可以表示确定性知识,又可以表示不确定性知识,有利于启发性和过程性知识的表达。
• 自然性:用“if…,then…”表示知识,直观、自然。
• 一致性:所有规则具有相同的格式,并且数据库可被所有规则访问,便于统一处理。
• 模块化:各条规则之间只能通过数据库发生联系,不能相互调用,便于知识的添加、删除和修改。

缺点
• 效率低:规则应用时可能出现规则冲突、规则失配等难题,需要反复进行“匹配—冲突消解—执行”的过程,执行效率低。
• 局限性:不能表示结构性或层次性知识。

框架表示

框架表示:以框架理论为基础发展起来的一种结构化的知识表示

框架:一种描述对象(事物、事件或概念等)属性的数据结构。
• 槽:用于表示描述对象的一个属性
• 侧面:用于表示槽属性的一个方面
• 槽值和侧面值:槽和侧面对应的属性值

框架表示的优点

• 表达能力强,层次结构丰富,提供了有效的组织知识的手段
• 是表示专业领域知识的理想方法,可以利用获得的知识对未来的情况进
行预测,通过框架来认识一类事物

• 框架表示的缺点
• 构建成本非常高,对知识的质量要求非常高
• 没有明确的推理机制保证问题求解的可行性和推理过程的严密性,子框架的数据结构不一致会造成推理困难

脚本表示法

脚本是一种与框架类似的知识表示方法,表示特定领域内一些事件的发生序列(类似电影剧本)

• 有明确的时间或因果顺序,必须前一个动作完成后才会触发下一个动作
• 与框架相比,脚本用来描述一个过程而非静态知识

脚本组成
• 进入条件:给出脚本中所描述时间的前提条件。
• 角色:用来描述实践中可能出现的人物。
• 道具:用来描述事件中可能出现的相关物体。
• 场景:用来描述事件发生的真实顺序。一个事件可以由多个场景组成
,而每个场景又可以是其它事件的脚本。
• 结果:给出在脚本所描述事件发生以后所产生的结果。

• 脚本表示示例:去餐厅吃饭
人工智能笔记12 --知识表示_第1张图片

• 脚本表示的优点

• 在非常狭小的领域内,脚本表示可以更细致地刻画步骤和时序关系,适合于表达预先构思好的特定知识或顺序性动作及事件,如故事情节理解、智能对话系统等。
• 描述了在特定环境下将要发生的一系列、因果关系的事件,能帮助预测未被直接观察到的事实,或对于一组观测事实进行解释。

• 脚本表示的缺点
• 相较于框架表示,脚本表示表达能力更受约束,表示范围更窄,不具备对于对象基本属性的描述能力,也难以描述复杂事件发展的可能方向

语义网络

• 表示形式
• 通过概念及其语义关系组成的有向图来表达知识和描述语义
• 由一些有向图表示的三元组(节点1, 弧,节点2)连接而成
• 节点:表示物理实体、概念或状态
• 弧:表示节点之间的关系

• 关系类型

(1)类属关系
Ø 类属关系是指具有共同属性的不同事物间的分类关系、成员关系或实例关系。
Ø 注:它体现的是“具体与抽象”、“个体与集体”的概念。类属关系的一个最主要特征是属性的继承性,处在具体层的结点可以继承抽象层结点的所有属性。
Ø 常用的类属关系有

A-KIND-OF 表示一个事情是另一个事物的类型
A-Member-of 表示一个事情是另一个事物的成员
Is-a 一个事务是另一个事物的实例

注:在类属关系中,具体层的结点除了具有抽象层结点的所有属性外,还可以增加一些自己的个性

(2)包含关系
Ø 包含关系也称为聚类关系,是指具有组织或结构特征的“部分与整体”之间的关系。

注:它和类属关系的最主要的区别就是包含关系一般不具备属性的继承性。

Ø 常用的包含关系有:

Part-of: 表示一个事物是另一个事物的一部分

(3)属性关系
Ø 属性关系是指事物和其属性之间的关系。
Ø 常用的属性关系有:

Have: 表示一个节点具有另一个节点所描述的属性
Can: 表示一个节点能做另一个节点所描述的事情

• 语义网络表示的优点

• 联想性:最初是作为人类联想记忆模型提出来的,着重强调事物间的语义联系,体现了人类的联想思维过程。
• 结构性:是一种结构化的知识表示方法,对数据子图特别有效,把事物的属性以及事物间的各种语义联系显式地表示出来。
• 易用性:直观地把事物的属性及其语义联系表示出来,便于理解,自然语言与语义网络之间的转换比较容易实现,在自然语言理解中应用最广。

• 语义网络表示的缺点

• 无形式化语法:语义网络表示知识的手段是多种多样的,虽然灵活性高,但同时由于表示形式的不一致也提高了对其处理的复杂性。
• 无形式化语义:没有像谓词那样严格的形式表示体系,一个给定语义网络的含义完全依赖于处理程序对它所进行的解释,通过语义网络实现的推理难保证其正确性。

知识图谱

知识图谱(Knowledge Graph)本质上是一种大规模语义网络,是互联网时代的语义网知识表示框架

富含实体(entity)、概念(concepts)及其之间的各种语义关系(semantic relationships)

作为一种语义网络,是大数据时代知识表示的重要方式之一

• 知识图谱采用国际标准语言RDF(Resource Description Framework)

• RDF核心思想:利用IRI (Internationalized Resource Identifiers, 国际化资源标识符) 来标识事物(唯一标识符),通过指定的属性和相应的值描述资源性质或资源之间的关系

提供一个统一标准,描述实体和资源

只是图谱中每个知识用RDF三元组表示,主体,谓词,客体(SPO)

基于连续向量的知识表示

基于连续向量的知识表示-以知识图谱为例
• 知识以离散符号的方法进行表达,不能在计算机中表达相应语义层面的信息,无法有效计算实体间的语义关系。
• 在大规模知识图谱上应用时,涉及的符号推理复杂度高,难以扩展。
• 基于离散符号的知识表示存在的挑战:
• 解决方案:将知识图谱中的元素(包括实体、属性、关系等)映射到低维向量空间

实体和关系的向量化表示:关键是合理定义知识图谱中关于事实
三元组<头实体,关系, 尾实体>(即 < h , r , t > < h, r,t > <h,r,t>)的打分函数 f r ( h , t ) f_r(h,t) fr(h,t)

a r g m i n ∑ r ∈ K B f r ( h , t ) argmin \sum_{r\in KB}f_r(h,t) argminrKBfr(h,t)

Ø h和t是三元组的两个实体ℎ(头实体)和t (尾实体)的向量化表示。
Ø 通常情况下,当事实 < h , r , t > < h, r,t > <h,r,t>成立时,期望最小化 f r ( h , t ) f_r(h,t) fr(h,t)

训练的损失函数
L = ∑ ( h , r , t ) ∈ S ∑ ( h ′ , r , t ′ ) ∈ S ′ m a x ( 0 , f r ( h , t ) + γ − f r ( h ′ , t ′ ) ) L = \sum_{(h,r,t)\in S}\sum_{(h',r,t')\in S'}max(0, f_r(h,t)+\gamma - f_r(h',t')) L=(h,r,t)S(h,r,t)Smax(0,fr(h,t)+γfr(h,t))

( h , r , t ) (h,r,t) (h,r,t)为正确三元组(希望得分低)
( h ′ , r , t ′ ) (h',r,t') (h,r,t)错误三元组,替换(h,r,t)中的h和t活得,希望得分高
γ \gamma γ 参数

基于向量表示的两类经典方法:
• 基于距离的模型
• 基于翻译的模型

基于距离

TransE

• 其代表性工作是**Structured Embeddings (SE)**模型。
• 基本思想是当两个实体属于同一个三元组 < h , r , t > < h, r,t > <h,r,t>时,它们的向量表示在投影后的空间中也应该彼此靠近。
• 三元组 < h , r , t > < h, r,t > <h,r,t>的打分函数定义为向量投影后的距离:

f r ( h , t ) = ∣ ∣ W r , 1 h − W r , 2 t ∣ ∣ l 1 f_r(h,t)=||W_{r,1}h-W_{r,2}t ||_{l_1} fr(h,t)=Wr,1hWr,2tl1
W r , 1 , W r , 2 W_{r,1},W_{r,2} Wr,1,Wr,2是投影矩阵参数

• TransE认为每个三元组实例 < h , r , t > < h, r,t > <h,r,t>可以看做是头实体 ℎ通过关系 r r r翻译得到尾实体 t。也就是, h + r ≈ t h+r\approx t h+rt

三元组打分函数
f r ( h , t ) = ∣ ∣ h + r − t ∣ ∣ l 1 / l 2 f_r(h,t) = ||h+r-t||_{l_1/l_2} fr(h,t)=h+rtl1/l2

缺点:
不适用于自反、多对一、一对多型关系
如:<张三,性别,男>、<李四,性别,男>

TransH

TransE模型中 h + r ≈ t h+r\approx t h+rt。假设太强,导致在自反、一对多、多对一等关系下实体向量学习的错误

TransH模型放宽了 h + r ≈ t h+r\approx t h+rt这一假设,只要求头尾实体在关系相对应的超平面上的投影彼此接近即可,即
h ⊥ + d r ≈ t ⊥ h_\perp+d_r\approx t_\perp h+drt

头尾实体映射向量:
h ⊥ = h − W r T h W r h_\perp=h-W^T_rhW_r h=hWrThWr
t ⊥ = t − W r T t W r t_\perp = t-W^T_rtW_r t=tWrTtWr

三元组 < h , r , t > <h,r,t>打分函数
f r ( h , t ) = ∣ ∣ ( h − W r T h W r ) + d r − ( t − W r T t W r ) ∣ ∣ l 1 / l 2 f_r(h,t)=||(h-W^T_rhW_r)+d_r-(t-W^T_rtW_r) ||_{l_1/l_2} fr(h,t)=(hWrThWr)+dr(tWrTtWr)l1/l2

TransR

TransE、TransH中实体和关系都在相同的空间中进行表示,因此相似的实体在同一实体空间中非常接近,难以区分实体的不同方面(关系)。

比如:<马克思,父亲,亨利希·马克思>,<恩格斯,民族,德意志民族>

TransR:让不同的关系关注不同的方面,在两个不同的空间,即实体空间和多个关系空间中建模实体和关系,并在对应的关系空间中进行转换,仅要求头尾实体在关系空间中的投影彼此接近即可。

头尾实体在关系空间映射后的向量:
h r = M r h h_r = M_rh hr=Mrh
t r = M r t t_r=M_rt tr=Mrt

打分函数
f r ( h , t ) = ∣ ∣ h r + r − t r ∣ ∣ l 1 / l 2 f_r(h,t)=||h_r+r-t_r||_{l_1/l_2} fr(h,t)=hr+rtrl1/l2

TransD

TransR存在几个问题:
• 计算复杂度高

TransR利用 h r = M r h 和 T r = M r t h_r=M_rh和T_r=M_rt hr=MrhTr=Mrt对头尾实体进行映射,矩阵计算仍然开销较大

• 没有考虑头尾实体的差异
<柏拉图,出生地,希腊>
“柏拉图”和“希腊”显然是不同类型的实体,对“柏拉图”和“希腊”使用相同的映射显然是不合适的。

• TransD用向量运算取代矩阵映射
• 实体的映射函数同时考虑实体与关系,映射之后的头尾实体:
M r h = r p h p T + I m × m   M r t = r p t p T + I m × m M_{rh}=r_ph_p^T+I^{m\times m}\ M_{rt} = r_pt_p^T+I^{m\times m} Mrh=rphpT+Im×m Mrt=rptpT+Im×m

h ⊥ = M r h h , t ⊥ = M r t t h\perp = M_{rh} h, t_\perp= M_{rt}t h=Mrhh,t=Mrtt

打分函数
f r ( h , t ) = ∣ ∣ h ⊥ + r − t ⊥ ∣ ∣ l 1 / l 2 f_r(h,t)=||h\perp + r-t_\perp||_{l_1/l_2} fr(h,t)=h+rtl1/l2

你可能感兴趣的:(人工智能入门,人工智能,机器学习,自然语言处理)