時間:2019年11月25日 分類:電子論文 次數:
摘要:針對傳統搜索引擎算法搜索內容需要占用大量人工勞動進行標記,反饋信息和用戶搜索信息匹配度低,無法理解人類語言輸入等缺點,文中結合自然語言算法對信息的整合過程及理解用戶語言過程進行優化。通過建立語料庫、提取文本特征信息和模型訓練等方法,提出了適用于智能搜索引擎的新型檢索算法。文中在CSI語料庫、AWS爬蟲數據等數據集中進行了測試,測試結果表明,該算法只需進行前期的人工干預和標記,便可以自行搜集專業信息并自行展開機器學習和訓練,從而降低維護及使用成本。
關鍵詞:搜索引擎算法,人工智能,自然語言處理,文本特征提取
0引言
搜索引擎是聯系用戶和數據庫信息的重要橋梁[1]。當前各場景中的搜索引擎均面臨著挑戰,對于數據庫中許多相近內容及相關項目,搜索引擎該如何理解用戶需求,且準確找到有用信息,是目前亟待解決的難題。在龐雜的交互信息中,用戶輸入描述不精確的情況下,如何對模糊語義進行理解和解釋,并找出數據庫中關聯度最大的內容,也是搜索引擎需要考慮的問題。
近年來,對于搜索引擎算法的研究均是如何更好地組織文檔或網頁關鍵詞的排列關系、從屬關系,從而提升搜索效率[2-5];或是利用一些無監督的機器學習算法對搜索內容的相關程度進行排序[6];此外,是對人類語義進行研究,嘗試利用語義信息進行關鍵詞搜索[7]。人工智能深度學習算法在計算機視覺、語音識別、自然語言處理和游戲對戰等領域有著明顯優勢。
而目前的搜索引擎算法存在維護成本高、信息檢索不準確、無法理解人類的分類知識、無法分析用戶輸入的語義等一般算法無法高效解決的問題[8-9]。所以,利用深度學習算法的優勢,從而解決搜索引擎在語義理解方面的問題是一個有效途徑。
1搜索引擎算法
1.1算法原理
搜索引擎能發揮基礎作用,基本由3個步驟構成[10-11]:①發現網絡或數據庫中的信息,搜集對信息的描述;②對信息進行提煉和分類,快速對信息進行組織,建立索引庫;③搜索引擎的檢索模塊得到用戶的信息描述,整理后在索引中搜尋相同描述或相近的信息,得到庫中一系列信息與描述信息的相關性得分。最后,按照相關性返回給用戶。具體算法如下:①抓取網頁技術。利用人工或半自動程序抓取數據庫中的信息。
每個成熟的搜索引擎均有自動抓取程序———爬蟲(spider)。爬蟲程序會利用網絡中的超鏈接進行跳轉,在每個網頁中收集有效信息,分析內容并自動記錄。②處理網頁內容。網頁被抓取之后,不能直接處理復雜的網絡頁面。所以,需要預處理工作簡化網頁中的其他程序模塊。例如,網頁上的內容多數為文字和圖片信息。
對于文字信息先進行關鍵字的提取,判斷哪些為可代表整個內容的文字。然后建立索引,記錄到數據庫中。對于圖片要進行分析,判斷其大致內容。預處理工作還包括去除重復內容、判斷網頁內容、網絡內容的重要程度、訪問量等。③展示檢索內容。當用戶輸入關鍵字時,要理解關鍵詞并在索引中搜索相關信息,按照匹配程度和搜索網頁的熱度進行排序。此外,還會顯示被索引網站的縮略圖以供用戶選擇。
1.2搜索引擎算法
①目錄式引擎算法。目錄式搜索是先搜集信息,搜索信息的方式可以半自動化完成。然后,由引擎編輯人員將瀏覽后的信息編輯成摘要形式,將資料內容高度概括后存儲為多個標簽信息,由此標簽就可將電子圖書館中的資料分成多個分類。當用戶使用時輸入某個關鍵詞,搜索模塊只需要將標簽相同或相近的信息返回給用戶,然后再由用戶自行挑選。較多目錄也可以由用戶自行描述并上傳,編輯人員采納后可以應用于引擎的查找。此類引擎算法的人工標記過程利用了大量的人力物力進行總結和標記,雖總結信息準確、查詢的質量高,但維護工作量較大。編輯需要的人工手段過多,在信息量劇增的時代背景下有著絕對的劣勢。
②基于機器人的搜索引擎。搜索引擎尋找信息時利用爬蟲算法以某種策略尋找網頁,并摘取網頁關鍵字等信息,建立索引。搜索引擎定期的尋找網絡資源,其搜索面廣、信息量大、更新迅速。但會返回無效信息,浪費空間資源,且信息篩選時間較長,因此用戶體驗感較差。
③元搜索引擎。元搜索是一種全局調用工具,在用戶輸入搜索內容時,根據內容調用合適的搜索引擎進行搜索,其通過一個友好的用戶界面統一其他的引擎搜索內容。元搜索的覆蓋面大、搜索效果好,但因其實質是調用其他獨立的搜素引擎,所以調用不準時會有負面效果。
2基于人工智能的搜索引擎算法
2.1搜索引擎的缺陷
隨著數據量的增長,大量系統中均需要搜索引擎來建立快速索引機制,電子圖書的管理亦是如此。電子圖書數據量大,容易對其進行歸類,收集也相對簡單,但搜索引擎仍有一些問題:①搜索的精細化程度較低。搜索多個條件時彈出的信息不夠精確,搜索條件過于細化時無法搜索到相近意思的內容。②搜索時多個關鍵詞的重要程度顯然是不同的。搜索程序不能準確判斷,搜索到的內容不是語義中的重要方面。
③無法理解人類意圖,只能按照人類數據尋找對應信息。例如,其無法在庫中搜索到解決具體問題的專業知識,對非專業人員不適用。④無法搜索到某個詞的相關聯內容,例如書籍的作者、出版信息、專業門類等,此類信息必須用戶進一步搜索才能得到。基于以上幾點問題,人工智能算法在用戶的語義理解和相關詞條的關聯方面均有著卓越的性能,可針對性的解決這些缺陷。
2.2自然語言處理的優勢
自然語言處理是人工智能中的重要分支,其主要研究如何用智能、高效的方式對文本數據進行分析統計[12-14]。自然語言處理核心目的是令機器理解人類語義,懂得分清人類語言分布模式和人類意愿。在用戶進行搜索時,輸入的內容中包含主要信息和描述性詞語。若利用常規搜索算法,則搜出的信息將會盡量包含輸入的詞匯。但
當輸入較為復雜的語義時,傳統算法無法正常的工作。例如,用戶輸入“在自然語言處理中的關鍵性技術”此類詞條時,搜索列表中匹配度最高的會是“自然”、“自然語言處理”、“技術”等關鍵詞匯,但用戶顯然想搜索的主要語義是“自然語言處理”和“關鍵技術”兩者。
而利用機器學習方法,算法會通過對現有詞庫的學習,分析出人類語言的分布規律,其會通過超參數的學習“記住”語言中“在”、“中”等語義。然后實現對一句話中信息的分割和評分,按照重要程度進行重排后進行搜索,其效率較高。機器學習算法能將上句話中的“自然語言處理”和“技術”同時反饋給查詢接口,由此搜索出的內容將更貼近實際需求。
2.3自然語言處理算法
對搜索引擎缺陷的分析可知,傳統搜索算法的問題在于語義理解。此方面,深度學習算法具有較大優勢。以下介紹自然語言處理在實際中的訓練和應用[15-17]。
2.3.1文本信息預處理
文本中的信息大多是冗余的,在人類語言中有大量指示事物狀態或功能的詞,或是對相同動作有著不同的描述方式。通常會通過4種方式進行文本預處理:①去除噪聲。語句中存在沒有語義的詞匯或標點,先將此類文本去除。建立1個噪聲詞典,在計算前對輸入逐一比對,消除噪聲。②對詞語進行規范。輸入的多個單詞是表示同一種意義,將此類衍生詞更改為其本源的詞匯是必要的。其為重要步驟,此步將原本的高維度特征轉換為了低維特征,降低詞匯的多樣性,有利于機器學習中因多樣性過高而無法收斂的問題。
③對象標準化。輸入中會出現未在標準字庫中出現的詞語,無法被算法所識別,所以對判斷會出現干擾。對象標準化就是將拼湊、縮略或編造的短語轉為意義相同或相近的標準詞匯。④其他方法。例如單詞拼寫檢查,語法檢查等。
2.3.2文本特征提取
標準化后,文字信息需通過各種轉化技術轉為特征向量。根據不同用法,轉換方式也不盡相同。在數字圖書的檢索方面,常用的是特征統計方法。本文介紹的特征統計方法是詞頻-逆文檔頻率模型[16-17](TermFrequency-InverseDocumentFrequency)。TF-IDF模型常用于文檔檢索、信息搜索等應用,此目的在于基于每種標準詞匯在文檔中出現的頻率,將文檔轉換為數字表示的向量模型。
詞頻是指某個詞在某篇文章中出現的頻率,即某單詞出現次數除以總詞量。反文檔頻率是指噪聲較多時,為防止誤將關鍵詞當作噪聲去除而設計的識別方法。例如,某個詞在文章中利用頻次較高,被認為不足以描述整個文章的特征。所以,利用反文檔頻率來估計詞的“獨特性”。反文檔頻率算法是語料庫文章總數除以包含某個詞的文章數。得到向量后,就可用特征方式描述一篇文檔。
2.3.3文本分類
文本分類是自然語言處理的經典問題之一,主要目的在于分類文檔的用途、內容等。首先,文本在輸入后其特征會被創建;然后,機器學習算法從這些特征學習一組參數;之后,使用學習到的機器學習模型對新文本做預測。文本分類較大程度上依賴于特征的質量與數量。當然,在使用任何機器學習訓練模型時,通常引入越多的訓練數據會得到更好的訓練超參數。
3數字圖書搜索引擎的應用與測試
本文設計的數字圖書搜索系統包括用戶查詢系統、語料庫、數據庫和本文提出的一種新的語義理解系統。訓練并建立人工智能搜索引擎的步驟大致如下:①利用智能搜索技術對數字圖書數據庫中的圖像文字進行定期的搜索與分析;②接收信息后利用對文本信息的預處理方式去除其中無用鏈接和文字信息;③對每個文檔做特征提取,建立語料庫,收集關鍵詞匯,收集時先以詞頻作為依據,或利用成熟的語料庫作為先驗再收集;④利用TF-IDF模型對文檔進行特征的轉換,得到每篇文檔的數字特征信息,將其作為訓練樣本積累下來;⑤利用訓練樣本進行訓練分類,得到關鍵詞條的分類模型,分類依據應由專業人員檢查、標注。
訓練模型穩定后,其可以利用模型對新的數字文檔資料進行預測分類。建立索引庫后,就基本建立起了一個有預測能力的搜索引擎。當用戶發起搜索時,利用模型判斷用戶關鍵詞,并與建立起的索引庫進行對比,最后得到相關信息的羅列。
較傳統的搜索引擎,利用人工智能算法可以降低人工標注難度且降低維護成本,實現自動獲取并判斷爬到的數字圖書的類別。在用戶輸入時,可分析用戶所需求的資料,從而提高用戶的搜索質量。在實驗中,利用已有的公開數據集CSI語料庫和AWS爬蟲數據,測試了普通搜索程序、聚類算法、K均值算法以及本文的TF-IDF算法的準確度和運行速度。
由普通搜索和TF-IDF搜索等算法對兩種數據集的檢索準確度和運行速度結果可看出,本文所設計的算法在準確度與運行速度方面相較于傳統算法均有較大的提高。為了進一步驗證該系統的實用性和可靠性,除上述對已有的公開數據集進行測試外,將該搜索系統運用在某高校圖書館電子圖書數據庫中,進行檢索結果測試。并與原有的搜索方式相比。
由結果可看出,利用本文所設計的人工智能搜索引擎通過關鍵詞搜索所得到的結果準確率,在各種數字圖書類別檢索中均高于普通匹配搜索算法,在平均準確率方面可達到90.97%。雖該方法需要進行長時間訓練,但算法理解能力和正確率均可達到當前先進水平,且能夠充分滿足數字圖書的檢索需要。
4結束語
本文討論了將機器學習中的自然語言處理技術應用于數字圖書館的搜索引擎。針對數字圖書搜索的具體情況,將自然語言處理中的特征提取算法和應用算法嫁接在搜索引擎上,可達到降低人工標注成本、給用戶更好的搜索體驗等目的。傳統的搜索引擎算法已不能滿足當前大數據的時代背景,本文提出的方法是未來專業搜索引擎研究的方向之一。
然而,現如今的自然語言處理還存在一些弊端。例如,未達到能在和人類交談的過程中了解人類需要的任務,無法在網絡資源中自動搜索需要內容。因此,仍需要建立更加廣泛的索引庫和數據庫以供快速搜索,這有待于進一步的深入研究。
參考文獻:
[1]姜韶增.互聯網搜索引擎搜索策略和算法的研究[D].蘭州:蘭州交通大學,2015.
[2]馬安進.個性化搜索引擎排序算法的研究[D].西安:西安理工大學,2016.
[3]胡存剛,程瑩.基于粒子群算法的大數據智能搜索引擎的研究[J].計算機技術與發展,2015,25(12):14-17.
[4]黃劍,李明奇,郭文強.并行Fp-growth算法在搜索引擎中的應用[J].計算機科學,2015,42(S1):459-461,483
人工智能論文投稿刊物:計算機科學與探索是由中國電子科技集團公司主管、華北計算技術研究所主辦的國內外公開發行的計算機學報級高級學術期刊,中國計算機學會會刊。