(南京信息工程大學(xué) 信息與控制學(xué)院, 南京 210044)
摘 要:在已研究的模糊查詢中,其邏輯連接均為and或or,具有一定的狹隘性,不符合自然語(yǔ)言表述的特點(diǎn),也不能充分滿足查詢要求。引入模糊語(yǔ)言量詞作為模糊邏輯連接詞,同時(shí)引入權(quán)重,利用Zadeh 的模糊集合理論與SQL系統(tǒng)函數(shù)相結(jié)合,研究了基于模糊邏輯連接的帶權(quán)重的模糊查詢技術(shù),進(jìn)一步豐富了SQL模糊查詢體系,提高了查詢能力。
關(guān)鍵詞:模糊集理論; 模糊語(yǔ)言量詞; 模糊邏輯連接; 權(quán)重; 適配度
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):10013695(2009)01011403
Fuzzy queries with weights based on fuzzy logic conjunctions
WANG Hui, ZHANG Yingchao
(Dept. of Information Communication, Nanjing University of Information Science Technology, Nanjing 210044, China)
Abstract:
The previous work studied such queries as simple queries, compound queries, multirelational queries, subqueries with weights and etc. Which solved fuzzy questions to some extent. But the logic connectives was always AND or OR, so the previous SQL queries had some limits. It didn’t adapt to the natural language and did not satisfies the queries. Based on Zadeh’s fuzzy theory, introduced fuzzy logic and weights to solve this kind of queries through the combinations of fuzzy theory and SQL functions, which would enrich fuzzy queries system, thus enabling more effective queries.
Key words:fuzzy theory; fuzzy linguistic quantifies; fuzzy logic conjunctions; weights; matching degree
0 引言
自Zadeh于1965年提出模糊集合理論以來(lái),模糊理論得到了廣泛應(yīng)用。在數(shù)據(jù)庫(kù)模糊查詢方面,主要集中在模糊數(shù)據(jù)庫(kù)的研究和基于傳統(tǒng)數(shù)據(jù)庫(kù)的模糊查詢兩個(gè)方面,基于模糊理論的SQL查詢屬于后者。SQL查詢?nèi)裟軌蛑С肿匀徽Z(yǔ)言的表述查詢,則能切合人們的日常思維習(xí)慣,滿足查詢需求,為人們提供更簡(jiǎn)便的查詢方法。
目前,模糊查詢研究中的自然語(yǔ)言項(xiàng)主要包括:a)數(shù)值型的模糊值;b)修飾算子:語(yǔ)氣算子、模糊化算子、判定化算子等;c)模糊關(guān)系;d)模糊語(yǔ)言量詞;e)權(quán)重。國(guó)內(nèi)外基于SQL的模糊查詢的研究主要集中在a)b)兩個(gè)方面,其中文獻(xiàn)[1,2]在查詢條件嵌入簡(jiǎn)單模糊項(xiàng)、復(fù)雜模糊項(xiàng)及復(fù)合模糊項(xiàng)這方面做了大量的研究工作,分別提出了利用正向法和反向法實(shí)現(xiàn)去模糊機(jī)制;文獻(xiàn)[3]提出了在關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)中利用α截集實(shí)現(xiàn)含模糊關(guān)系的SQL查詢的轉(zhuǎn)換機(jī)制;文獻(xiàn)[4~6]在權(quán)重方面進(jìn)行了研究,前者提出了新的基于自動(dòng)聚類(lèi)技術(shù)和權(quán)重概念對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行模糊查詢的方法,后者直接在查詢語(yǔ)句中引入權(quán)重,解決了查詢時(shí)的偏好表述概念;文獻(xiàn)[7]采用基于距離的模糊等價(jià)關(guān)系和模糊聚類(lèi)法,將模糊排序整合進(jìn)靈活查詢系統(tǒng),得到了模糊的查詢結(jié)果集;文獻(xiàn)[8]提出了基于模糊理論和模糊數(shù)的α截集的泛化的SQL模糊查詢,引入復(fù)雜模糊關(guān)系作為運(yùn)算符,通過(guò)用戶設(shè)定不同的閾值實(shí)現(xiàn)模糊查詢的轉(zhuǎn)換機(jī)制;文獻(xiàn)[9]研究了含模糊聚集運(yùn)算符SQL查詢,分析了傳統(tǒng)SQL語(yǔ)言體系在擴(kuò)展SQL語(yǔ)言中的等價(jià)性;文獻(xiàn)[10]研究了模糊量詞的計(jì)算。但在以上所有的基于模糊集合理論的SQL查詢中,其邏輯關(guān)系皆為and或or,即查詢條件中的謂詞要不在一定程度上全部滿足,要不其中某一條件滿足即可,不能描述人們的自然語(yǔ)言特點(diǎn)(如大多數(shù)條件滿足等),存在狹隘性,同時(shí)查詢也未結(jié)合偏好進(jìn)一步深入。本文引入模糊語(yǔ)言量詞作為模糊邏輯連接詞,同時(shí)引入權(quán)重,基于Zadeh 的模糊集合理論與SQL系統(tǒng)函數(shù),研究了基于模糊邏輯連接的帶權(quán)重的SQL查詢,進(jìn)一步豐富了SQL模糊查詢體系,擴(kuò)展了SQL模糊查詢的應(yīng)用范圍。
1 基于模糊邏輯連接的帶權(quán)重的SQL擴(kuò)展查詢
本文研究以模糊語(yǔ)言量詞取代傳統(tǒng)的邏輯條件連接詞and和or;同時(shí)引入權(quán)重表述偏好重視程度,通過(guò)相應(yīng)屬性的隸屬度公式推算SQL系統(tǒng)函數(shù)應(yīng)用及模糊語(yǔ)言量詞的隸屬函數(shù),根據(jù)閾值以適配度由高到低輸出結(jié)果記錄集。
一般地, SQL模糊擴(kuò)展查詢?yōu)楠?/p>
select attributes
from sourceDataName
where condition1[-]conditions2[-]…[-]conditions n
with α
其中:select子句中attributes為用戶需要查詢的數(shù)據(jù)庫(kù)關(guān)系表的字段;sourceDataName為檢索記錄的數(shù)據(jù)庫(kù)關(guān)系表,可為單表也可為多表的連接,當(dāng)為多表查詢時(shí),各個(gè)關(guān)系表用逗號(hào)隔開(kāi);where子句中condition1…conditionsn為檢索記錄需滿足的搜索條件(在ANSI/ISO標(biāo)準(zhǔn)中稱為謂詞),可為簡(jiǎn)單模糊謂詞、復(fù)雜模糊謂詞和符合模糊謂詞;α為閾值;[-]用以表述各條件間的連接關(guān)系,通常由and、or邏輯連接,以滿足人們的檢索需求。例如在公安查詢犯人的時(shí)候,檢索條件可能為“一個(gè)年輕且高個(gè)的人”;而在選購(gòu)房屋的時(shí)候,只需滿足“房?jī)r(jià)低、地理位置好、房屋面積大”之中的一個(gè),這些都可以通過(guò)and、or邏輯連接。但是實(shí)際情況下存在大量的自然語(yǔ)言表述,歸納為“在六個(gè)條件中,只需滿足其中的任意兩個(gè)即可”或“在某些可能的條件中,只需大部分滿足即可”等。雖然某些此類(lèi)查詢表述可以通過(guò)and或or的不同組合實(shí)現(xiàn),如以上述的選購(gòu)房屋為例,可能存在的組合有(房?jī)r(jià)低and地理位置好or房屋面積大)、(房?jī)r(jià)低or地理位置好and房屋面積大)、(房?jī)r(jià)低and房屋面積大or地理位置好)。當(dāng)僅僅只需三個(gè)條件中的兩個(gè)滿足時(shí)已存在一定的and、or的疊推。可想而知,當(dāng)條件數(shù)目增多時(shí),隨著組合數(shù)會(huì)越來(lái)越多,必將造成where條件子句的混亂與冗長(zhǎng),且難以理解。為了解決以上問(wèn)題,同時(shí)更加符合自然表述,引進(jìn)模糊語(yǔ)言量詞作為邏輯連接詞,同時(shí)基于目前已研究的模糊擴(kuò)展查詢成果加以解決。
1.1 模糊語(yǔ)言量詞
Zadeh提出:在自然語(yǔ)言中存在絕對(duì)量詞和相對(duì)量詞[10]兩類(lèi)量詞。其中前者如至少三個(gè)、十個(gè)、大約五個(gè)等,可以通過(guò)非負(fù)數(shù)的模糊子集表示;后者如大多數(shù)、至少一半、絕大多數(shù)等,可通過(guò)單位區(qū)間的模糊子集描述。
引入模糊語(yǔ)言量詞作為模糊查詢中的模糊邏輯連接,則表述為
(condition1[-]conditions2[-]…[-]conditionsn) is Q1;
(condition1[-]conditions2[-]…[-]conditionsn) is Q2;
對(duì)語(yǔ)言量詞的表述人們也有不同的解釋,如Zadeh’s computational approach、Yager’s competitive type aggregation[11]以及Yager’s OWAbased interpretation of fuzzy quantifiers[12]。其中Zadeh’s computational未給出完全的計(jì)算式,不能滿足數(shù)據(jù)庫(kù)用戶的直觀性需求;后兩者則側(cè)重于聚集行為的研究應(yīng)用。這里本文借助Zadeh法,uA(t.a)=uQ1(∑ni=1uA(t.a)),uA(t.a)=uQ2[(1/n)∑ni=1uA(t.a)]拓展計(jì)算。
1.2 權(quán)重
文獻(xiàn)檢索中,模糊集合A表示查詢,可以通過(guò)為A指定權(quán)重來(lái)表示其在整個(gè)查詢中的重要程度。Aw 表示析取式查詢, Aw表示合取式查詢。其中w∈[0,1],w越大表示A在查詢中重要性越大,相反則越不重要;w=0表示A完全不起作用,w=1表示其全部的作用。
對(duì)于所有的文獻(xiàn)d有Aw=w*A和Aw=1-w*(1-A)。其中的*可為任何T算子,即[13]
Aw=T(w,A), Aw=1-t(w,1-A)
這里選用T算子T(x,y)=min(x,y)[14],則有Aw=min(w,A),Aw=max(1-w,A)。這種T算子在本質(zhì)上是定性的,它可以定義在一個(gè)離散的有序的可能性標(biāo)度上[15]。下面給出關(guān)系數(shù)據(jù)庫(kù)查詢中權(quán)重的定義:
定義 假設(shè)謂詞A、w定義在[0,1]上,表述A的重要程度,則在析取式查詢、合取式查詢中元組t的屬性a關(guān)于A的隸屬度定義如下:
uAw(t.a)=min(w,uA(t.a))
uAw(t.a)=max(1-w,uA(t.a))
在含模糊量詞的查詢中,通過(guò)以上定義可以得到查詢中元組t的屬性關(guān)于A的隸屬度,結(jié)合Zadeh的模糊集合理論進(jìn)行基于模糊邏輯連接的帶權(quán)重的SQL擴(kuò)展查詢研究。
1.3 基于模糊邏輯連接的帶權(quán)重的SQL查詢
本文引入模糊語(yǔ)言量詞且引入表述檢索條件偏好的權(quán)重。設(shè)SQL查詢語(yǔ)句如下:
select attibutes
from sourceDataName
where (condition1,conditions2,…,conditionsn) is Q1 [(condition1,conditions2,…,conditionsn) is Q2]
weight weight1,weight2,…,weightn
with α1,α2,…,αn
for β
其中:is為本文定義的運(yùn)算符;Q1、Q2為絕對(duì)模糊語(yǔ)言量詞和相對(duì)模糊語(yǔ)言量詞;引入weight關(guān)鍵字描述權(quán)重,with關(guān)鍵字為描述各謂詞的閾值,for描述模糊語(yǔ)言量詞的閾值;α1,α2,…,αn為where子句中查詢條件需要滿足的閾值(置信水平);β為查詢記錄滿足模糊語(yǔ)言量詞命題的閾值,α1,α2,…,αn,β可為精確數(shù)值型,也可為自然語(yǔ)言表述的模糊項(xiàng)。其中權(quán)重、閾值均可由用戶指定;其他字句功能意義同上。當(dāng)Q1/Q2=all或any,則退化為傳統(tǒng)的and或or連接的模糊查詢。
隸屬函數(shù)如young、tall、high及模糊語(yǔ)言量詞的確定過(guò)程,本質(zhì)上是可觀的,但又允許有一定的人為技巧。就一般情況而言,可將隸屬函數(shù)分為三類(lèi):a)偏小型(戒上型),降半哥西分布、降半梯形分布等;b)偏大型(戒下型),升半哥西分布、升半梯形分布等;c)中間型(對(duì)稱型),哥西分布、梯形分布等。人們根據(jù)所定義的自然語(yǔ)言的需要選擇合適的隸屬函數(shù)表達(dá),如年輕選擇偏小型,而相應(yīng)年老對(duì)應(yīng)偏大型等。以此令young、tall、salaryhigh及模糊語(yǔ)言量詞most的隸屬函數(shù)如下:
uyoung(x)=1 x≤251/[1+((x-25)/10)2]x>25
utall(x)=1 x≥1901/[1+((x-190)/10)2]x<190
umost(x)=x/0.5 0<x≤0.51 x>0.5
usalary-high(x)=1x≥6 000x/6 0000<x<6 000
1.4 舉例說(shuō)明
1)實(shí)現(xiàn)查詢 在Employees關(guān)系中查詢年輕的、個(gè)子高的、工資高的職工,滿足大部分查詢條件即可;同時(shí)分配權(quán)重如下:年齡為0.8,身高為0.5,工資為0.3。據(jù)此,設(shè)定SQL查詢語(yǔ)句如下:
select emp_Id,name,age,height,salary
from Employees
where (age is young,height is tall,salary is high) ismost
weight 0.8, 0.5, 0.6
with 0.7, 0.4, 0.5
for 0.6
結(jié)合模糊謂詞的隸屬函數(shù),利用正向法,結(jié)合引入權(quán)重后的隸屬度定義求取各相關(guān)屬性值對(duì)于查詢謂詞的隸屬度。大于閾值的置為1;反之為0,最終根據(jù)匹配度由高到低輸出結(jié)果記錄集。
2)查詢步驟 元組中的各屬性根據(jù)需查詢的謂詞的隸屬函數(shù)計(jì)算其先期隸屬度,如表2所示;結(jié)合權(quán)重計(jì)算帶權(quán)
重的隸屬度,如表3所示;結(jié)合Zadeh的模糊量詞隸屬函數(shù)及閾值求得最終記錄集,如表4、5所示。
表1 關(guān)系Employees
emp_Idnamesexageheight/cmsalarydep_Id
2001王鵬男261728 0001
2002張飛男331853 5001
2003劉飛女391654 7001
2004張玉女281702 9002
2005蘇云男251833 5002
2006嚴(yán)麗女401656 0002
2007吳蘭男221854 9003
2008張麗女311605 2003
2009李素女201724 8003
表 2 關(guān)系Employees上的元組關(guān)于young、tall、salaryhigh的隸屬度
emp_Idnamesexageheight/cmsalarydep_Iduyoungutallusalaryhigh
2001王鵬男261728 00010.9610.2361.0
2002張飛男331853 50010.2810.5520.583 3
2003劉飛女391654 70010.1130.20.783 3
2004張玉女281702 90020.7350.3720.483 3
2005蘇云男251833 500210.6710.583 3
2006嚴(yán)麗女401656 00020.10.3081.0
2007吳蘭男221854 900310.80.816 7
2008張麗女311605 20030.4100.1380.866 7
2009李素女201724 800310.2570.8
表3 結(jié)合權(quán)重公式所得的各相關(guān)屬性的隸屬度
emp_Idnamesexageheight/cmsalarydep_Idu′youngu′tallu′salaryhigh
2001王鵬男261728 00010.80.2360.6
2002張飛男331853 50010.2810.5520.583 3
2003劉飛女391654 70010.1130.20.6
2004張玉女281702 90020.7350.3720.483 3
2005蘇云男251833 50020.80.50.583 3
2006嚴(yán)麗女401656 00020.10.3080.6
2007吳蘭男221854 90030.80.50.6
2008張麗女311605 20030.4100.1380.6
2009李素女201724 80030.80.2570.6
結(jié)合young、tall、salaryhigh的閾值,利用SQL函數(shù)(when u′young≥0.7,1,NULL);(when u′tall≥0.4,1,NULL);(when u′salary≥0.5,1,NULL)得到表4。
表4 結(jié)合young、tall、salaryhigh的閾值所得記錄
emp_Idnameageheight/cmsalaryu′youngu′tallu′salaryhighu
2001王鵬261728 0000.8(1)0.236(0)0.6(1)0.667
2002張飛331853 5000.281(0)0.552(1)0.583 3(1)0.667
2003劉飛391654 7000.113(0)0.2(0)0.6(1)0.333
2004張玉281702 9000.735(1)0.372(0)0.483 3(0)0.333
2005蘇云251833 5000.8(1)0.5(1)0.583 3(1)1.000
2006嚴(yán)麗401656 0000.1(0)0.308(0)0.6(1)0.333
2007吳蘭221854 9000.8(1)0.5(1)0.6(1)1.000
2008張麗311605 2000.410(0)0.138(0)0.6(1)0.333
2009李素201724 8000.8(1)0.257(0)0.6(1)0.667
結(jié)合模糊語(yǔ)言量詞most的隸屬函數(shù)且將用戶所需的記錄集按其匹配度由高到低輸出,如表5所示。
表5 模糊量詞隸屬函數(shù)求得最終記錄
emp_Idnameageheightsalaryumost
2005蘇云251833 5001.000
2007吳蘭221854 9001.000
2001王鵬261728 0000.667
2002張飛331853 5000.667
2009李素201724 8000.667
2 結(jié)束語(yǔ)
本文在以往研究SQL模糊擴(kuò)展查詢的基礎(chǔ)上,基于Zadeh的模糊理論, 引入模糊邏輯連接替代傳統(tǒng)的and或or的邏輯連接,將模糊理論與SQL系統(tǒng)自身的函數(shù)特征相結(jié)合,通過(guò)正向建模或反向建模提出了基于模糊邏輯連接的帶權(quán)重的SQL查詢,擴(kuò)展了SQL查詢技術(shù)的應(yīng)用,提高了查詢能力。今后將進(jìn)一步考慮模糊邏輯在嵌套查詢、聚集函數(shù)中的擴(kuò)展以及在Web檢索中的研究。
參考文獻(xiàn):
[1]朱蓉.基于模糊理論的查詢技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2003,20(5):810.
[2]周泓,徐小良,汪樂(lè)宇.基于模糊算法的數(shù)據(jù)庫(kù)查詢工具的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2001,18(5):1517.
[3]CHEN SM, JONG WT. Fuzzy query translation for relational database systems[J]. IEEE Trans on Systems Man and Cybernetics PartB Cybernetics,1997,27(4):714720.
[4]CHEN SM, LIN YS. A new method for query processing in relational database systems[J]. Cybernetics and System,2002,33(1):447482.
[5]ZHANG Yingchao, CHEN Yifei, YE Xiaoling,et al.Weighted fuzzy queries in relational database[C]//Lecture Notes in Computer Science.Berlin:Springer, 2005:430440.
[6]陳逸菲,張穎超,葉小嶺.關(guān)系數(shù)據(jù)庫(kù)中帶語(yǔ)言值權(quán)重的模糊查詢[J].計(jì)算機(jī)應(yīng)用研究, 2005,22(6):7375.
[7]ULRICH B, JOSEF K, SUSANNE S. Flexible query answering using distancebased fuzzy relations[C]//Lecture Notes in Computer Science. Berlin:Springer, 2006:207228.
[8]MA Z M, LI Yan.Generalization of strategies for fuzzy query translation in classical relational databases[J]. Information and Software Technology, 2007,49(2):172180.
[9]PATRIC B, OLIVER P. A relational database language for fuzzy querying[J].IEEE Trans on Fuzzy Systems, 1995,3(2):117.
[10]ZADEH. A computational approach to fuzzy quantifiers in natural languages[J]. Fuzzy Sets and Systems,1983,1(5):149183.
[11]YAGER R R. General multipleobjective decision function and linguistically quantified statement [J].International Journal of ManMachine Studies,1984,21(5):389400.
[12]LERSEN H L. An approach to flexible information access system using soft computing[C]//Proc of the 32nd Hawaii International Conference on System Science. Washington DC:IEEE Computer Society, 1999:19.
[13]ELIE S. Importance in knowledge systems[J]. Information Systems,1989,14(6):455464.
[14]HERRERAVIDEDMA E. An information retrieval modal with ordinal linguistic weighted queries bsed on two weighting elements[J]. International Journal of Uncertainty,F(xiàn)uzziness and Knowledgebased System, 2001,9(9):7787.
[15]De CALMES M, DUBOIS D, HULLERMEIER E,et al. Flexibility and fuzzy casedbased evaluation in experimental in querying:an illustration in an experimental setting[J]. International Journal of Uncertainty,F(xiàn)uzziness and KnowledgeBased Systems,2003,11(1):4366.