潘侃,張林山,劉增傳
(1.云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,昆明 650217;2.昆明能訊科技有限責(zé)任公司,昆明 650217)
各種搜索引擎的功能側(cè)重不一樣,依靠單一的搜索引擎不能完全提供需要的信息,因此需要一種軟件或網(wǎng)站把各種搜索引擎無(wú)縫地融合在一起,智能搜索引擎是結(jié)合了人工智能技術(shù)的新一代搜索引擎。除了能提供傳統(tǒng)的快速檢索、相關(guān)度排序等功能,還能提供用戶角色登記、用戶興趣自動(dòng)識(shí)別、內(nèi)容的語(yǔ)義理解、智能信息化過(guò)濾和推送等功能。智能搜索引擎設(shè)計(jì)追求的目標(biāo)是:根據(jù)用戶的請(qǐng)求,從可以獲得的網(wǎng)絡(luò)資源中檢索出對(duì)用戶最有價(jià)值的信息。
Solr 是一個(gè)高性能,采用Java5 開發(fā),基于Lucene 的全文搜索服務(wù)器。同時(shí)對(duì)其進(jìn)行了擴(kuò)展,提供了比Lucene 更為豐富的查詢語(yǔ)言,同時(shí)實(shí)現(xiàn)了可配置、可擴(kuò)展并對(duì)查詢性能進(jìn)行了優(yōu)化,并且提供了一個(gè)完善的功能管理界面。具有易用性:Solr 簡(jiǎn)化了Lucene 具體應(yīng)用,使用戶不用寫代碼或者簡(jiǎn)單的代碼就可以實(shí)現(xiàn)搜索功能。Solr使用http 請(qǐng)求的方式完成索引的生成和查詢。Solr 支持從文本、web 頁(yè)面、數(shù)據(jù)庫(kù)中直接導(dǎo)入數(shù)據(jù),建立索引。Solr 提供了強(qiáng)大的配置功能,通過(guò)簡(jiǎn)單的修改配置文件就可以完成字段定義、數(shù)據(jù)類型定義、中文分詞器、檢索字段、檢索方法、默認(rèn)值等配置;異構(gòu)性:Solr 提供了對(duì)異構(gòu)系統(tǒng)的整合方案,在分布索引、結(jié)果排序、查詢篩選、顯示等方面俊提供了完整的解決方案;易集成性:Solr 是一個(gè)web 應(yīng)用,支持不同語(yǔ)言多種客戶端調(diào)用。
Nutch 是一個(gè)開源Java 實(shí)現(xiàn)的搜索引擎。它提供了運(yùn)行搜索引擎所需的全部工具。包括全文搜索和Web 爬蟲。Nutch 提供了這樣一個(gè)不同的選擇.相對(duì)于那些商用的搜索引擎,Nutch 作為開放源代碼 搜索引擎將會(huì)更加透明,從而更值得大家信賴。
KAnalyzer 是一個(gè)開源基于JAVA 語(yǔ)言的輕量級(jí)的中文分詞第三方工具包。算法采用“正向迭代最細(xì)粒度切分算法”,支持細(xì)粒度和最大詞長(zhǎng)兩種分詞方式,速度最大支持80 W 字/秒(1 600 KB/秒)。支持多子處理器分析模式:中文、數(shù)字、字母,并兼容日文、韓文。較小的內(nèi)存占用,優(yōu)化詞庫(kù)占有空間,用戶可自定義擴(kuò)展詞庫(kù)。擴(kuò)展Lucene 的擴(kuò)展實(shí)現(xiàn),采用歧義分析算法優(yōu)化查詢關(guān)鍵字的搜索排列組合,提高Lucene 檢索命中率。
技術(shù)創(chuàng)新支持平臺(tái)的核心組件包括:Nutch+IKAnalyzer+Solr+Solrj。Nutch 用于爬取網(wǎng)頁(yè)。Solr作為搜索引擎服務(wù)器,負(fù)責(zé)索引的建立和查詢。由于Solr 自身的中文分詞功能比較弱,所以利用IKAnalyzer 完成中文分詞的功能。SolrJ 是操作Solr 的JAVA 客戶端??傮w架構(gòu)圖如下:

圖1 總體架構(gòu)圖
中文分詞是中文自然語(yǔ)言處理中最基本的一個(gè)步驟,非常多的研究者對(duì)它做了很深入的研究,也因此產(chǎn)生了很多不同的分詞方法,這些方法大體上可以分為兩類:基于詞典匹配的方法和基于統(tǒng)計(jì)的方法。技術(shù)創(chuàng)新平臺(tái)使用的是基于詞典匹配的方法。通用的分詞詞典更適用于日常語(yǔ)言環(huán)境,而在專業(yè)的領(lǐng)域的知識(shí)信息搜索中存在一定的不足之處。技術(shù)創(chuàng)新平臺(tái)更多的是面向電力行業(yè),通用詞庫(kù)中不包含電力行業(yè)特有的詞,如:一次設(shè)備、斷路器、飽和電抗器、熔斷器等。
針對(duì)通用分詞詞典的不足,整理專業(yè)領(lǐng)域的詞典。整理行業(yè)詞典的基本操作主要有:去重、去噪、篩選、規(guī)整。在現(xiàn)有電力行業(yè)詞典中加入整理、總結(jié)得到新的詞匯,由于有新的詞匯加入,很容易出現(xiàn)重復(fù),需對(duì)詞典進(jìn)行去重操作。去噪和篩選,即去掉一些相關(guān)度比較低、甚至是特殊字符的詞,保留使用頻率較高的詞。對(duì)詞典進(jìn)行規(guī)整,就是整理詞典的規(guī)范性,如可能出現(xiàn)錯(cuò)別字,詞中包含其他符號(hào)、空格、后綴等。通過(guò)幾次以上操作的迭代,就可以得到一份高質(zhì)量的行業(yè)詞典。
企業(yè)級(jí)搜索引擎的建立還有一個(gè)極大的好處就是能夠適應(yīng)各種復(fù)雜的網(wǎng)絡(luò)環(huán)境。通過(guò)企業(yè)級(jí)搜索引擎的搭建可以提供單機(jī)、局域網(wǎng)、外網(wǎng)甚至內(nèi)外網(wǎng)結(jié)合的搜索服務(wù)。技術(shù)創(chuàng)新平臺(tái)的搜索需求需要融合內(nèi)外網(wǎng),既要能搜索到外部網(wǎng)絡(luò)的海量的信息內(nèi)容,又要能搜索到內(nèi)網(wǎng)中高質(zhì)量的技術(shù)知識(shí)。同時(shí)還要保護(hù)內(nèi)網(wǎng)中的信息。
根據(jù)平臺(tái)的特殊的網(wǎng)絡(luò)需求,設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)如下:

圖2 網(wǎng)絡(luò)結(jié)構(gòu)圖
搜索引擎的服務(wù)器要求能同時(shí)訪問(wèn)內(nèi)網(wǎng)網(wǎng)站和外網(wǎng),這樣就可以爬取內(nèi)外網(wǎng)的網(wǎng)站。限制外網(wǎng)不能訪問(wèn)搜索引擎和和技術(shù)創(chuàng)新平臺(tái),這樣內(nèi)網(wǎng)的相關(guān)信息就不會(huì)暴露在外部網(wǎng)絡(luò)環(huán)境中,保證了信息的安全。
技術(shù)創(chuàng)新平臺(tái)建設(shè)的目的是方便職工搜集技術(shù)創(chuàng)新信息、拓寬職工的技術(shù)創(chuàng)新思路。這就要求系統(tǒng)能夠充分獲取航天、能源、醫(yī)學(xué)等其他領(lǐng)域的新技術(shù)、新方法等信息。職工通過(guò)平臺(tái)獲取電力和其他行業(yè)的前沿技術(shù)信息,讓職工了解相關(guān)技術(shù)及其運(yùn)用,啟發(fā)職工將其他領(lǐng)域的技術(shù)運(yùn)用到電網(wǎng)生產(chǎn)運(yùn)行中,解決相關(guān)問(wèn)題和難點(diǎn)。
在搜索引擎爬取數(shù)據(jù)時(shí),配置爬取各個(gè)領(lǐng)域的技術(shù)論壇、門戶等信息網(wǎng)站。將現(xiàn)有問(wèn)題和解決思路存庫(kù),方便添加和更新。同時(shí)在搜索引擎中建立問(wèn)題和思路的索引,方便搜索。
技術(shù)創(chuàng)新平臺(tái)運(yùn)用了當(dāng)前發(fā)達(dá)的網(wǎng)絡(luò)體系和信息化技術(shù),目的在于幫助開展職工技術(shù)創(chuàng)新活動(dòng),加強(qiáng)職工隊(duì)伍建設(shè),組織動(dòng)員職工積極參與技術(shù)創(chuàng)新實(shí)踐,是提高職工創(chuàng)新能力,促進(jìn)創(chuàng)新型企業(yè)建設(shè)的良好途徑。
[1]李春濤.利用搜索引擎搭建企業(yè)搜索平臺(tái)[J].中文信息,2014.
[2]趙凱.基于Solr 的企業(yè)級(jí)搜索引擎的設(shè)計(jì)[J].電子世界,2013.
[3]李雪利.基于Solr 的企業(yè)搜索引擎的研究與實(shí)現(xiàn)[D].
[4]王曉琴.基于Nutch 的農(nóng)業(yè)垂直搜索引擎研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2014.
[5]王小正.基于Nutch 和Solr 的基礎(chǔ)教育垂直搜索引擎的實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2012.