
2.3 模糊描述逻辑
2.3.1 描述逻辑
描述逻辑(Description Logic)[67]是一种概念表示语言或术语逻辑,它是基于对象的知识表示的形式化工具,它引入了KL-ONE的思想,是一阶逻辑的一个可判定的子集,具有适合定义的语义、很强的知识表达能力和推理能力。描述逻辑包含四个部分:概念构造集和关系构造集;TBox概念断言;ABox实例断言;推理机制。对以上要素的选择以及不同的假设条件决定了一个描述逻辑系统的表示能力和推理能力[68]。描述逻辑还能用在除了知识表示以外的许多其他领域,它是一种以对象为中心的表示语言的最为重要的归一形式。描述逻辑能保证推理算法总能停止,并返回正确的结果,具有很强的表达能力和可判定性。近十年来描述逻辑受到了人们的特别关注,主要原因在于:在众多知识表示的形式化方法中,描述逻辑有清晰的模型理论机制,可以通过概念分类学来表示所在的应用领域,并能够提供实用性很强的推理服务。
描述逻辑中,最基本的两个元素是概念(Concept)和关系(Role)。其中概念是一种对象集合,关系是对象之间的二元关系。
概念可分为原子概念和概念描述。原子概念是一种一元谓词,表示最基本的概念,概念描述则由原子概念通过构造子以及关系组合而成。关系表示概念之间存在的联系,原子关系是一种二元谓词,同样,关系描述由原子关系通过构造子以及概念组合而成。构造子决定着表达的能力。
描述逻辑通常包含以下构造子:并(∪)、交(∩)、非(¬)、全称量词(∀)和存在量词(∃)。这是一种最基本的描述逻辑,称为ALC[69]。描述逻辑有语法(syntax)和语义(semantics)两个层次,用构造子通过正确的语法规则将概念和关系进行组合,形成对知识的形式化描述,其所包含的语义是通过将语句的语法分析转化为其逻辑形式来进行表达。为了描述某具体领域的信息,可以在描述逻辑中引入具体域的概念,如长度、重量等。本书使用引入具体域的ALC(D)来实现推荐模型。ALC(D)的定义如下:
定义2.1 描述逻辑ALC语法,设Nc是概念集合,NR为角色名集合,若C, D∈Nc, R∈NR,则ALC概念集是满足下列条件的最小集合C|D|C∩D|C∪D|¬ C|∀R.C|∃R. C。
定义2.2 描述逻辑ALC语义,ALC的解释I=(ΔI, ·I)由非空集合ΔI和解释函数·I组成。称ΔI为I的论域。函数·I将每个概念映射为ΔI的一个子集,将每个角色映射为ΔI×ΔI的一个子集。语义表示如下:
TI=ΔI, ⊥I=∅,(C∩D)I=CI∩DI,(C∪D)I=CI∪DI,(¬C)I=ΔI-CI
(∀R.C)I={d∈ΔI|∀c, <d, c>∈R→c∈CI}
(∃R.C)I={d∈ΔI|∃c, <d, c>∈R∧c∈CI}
ALC的语法和语义如表2.1所示。
表2.1 ALC的语法和语义

为了描述具体领域的语义信息,如,描述逻辑引入了具体域并增加相应的具体域的概念和关系构造子以表达具体数量信息。对于应用领域中具体数量增加了表达手段。具体域定义如下:
一个具体论域D是一个序对<ΔD, ΦD>,其中ΔD是解释论域,是具体个体域的非空集合,ΦD是具体论域谓词P的集合,解释为ΔD上的n元组集合PD⊆(ΔD)n。
ALC(D)在ALC的基础上引入了具体域的概念,ALC(D)语法如下:
定义2.3 ALC(D)设N AF是NR子集,N AF中的元素被称为抽象特征(abstract feature)。设NCF是可数集合,其中的元素被称为具体特征(concrete feature),满足NCF∩(Nc∪NR)=∅。具体路径定义为形如μ=f 1…fkg的序列,fi∈N AF, g∈N CF,1≤i≤k。关系路径的约束和构造子可以更加泛化,使fi扩展为f i∈NR, ALC(D)的扩展描述形式如下:
C, D→∃μ1, …, μn.P|∀μ1, …, μn.P
设ALC(D)的解释I=(ΔI, ·I),新的构造子的解释为:
(∃μ1, …, μn.P)I={a∈ΔI|∃x1, …, xn,1≤i≤n, (a)=xi,(x1, …, xn)∈PD};
(∀μ1, …, μn.P)I={a∈ΔI|∃x1, …, xn,1≤i≤n, (a)=xi→(x1, …, xn)∈PD};
2.3.2 模糊描述逻辑
描述逻辑包括很多种子语言,最基本的语言是AL(Attributive Language),在AL中定义的仅仅是原子否定。ALC(Attribute Language Complement)在AL语言的基础上增加了可以对任意一个概念否定的构造子。ALC的构造子包括合取(∩)、析取(∪)、否定(¬)、存在性限定(∃)和值限定(∀)。在ALC的基础上,根据构造符的不同,演变出很多扩展的描述逻辑,如SHOIQ[70]、RIQ[71]、SROIQ[72]等。普通的描述逻辑无法处理不确定的知识表达与推理,例如某个概念只能在一定程度上被某条公理描述。为了解决这个问题,Straccia提出了ALC的模糊扩展逻辑FALC来使ALC支持模糊概念的描述[73]。
定义2.4 模糊描述逻辑FALC定义C|D|C∩D|C∪D|¬C|∀R.C|∃R.C都是模糊概念,FALC中的解释定义为I=(ΔI, ·I), ·I是从模糊概念和角色到隶属度值的映射C I=ΔI→[0,1], RI=ΔI ×ΔI→[0,1],且满足以下等式:
TI(d)=1, ⊥I(d)=0,(C∩D)I(d)=min{CI(d), DI(d)}
(C∪D)I(d)=max{CI(d), DI(d)}, ¬CI(d)=1-CI(d)
(∀R.C)I(d)={1-RI(d, d′), CI(d)}
(∃R.C)I(d)={RI(d, d′), CI(d)}
为了描述某具体领域的信息,可以在描述逻辑中引入具体域的概念,如长度、重量等。本书使用引入带有具体域的FALC(D)来实现推荐模型[74]。
定义2.5 具体域模糊描述逻辑FALC(D)
C→T|⊥|A|C1∩C2|C1∪C2|¬C|∀R.C|∃R.C|∀T.D|∃T.D|m(C);
D→u|¬u;
u→trz(a, b, c, d, [k1, k2])|tri(a, b, c, [k1, k2])|ls(a, b, [k1, k2])|rs(a, b, [k1, k2])|
cr(a, b, [k1, k2]);
m→lm(a, b, c, d);
其中D是一元模糊谓词,如:喜欢,≤x等。m是模糊修饰词,如非常、很、一般等。lm(a, b, c, d)和trz(a, b, c, d, [k1, k2])|tri(a, b, c, [k1, k2])|ls(a, b, [k1, k2])|rs(a, b, [k1, k2])|cr(a, b, [k1, k2])是不同的隶属度函数模型,如图2.1所示。

图2.1 模糊描述逻辑隶属度函数
(1)梯形隶属度函数trz;(2)三角隶属度函数tri;(3)左肩隶属度函数ls;
(4)右肩隶属度函数rs;(5)凸形隶属度函数cr;(6)折线隶属度函数lm