沈熠1,趙琳2
?。?.上海大學(xué) 計(jì)算機(jī)中心,上海 200444;2.上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444 )
摘要:在語義搜索引擎系統(tǒng)中,為了使檢索內(nèi)容在不限制用戶輸入的情況下,檢索結(jié)果更接近用戶的需求,提出一種基于影視素材本體的查詢擴(kuò)展方法。對用戶的檢索文本中的關(guān)鍵詞依據(jù)本體模型進(jìn)行推理并按照相似度語義擴(kuò)展,旨在得到更符合用戶檢索需求的擴(kuò)展關(guān)鍵詞集,在此基礎(chǔ)上進(jìn)行影視素材的檢索,從而提高搜索引擎的召回率。
關(guān)鍵詞:語義搜索;本體;查詢擴(kuò)展;影視素材
0引言
基于關(guān)鍵詞的搜索引擎的查詢擴(kuò)展通常以檢索文本中的關(guān)鍵詞為中心進(jìn)行擴(kuò)展,與這些關(guān)鍵詞相關(guān)的語義概念很少被包含在擴(kuò)展集中,在這種情況下,當(dāng)用戶輸入的檢索內(nèi)容較少時(shí),系統(tǒng)按照擴(kuò)展集進(jìn)行檢索得到的結(jié)果的準(zhǔn)確率與召回率較低,從而無法滿足用戶需求,因此基于關(guān)鍵詞的搜索引擎并不能消除用戶需求與檢索結(jié)果的不一致性問題。基于本體的關(guān)鍵詞查詢擴(kuò)展彌補(bǔ)了這一不足,該技術(shù)結(jié)合本體、搜索引擎、計(jì)算機(jī)語言學(xué)等多種技術(shù),將用戶輸入的檢索文本中的關(guān)鍵詞,以及本體模型中與這些關(guān)鍵詞相關(guān)的詞語一起,組成新的、更長的、更能準(zhǔn)確表達(dá)用戶檢索需求的擴(kuò)展關(guān)鍵詞集,按照該集合,實(shí)現(xiàn)在盡可能充分理解用戶的檢索意圖的基礎(chǔ)上進(jìn)行信息資源的檢索[1] ,從而在一定程度上彌補(bǔ)了用戶檢索信息過短的不足,同時(shí)提高了搜索引擎的召回率。
1相關(guān)研究
1.1本體
本體(Ontology)源于哲學(xué),又稱為本體論、實(shí)體論或者存在論。GRUBER T R[2]對本體的定義“本體是共享概念模型的明確形式化規(guī)范說明”得到了最廣泛的認(rèn)可。自2000年人工智能領(lǐng)域引入本體概念以來,本體就引起各個(gè)學(xué)科的極大興趣。
目前存在多種本體描述語言,由于網(wǎng)絡(luò)本體語言(Web Ontology Language, OWL)格式在所有本體語言中具有最強(qiáng)的描述能力,能夠明確表示詞匯表中術(shù)語的含義以及術(shù)語間的關(guān)系,使之在Web內(nèi)容的可理解性方面要優(yōu)于其他幾種本體語言,故本文選擇OWL作為本文的本體描述語言。
1.2本體推理
本體中除了直接定義的知識外,還隱含了大量的其他知識,需要使用推理工具進(jìn)行關(guān)鍵詞的推理與查詢,從而獲取蘊(yùn)含的知識。本文選用Jena[3]作為影視領(lǐng)域本體的推理機(jī),Jena是由惠普公司開發(fā)的Java開源工具包,它的推理API能夠憑借其強(qiáng)大的推理功能,操作由OWL描述的本體,目前已經(jīng)被廣泛地運(yùn)用于語義網(wǎng)應(yīng)用。
本文中,Jena推理需要實(shí)現(xiàn)的內(nèi)容有:(1)實(shí)現(xiàn)本體持久化到數(shù)據(jù)庫的操作;(2)推理類間關(guān)系,解析影視素材本體模型并生成描述上下位關(guān)系概念的三元組集合,用于后續(xù)對本體模型中概念相似度的計(jì)算。
1.3查詢擴(kuò)展
為了提高檢索的命中率,在不限制用戶輸入檢索文本內(nèi)容的情況下,需要通過查詢擴(kuò)展技術(shù)[4],根據(jù)用戶輸入的檢索信息中的關(guān)鍵詞進(jìn)行語義擴(kuò)展?;诒倔w的查詢擴(kuò)展技術(shù)的引入在信息檢索過程中取得了一定效果。該技術(shù)依據(jù)領(lǐng)域本體推理得到的知識,通過對本體概念的相似度計(jì)算,將與檢索關(guān)鍵詞相關(guān)的本體中的概念作為查詢擴(kuò)展的一部分。這種由量化得出的查詢擴(kuò)展集不僅減少了搜索偏差,而且限制了檢索關(guān)鍵詞擴(kuò)展的范圍,從而在召回率方面有較大提高。為了完成這一目標(biāo),需要在建立領(lǐng)域本體模型的基礎(chǔ)上進(jìn)行語義擴(kuò)展。
2基于影視素材本體的查詢擴(kuò)展
2.1影視素材本體建模
基于影視素材本體的關(guān)鍵詞查詢擴(kuò)展采用語義技術(shù),對本體中的概念進(jìn)行推理與擴(kuò)展,而推理與擴(kuò)展的依據(jù)為影視素材本體模型。
本文選用Protégé以圖形化的建模方法構(gòu)建影視本體模型??梢渣c(diǎn)擊Protégé中對應(yīng)的項(xiàng)以增加或者編輯類、子類、屬性、實(shí)例等。建模完成后保存為OWL格式文件,Protégé將本體自動(dòng)轉(zhuǎn)化為OWL格式的語言。影視素材本體建模后的部分效果如圖1所示。
2.2查詢推理規(guī)則
Jena自帶的通用規(guī)則[5]不會限制具體領(lǐng)域,主要是根據(jù)本體中的實(shí)例、公理、規(guī)則等檢查概念的可滿足性以及類間層次關(guān)系、傳遞、不相交等約束,從而實(shí)現(xiàn)查詢隱含信息并擴(kuò)充隱含知識。當(dāng)Jena自帶的規(guī)則無法滿足系統(tǒng)的推理要求時(shí),可以自定義規(guī)則以滿足系統(tǒng)個(gè)性化需求。本文借助SPARQL[6]查詢語言,建立自定義查詢規(guī)則,從而獲取更加準(zhǔn)確的查詢結(jié)果。
SPARQL是W3C推出的,其根據(jù)定義匹配三元組模板對RDF進(jìn)行查詢,可以將RDF中滿足一定要求的三元組以集合或者RDF圖的方式作為查詢結(jié)果返回。SPARQL提供4種不同形式的查詢[7]:SELECT、ASK、CONSTRUCT、DESCRIBE,其中SELECT是最常用的查詢類型,本文也采用該形式的查詢。SPARQL的查詢語法是一個(gè)四元組(GP、DS、SM、R),其中DS、R可根據(jù)查詢要求省略,查詢語句格式如表1所示。
2.3相似度值與查詢擴(kuò)展閾值的確定
相似度與查詢擴(kuò)展閾值的詳細(xì)計(jì)算過程本文不重點(diǎn)討論,只給出簡要的處理方法。
影響概念的語義相似度因素有多種,常見的有:字面相似度、語義重合度、距離相似度、層次差與層次深度、屬性匹配度等。需要結(jié)合本體模型結(jié)構(gòu)與性質(zhì),將有關(guān)的因素考慮到相似度的計(jì)算方法中,結(jié)合多種影響因素得到概念相似度的計(jì)算公式。
獲取本體中概念的相似度后,在進(jìn)行查詢擴(kuò)展的過程中,需要確定閾值,用于過濾相似度不滿足閾值的概念,而將滿足閾值的概念加入查詢擴(kuò)展集。確定閾值的通常做法為:根據(jù)本體中小規(guī)模測試概念的相似度值以及暫定閾值進(jìn)行人工評估,判斷相似度滿足閾值的概念間是否滿足系統(tǒng)需求,經(jīng)過不斷試驗(yàn)對閾值進(jìn)行調(diào)整,最終確定閾值。
3語義擴(kuò)展
3.1關(guān)鍵詞查詢擴(kuò)展流程
本節(jié)結(jié)合本體模型與推理規(guī)則,在參考文獻(xiàn)[1]、[8]的基礎(chǔ)上,總結(jié)出對影視素材檢索文本中的關(guān)鍵詞進(jìn)行語義相似度擴(kuò)展的流程,如圖2所示。其中sim1(A,B) 、sim2(A,B)表示根據(jù)關(guān)鍵詞是否為影視素材本體中的概念,綜合影響概念相似度的多種因素而確定的不同情況下相似度的計(jì)算公式;而a、b則是用于過濾不滿足相似度概念的閾值,本文經(jīng)過試驗(yàn)與對參數(shù)的不斷調(diào)整,最終將a設(shè)置為0.51,b設(shè)置為0.63。
關(guān)鍵詞語義相似度擴(kuò)展流程為:首先將檢索文本經(jīng)過預(yù)處理后得到的關(guān)鍵詞集中的關(guān)鍵詞加入到擴(kuò)展關(guān)鍵詞集,接著依次對關(guān)鍵詞集中的每個(gè)關(guān)鍵詞判斷是否是影視素材本體中的概念。若當(dāng)前關(guān)鍵詞不是本體中的概念,則需要先找出本體中根據(jù)公式sim1(A,B)計(jì)算出的相似度大于閾值a的概念,將這些概念加入到擴(kuò)展關(guān)鍵詞集;若當(dāng)前關(guān)鍵詞是影視素材本體中的概念,則查找本體中是否存在與當(dāng)前關(guān)鍵詞等價(jià)的關(guān)鍵詞,若存在,就將等價(jià)詞加入到擴(kuò)展關(guān)鍵詞集中,若不存在,則將本體中根據(jù)公式sim2(A,B)計(jì)算出的相似度大于閾值b的概念加入到擴(kuò)展的關(guān)鍵詞集。
3.2查詢擴(kuò)展實(shí)現(xiàn)
在關(guān)鍵詞查詢擴(kuò)展實(shí)現(xiàn)部分,本文選用MySQL數(shù)據(jù)庫存儲數(shù)據(jù)。以下是查詢擴(kuò)展的實(shí)現(xiàn)計(jì)算過程中用到的數(shù)據(jù)表:
searchText:用于存儲經(jīng)預(yù)處理后得到的檢索關(guān)鍵詞;
classCon:存儲由Jena解析本體文件后得到的概念的信息,包括(結(jié)點(diǎn)ID,結(jié)點(diǎn)名,結(jié)點(diǎn)層次,父結(jié)點(diǎn)ID);
classInOnt:存儲本體中滿足閾值b的結(jié)點(diǎn)對及其相似度信息,包括(結(jié)點(diǎn)AID,結(jié)點(diǎn)BID,相似度);
classDouble:存儲屬于預(yù)處理得到的但不屬于本體中結(jié)點(diǎn)的關(guān)鍵詞,以及與該關(guān)鍵詞的相似度達(dá)到閾值b的本體中的結(jié)點(diǎn)信息,以及二者的相似度信息。包括(關(guān)鍵詞,結(jié)點(diǎn)ID,結(jié)點(diǎn)名,相似度);
expandKeywords:存儲擴(kuò)展的關(guān)鍵詞,包括(結(jié)點(diǎn)ID,結(jié)點(diǎn)名,相似度)。
下面給出關(guān)鍵詞基于影視素材本體查詢擴(kuò)展的實(shí)現(xiàn):
?。?)獲取領(lǐng)域本體文件;
(2)用Jena解析本體文件,生成描述概念的上下位關(guān)系三元組集合,并以文件的形式存于內(nèi)存中;
?。?)對步驟(2)文件中的三元組從根結(jié)點(diǎn)出發(fā),依次遍歷每個(gè)結(jié)點(diǎn),并將結(jié)點(diǎn)信息存至表classCon;
?。?)從表classCon中讀取結(jié)點(diǎn)并組成所有結(jié)點(diǎn)對,按照(結(jié)點(diǎn)1,結(jié)點(diǎn)2,相似度)的方式寫入表classInOnt,其中相似度值置為0;
?。?)依次取出表classInOnt中的未處理過的記錄,根據(jù)取出的記錄及本體模型計(jì)算影響兩個(gè)概念相似度的不同因素值;
?。?)根據(jù)步驟(5)中計(jì)算出的決定語義相似度因素的值,按照公式sim2(A,B)計(jì)算出概念對的相似度,修改表classInOnt中對應(yīng)的相似度值;
?。?)檢查表classInOnt中是否有未處理過的記錄,如果有轉(zhuǎn)至步驟(5);否則轉(zhuǎn)至步驟(8);
?。?)刪除表classInOnt中相似度小于閾值b的結(jié)點(diǎn)對,完成本體中結(jié)點(diǎn)對的相似度值的更新;
?。?)根據(jù)步驟(4)~(8),可以完成表classDouble中關(guān)鍵詞與結(jié)點(diǎn)對的更新,不同的是需要按照公式sim1(A,B)計(jì)算概念相似度,保留的關(guān)鍵詞與結(jié)點(diǎn)對的相似度需滿足閾值a;
(10)從表searchText中依次取出一個(gè)未處理的關(guān)鍵詞,判斷是否是本體中的概念,如果是,設(shè)置其相似度為1,將該關(guān)鍵詞與相似度值加入擴(kuò)展關(guān)鍵詞集expandKeywords中,判斷在本體中是否存在與當(dāng)前關(guān)鍵詞等價(jià)的概念,若存在,將等價(jià)詞加入到expandKeywords中,等價(jià)詞對應(yīng)的相似度值置為1,轉(zhuǎn)至步驟(11),否則轉(zhuǎn)至步驟(12);
?。?1)從表classInOnt中查找與當(dāng)前關(guān)鍵詞組成的結(jié)點(diǎn)對的關(guān)鍵詞,將這些關(guān)鍵詞及結(jié)點(diǎn)對的相似度加入到expandKeywords;
?。?2)從表classDouble中查找與當(dāng)前關(guān)鍵詞組成的結(jié)點(diǎn)對的結(jié)點(diǎn),將這些結(jié)點(diǎn)及相似度加入到expandKeywords;
?。?3)檢查searchText中是否存在未處理的關(guān)鍵詞,若有,轉(zhuǎn)至步驟(10),否則轉(zhuǎn)至步驟(14);
(14)輸出存儲擴(kuò)展關(guān)鍵詞的表expandKeywords,算法結(jié)束。
通過上述算法,求得了擴(kuò)展關(guān)鍵詞集。
3.3查詢擴(kuò)展實(shí)驗(yàn)
為驗(yàn)證關(guān)鍵詞相似度查詢擴(kuò)展算法的有效性,用影視素材本體模型對該算法進(jìn)行驗(yàn)證。選用一段檢索文本“兩個(gè)孩子在路上騎自行車”,該文本經(jīng)預(yù)處理后,得到檢索關(guān)鍵詞集中的關(guān)鍵詞“兩個(gè)”、“孩子”、“路”、“騎”、“自行車”,對這些關(guān)鍵詞按照3.2節(jié)的擴(kuò)展實(shí)現(xiàn)算法進(jìn)行查詢擴(kuò)展,得到擴(kuò)展的關(guān)鍵詞及對應(yīng)的相似度,如表2所示。
從表2中可以看出,檢索文本“兩個(gè)孩子在路上騎自行車”經(jīng)過預(yù)處理以及語義相似度擴(kuò)展,得到擴(kuò)展的關(guān)鍵詞集,對該集合按相似度值從大到小進(jìn)行排序,如表3所示。
由表2、表3可得,按照本文研究的對檢索關(guān)鍵詞基于影視素材本體模型進(jìn)行相似度查詢擴(kuò)展,得到擴(kuò)展集中的概念可以較完整地反映用戶的檢索意圖,從而驗(yàn)證了本文提出的關(guān)鍵詞查詢擴(kuò)展方法的有效性。
4結(jié)束語
本文基于影視領(lǐng)域本體模型,對素材檢索過程中關(guān)鍵詞的查詢擴(kuò)展進(jìn)行研究,提出關(guān)鍵詞按照相似度擴(kuò)展的一種實(shí)現(xiàn)方案,即對檢索文本中的關(guān)鍵詞及影視素材本體模型中的概念進(jìn)行推理并得到相似度滿足閾值的查詢擴(kuò)展集。實(shí)驗(yàn)結(jié)果表明,擴(kuò)展關(guān)鍵詞集更能充分包含用戶的檢索需求。本文的下一步工作是對檢索結(jié)果按照擴(kuò)展關(guān)鍵詞集中關(guān)鍵詞的相似度關(guān)系的排序方式進(jìn)行深入研究。
參考文獻(xiàn)
?。?] 甘健侯,姜躍.本體方法及其應(yīng)用[M].北京:科學(xué)出版社,2011.
?。?] GRUBER T R.Toward principles for the design of ontologies used for knowledge sharing [J].International Journal of HumanComputer Studies, 1995, 43(56): 907928.
[3] Getting started with Apache Jena [EB/OL].(2015××××)[20160130] . https://jena.apache.org/getting_startedl.
?。?] 李帥.基于語義相似度的查詢擴(kuò)展優(yōu)化[D].杭州:杭州電子科技大學(xué),2011.
?。?] 李兵.基于領(lǐng)域本體的專利語義檢索研究[D].北京:北京理工大學(xué),2015.
?。?] W3C.SPARQL Query Language for RDF [EB/OL].(20130321)[20160120].https://www. w3.org/TR/2013/RECsparql11query20130321/.
?。?] 岳曉露.語義Web中RDF數(shù)據(jù)的關(guān)聯(lián)規(guī)則挖掘方法研究[D].大連:大連海事大學(xué),2015.
?。?] 呂婧.基于語義網(wǎng)的語義搜索的研究與應(yīng)用[D].北京:北京工業(yè)大學(xué),2013.