周詩源, 王英林
(1. 上海財經(jīng)大學 信息管理與工程學院, 上海 200433; 2. 嘉興學院 計劃財務處, 浙江 嘉興 314001)
目前, 搜索引擎已成為人們獲取信息的主要工具[1-5]. 搜索引擎對網(wǎng)絡上的信息搜索實際是一種信息的組織形式, 其通過網(wǎng)絡爬蟲不斷在網(wǎng)絡上“爬行”, 對網(wǎng)絡上的信息進行周期性搜索, 然后對搜索信息進行標記, 建立一個供用戶按關(guān)鍵詞進行搜索的網(wǎng)頁索引數(shù)據(jù)庫[6-9]. 在實際應用中, 由于網(wǎng)頁中的信息組織形式與傳統(tǒng)文本信息組織形式差別較大, 如果采用傳統(tǒng)文本信息的標記方式, 則無法準確描述關(guān)鍵詞間的語義關(guān)系, 搜索效率極低, 且搜索結(jié)果與用戶真正需求相差較遠, 導致面對大量信息用戶卻找不到自己真正需要的信息[10-11]. 這主要是因為傳統(tǒng)文本搜索算法無法真正理解用戶的需求, 無法實現(xiàn)用戶內(nèi)容的查詢擴展、 語義理解和關(guān)聯(lián)缺失. 而語義網(wǎng)[12-14]可排除一切平臺、 語言的分歧, 其中本體是語義網(wǎng)的核心, 是對知識的共同理解和描述. 目前已有許多基于本體的語義搜索算法, 如采用本體中定義的語匯作為關(guān)鍵標記文檔; 利用本體的路徑進行用戶查詢的擴展, 獲得了較傳統(tǒng)算法更好的搜索結(jié)果. 這些語義搜索算法缺乏統(tǒng)一的語義描述, 計算機程序理解的語義與用戶需求之間偏差較大, 導致搜索時間長, 無法實現(xiàn)智能搜索[15-17].
針對當前語義搜索算法存在的不足, 本文提出一種基于抽取規(guī)則和本體映射的語義搜索算法. 首先根據(jù)用戶搜索要求抽取語義中的元素和屬性, 然后建立計算機和用戶之間的語義本體映射, 并將語義搜索算法應用于用戶個性化推薦系統(tǒng). 實驗結(jié)果表明, 本文算法提高了語義的搜索效率, 增強了用戶個性化推薦系統(tǒng)的性能.
語義網(wǎng)是以鏈接為主要形式的信息網(wǎng), 是對萬維網(wǎng)的一種擴展, 即增加了語言標記, 其中語義是關(guān)鍵部分, 主要用于描述符號及其對應對象之間的關(guān)系. 在語義網(wǎng)中, 信息只有具備了語義, 不同應用和用戶之間才能實現(xiàn)互相操作[18].
在計算機科學領域, 本體定義為一定領域詞匯的基本定義和關(guān)系及其之間的規(guī)則, 其目標是捕獲相關(guān)領域的共同知識, 并定義共同認可的術(shù)語, 從而實現(xiàn)對領域知識的推理.
網(wǎng)頁主要包括類結(jié)構(gòu)、 層次結(jié)構(gòu)、 對象、 數(shù)據(jù)和基數(shù)5個元素. 網(wǎng)頁關(guān)鍵詞的語義由多個義原組成, 因此語義抽取時, 要綜合考慮每個詞的義原集, 對于兩個關(guān)鍵詞w1和w2, 它們分別包括n個和m個義原, 即s11,s12,…,s1n和s21,s22,…,s2n, 則兩個關(guān)鍵詞w1和w2之間的相似度可描述為
(1)
根據(jù)上下文之間關(guān)系建立樹狀層次體系描述義原, 設兩個義原p1與p2在樹中的距離為d, 則其語義距離計算公式為
(2)
其中a表示可調(diào)節(jié)參數(shù).
對于兩個關(guān)鍵詞, 若只從語義方面分析, 則它們語義相似度可能很低, 而它們出現(xiàn)在同一網(wǎng)頁的概率非常大, 因此本文還需從關(guān)鍵詞的義原進行考慮, 即考慮關(guān)鍵詞之間的相關(guān)性. 對于一組關(guān)鍵詞, 首先得到每個關(guān)鍵詞的義原集, 并從第一個關(guān)鍵詞不斷遍歷全部關(guān)鍵詞與義原集, 若找到一個關(guān)鍵詞與其他關(guān)鍵詞不相同, 如果它們義原集有相同的部分, 則提取它們的共同義原, 并將兩個關(guān)鍵詞分別放在共同義原后; 但若發(fā)現(xiàn)一個關(guān)鍵詞在不同行中重復出現(xiàn), 即將其從重復的行中刪除, 根據(jù)領域詞典判斷每個義原是否與主題相關(guān), 不相關(guān)則將其對應行刪除, 即完成語義抽取.
圖1 基于內(nèi)容的本體映射流程Fig.1 Ontology mapping process based on content
對于結(jié)構(gòu)和內(nèi)容相似度非常高的兩個本體, 它們均可用于兩種類型的網(wǎng)頁分類, 但兩個本體之間存在一定的語義沖突, 若根據(jù)兩對概念可建立本體的語義映射關(guān)系, 則會得到錯誤的映射結(jié)果, 因此即使兩個本體片段的結(jié)構(gòu)和內(nèi)容很相似, 由于語境不同也可能導致本體語義映射的差異性. 在本體映射過程中需考慮概念語義信息, 降低映射誤差. 本文建立本體間語義映射關(guān)系時, 綜合考慮了與語義信息相關(guān)的知識, 這些信息主要包括詞語知識、 領域知識和結(jié)構(gòu)知識.
綜合分析詞語知識、 領域知識和結(jié)構(gòu)知識對本體映射的貢獻, 設計一種基于內(nèi)容的本體映射方法, 其工作流程如圖1所示. 步驟如下:
1) 輸入兩個本體模型;
2) 提取兩個本體的語義信息;
3) 通過邏輯推理的方法建立本體的語義映射關(guān)系.
基于語義搜索算法的用戶協(xié)同推薦系統(tǒng)的用戶相似性計算方法很多. 設用戶a和b對信息i的評分分別為da,i和db,i, 用戶共同評價過的信息數(shù)量為|Ia,b|, 用戶a和b評價過的信息數(shù)目分別為|Ia|和|Ib|, 則基于用戶共同評價信息的相似性與基于用戶共同評價過信息數(shù)量的相似性計算公式分別為
(3)
(4)
Sima,b=CPCa,b×Jaccarda,b.
(5)
用戶間的信任關(guān)系直接關(guān)系到推薦系統(tǒng)的性能優(yōu)劣, 根據(jù)用戶鄰居推薦是否成功確定用戶之間的信任值. 鄰居b向用戶a推薦成功可描述為:a與b對所推薦資源i評分之間的偏差小于信任閾值ε, 即
|da,i-db,i|×Jaccarda,b<ε.
(6)
根據(jù)式(4)可初步得到用戶間的信任關(guān)系, 則用戶a和b間的信任值計算公式為
(7)
式(7)未考慮用戶單獨評價的信息, 會使極少的信息評價產(chǎn)生極高的信任值, 這與實際情況不符, 因此要考慮用戶的單獨評價信息, 用戶a和b間的信任值計算公式變?yōu)椋?/p>
(8)
式(8)表示用戶之間的直接信任關(guān)系, 但實際還存在一些間接信任關(guān)系的用戶. 用戶a信任用戶b, 用戶b信任用戶c, 即可認為用戶a在一定程度上信任用戶c, 而間接信任可能存在多條信任路徑, 在考慮用戶a和c之間的信任路徑數(shù)(adj(a,c))基礎上可得
(9)
其中:d表示兩個用戶間的距離;βd表示信任的衰減指數(shù)計算公式:
(10)
綜上可知, 用戶a和b間信任值的最終計算公式為
(11)
信任權(quán)值作為用戶信任度的一個評價指標, 有利于發(fā)現(xiàn)更多相似用戶, 改善用戶推薦系統(tǒng)的性能, 信任權(quán)重值計算主要考慮: 用戶間的信任值Trusta→b、 用戶評價聲譽和語義相似性3個方面. 用戶對某信息評價比例可間接描述用戶在該信息推薦上的可信程度, 因此用戶對于某信息評價越多, 表示該用戶越熟悉該信息, 對該信息進行推薦, 該用戶的信任權(quán)重值相對越大, 則有
(12)
其中: #Nb(ICL)表示用戶評價過ICL類信息的數(shù)量; #N(ICL)表示屬于ICL類信息的數(shù)量.
兩個信息的語義相似性越大, 對于成功向用戶推薦過信息的鄰居, 其推薦該信息的可信度越大. 信息ix和iy的語義相似度與本體圖中的深度(depth(ix),depth(iy))和最近共同祖先(least common ancestor, LCA)的深度相關(guān), 計算公式為
(13)
為充分考慮語義屬性信息, 引入語義相似性, 此時用戶信任權(quán)重值的計算公式為
(14)
根據(jù)信任權(quán)重值TWa→b、 相似用戶的數(shù)量及推薦系統(tǒng)信任閾值ε之間的關(guān)系發(fā)現(xiàn)更多的相似用戶, 從而提高用戶個性化推薦系統(tǒng)的推薦結(jié)果質(zhì)量.
為了分析基于抽取規(guī)則和本體映射的語義搜索算法性能, 在4核Intel 3.0 GHz CPU, 8 GB內(nèi)存的計算機上, 采用Windows7作為操作系統(tǒng), 選擇JAVA語言進行編程, 采用MovieLens數(shù)據(jù)集作為研究對象. 為使實驗結(jié)果更具說服力, 采用文獻[19]和文獻[20]的語義搜索算法進行對比分析, 用平均絕對誤差(mean absolute error, MAE)對實驗結(jié)果進行評價, 其計算公式為
(15)
其中:N表示測試樣本集的規(guī)模;pi表示算法的評分值;qi表示實際評分值.
1) 隨機選取不同規(guī)模的訓練樣本和測試樣本, 采用本文語義搜索算法與對比語義搜索算法對數(shù)據(jù)集進行求解和分析, 對比結(jié)果如圖2所示. 由圖2可見, 訓練樣本的數(shù)量越多, 則MAE的值越小, 表明訓練樣本越多, 學習結(jié)果越好, 但在相同訓練樣本的數(shù)量條件下, 本文語義搜索算法的MAE值最低, 表明本文語義搜索算法有效提高了用戶需要推薦精度, 較好地解決了當前語義搜索算法存在的缺陷.
2) 為了分析本文語義搜索算法的通用性, 采用Book-Crossing數(shù)據(jù)集實現(xiàn)預測實驗, 本文語義搜索算法與對比語義搜索算法的實驗結(jié)果如圖3所示. 由圖3可見, 相對文獻[19]和文獻[20]的語義搜索算法, 本文語義搜索算法的MAE大幅度提升, 有效提高了用戶個性化推薦精度, 獲得了更理想的用戶個性化推薦結(jié)果.
圖2 MovieLens數(shù)據(jù)集的推薦結(jié)果對比Fig.2 Comparisons of recommended results of MovieLens dataset
圖3 Book-Crossing數(shù)據(jù)集的推薦結(jié)果對比Fig.3 Comparisons of recommended results of Book-Crossing dataset
綜上所述, 針對傳統(tǒng)信息檢索系統(tǒng)沒有準確描述語義, 導致檢索結(jié)果與用戶實際需要結(jié)果相差較大的問題, 為了提高用戶需要檢索的準確性, 本文設計了一種基于抽取規(guī)則和本體映射的語義搜索算法. 首先根據(jù)抽取規(guī)則提取網(wǎng)頁信息中的元素和屬性, 根據(jù)元素和屬性對網(wǎng)頁信息進行重新組織; 然后建立計算機和用戶語義之間的本體映射, 使計算機能真正理解用戶的意圖, 實現(xiàn)用戶需要的智能化搜索; 最后將語義搜索算法嵌入到用戶個性化推薦系統(tǒng). 實驗結(jié)果表明, 相比于傳統(tǒng)算法, 本文算法的語義搜索速度更快, 減少了信息映射冗余度, 取得較好的本體映射結(jié)果, 能找到用戶真正需要的信息, 提高了用戶個性化推薦系統(tǒng)的查詢精度.
[1] Shvaiko P, Euzenat J. Ontology Matching: State of the Art and Future Challenges [J]. IEEE Transactions on Knowledge and Data Engineering, 2013, 25(1): 158-176.
[2] Kumar S K, Harding J A. Ontology Mapping Using Description Logic and Bridging Axioms [J]. Computers in Industry, 2013, 64(1): 19-28.
[3] HUANG Shengjun, JIN Rong, ZHOU Zhihua. Active Learning by Querying Informative and Representative Examples [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(10): 1936-1949.
[4] 吳建. TRIZ 理論在搜索引擎創(chuàng)新設計中的應用研究 [J]. 重慶郵電大學學報(自然科學版), 2012, 24(6): 735-739. (WU Jian. Application of TRIZ in Search Engine’s Innovative Design [J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2012, 24(6): 735-739.)
[5] 陳治昂, 張毅, 李大學. 基于Web智能的網(wǎng)絡廣告監(jiān)測器研究與設計 [J]. 重慶郵電大學學報(自然科學版), 2009, 21(1): 115-118. (CHEN Zhi’ang, ZHANG Yi, LI Daxue. Research and Design of Web Adsmonitor Based on Web Intelligence [J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2009, 21(1): 115-118.)
[6] 劉顯敏, 李建中. 基于鍵規(guī)則的XML實體抽取方法 [J]. 計算機研究與發(fā)展, 2014, 51(1): 64-75. (LIU Xianmin, LI Jianzhong. Key-Based Method for Extracting Entities from XML Data [J]. Journal of Computer Research and Development, 2014, 51(1): 64-75.)
[7] 丁國棟, 白碩, 王斌. 一種基于局部共現(xiàn)的查詢擴展研究 [J]. 中文信息學報, 2013, 20(3): 84-91. (DING Guodong, BAI Shuo, WANG Bin. Local Co-occurrence Based Query Expansion for Information Retrieval [J]. Journal of Chinese Information Processing, 2013, 20(3): 84-91.)
[8] 王璐, 王國春, 桂金花, 等. 本體語義檢索系統(tǒng) [J]. 長春工業(yè)大學學報(自然科學版), 2013, 34(6): 726-730. (WANG Lu, WANG Guochun, GUI Jinhua, et al. A Semantic Retrieval System Based on Ontology [J]. Journal of Changchun University of Technology (Natural Science Edition), 2013, 34(6): 726-730.)
[9] 李穎, 李志蜀, 鄧歡. 基于Lucene 的中文分詞方法設計與實現(xiàn) [J]. 四川大學學報(自然科學版), 2008, 45(5): 1095-1099. (LI Ying, LI Zhishu, DENG Huan. Design and Implementation of Chinese Words Segementation Based on Lucene [J]. Journal of Sichuan University (Natural Science Edition), 2008, 45(5): 1095-1099.)
[10] 張祥, 李星, 溫韻清, 等. 語義網(wǎng)虛擬本體構(gòu)建 [J]. 東南大學學報(自然科學版), 2015, 45(4): 652-656. (ZHANG Xiang, LI Xing, WEN Yunqing, et al. Virtual Semantic Web Ontology [J]. Journal of Southeast University (Natural Science), 2015, 45(4): 652-656.)
[11] 楊政國, 馬建紅. 基于領域本體科學效應知識語義檢索的研究 [J]. 計算機系統(tǒng)應用, 2014, 23(2): 209-213. (YANG Zhengguo, MA Jianhong. Based on Scientific Effect Knowledge Domain Ontology Semantic Retrieval [J]. Computer Systems & Applications, 2014, 23(2): 209-213.)
[12] 張凌宇, 姜廷慈, 陳淑鑫. 一種基于參考本體的多本體映射方法 [J]. 四川大學學報(工程科學版), 2016, 48(5): 114-123. (ZHANG Lingyu, JIANG Tingci, CHEN Shuxin. A Method of Multiple Ontology Mapping Based on Reference Ontology [J]. Journal of Sichuan University (Engineering Science Edition), 2016, 48(5): 114-123.)
[13] 李凱, 李萬龍, 鄭山紅, 等. 改進的多策略本體映射方法 [J]. 吉林大學學報(信息科學版), 2016, 34(4): 536-542. (LI Kai, LI Wanlong, ZHENG Shanhong, et al. Improved Multi-strategy Ontology Mapping Method [J]. Journal of Jilin University (Information Science Edition), 2016, 34(4): 536-542.)
[14] 史致遠, Volker Gruhn, 朱明放. 微學習環(huán)境下基于語義的MASHUP架構(gòu)優(yōu)化 [J]. 江蘇大學學報(自然科學版), 2010, 31(3): 339-342. (SHI Zhiyuan, Volker Gruhn, ZHU Mingfang. Optimization of Semantic MASHUP Architecture Applied in Microlearning Enivironment [J]. Journal of Jiangsu University (Natural Science Edition), 2010, 31(3): 339-342.)
[15] 孫煜飛, 馬良荔, 呂閩暉, 等. 基于改進協(xié)同訓練的本體映射方法 [J]. 系統(tǒng)工程與電子技術(shù), 2017, 39(2): 459-464. (SUN Yufei, MA Liangli, Lü Minhui, et al. Improved Co-training Based Ontology Matching Method [J]. Systems Engineering and Electronics, 2017, 39(2): 459-464.)
[16] 李華昱, 張培穎, 肖晗. 基于抽取規(guī)則和本體映射的領域XML語義集成 [J]. 河北科技大學學報, 2016, 37(4): 416-422. (LI Huayu, ZHANG Peiying, XIAO Han. Domain XML Semantic Integration Based on Extraction Rules and Ontology Mapping [J]. Journal of Hebei University of Science and Technology, 2016, 37(4): 416-422.)
[17] 徐德智, 易曉媛, 湯哲. 基AHP-熵權(quán)決策的本體映射優(yōu)化算法 [J]. 微電子學與計算機, 2017, 34(11): 48-52. (XU Dezhi, YI Xiaoyuan, TANG Zhe. An Ontology Mapping Optimization Algorithm Based on AHP and Entropy Weight Decision [J]. Microelectronics & Computer, 2017, 34(11): 48-52.)
[18] 韓彤, 宋文愛. 可信的第三方模糊本體映射框架及其實現(xiàn) [J]. 計算機工程與設計, 2017, 38(3): 633-639. (HAN Tong, SONG Wen’ai. Trusted Third Party Fuzzy Ontology Mapping Framework and Its Implementation [J]. Computer Engineering and Design, 2017, 38(3): 633-639.)
[19] 王旭陽, 尉醒醒. 基于本體的語義檢索方法 [J]. 計算機工程與設計, 2016, 37(9): 2538-2542. (WANG Xuyang, WEI Xingxing. Semantic Retrieval Method Based on Ontology [J]. Computer Engineering and Design, 2016, 37(9): 2538-2542.)
[20] 張建梁, 肖開東, 顧劍峰, 等. 基于P2P的結(jié)構(gòu)化半分布式語義搜索算法 [J]. 計算機應用與軟件, 2009, 26(4): 188-193. (ZHANG Jianliang, XIAO Kaidong, GU Jianfeng, et al. Semantic Search Algorithm Based on Structured Half-distributed P2P Network [J]. Computer Applications and Software, 2009, 26(4): 188-193.)