- 模糊語義個性化信息推薦
- 牟向偉
- 2222字
- 2020-11-29 00:09:23
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