林藝馨 周弋焜 張策 其樂木格
摘? 要:本研究通過聚焦爬蟲爬取我國海外工程政策信息相關(guān)網(wǎng)站建立數(shù)據(jù)庫,創(chuàng)建我國海外工程政策信息專業(yè)搜索引擎,并利用自然語言處理、知識圖譜等技術(shù)實現(xiàn)對檢索詞的近義詞與相關(guān)詞的推薦,降低對用戶輸入檢索詞的要求,優(yōu)化用戶的搜索體驗。本研究構(gòu)建了完整的搜索引擎,提供了一套針對于工程專業(yè)領(lǐng)域信息搜集與整合的方法,同樣可應(yīng)用于其他領(lǐng)域的信息收集與處理。
關(guān)鍵詞:Python;數(shù)據(jù)庫;搜索引擎
中圖分類號:TP311.13 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2020)23-0037-02
Abstract: This study establishes a database by focusing on Crawler crawling the website of overseas engineering policy information of our country, creates a professional search engine of overseas engineering policy information of our country, and uses natural language processing, knowledge map and other technologies to realize the recommendation of synonyms and related words of search terms, so as to reduce the requirements for users to enter search terms and optimize the search experience of users. This research constructs a complete search engine, provides a set of methods for information collection and integration in engineering fields, and can be applied to other fields of information collection and processing.
Keywords: Python; database; search engine
1 概述
隨著“一帶一路”“走出去”戰(zhàn)略不斷發(fā)展,我國承包的海外工程越來越多,國家也不斷出臺相關(guān)政策進(jìn)行調(diào)控。但我國海外工程政策信息在搜尋過程中仍然存在很多問題,具體包括:第一,政策信息來源分散,有多個網(wǎng)站發(fā)布政策部令,但各個網(wǎng)站互相交叉重復(fù),也互有遺漏,沒有一個針對于海外工程集中的網(wǎng)站;第二,關(guān)鍵詞索引不便,無法分辨近義詞,也無法提供相關(guān)聯(lián)詞方便用戶搜索;第三,查詢被引文件的不方便性,被引文件可能需要去其他網(wǎng)站搜索。
因此本研究提出相應(yīng)的解決方法,首先為解決政策信息來源分散的問題,本文利用聚焦爬蟲爬取海外工程政策信息相關(guān)的網(wǎng)站建立數(shù)據(jù)庫,并搭建了專業(yè)性更強的搜索引擎。其次,為改善用戶檢索體驗,本文利用自然語言處理技術(shù)實現(xiàn)了近義詞推薦功能,并且構(gòu)建知識圖譜實現(xiàn)了檢索詞的相關(guān)聯(lián)詞推薦功能。最后,由于搜索引擎的專業(yè)性較強,故可以直接對部分政策的條款中涉及引用其他的政策信息,進(jìn)行檢索并準(zhǔn)確檢出相關(guān)結(jié)果。
2 文獻(xiàn)綜述
2.1 聚焦爬蟲
聚焦爬蟲屬于網(wǎng)絡(luò)爬蟲的一種,是為了解決隨著大數(shù)據(jù)時代到來和數(shù)據(jù)形式越來越多,而通用網(wǎng)絡(luò)爬蟲抓取深度淺,且無法處理含量密集的結(jié)構(gòu)化信息而開發(fā)出來,針對于搜索范圍相對較小且極具針對性的結(jié)構(gòu)化信息數(shù)據(jù)。聚焦爬蟲按照一定的規(guī)則自動提取網(wǎng)頁超鏈接,并下載相應(yīng)的網(wǎng)絡(luò)信息,從而為用戶提供特定主體的數(shù)據(jù)信息,并不一味追求高覆蓋率[1]。
2.2 數(shù)據(jù)庫
數(shù)據(jù)庫也稱為數(shù)據(jù)結(jié)構(gòu)模型,是用于數(shù)據(jù)信息組織、存儲、管理等方面工作安排的資源控制條件[2]。數(shù)據(jù)庫的發(fā)展可以被視為計算機(jī)技術(shù)和信息技術(shù)的發(fā)展,數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理與運用的有效工具,它為我國任何行業(yè)提供了極佳的信息服務(wù)體驗。
2.3 自然語言處理
自然語言處理,是計算機(jī)科學(xué)與人工智能領(lǐng)域的一個重要方向。自然語言處理有文本檢索、機(jī)器翻譯、文本分類、信息抽取、序列抽取、文本摘要、問答系統(tǒng)、對話系統(tǒng)、知識圖譜、文本聚類等等多個領(lǐng)域。涉及分詞、詞性標(biāo)注、句法分析、詞干提取、命名體識別指代消歧、關(guān)鍵詞提取、詞向量等等基本技術(shù)[3]。本研究中的文本分詞以及近義詞推薦功能,都利用了自然語言處理技術(shù)。
2.4 知識圖譜
知識圖譜是一種用可視化技術(shù)描述知識資源及其載體,挖掘、分析、構(gòu)建、繪制和顯示知識及它們之間的外在關(guān)聯(lián)和內(nèi)在發(fā)展規(guī)律,以圖形圖像為表現(xiàn)形式的一種研究方法[4]。主要特點是對大量數(shù)據(jù)的深度挖掘和圖像的可視化[5]。運用知識圖譜提取各網(wǎng)頁關(guān)鍵詞之間的關(guān)聯(lián),可以提供相關(guān)詞的推薦。
2.5 搜索引擎
搜索引擎是指根據(jù)一定的策略、運用特定的計算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,在對信息進(jìn)行組織和處理后,為用戶提供檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶的系統(tǒng)。一個搜索引擎由搜索器、索引器、檢索器和用戶接口四個部分組成。搜索器的功能是在互聯(lián)網(wǎng)中漫游,發(fā)現(xiàn)和搜集信息。索引器的功能是理解搜索器所搜索的信息,從中抽取出索引項,用于表示文檔以及生成文檔庫的索引表。檢索器的功能是根據(jù)用戶的查詢在索引庫中快速檢出文檔,進(jìn)行文檔與查詢的相關(guān)度評價,對將要輸出的結(jié)果進(jìn)行排序,并實現(xiàn)某種用戶相關(guān)性反饋機(jī)制。用戶接口的作用是輸入用戶查詢、顯示查詢結(jié)果、提供用戶相關(guān)性反饋機(jī)制[6]。
3 研究內(nèi)容
3.1 聚焦爬蟲
聚焦爬蟲在本研究的項目中是數(shù)據(jù)庫建立的重要工具,其功能主要是把網(wǎng)站上的內(nèi)容從服務(wù)器下載到本地,作為數(shù)據(jù)庫的資料來源。
本研究編寫的網(wǎng)絡(luò)爬蟲步驟如下:(1)挑選出中華人民共和國商務(wù)部、中國一帶一路等官網(wǎng)的首頁網(wǎng)址作為帶爬取的隊列queue。(2)從queue隊列中挑出第一個的網(wǎng)址,判斷是否已經(jīng)爬取,即與已爬取的網(wǎng)址隊列visited進(jìn)行查找,如果沒有,說明為爬取,則可以利用網(wǎng)絡(luò)爬蟲將內(nèi)容下載下來,并把這個網(wǎng)址從未爬取隊列queue移入已爬取隊列visited。(3)對爬取的網(wǎng)址內(nèi)容進(jìn)行解析,利用正則表達(dá)式匹配出所有的網(wǎng)址,并且進(jìn)行刪選后補全網(wǎng)址,存入待爬取的隊列queue。(4)進(jìn)行下一個循環(huán),確認(rèn)queue列隊清空。
3.2 數(shù)據(jù)庫的建立
在爬蟲爬取到數(shù)據(jù)之后,并不是直接存入數(shù)據(jù)庫之中,即使是爬蟲爬取到的內(nèi)容也不一定都是本研究所需要的;其次本研究的目的并不是將網(wǎng)站內(nèi)容從服務(wù)器下載到本地作為鏡像,所以對數(shù)據(jù)進(jìn)行清洗是非常必要的。
本研究采用自然語言處理、正則匹配等方式將無用信息去除,將這些信息按照一定的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲,以便于檢索器查找,本研究選擇了關(guān)系型數(shù)據(jù)庫mysql,在其中新建了兩個表doc、word來存儲信息,并通過軟件SQLiteSPY查看數(shù)據(jù)庫。
3.3 檢索器
檢索器主要功能是按照用戶的需求在索引庫中找出相似文檔,對文檔與用戶需求的相似程度進(jìn)行評價,返回相似度和某一方面相似的文檔集合[6]。
本研究將用戶輸入的語句進(jìn)行分詞處理,同樣是利用了jieba分詞,得到了查詢關(guān)鍵詞,然后檢索器通過建立向量空間,對倒排索引列表中,關(guān)鍵詞所對應(yīng)的文檔利用向量空間模型的TF-IDF算法進(jìn)行相似度計算,按照相似度排序后返回給用戶。
3.4 近義詞與相關(guān)詞推薦
本研究通過自然語言處理和知識圖譜實現(xiàn)了近義詞與相關(guān)聯(lián)詞的推薦。其中近義詞的推薦是調(diào)用了自然語言處理的synonyms中文近義詞庫,在用戶使用界面推薦給用戶,而知識圖譜的構(gòu)建是利用TextRank算法將數(shù)據(jù)庫中的每個網(wǎng)頁信息提取出十個關(guān)鍵詞,并對關(guān)鍵詞進(jìn)行篩選和刪減,然后設(shè)計代碼將關(guān)鍵詞轉(zhuǎn)為EndNote格式,導(dǎo)入SATI進(jìn)行處理,生成共現(xiàn)矩陣,進(jìn)而繪制成為知識圖譜。最后通過分析知識圖譜繪制原理,利用代碼將知識圖譜中的對應(yīng)關(guān)系提取出來,并轉(zhuǎn)化為.json格式,形成相關(guān)聯(lián)詞結(jié)構(gòu)化數(shù)據(jù)庫,在用戶使用界面調(diào)用。
3.5 用戶使用界面
用戶接口主要是給用戶提出搜索條件的輸入和查詢結(jié)果的輸出[7]。本研究利用python中的PyQt5進(jìn)行編寫用戶界面,支持用戶進(jìn)行語句輸出,通過檢索器進(jìn)行處理,返回的結(jié)果也會在界面中得到展示,并顯示出結(jié)果文檔的相似度得分以及URL,并通過復(fù)制URL到跳轉(zhuǎn)一欄中,可以實現(xiàn)調(diào)用chrome瀏覽器打開目標(biāo)網(wǎng)站進(jìn)行瀏覽,如下圖1。
4 結(jié)論
本研究最終的成果為海外工程政策信息搜索引擎,該搜索引擎首先通過派出“蜘蛛”程序,利用聚焦爬蟲對中國一帶一路網(wǎng)等網(wǎng)站,關(guān)于海外工程政策的相關(guān)信息進(jìn)行爬取并且下載到本地,用于構(gòu)建數(shù)據(jù)庫。由于這些數(shù)據(jù)不僅數(shù)據(jù)量很大而且其中含有較多的非關(guān)鍵信息,所以必須通過自然語言處理程序進(jìn)行數(shù)據(jù)清洗。最后與搜索引擎相結(jié)合,實現(xiàn)了對中國海外工程方面相關(guān)政策的收集。除此之外還利用知識圖譜和自然語言處理在用戶使用界面為用戶提供了相關(guān)聯(lián)詞和近義詞推薦,優(yōu)化了用戶搜索體驗。
參考文獻(xiàn):
[1]周立柱,林玲.聚焦爬蟲技術(shù)研究綜述[J].計算機(jī)應(yīng)用,2005(9):1965-1969.
[2]張瑋.探析計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)庫中的安全管理技術(shù)[J].計算機(jī)產(chǎn)品與流通,2020(05):40+78.
[3]宗成慶.統(tǒng)計自然語言處理[M].2版.北京:清華大學(xué)出版社,2013.
[4]官思發(fā).基于科學(xué)知識圖譜的知識共享研究進(jìn)展分析[D].武漢:華中師范大學(xué),2012.
[5]何瑋,齊鳳青,鄭斐.淺議將知識圖譜融入查新工作以推動學(xué)科化服務(wù)[J].圖書情報導(dǎo)刊,2012,22(2):99-101.
[6]童明.基于HDFS的分布式存儲研究與應(yīng)用[D].武漢:華中科技大學(xué),2012.
[7]趙明宇.基于web中數(shù)據(jù)檢索技術(shù)的應(yīng)用與研究[J].自動化技術(shù)與應(yīng)用,2015,34(01):30-32.