戴強
(內蒙古大學鄂爾多斯學院電子信息工程系(鄂爾多斯應用技術學院),鄂爾多斯 017000)
基于多本體的搜索引擎
戴強
(內蒙古大學鄂爾多斯學院電子信息工程系(鄂爾多斯應用技術學院),鄂爾多斯 017000)
近幾年互聯網發展迅速,網絡上的信息量呈現爆炸式的增長,我們在獲得大量的信息的同時卻發現想要在這些海量的信息中找到我們需要的內容難度越來越大,傳統搜索引擎的檢索方式效率低下和準確率較低的問題日益顯現,而現在借助本體技術就可以提高信息檢索的效率和準確率。
檢索;本體;搜索引擎
在互聯網發展極其迅速的今天,每一秒網絡上都會產生大量的信息,信息量爆炸式的增長直接導致了用戶尋找信息變得越來越困難。而目前Web信息檢索的方式主要分為兩種方式,基于分類目錄和基于關鍵詞的搜索。這兩種檢索方式雖然都可以搜索到信息,但是由于反饋給用戶的信息量太大,用戶在獲得信息的同時無法迅速找到自己想要的信息。這個問題產生的原因是計算機無法理解Web頁面中的內容,在檢索過程中只要發現了與關鍵詞一樣的內容就會將該頁面反饋給用戶,所以這樣的檢索方式直接導致了檢索效率低下和準確率不高的問題。
近幾年本體技術的迅速發展,到目前為止已經可以利用本體技術來提高信息檢索的效率了。
搜索引擎指的是能夠自動從互聯網上搜集信息,并且對信息進行整理,提供給用戶查詢的系統。搜索引擎發展至今只有短短的十幾年,但是到目前為止已經發展到了第四代搜索引擎,是發展速度最快的互聯網產品。
第一代搜索引擎是基于分類目錄的檢索方式。在搜索引擎的首頁中是按照類別劃分的一些網址,也就是一個一個的分類目錄的網站,用戶可以通過瀏覽不同的分類目錄網站尋找到自己想要的信息。
第二代搜索引擎是基于文本檢索的。這一代的搜索引擎相較于上一代的搜索引擎有很大的改進。在查詢方式上,第二代搜索引擎是通過用戶輸入想要查詢的關鍵詞進行查詢的,當用戶輸入了關鍵詞,系統會將這個關鍵詞提交給服務器,服務器通過查詢一些相關的信息后,將相關度較高的內容返回給用戶。
第三代搜索引擎進入了整合分析的時代,這一代的搜索引擎利用了一些分析手段使得它表現的更加智能化。這一代的搜索引擎利用計算機程序分析網頁中的內容以及和用戶搜索內容的相關性,通過一系列的算法優化了最后的結果。與上一代返回給用戶成千上萬的鏈接相比較,這一代的搜索結果更加精準。
第四代搜索引擎是以用戶為中心的一代搜索引擎。具體表現在當用戶查詢一個關鍵詞的時候會因為用戶所處的地理位置,時間的不同而返回不同的結果。這一代搜索引擎會利用用戶的搜索習慣構建用戶特征,例如當一個電子產品愛好者搜索關鍵詞“蘋果”的時候返回的結果大部分是蘋果的電子產品的一些信息,這種推測式的算法提供了更加人性化的檢索方式。一個搜索引擎應該包括以下三個基本的功能:信息搜集、信息處理、信息查詢。信息搜集是指通過網絡爬蟲自動的在網絡上大量的搜集Web信息,網絡爬蟲定時的在互聯網上搜集信息能夠更新的Web信息庫,防止Web信息庫出現無效的鏈接。信息處理是將已經從網絡上爬取的信息經過整理建立數據庫,并將搜集的信息保存到數據庫中。信息查詢是指搜索引擎給用戶提供一個友好的訪問界面,用戶可以通過這個界面輸入用戶想要搜索的關鍵詞就可以訪問Web數據庫中的數據,從而獲得用戶想要的是數據。
本體(Ontology)是一種描述術語及術語間關系的概念模型,嚴格意義上的本體既定義了術語也定義了術語之間的上下位關系。在基于多本體的搜索引擎中利用本體來描述一個特定的領域,例如利用本體來描述“計算機“這個領域。而本體中的術語是該領域中的重要概念,例如計算機中的硬件和軟件,對于”計算機“這個領域來說包含了硬件和軟件,這兩個是一種并列的關系,在硬件中又包含了主板、內存條、顯卡等。在軟件中又包含了系統軟件和應用軟件,進一步細分包括了殺毒軟件,游戲軟件等,這些術語和術語之間的關系就構建了計算機領域本體。本體創建之后是可以隨時修改的,后期根據收集越來越多的概念和領域術語,添加到已經創建好的實例本體中可以進一步的完善本體模型,進而實現多本體。
在加入本體之前需要搭建一個搜索引擎,由于開源軟件所具有的優點所以選擇Ubuntu+Nutch+Tomcat+Eclipse+Protégé這樣的組合來搭建搜索引擎。Nutch是一款完全開源的Web搜索引擎,實驗利用Nutch來搭建主題搜索引擎,并且對它進行個性化的二次開發來構建多本體的搜索引擎,由于完全開源所以不會受到任何商業限制。Nutch主要是通過爬蟲程序爬取大量的數據并且對爬取的數據建立索引,同時Nutch提供了一個友好的搜索界面,用戶通過搜索界面搜索關鍵詞就可以訪問數據庫中的數據。本文的開發平臺如表1所示。

表1 開發平臺
本文使用的本體是參考人工目錄DOMZ網站下計算機領域中的計算機網絡安全、數據和云計算而建立。在計算機領域分類中,建立相應的計算機網絡安全,數據,云計算本體。實驗所建立的計算機網絡安全,數據,云計算的本體使用軟件Protege3.5創建如圖1所示。

圖1 Peotege創建本體
將制作的計算機網絡安全,數據和云計算本體添加在在Nutch中的Bentilmpl.java文件中,關鍵代碼如圖2所示。

圖2 關鍵代碼
信息獲取是通過DOMZ開放式目錄的中文頁面里的計算機網絡領域下隨機抽取URL作為URL集,將獲取的URL存入記事本文件urllist中作為Nutch搜索的入口。
首先要從 http://rdf.dmoz.org/rdf/content.rdf.u8.gz 下載名字為content.rdf.u8文件,使用utf-8編碼格式。下載完成后使用以下命令進行采集bin/nutch org.apache.nutch.tools.DmozParser content.rdf.u8-topic Top/Computers-subset 337> urls/urllist,DmozParser是用于采集Dmoz的插件。以上步驟完成后在content.rdf.u8文件中中隨機抽取URL地址,寫入到urllist文件中。,執行如下命令進行數據爬取sudo bin/nutch crawl urllistdir localweb-depth 2-topN 100-threads 2,其中 urllist是要爬取頁面的地址,localweb是存儲爬取頁面的文件,depth表示的是網頁爬取深度,這里-depth 2表示爬取深度為2,topN 100表示每層最大爬取100個網頁,threads 2表示使用兩個線程來運行,爬取完成后生成數據,索引文件數據庫如圖3。

圖3 索引文件
使用 Nutch抓取頁面完成后,安裝 Tomcat,將Nutch 部署到 Tomcat,用瀏覽器訪問 http://localhost:8080/nutchweb,進入搜索頁面進行搜索。網頁的搜索頁面是用戶的交互平臺,實驗使用JSP+Java實現了多本體搜索引擎的Web交互頁面,搜索引擎頁面如圖五。用戶可以通過搜索頁面輸入具體的關鍵詞點擊search按鈕進行搜索,系統會對輸入的關鍵詞進行分析,返回給用戶特定的信息。

圖4 搜索引擎界面
在采集完成URL后,執行爬取命令進行數據采集,數據采集完成后對爬取的網頁進行索引,索引完成后就可以進行查詢。在如圖五的搜索界面輸入“云計算”“數據”關鍵詞,點擊search進行搜索,系統就會將”云計算“”數據“的相關信息返回給用戶。通過搜索結果發現,在未加入本體時關鍵詞“云計算“的搜索結果是656條,關鍵詞”數據“的搜索結果為883條。搜索結果如圖5所示。

圖5 未加入本體時的“云計算““數據”搜索結果
初次搜索完成后,將使用軟件Protege3.5制作的本體加入到搜索引擎中,重新對關鍵詞“云計算“”數據“進行搜索,由于本體的技術的原因,系統不會將所有結果返回給用戶,而是將與搜索內容相關度較高的內容返回給用戶,通過搜索發現關鍵詞”數據“返回的結果為173條,關鍵詞“云計算”的搜索結果為131條,經過本體技術處理后,返回結果明顯減少,減少了很多無用鏈接和死鏈接,檢索效果非常明顯。經過本體技術處理的搜索結果如圖6所示。

圖6 經過本體技術處理的搜索結果
實驗利用Nutch-1.2實現了搜索引擎,并且在此基礎上利用了本體技術實現了多本體的搜索引擎,通過對比搜索結果發現利用本體技術可以達到簡化搜索結果,使搜索結果更加精準,達到了此次實驗的實驗目的。但是實驗也存在一定不足之處:第一本次實驗難以爬取網上全部資源,在內容上有所欠缺。第二領域本體缺乏對所有領域的方法,在今后還需要在這方面進行加強,第三由于硬件設備的原因導致系統運行時不流暢。希望以后將上述問題進行改進。
[1]蔡明,張體首.基于本體的搜索引擎研究[J].微計算機信息,2006,22(12-3):242-244.
[2]嚴春來.基于Nutch的個性化搜索引擎的研究與探討[J].電腦編程技巧與維護.2014:4-5
[3]張銳華.基于多信息素蟻群算法對個性化搜索引擎的改進[D].廣州:暨南大學信息科學技術學院,2013:13-24.
[4]潘雪峰,花貴春,梁斌.走進搜索引擎[M].北京:電子工業出版社,2012:2-12.
[5]王朝斌.金洪穎.趙剛.基于本體的搜索引擎研究_王朝斌[J].四川:西南師范大學學報,2010:382-385.
Search Engine Based on Multi-Ontology
DAI Qiang
(Department of Electronic Information Engineering,Ordos College,Inner Mongolia University(Ordos Institute of Technology),Ordos Inner Mongolia 017000)
With the development rapidly to Internet,the information increases explosively in Internet.We can get massive news.Meanwhile,it is increasingly complex to seek some information we need from these amounts of information.Obviously,the problem in retrieval mode of traditional Search Engines is inefficiency and inaccurate.Nevertheless,we can improve the efficiency and accuracy of message retrieval by using Ontology Technology nowadays.
Search;Ontology;Search Engine
1007-1423(2017)32-0041-04
10.3969/j.issn.1007-1423.2017.32.010
戴強(1994-),男,河北懷安人,本科,專業方向為電子信息科學與技術
2017-08-15
2017-10-20