欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于人工智能的數(shù)據(jù)采集方法及系統(tǒng)的制作方法

文檔序號(hào):10535033閱讀:1914來(lái)源:國(guó)知局
基于人工智能的數(shù)據(jù)采集方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出了一種基于人工智能的數(shù)據(jù)采集方法及系統(tǒng),包括:根據(jù)預(yù)設(shè)的爬取鏈接數(shù)量或爬取的URL層數(shù),采用多線程方式從互聯(lián)網(wǎng)上爬取多個(gè)網(wǎng)頁(yè)的URL地址,將獲取的URL地址放入隊(duì)列,讀取URL地址和DNS解析以下載URL地址對(duì)應(yīng)網(wǎng)頁(yè)的數(shù)據(jù)信息,將已下載的網(wǎng)頁(yè)的數(shù)據(jù)信息存儲(chǔ)至已下載網(wǎng)頁(yè)庫(kù);將數(shù)據(jù)信息輸入至預(yù)設(shè)的人工智能的機(jī)器學(xué)習(xí)訓(xùn)練集,以對(duì)數(shù)據(jù)信息自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練以區(qū)分?jǐn)?shù)據(jù)信息的屬性,對(duì)數(shù)據(jù)信息進(jìn)行分類并設(shè)置對(duì)應(yīng)的標(biāo)簽;將機(jī)器學(xué)習(xí)分類后的數(shù)據(jù)信息存儲(chǔ)到云端服務(wù)器,其中,云端服務(wù)器采用Hadoop和NoSQL的云存儲(chǔ)方式。本發(fā)明可以基于人工智能機(jī)器學(xué)習(xí)的方式,采用多線程執(zhí)行方式,提高數(shù)據(jù)采集的效率。
【專利說(shuō)明】
基于人工智能的數(shù)據(jù)采集方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種基于人工智能的數(shù)據(jù)采集方法及系統(tǒng)。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)上多數(shù)網(wǎng)頁(yè)都有超鏈接的存在。這些超鏈接將各個(gè)網(wǎng)頁(yè)鏈接起來(lái)構(gòu)成了一個(gè)龐大的網(wǎng)絡(luò),也就是超鏈接網(wǎng)絡(luò)。數(shù)據(jù)采集系統(tǒng)作為一種網(wǎng)絡(luò)程序從一些網(wǎng)頁(yè)出發(fā),保存網(wǎng)頁(yè)的內(nèi)容,尋找網(wǎng)頁(yè)當(dāng)中的超鏈接,然后訪問(wèn)這些超鏈接,并重復(fù)以上過(guò)程,這個(gè)過(guò)程可以不斷進(jìn)行下去。
[0003]面對(duì)大數(shù)據(jù)時(shí)代的到來(lái),如果想對(duì)數(shù)據(jù)進(jìn)行定量的分析,數(shù)據(jù)采集系統(tǒng)的重要性越來(lái)越高。然而,目前市面上的數(shù)據(jù)采集系統(tǒng)多為第一代數(shù)據(jù)采集系統(tǒng),第一代數(shù)據(jù)采集是利用計(jì)算機(jī)做重復(fù)性工作的優(yōu)勢(shì),將數(shù)據(jù)分析師制作好的模板,進(jìn)行批量的采集和處理。
[0004]因此,如果原網(wǎng)站改版,則配置好的模板就會(huì)失效,需要數(shù)據(jù)分析師重新制作模塊,而且對(duì)于網(wǎng)站文章的重復(fù)性問(wèn)題也沒有很好的規(guī)避,同時(shí)需要大量的數(shù)據(jù)分析師的介入,花費(fèi)了大量的時(shí)間和精力,且采集效率也不高。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。
[0006]為此,本發(fā)明的目的在于提出一種基于人工智能的數(shù)據(jù)采集方法及系統(tǒng),可以基于人工智能機(jī)器學(xué)習(xí)的方式,采用多線程執(zhí)行方式,提高數(shù)據(jù)采集的效率。
[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明一方面的實(shí)施例提供一種基于人工智能的數(shù)據(jù)采集方法,包括如下步驟:
[0008]步驟SI,根據(jù)預(yù)設(shè)的爬取鏈接數(shù)量或爬取的URL層數(shù),采用多線程方式從互聯(lián)網(wǎng)上爬取多個(gè)網(wǎng)頁(yè)的URL地址,將獲取的URL地址放入隊(duì)列,讀取URL地址和DNS解析以下載所述URL地址對(duì)應(yīng)網(wǎng)頁(yè)的數(shù)據(jù)信息,將已下載的網(wǎng)頁(yè)的數(shù)據(jù)信息存儲(chǔ)至已下載網(wǎng)頁(yè)庫(kù);
[0009]步驟S2,將所述步驟SI的數(shù)據(jù)信息輸入至預(yù)設(shè)的人工智能的機(jī)器學(xué)習(xí)訓(xùn)練集,以對(duì)所述數(shù)據(jù)信息自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練以區(qū)分所述數(shù)據(jù)信息的屬性,對(duì)所述數(shù)據(jù)信息進(jìn)行分類并設(shè)置對(duì)應(yīng)的標(biāo)簽;
[0010]步驟S3,將機(jī)器學(xué)習(xí)分類后的數(shù)據(jù)信息存儲(chǔ)到云端服務(wù)器,其中,所述云端服務(wù)器米用Hadoop和NoSQL的云存儲(chǔ)方式。
[0011]進(jìn)一步,在所述步驟SI中,
[0012]配置一個(gè)或多個(gè)種子URL地址,以每個(gè)所述種子URL地址作為起點(diǎn)進(jìn)行數(shù)據(jù)采集;
[0013]根據(jù)預(yù)設(shè)的采集時(shí)間參數(shù)獲取這段時(shí)間內(nèi)的網(wǎng)站上的數(shù)據(jù);
[0014]配置采集類別、主題、時(shí)長(zhǎng)和相關(guān)度的閾值;
[0015]刪除與所述主題無(wú)關(guān)的網(wǎng)頁(yè)內(nèi)容。
[0016]進(jìn)一步,計(jì)算爬取鏈接與預(yù)設(shè)主題的相關(guān)度,選取相關(guān)度大于所述相關(guān)度的閾值的URL地址,將上述URL地址放入已抓取的URL隊(duì)列中。
[0017]進(jìn)一步,所述步驟SI,還包括如下步驟:實(shí)時(shí)監(jiān)控采集過(guò)程的當(dāng)前執(zhí)行動(dòng)作、采集數(shù)據(jù)量、采集時(shí)長(zhǎng)、采集服務(wù)器的工作狀態(tài),并生成系統(tǒng)日志和用戶日志。
[0018]進(jìn)一步,在所述步驟SI中,當(dāng)檢測(cè)到待爬取的網(wǎng)頁(yè)需要輸入驗(yàn)證碼時(shí),對(duì)驗(yàn)證碼圖片進(jìn)行預(yù)處理和圖像識(shí)別,提取圖像特征值,采用基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法對(duì)所述圖像特征值進(jìn)行計(jì)算以識(shí)別出所述驗(yàn)證碼并自動(dòng)輸入,在輸入驗(yàn)證碼后并進(jìn)入網(wǎng)頁(yè)后,繼續(xù)執(zhí)行對(duì)該網(wǎng)頁(yè)的數(shù)據(jù)采集。
[0019]進(jìn)一步,在所述步驟S2中,采用規(guī)則歸納的機(jī)械學(xué)習(xí)方法對(duì)所述網(wǎng)頁(yè)的數(shù)據(jù)信息進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練。
[0020]進(jìn)一步,當(dāng)檢測(cè)到數(shù)據(jù)采集異常、云端服務(wù)器異?;蚓W(wǎng)絡(luò)異常時(shí),記錄異常發(fā)生時(shí)最后抓取的URL地址,并在系統(tǒng)重啟后,自動(dòng)從該記錄的URL地址開始恢復(fù)爬取。
[0021]本發(fā)明另一方面的實(shí)施例提供一種基于人工智能的數(shù)據(jù)采集系統(tǒng),包括:數(shù)據(jù)采集子系統(tǒng)和云存儲(chǔ)子系統(tǒng),
[0022]所述數(shù)據(jù)采集子系統(tǒng)包括:多臺(tái)采集服務(wù)器,每臺(tái)采集服務(wù)器與網(wǎng)頁(yè)服務(wù)器進(jìn)行通信,用于根據(jù)預(yù)設(shè)的爬取鏈接數(shù)量或爬取的URL層數(shù),采用多線程方式從互聯(lián)網(wǎng)上爬取多個(gè)網(wǎng)頁(yè)的URL地址,將獲取的URL地址放入隊(duì)列,讀取URL地址和DNS解析以下載所述URL地址對(duì)應(yīng)網(wǎng)頁(yè)的數(shù)據(jù)信息,將已下載的網(wǎng)頁(yè)的數(shù)據(jù)信息存儲(chǔ)至已下載網(wǎng)頁(yè)庫(kù),以及將數(shù)據(jù)信息輸入至預(yù)設(shè)的人工智能的機(jī)器學(xué)習(xí)訓(xùn)練集,以對(duì)所述數(shù)據(jù)信息自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練以區(qū)分所述數(shù)據(jù)信息的屬性,對(duì)所述數(shù)據(jù)信息進(jìn)行分類并設(shè)置對(duì)應(yīng)的標(biāo)簽,并將機(jī)器學(xué)習(xí)訓(xùn)練后的數(shù)據(jù)信息發(fā)送至所述云存儲(chǔ)子系統(tǒng);所述云存儲(chǔ)子系統(tǒng)包括:多個(gè)存儲(chǔ)節(jié)點(diǎn)服務(wù)器、光纖路由器和主控服務(wù)器,其中,每個(gè)所述存儲(chǔ)節(jié)點(diǎn)服務(wù)器用于接收來(lái)自所述數(shù)據(jù)采集子系統(tǒng)的采集服務(wù)器的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息通過(guò)所述光線路由器發(fā)送至所述主控服務(wù)器,由所述主控服務(wù)器采用Hadoop和NoSQL的云存儲(chǔ)方式,運(yùn)行HDFS分布式文件系統(tǒng),對(duì)來(lái)自每個(gè)所述采集服務(wù)器的數(shù)據(jù)信息作為一個(gè)節(jié)點(diǎn)進(jìn)行存儲(chǔ),并發(fā)送至遠(yuǎn)程監(jiān)控服務(wù)器,以由管理員對(duì)數(shù)據(jù)采集過(guò)程進(jìn)行監(jiān)控。
[0023]進(jìn)一步,所述云存儲(chǔ)子系統(tǒng)還包括:數(shù)據(jù)壓縮模塊,所述數(shù)據(jù)壓縮模塊用于將來(lái)自所述數(shù)據(jù)采集子系統(tǒng)的數(shù)據(jù)信息,采用基于字典的數(shù)據(jù)壓縮算法進(jìn)行壓縮后,再發(fā)送至所述光線路由器,由所述光纖路由器轉(zhuǎn)發(fā)至所述主控服務(wù)器。
[0024]進(jìn)一步,還包括:備份節(jié)點(diǎn)服務(wù)器,所述備份節(jié)點(diǎn)服務(wù)器與所述主控服務(wù)器進(jìn)行通信,以對(duì)所述數(shù)據(jù)采集子系統(tǒng)采集的數(shù)據(jù)信息進(jìn)行備份存儲(chǔ)。
[0025]根據(jù)本發(fā)明實(shí)施例的基于人工智能的數(shù)據(jù)采集方法及系統(tǒng),采用基于人工智能機(jī)器學(xué)習(xí)的方式,從優(yōu)化下載量、過(guò)濾與主題不相關(guān)的URL機(jī)制和本地多線程架構(gòu)這幾個(gè)角度入手,綜合了時(shí)間與速度的開銷。利用機(jī)器學(xué)習(xí)的方法為數(shù)據(jù)打標(biāo)簽,篩選掉與主題不相關(guān)的鏈接,通過(guò)人工智能的神經(jīng)網(wǎng)絡(luò)算法來(lái)識(shí)別常見的驗(yàn)證碼,以實(shí)現(xiàn)自動(dòng)采集數(shù)據(jù)功能。并且,本發(fā)明運(yùn)用Hadoop和NoSQL結(jié)合的方式,分布式爬取和存儲(chǔ)海量數(shù)據(jù),并加入了高性能的數(shù)據(jù)壓縮算法對(duì)原數(shù)據(jù)進(jìn)行壓縮。此外,本發(fā)明采用創(chuàng)新性數(shù)據(jù)采集分析方案,將中文處理模塊加入數(shù)據(jù)采集系統(tǒng)中,實(shí)現(xiàn)中文的自動(dòng)分詞,停用詞去除等功能,增加的檢索效率,并在完成對(duì)數(shù)據(jù)整理后,為了實(shí)現(xiàn)后續(xù)需求,完成了給數(shù)據(jù)設(shè)置標(biāo)簽的功能。并且,通過(guò)采用多線程采集方式,并加入了控制、監(jiān)控模塊、采集配置、智能守護(hù)的異常處理等功能,使得采集工作可以更好地執(zhí)行,并在具有良好的容錯(cuò)性。本發(fā)明還可以實(shí)現(xiàn)數(shù)據(jù)采集的大并發(fā)量、自動(dòng)適應(yīng)網(wǎng)站改版、自動(dòng)配置代理地址和自動(dòng)重啟程序。
[0026]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【附圖說(shuō)明】
[0027]本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0028]圖1為根據(jù)本發(fā)明實(shí)施例的基于人工智能的數(shù)據(jù)采集方法的流程圖;
[0029]圖2為根據(jù)本發(fā)明實(shí)施例的URL地址的采集過(guò)程示意圖;
[0030]圖3為根據(jù)本發(fā)明實(shí)施例的驗(yàn)證碼識(shí)別流程圖;
[0031 ]圖4為根據(jù)本發(fā)明實(shí)施例的基于人工智能的數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)圖;
[0032]圖5為根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)采集子系統(tǒng)的結(jié)構(gòu)圖;
[0033]圖6為根據(jù)本發(fā)明實(shí)施例的云存儲(chǔ)子系統(tǒng)的結(jié)構(gòu)圖;
[0034]圖7為根據(jù)本發(fā)明實(shí)施例的主控制器的存儲(chǔ)示意圖。
【具體實(shí)施方式】
[0035]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
[0036]如圖1所示,本發(fā)明實(shí)施例的基于人工智能的數(shù)據(jù)采集方法,包括如下步驟:
[0037]步驟SI,根據(jù)預(yù)設(shè)的爬取鏈接數(shù)量或爬取的URL層數(shù),采用多線程方式從互聯(lián)網(wǎng)上爬取多個(gè)網(wǎng)頁(yè)的URL地址,將獲取的URL地址放入隊(duì)列,讀取URL地址和DNS解析以下載URL地址對(duì)應(yīng)網(wǎng)頁(yè)的數(shù)據(jù)信息,將已下載的網(wǎng)頁(yè)的數(shù)據(jù)信息存儲(chǔ)至已下載網(wǎng)頁(yè)庫(kù)。
[0038]需要說(shuō)明的是,用于完成數(shù)據(jù)采集的采集服務(wù)器都布置在私有云上,從而當(dāng)采集數(shù)據(jù)量增加時(shí),可以動(dòng)態(tài)的增加采集服務(wù)器而不影響整個(gè)系統(tǒng)的運(yùn)行。其中,對(duì)采集服務(wù)器自動(dòng)設(shè)置IP代理功能,輪換使用代理服務(wù)器來(lái)訪問(wèn)采集網(wǎng)站。
[0039]具體地,配置一個(gè)或多個(gè)種子URL地址,以每個(gè)種子URL地址作為起點(diǎn)進(jìn)行數(shù)據(jù)采集。即,通過(guò)定義幾個(gè)網(wǎng)站的首頁(yè)作為網(wǎng)絡(luò)爬蟲爬取數(shù)據(jù)的種子頁(yè)面,以這些頁(yè)面為起點(diǎn),展開數(shù)據(jù)采集工作。
[0040]根據(jù)預(yù)設(shè)的采集時(shí)間參數(shù)獲取這段時(shí)間內(nèi)的網(wǎng)站上的數(shù)據(jù)。自動(dòng)化配置采集類另IJ、主題、時(shí)長(zhǎng)和相關(guān)度的閾值,然后刪除與主題無(wú)關(guān)的網(wǎng)頁(yè)內(nèi)容。具體地,確定網(wǎng)絡(luò)爬蟲采集數(shù)據(jù)時(shí)的偏好設(shè)置,去掉廣告、導(dǎo)航條、友情鏈接等與主題內(nèi)容無(wú)關(guān)的鏈接、文本、圖片、動(dòng)畫、視頻。
[0041 ]在完成上述配置后,從一個(gè)或多個(gè)種子URL地址開始,獲得初始網(wǎng)頁(yè)上的URL,在抓取網(wǎng)頁(yè)的過(guò)程中,以爬取鏈接數(shù)量或者爬取的URL的層數(shù)等因素作為限制條件,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的限制條件時(shí)停止。
[0042]具體地,參考圖2,計(jì)算爬取鏈接與預(yù)設(shè)主題的相關(guān)度,選取相關(guān)度大于相關(guān)度的閾值的URL地址,將上述URL地址放入已抓取的URL隊(duì)列中。
[0043]計(jì)算爬取鏈接與主題的相關(guān)度,篩選過(guò)濾與所爬取的主題相關(guān)度小于閾值的鏈接,保留下與主題相關(guān)的URL并將其放入已抓取的URL隊(duì)列中。然后,根據(jù)某種的搜索條件從已抓取的隊(duì)列中抽取出新的URL放入待抓取URL隊(duì)列進(jìn)行下一層的抓取。重復(fù)以上過(guò)程,直到滿足系統(tǒng)的限制條件時(shí)停止。此方法可以盡可能多的采集與主題相關(guān)的頁(yè)面,減少與主題不相關(guān)的頁(yè)面的采集,使得數(shù)據(jù)采集系統(tǒng)更加高效。
[0044]步驟SI,還包括如下步驟:實(shí)時(shí)監(jiān)控采集過(guò)程的當(dāng)前執(zhí)行動(dòng)作、采集數(shù)據(jù)量、采集時(shí)長(zhǎng)、采集服務(wù)器的工作狀態(tài),并生成系統(tǒng)日志和用戶日志。
[0045]具體地,實(shí)時(shí)監(jiān)控整個(gè)采集過(guò)程,包括實(shí)時(shí)獲得數(shù)據(jù)采集過(guò)程的情況,例如:數(shù)據(jù)采集進(jìn)行到的步驟、采集得到數(shù)據(jù)量、采集總共所用的時(shí)間、采集服務(wù)器是否還在繼續(xù)工作等。如果采集服務(wù)器沒有繼續(xù)工作,則將該采集服務(wù)器上的運(yùn)行的任務(wù)交給其他采集服務(wù)器,然后給用戶提供異常報(bào)警服務(wù)。上述采集監(jiān)控信息均生成相應(yīng)的系統(tǒng)日志和用戶日志,以供系統(tǒng)及用戶后續(xù)分析查看。
[0046]在步驟SI中,當(dāng)檢測(cè)到待爬取的網(wǎng)頁(yè)需要輸入驗(yàn)證碼時(shí),對(duì)驗(yàn)證碼圖片進(jìn)行預(yù)處理和圖像識(shí)別,提取圖像特征值,采用基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法對(duì)圖像特征值進(jìn)行計(jì)算以識(shí)別出驗(yàn)證碼并自動(dòng)輸入,在輸入驗(yàn)證碼后并進(jìn)入網(wǎng)頁(yè)后,繼續(xù)執(zhí)行對(duì)該網(wǎng)頁(yè)的數(shù)據(jù)采集。
[0047]參考圖3,當(dāng)目標(biāo)網(wǎng)站中需要輸入驗(yàn)證碼才能訪問(wèn)時(shí),通過(guò)數(shù)字圖像處理中的驗(yàn)證碼識(shí)別技術(shù)可以將自動(dòng)獲得驗(yàn)證碼,確保采集服務(wù)器可以繼續(xù)采集數(shù)據(jù)。
[0048]在本發(fā)明的一個(gè)實(shí)施例中,本步驟采用基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法用來(lái)識(shí)別驗(yàn)證碼。具體地,神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)是模擬人類大腦神經(jīng)突出的連接結(jié)構(gòu)進(jìn)行信息傳遞和信息處理的一種數(shù)學(xué)模型。神經(jīng)網(wǎng)絡(luò)包括大量的節(jié)點(diǎn)和相互之前連接結(jié)構(gòu)。每一個(gè)節(jié)點(diǎn)表示一種類型的輸出函數(shù),節(jié)點(diǎn)之間的連接代表通過(guò)該渠道信號(hào)的加權(quán)值。通過(guò)不斷的修改其內(nèi)部節(jié)點(diǎn)中的連接關(guān)系找到最優(yōu)解,從而達(dá)到處理輸入信息的目的。
[0049]在本步驟中,通過(guò)人工智能的神經(jīng)網(wǎng)絡(luò)算法,識(shí)別常見的驗(yàn)證碼。例如,網(wǎng)站中圖片的驗(yàn)證碼包括大寫字母、小寫字母、數(shù)字等三個(gè)部分。下面對(duì)這三個(gè)部分采用三個(gè)神經(jīng)網(wǎng)絡(luò)子網(wǎng)進(jìn)行識(shí)別的過(guò)程進(jìn)行說(shuō)明。
[0050]如圖3所示,首先識(shí)別到驗(yàn)證碼圖片,然后對(duì)識(shí)別出的驗(yàn)證碼圖片進(jìn)行預(yù)處理操作。其后對(duì)驗(yàn)證碼進(jìn)行識(shí)別和分割,并分別利用預(yù)設(shè)的大寫字母神經(jīng)網(wǎng)絡(luò)、小寫字母神經(jīng)網(wǎng)絡(luò)和數(shù)字神經(jīng)網(wǎng)絡(luò),對(duì)驗(yàn)證碼圖片進(jìn)行特征值提取,建立單個(gè)字符樣本數(shù)據(jù),確定好輸入數(shù)據(jù),然后隨機(jī)初始化各個(gè)節(jié)點(diǎn)間權(quán)重,運(yùn)用神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù)計(jì)算輸出結(jié)果并計(jì)算其誤差,通過(guò)反復(fù)調(diào)整各個(gè)節(jié)點(diǎn)間的權(quán)重值直到計(jì)算出的誤差與預(yù)測(cè)輸出結(jié)果偏差縮小到一定范圍內(nèi),則系統(tǒng)達(dá)到理想的效果,完成整個(gè)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程。利用模板匹配技術(shù)建立驗(yàn)證碼圖內(nèi)容的數(shù)據(jù)庫(kù)。具體地模板匹配是計(jì)算機(jī)圖形學(xué)中的一種重要的圖像處理技術(shù)。模板匹配需要建立一個(gè)或多個(gè)模板庫(kù),將匹配的圖像與模板庫(kù)進(jìn)行一一對(duì)比,找到與圖像最匹配的模板得到匹配結(jié)果。由于當(dāng)前網(wǎng)站的驗(yàn)證碼圖片字符和大小相對(duì)固定,可以設(shè)置各個(gè)字母與數(shù)字對(duì)應(yīng)的模板庫(kù),把相關(guān)的配置字段存儲(chǔ)到數(shù)據(jù)庫(kù)中,通過(guò)模板匹配的方法對(duì)驗(yàn)證碼的內(nèi)容進(jìn)行匹配,從而識(shí)別出驗(yàn)證碼圖片中的大寫字母、小寫字母和數(shù)字。
[0051 ]進(jìn)而,根據(jù)驗(yàn)證碼圖片的識(shí)別結(jié)果,自動(dòng)輸入驗(yàn)證碼,進(jìn)入網(wǎng)頁(yè),實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)數(shù)據(jù)信息的爬取。
[0052]在網(wǎng)頁(yè)的爬取過(guò)程中,當(dāng)遇到網(wǎng)頁(yè)中的中文詞匯時(shí),采用中文自動(dòng)分詞功能。具體地,由于原始數(shù)據(jù)包括公告,統(tǒng)計(jì)表格等不同形式,為了得到一致的半結(jié)構(gòu)化以及結(jié)構(gòu)化數(shù)據(jù),需要將原始數(shù)據(jù)中的有效數(shù)據(jù)進(jìn)行提取。為了實(shí)現(xiàn)上述目標(biāo),需對(duì)原始數(shù)據(jù)進(jìn)行分詞,從而將其中所需要的數(shù)據(jù)切分出來(lái)。中文分詞就是將句子中的詞匯按照使用時(shí)的意義劃分出來(lái)。由于漢語(yǔ)詞與詞之間沒有空格,因此對(duì)于漢語(yǔ)文檔信息的提取無(wú)法向英語(yǔ)那樣直接。因此數(shù)據(jù)切分首先面臨的問(wèn)題是漢語(yǔ)的自動(dòng)分詞。
[0053]本發(fā)明采用的中文分詞算法為將統(tǒng)計(jì)的方法與詞典的方法進(jìn)行結(jié)合,對(duì)原始數(shù)據(jù)中的有效數(shù)據(jù)進(jìn)行提取,得到整理后的半結(jié)構(gòu)化以及結(jié)構(gòu)化數(shù)據(jù)。
[0054]為了提高節(jié)省存儲(chǔ)空間和提高處理效率,在進(jìn)行中文自動(dòng)分詞之前需要過(guò)濾掉某些字或者詞匯,這些便成為停用詞,在文本處理中如果遇到這些停用詞便要立刻停止,將其扔掉,從而減少了數(shù)據(jù)的索引量,增加了檢索效率。在完成對(duì)數(shù)據(jù)整理后,為了實(shí)現(xiàn)后續(xù)需求,需對(duì)不同數(shù)據(jù)進(jìn)行分類,即為數(shù)據(jù)設(shè)置標(biāo)簽。
[0055]需要說(shuō)明的是,本發(fā)明采用多線程方式實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的爬取。其中,多線程包括:一個(gè)主線程和多個(gè)子線程。主線程進(jìn)行總體控制,多個(gè)子線程協(xié)同完成。具體地,主線程可以檢測(cè)所有子線程是否全部休眠、是否為空以及是否被鎖定等問(wèn)題,從而使得整個(gè)數(shù)據(jù)采集工作可以順利向下進(jìn)行。這種多線程的方式,可以提高數(shù)據(jù)采集的效率。
[0056]步驟S2,將步驟SI的數(shù)據(jù)信息輸入至預(yù)設(shè)的人工智能的機(jī)器學(xué)習(xí)訓(xùn)練集,以對(duì)數(shù)據(jù)信息自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練以區(qū)分?jǐn)?shù)據(jù)信息的屬性,對(duì)數(shù)據(jù)信息進(jìn)行分類并設(shè)置對(duì)應(yīng)的標(biāo)簽。
[0057]在本發(fā)明的一個(gè)實(shí)施例中,采用規(guī)則歸納的機(jī)械學(xué)習(xí)(MachineLearning)方法對(duì)網(wǎng)頁(yè)的數(shù)據(jù)信息進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練。
[0058]具體地,機(jī)器學(xué)習(xí)是一種使獲取知識(shí)自動(dòng)化的計(jì)算方法的學(xué)習(xí)。目的是使計(jì)算機(jī)獲取新的知識(shí)或技能,從而不斷改善自身的性能。機(jī)器學(xué)習(xí)技術(shù)被廣泛用于分類(classificat1n)、預(yù)測(cè)(predict1n)、關(guān)聯(lián)(associat1n)以及偵查(detect1n)等目的。
[0059]本步驟中采用的是規(guī)則歸納(RuleInduct1n)的機(jī)器學(xué)習(xí)方法,該技術(shù)利用訓(xùn)練集中產(chǎn)生的一棵決策樹或一組決策規(guī)則來(lái)進(jìn)行分類,具有易于處理大型數(shù)據(jù),適合進(jìn)行分類和預(yù)測(cè)的優(yōu)點(diǎn)。對(duì)于整理后的不同數(shù)據(jù),其數(shù)據(jù)間有明確以及清晰的分類標(biāo)準(zhǔn)。因此,利用機(jī)器學(xué)習(xí)技術(shù)中的規(guī)則歸納方法,先人工整理并提取數(shù)據(jù),準(zhǔn)備相關(guān)分類的訓(xùn)練集文本放置到相應(yīng)的目錄下,自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練并借此來(lái)確定用來(lái)區(qū)分的屬性。當(dāng)分類屬性確定好后,可以通過(guò)分析對(duì)新的數(shù)據(jù)進(jìn)行合適的分類,為數(shù)據(jù)打上標(biāo)簽。
[0060]步驟S3,將機(jī)器學(xué)習(xí)分類后的數(shù)據(jù)信息存儲(chǔ)到云端服務(wù)器,其中,云端服務(wù)器采用Hadoop和NoSQL的云存儲(chǔ)方式。
[0061 ]具體地,將爬取下來(lái)經(jīng)過(guò)機(jī)器學(xué)習(xí)的數(shù)據(jù)信息,保存到云端服務(wù)器中。
[0062]需要說(shuō)明的是,在將數(shù)據(jù)信息存儲(chǔ)到云端服務(wù)器之前,需要先對(duì)數(shù)據(jù)信息進(jìn)行壓縮。即,運(yùn)用高強(qiáng)度的數(shù)據(jù)壓縮算法對(duì)源數(shù)據(jù)進(jìn)行壓縮,壓縮比例50%左右。數(shù)據(jù)壓縮是用最少的代碼來(lái)表示原始數(shù)據(jù),將一種數(shù)據(jù)的表示方式轉(zhuǎn)變?yōu)榱硪环N表示方式,但長(zhǎng)度卻比原來(lái)短。
[0063]在本發(fā)明的一個(gè)實(shí)施例中,采用基于字典的數(shù)據(jù)壓縮算法對(duì)數(shù)據(jù)信息進(jìn)行壓縮,其基本思想是用比較短的數(shù)字和符號(hào)對(duì)各種可能出現(xiàn)的較長(zhǎng)的字符串進(jìn)行組合編碼,并將各種編碼以及它們對(duì)應(yīng)的數(shù)據(jù)都記錄在字典中構(gòu)成字典的數(shù)據(jù)項(xiàng)。在數(shù)據(jù)壓縮過(guò)程中從原數(shù)據(jù)中讀入數(shù)據(jù),并將其與字典中記錄的數(shù)據(jù)進(jìn)行匹配,輸出相應(yīng)的編碼,使得數(shù)據(jù)所占用空間被大大壓縮。
[0064]在完成上述數(shù)據(jù)壓縮后,將壓縮后的數(shù)據(jù)信息傳輸至云端服務(wù)器。由于云端服務(wù)器采用Hadoop和NoSQL的云存儲(chǔ)方式,可以構(gòu)造海量數(shù)據(jù)的解決方案,可以實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性,并提高存儲(chǔ)效率。
[0065]NoSQL指的是非關(guān)系型的數(shù)據(jù)庫(kù),它是為了解決多重?cái)?shù)據(jù)種類及大數(shù)據(jù)而產(chǎn)生的,適用于以下幾種情況:1)數(shù)據(jù)模型較為簡(jiǎn)單;2)對(duì)數(shù)據(jù)庫(kù)性能要求較高;3)不需要高度的數(shù)據(jù)一致性;4)對(duì)于給定的關(guān)鍵字,映射復(fù)雜值較為容易;5)需要靈活性強(qiáng)的IT系統(tǒng)。
[0066]NoSQL采用Key-Value的方式存儲(chǔ),其中關(guān)鍵字Key由一級(jí)主要關(guān)鍵字和二級(jí)次要關(guān)鍵字組成。并且,可對(duì)NoSQL數(shù)據(jù)庫(kù)編寫SQL查詢和連接關(guān)系表。同時(shí)它還支持Hadoop以及Apache的map-reduce技術(shù),具有數(shù)據(jù)模型簡(jiǎn)單、擴(kuò)展性強(qiáng)、行為可預(yù)測(cè)性強(qiáng)、可用性高、管理與維護(hù)方便等特點(diǎn)。
[0067]此外,云端服務(wù)器采用分布式數(shù)據(jù)采集系統(tǒng)架構(gòu),在hadoop上運(yùn)行分布式的數(shù)據(jù)采集程序。分布式數(shù)據(jù)采集基于web的hadoop方式,其存儲(chǔ)采用HDFS分布式文件系統(tǒng),用于計(jì)算各個(gè)節(jié)點(diǎn)上存儲(chǔ)的數(shù)據(jù),并提供對(duì)數(shù)據(jù)讀寫的較高的容錯(cuò)性;計(jì)算邏輯采用mapreduce計(jì)算框架,其能夠?qū)?yīng)用程序分割成很多小的工作單元,每個(gè)工作單元可以在任何服務(wù)器集群節(jié)點(diǎn)上執(zhí)行。
[0068]在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)檢測(cè)到數(shù)據(jù)采集異常、云端服務(wù)器異常或網(wǎng)絡(luò)異常時(shí),記錄異常發(fā)生時(shí)最后抓取的URL地址,并在系統(tǒng)重啟后,自動(dòng)從該記錄的URL地址開始恢復(fù)爬取。
[0069]具體地,當(dāng)采集過(guò)程中出現(xiàn)網(wǎng)絡(luò)中斷、服務(wù)器異常停止、數(shù)據(jù)采集系統(tǒng)異常中斷等不可抗力宕機(jī)時(shí),及時(shí)保護(hù)現(xiàn)場(chǎng)參數(shù),記錄停止或線程死掉時(shí)最后抓取的URL地址,然后自動(dòng)重啟系統(tǒng),再次運(yùn)行程序時(shí)從上次記錄的URL地址開始爬取,使得系統(tǒng)可以恢復(fù)之前抓取數(shù)據(jù)的進(jìn)度。然后,在故障排除時(shí),可以以上次記錄的URL地址為起點(diǎn),繼續(xù)執(zhí)行數(shù)據(jù)爬取過(guò)程。
[0070]如圖4所示,本發(fā)明實(shí)施例還提出一種基于人工智能的數(shù)據(jù)采集系統(tǒng),包括:數(shù)據(jù)采集子系統(tǒng)I和云存儲(chǔ)子系統(tǒng)2。
[0071]具體地,如圖5所示,數(shù)據(jù)采集子系統(tǒng)I包括:多臺(tái)采集服務(wù)器,每臺(tái)采集服務(wù)器與網(wǎng)頁(yè)服務(wù)器進(jìn)行通信,用于根據(jù)預(yù)設(shè)的爬取鏈接數(shù)量或爬取的URL層數(shù),采用多線程方式從互聯(lián)網(wǎng)上爬取多個(gè)網(wǎng)頁(yè)的URL地址,將獲取的URL地址放入隊(duì)列,讀取URL地址和DNS解析以下載URL地址對(duì)應(yīng)網(wǎng)頁(yè)的數(shù)據(jù)信息,將已下載的網(wǎng)頁(yè)的數(shù)據(jù)信息存儲(chǔ)至已下載網(wǎng)頁(yè)庫(kù)。
[0072]需要說(shuō)明的是,用于完成數(shù)據(jù)采集的采集服務(wù)器都布置在私有云上,從而當(dāng)采集數(shù)據(jù)量增加時(shí),可以動(dòng)態(tài)的增加采集服務(wù)器而不影響整個(gè)系統(tǒng)的運(yùn)行。其中,對(duì)采集服務(wù)器自動(dòng)設(shè)置IP代理功能,輪換使用代理服務(wù)器來(lái)訪問(wèn)采集網(wǎng)站。
[0073]具體地,配置一個(gè)或多個(gè)種子URL地址,以每個(gè)種子URL地址作為起點(diǎn)進(jìn)行數(shù)據(jù)采集。即,通過(guò)定義幾個(gè)網(wǎng)站的首頁(yè)作為網(wǎng)絡(luò)爬蟲爬取數(shù)據(jù)的種子頁(yè)面,以這些頁(yè)面為起點(diǎn),展開數(shù)據(jù)采集工作。
[0074]根據(jù)預(yù)設(shè)的采集時(shí)間參數(shù)獲取這段時(shí)間內(nèi)的網(wǎng)站上的數(shù)據(jù)。自動(dòng)化配置采集類另IJ、主題、時(shí)長(zhǎng)和相關(guān)度的閾值,然后刪除與主題無(wú)關(guān)的網(wǎng)頁(yè)內(nèi)容。具體地,確定網(wǎng)絡(luò)爬蟲采集數(shù)據(jù)時(shí)的偏好設(shè)置,去掉廣告、導(dǎo)航條、友情鏈接等與主題內(nèi)容無(wú)關(guān)的鏈接、文本、圖片、動(dòng)畫、視頻。
[0075]在完成上述配置后,從一個(gè)或多個(gè)種子URL地址開始,獲得初始網(wǎng)頁(yè)上的URL,在抓取網(wǎng)頁(yè)的過(guò)程中,以爬取鏈接數(shù)量或者爬取的URL的層數(shù)等因素作為限制條件,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的限制條件時(shí)停止。
[0076]具體地,計(jì)算爬取鏈接與預(yù)設(shè)主題的相關(guān)度,選取相關(guān)度大于相關(guān)度的閾值的URL地址,將上述URL地址放入已抓取的URL隊(duì)列中。計(jì)算爬取鏈接與主題的相關(guān)度,篩選過(guò)濾與所爬取的主題相關(guān)度小于閾值的鏈接,保留下與主題相關(guān)的URL并將其放入已抓取的URL隊(duì)列中。然后,根據(jù)某種的搜索條件從已抓取的隊(duì)列中抽取出新的URL放入待抓取URL隊(duì)列進(jìn)行下一層的抓取。重復(fù)以上過(guò)程,直到滿足系統(tǒng)的限制條件時(shí)停止。此方法可以盡可能多的采集與主題相關(guān)的頁(yè)面,減少與主題不相關(guān)的頁(yè)面的采集,使得數(shù)據(jù)采集系統(tǒng)更加高效。
[0077]數(shù)據(jù)采集子系統(tǒng)I還可以實(shí)時(shí)監(jiān)控采集過(guò)程的當(dāng)前執(zhí)行動(dòng)作、采集數(shù)據(jù)量、采集時(shí)長(zhǎng)、采集服務(wù)器的工作狀態(tài),并生成系統(tǒng)日志和用戶日志。具體地,實(shí)時(shí)監(jiān)控整個(gè)采集過(guò)程,包括實(shí)時(shí)獲得數(shù)據(jù)采集過(guò)程的情況,例如:數(shù)據(jù)采集進(jìn)行到的步驟、采集得到數(shù)據(jù)量、采集總共所用的時(shí)間、采集服務(wù)器是否還在繼續(xù)工作等。如果采集服務(wù)器沒有繼續(xù)工作,則將該采集服務(wù)器上的運(yùn)行的任務(wù)交給其他采集服務(wù)器,然后給用戶提供異常報(bào)警服務(wù)。上述采集監(jiān)控信息均生成相應(yīng)的系統(tǒng)日志和用戶日志,以供系統(tǒng)及用戶后續(xù)分析查看。
[0078]當(dāng)數(shù)據(jù)采集子系統(tǒng)I檢測(cè)到待爬取的網(wǎng)頁(yè)需要輸入驗(yàn)證碼時(shí),對(duì)驗(yàn)證碼圖片進(jìn)行預(yù)處理和圖像識(shí)別,提取圖像特征值,采用基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法對(duì)圖像特征值進(jìn)行計(jì)算以識(shí)別出驗(yàn)證碼并自動(dòng)輸入,在輸入驗(yàn)證碼后并進(jìn)入網(wǎng)頁(yè)后,繼續(xù)執(zhí)行對(duì)該網(wǎng)頁(yè)的數(shù)據(jù)米集。
[0079]當(dāng)目標(biāo)網(wǎng)站中需要輸入驗(yàn)證碼才能訪問(wèn)時(shí),通過(guò)數(shù)字圖像處理中的驗(yàn)證碼識(shí)別技術(shù)可以將自動(dòng)獲得驗(yàn)證碼,確保采集服務(wù)器可以繼續(xù)采集數(shù)據(jù)。
[0080]在本發(fā)明的一個(gè)實(shí)施例中,通過(guò)人工智能的神經(jīng)網(wǎng)絡(luò)算法,識(shí)別常見的驗(yàn)證碼。例如,網(wǎng)站中圖片的驗(yàn)證碼包括大寫字母、小寫字母、數(shù)字等三個(gè)部分。進(jìn)而,根據(jù)驗(yàn)證碼圖片的識(shí)別結(jié)果,自動(dòng)輸入驗(yàn)證碼,進(jìn)入網(wǎng)頁(yè),實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)數(shù)據(jù)信息的爬取。
[0081]在網(wǎng)頁(yè)的爬取過(guò)程中,當(dāng)遇到網(wǎng)頁(yè)中的中文詞匯時(shí),采用中文自動(dòng)分詞功能。本發(fā)明采用的中文分詞算法為將統(tǒng)計(jì)的方法與詞典的方法進(jìn)行結(jié)合,對(duì)原始數(shù)據(jù)中的有效數(shù)據(jù)進(jìn)行提取,得到整理后的半結(jié)構(gòu)化以及結(jié)構(gòu)化數(shù)據(jù)。
[0082]為了提高節(jié)省存儲(chǔ)空間和提高處理效率,在進(jìn)行中文自動(dòng)分詞之前需要過(guò)濾掉某些字或者詞匯,這些便成為停用詞,在文本處理中如果遇到這些停用詞便要立刻停止,將其扔掉,從而減少了數(shù)據(jù)的索引量,增加了檢索效率。在完成對(duì)數(shù)據(jù)整理后,為了實(shí)現(xiàn)后續(xù)需求,需對(duì)不同數(shù)據(jù)進(jìn)行分類,即為數(shù)據(jù)設(shè)置標(biāo)簽。
[0083]需要說(shuō)明的是,本發(fā)明采用多線程方式實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的爬取。其中,多線程包括:一個(gè)主線程和多個(gè)子線程。主線程進(jìn)行總體控制,多個(gè)子線程協(xié)同完成。具體地,主線程可以檢測(cè)所有子線程是否全部休眠、是否為空以及是否被鎖定等問(wèn)題,從而使得整個(gè)數(shù)據(jù)采集工作可以順利向下進(jìn)行。這種多線程的方式,可以提高數(shù)據(jù)采集的效率。
[0084]采集服務(wù)器進(jìn)一步將數(shù)據(jù)信息輸入至預(yù)設(shè)的人工智能的機(jī)器學(xué)習(xí)訓(xùn)練集,以對(duì)數(shù)據(jù)信息自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練以區(qū)分?jǐn)?shù)據(jù)信息的屬性,對(duì)數(shù)據(jù)信息進(jìn)行分類并設(shè)置對(duì)應(yīng)的標(biāo)簽,并將機(jī)器學(xué)習(xí)訓(xùn)練后的數(shù)據(jù)信息發(fā)送至云存儲(chǔ)子系統(tǒng)2。
[0085]在本發(fā)明的一個(gè)實(shí)施例中,采集服務(wù)器采用規(guī)則歸納的機(jī)械學(xué)習(xí)(MachineLearning)方法對(duì)網(wǎng)頁(yè)的數(shù)據(jù)信息進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練。
[0086]具體地,機(jī)器學(xué)習(xí)是一種使獲取知識(shí)自動(dòng)化的計(jì)算方法的學(xué)習(xí)。目的是使計(jì)算機(jī)獲取新的知識(shí)或技能,從而不斷改善自身的性能。機(jī)器學(xué)習(xí)技術(shù)被廣泛用于分類(classificat1n)、預(yù)測(cè)(predict1n)、關(guān)聯(lián)(associat1n)以及偵查(detect1n)等目的。
[0087]采集服務(wù)器采用的是規(guī)則歸納(Rule Induct1n)的機(jī)器學(xué)習(xí)方法,該技術(shù)利用訓(xùn)練集中產(chǎn)生的一棵決策樹或一組決策規(guī)則來(lái)進(jìn)行分類,具有易于處理大型數(shù)據(jù),適合進(jìn)行分類和預(yù)測(cè)的優(yōu)點(diǎn)。對(duì)于整理后的不同數(shù)據(jù),其數(shù)據(jù)間有明確以及清晰的分類標(biāo)準(zhǔn)。因此,利用機(jī)器學(xué)習(xí)技術(shù)中的規(guī)則歸納方法,先人工整理并提取數(shù)據(jù),準(zhǔn)備相關(guān)分類的訓(xùn)練集文本放置到相應(yīng)的目錄下,自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練并借此來(lái)確定用來(lái)區(qū)分的屬性。當(dāng)分類屬性確定好后,可以通過(guò)分析對(duì)新的數(shù)據(jù)進(jìn)行合適的分類,為數(shù)據(jù)打上標(biāo)簽。
[0088]如圖6所示,云存儲(chǔ)子系統(tǒng)2包括:多個(gè)存儲(chǔ)節(jié)點(diǎn)服務(wù)器、光纖路由器和主控服務(wù)器,其中,每個(gè)存儲(chǔ)節(jié)點(diǎn)服務(wù)器用于接收來(lái)自數(shù)據(jù)采集子系統(tǒng)的采集服務(wù)器的數(shù)據(jù)信息,并將數(shù)據(jù)信息通過(guò)光線路由器發(fā)送至主控服務(wù)器,由主控服務(wù)器(Master控制器)采用Hadoop和NoSQL的云存儲(chǔ)方式,運(yùn)行HDFS分布式文件系統(tǒng),對(duì)來(lái)自每個(gè)采集服務(wù)器的數(shù)據(jù)信息作為一個(gè)節(jié)點(diǎn)進(jìn)行存儲(chǔ),并發(fā)送至遠(yuǎn)程監(jiān)控服務(wù)器,以由管理員對(duì)數(shù)據(jù)采集過(guò)程進(jìn)行監(jiān)控。
[0089]需要說(shuō)明的是,如圖7所示,主控服務(wù)器只運(yùn)行名字節(jié)點(diǎn),可以看作是分布式文件系統(tǒng)中的管理者,主要負(fù)責(zé)管理文件系統(tǒng)的命名空間,包括對(duì)文件系統(tǒng)的建立、刪除等操作和集群信息的配置、存儲(chǔ)塊的復(fù)制等。而每一個(gè)數(shù)據(jù)采集服務(wù)器上運(yùn)行一個(gè)數(shù)據(jù)節(jié)點(diǎn),是文件的基本存儲(chǔ)單元。主控服務(wù)器將不同數(shù)據(jù)采集服務(wù)器上共享的文件夾組織在一起,構(gòu)成一個(gè)目錄樹,使得在用戶看來(lái)所有共享文件存儲(chǔ)在同一地點(diǎn),只需訪問(wèn)一個(gè)HDFS根目錄就能直接訪問(wèn)分布在網(wǎng)絡(luò)上的文件夾。
[0090]進(jìn)一步,云存儲(chǔ)子系統(tǒng)2還包括:數(shù)據(jù)壓縮模塊,數(shù)據(jù)壓縮模塊用于將來(lái)自數(shù)據(jù)采集子系統(tǒng)的數(shù)據(jù)信息,采用基于字典的數(shù)據(jù)壓縮算法進(jìn)行壓縮后,再發(fā)送至光線路由器,由光纖路由器轉(zhuǎn)發(fā)至主控服務(wù)器。具體地,在將數(shù)據(jù)信息存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)服務(wù)器之前,需要先由數(shù)據(jù)壓縮模塊對(duì)數(shù)據(jù)信息進(jìn)行壓縮。即,運(yùn)用高強(qiáng)度的數(shù)據(jù)壓縮算法對(duì)源數(shù)據(jù)進(jìn)行壓縮,壓縮比例50%左右。數(shù)據(jù)壓縮是用最少的代碼來(lái)表示原始數(shù)據(jù),將一種數(shù)據(jù)的表示方式轉(zhuǎn)變?yōu)榱硪环N表示方式,但長(zhǎng)度卻比原來(lái)短。
[0091]在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)壓縮模塊可以采用基于字典的數(shù)據(jù)壓縮算法對(duì)數(shù)據(jù)信息進(jìn)行壓縮,其基本思想是用比較短的數(shù)字和符號(hào)對(duì)各種可能出現(xiàn)的較長(zhǎng)的字符串進(jìn)行組合編碼,并將各種編碼以及它們對(duì)應(yīng)的數(shù)據(jù)都記錄在字典中構(gòu)成字典的數(shù)據(jù)項(xiàng)。在數(shù)據(jù)壓縮過(guò)程中從原數(shù)據(jù)中讀入數(shù)據(jù),并將其與字典中記錄的數(shù)據(jù)進(jìn)行匹配,輸出相應(yīng)的編碼,使得數(shù)據(jù)所占用空間被大大壓縮。
[0092]在完成上述數(shù)據(jù)壓縮后,將壓縮后的數(shù)據(jù)信息傳輸至存儲(chǔ)節(jié)點(diǎn)服務(wù)器。由于存儲(chǔ)節(jié)點(diǎn)服務(wù)器采用Hadoop和NoSQL的云存儲(chǔ)方式,可以構(gòu)造海量數(shù)據(jù)的解決方案,可以實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性,并提高存儲(chǔ)效率。
[0093]NoSQL指的是非關(guān)系型的數(shù)據(jù)庫(kù),它是為了解決多重?cái)?shù)據(jù)種類及大數(shù)據(jù)而產(chǎn)生的,適用于以下幾種情況:1)數(shù)據(jù)模型較為簡(jiǎn)單;2)對(duì)數(shù)據(jù)庫(kù)性能要求較高;3)不需要高度的數(shù)據(jù)一致性;4)對(duì)于給定的關(guān)鍵字,映射復(fù)雜值較為容易;5)需要靈活性強(qiáng)的IT系統(tǒng)。
[0094]NoSQL采用Key-Value的方式存儲(chǔ),其中關(guān)鍵字Key由一級(jí)主要關(guān)鍵字和二級(jí)次要關(guān)鍵字組成。并且,可對(duì)NoSQL數(shù)據(jù)庫(kù)編寫SQL查詢和連接關(guān)系表。同時(shí)它還支持Hadoop以及Apache的map-reduce技術(shù),具有數(shù)據(jù)模型簡(jiǎn)單、擴(kuò)展性強(qiáng)、行為可預(yù)測(cè)性強(qiáng)、可用性高、管理與維護(hù)方便等特點(diǎn)。
[0095]此外,存儲(chǔ)節(jié)點(diǎn)服務(wù)器采用分布式數(shù)據(jù)采集系統(tǒng)架構(gòu),在hadoop上運(yùn)行分布式的數(shù)據(jù)采集程序。分布式數(shù)據(jù)采集基于web的hadoop方式,其存儲(chǔ)采用HDFS分布式文件系統(tǒng),用于計(jì)算各個(gè)節(jié)點(diǎn)上存儲(chǔ)的數(shù)據(jù),并提供對(duì)數(shù)據(jù)讀寫的較高的容錯(cuò)性;計(jì)算邏輯采用mapreduce計(jì)算框架,其能夠?qū)?yīng)用程序分割成很多小的工作單元,每個(gè)工作單元可以在任何服務(wù)器集群節(jié)點(diǎn)上執(zhí)行。
[0096]進(jìn)一步,云存儲(chǔ)子系統(tǒng)還包括:備份節(jié)點(diǎn)服務(wù)器,備份節(jié)點(diǎn)服務(wù)器與主控服務(wù)器進(jìn)行通信,以對(duì)數(shù)據(jù)采集子系統(tǒng)采集的數(shù)據(jù)信息進(jìn)行備份存儲(chǔ)。
[0097]根據(jù)本發(fā)明實(shí)施例的基于人工智能的數(shù)據(jù)采集方法及系統(tǒng),采用基于人工智能機(jī)器學(xué)習(xí)的方式,結(jié)合優(yōu)化下載量、過(guò)濾與主題不相關(guān)的URL機(jī)制和本地多線程架構(gòu),綜合了時(shí)間與速度的開銷。利用機(jī)器學(xué)習(xí)的方法為數(shù)據(jù)打標(biāo)簽,篩選掉與主題不相關(guān)的鏈接,通過(guò)人工智能的神經(jīng)網(wǎng)絡(luò)算法來(lái)識(shí)別常見的驗(yàn)證碼,以實(shí)現(xiàn)本系統(tǒng)的自動(dòng)采集數(shù)據(jù)功能。并且,本發(fā)明運(yùn)用Hadoop和NoSQL結(jié)合的方式,分布式爬取和存儲(chǔ)海量數(shù)據(jù),并加入了高性能的數(shù)據(jù)壓縮算法對(duì)原數(shù)據(jù)進(jìn)行壓縮。此外,本發(fā)明采用創(chuàng)新性數(shù)據(jù)采集分析方案,將中文處理模塊加入數(shù)據(jù)采集系統(tǒng)中,實(shí)現(xiàn)中文的自動(dòng)分詞,停用詞去除等功能,增加的檢索效率,并在完成對(duì)數(shù)據(jù)整理后,為了實(shí)現(xiàn)后續(xù)需求,完成了給數(shù)據(jù)設(shè)置標(biāo)簽的功能。并且,通過(guò)采用多線程采集方式,并加入了控制、監(jiān)控模塊、采集配置、智能守護(hù)的異常處理等功能,使得采集工作可以更好地執(zhí)行,并在具有良好的容錯(cuò)性。本發(fā)明還可以實(shí)現(xiàn)數(shù)據(jù)采集的大并發(fā)量、自動(dòng)適應(yīng)網(wǎng)站改版、自動(dòng)配置代理地址和自動(dòng)重啟程序。
[0098]在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0099]盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求極其等同限定。
【主權(quán)項(xiàng)】
1.一種基于人工智能的數(shù)據(jù)采集方法,其特征在于,包括如下步驟: 步驟SI,根據(jù)預(yù)設(shè)的爬取鏈接數(shù)量或爬取的URL層數(shù),采用多線程方式從互聯(lián)網(wǎng)上爬取多個(gè)網(wǎng)頁(yè)的URL地址,將獲取的URL地址放入隊(duì)列,讀取URL地址和DNS解析以下載所述URL地址對(duì)應(yīng)網(wǎng)頁(yè)的數(shù)據(jù)信息,將已下載的網(wǎng)頁(yè)的數(shù)據(jù)信息存儲(chǔ)至已下載網(wǎng)頁(yè)庫(kù); 步驟S2,將所述步驟SI的數(shù)據(jù)信息輸入至預(yù)設(shè)的人工智能的機(jī)器學(xué)習(xí)訓(xùn)練集,以對(duì)所述數(shù)據(jù)信息自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練以區(qū)分所述數(shù)據(jù)信息的屬性,對(duì)所述數(shù)據(jù)信息進(jìn)行分類并設(shè)置對(duì)應(yīng)的標(biāo)簽; 步驟S3,將機(jī)器學(xué)習(xí)分類后的數(shù)據(jù)信息存儲(chǔ)到云端服務(wù)器,其中,所述云端服務(wù)器采用Hadoop和NoSQL的云存儲(chǔ)方式。2.如權(quán)利要求1所述的基于人工智能的數(shù)據(jù)采集方法,其特征在于,在所述步驟SI中, 配置一個(gè)或多個(gè)種子URL地址,以每個(gè)所述種子URL地址作為起點(diǎn)進(jìn)行數(shù)據(jù)采集; 根據(jù)預(yù)設(shè)的采集時(shí)間參數(shù)獲取這段時(shí)間內(nèi)的網(wǎng)站上的數(shù)據(jù); 配置采集類別、主題、時(shí)長(zhǎng)和相關(guān)度的閾值; 刪除與所述主題無(wú)關(guān)的網(wǎng)頁(yè)內(nèi)容。3.如權(quán)利要求2所述的基于人工智能的數(shù)據(jù)采集方法,其特征在于,計(jì)算爬取鏈接與預(yù)設(shè)主題的相關(guān)度,選取相關(guān)度大于所述相關(guān)度的閾值的URL地址,將上述URL地址放入已抓取的URL隊(duì)列中。4.如權(quán)利要求1所述的基于人工智能的數(shù)據(jù)采集方法,其特征在于,所述步驟SI,還包括如下步驟:實(shí)時(shí)監(jiān)控采集過(guò)程的當(dāng)前執(zhí)行動(dòng)作、采集數(shù)據(jù)量、采集時(shí)長(zhǎng)、采集服務(wù)器的工作狀態(tài),并生成系統(tǒng)日志和用戶日志。5.如權(quán)利要求1所述的基于人工智能的數(shù)據(jù)采集方法,其特征在于,在所述步驟SI中,當(dāng)檢測(cè)到待爬取的網(wǎng)頁(yè)需要輸入驗(yàn)證碼時(shí),對(duì)驗(yàn)證碼圖片進(jìn)行預(yù)處理和圖像識(shí)別,提取圖像特征值,采用基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法對(duì)所述圖像特征值進(jìn)行計(jì)算以識(shí)別出所述驗(yàn)證碼并自動(dòng)輸入,在輸入驗(yàn)證碼后并進(jìn)入網(wǎng)頁(yè)后,繼續(xù)執(zhí)行對(duì)該網(wǎng)頁(yè)的數(shù)據(jù)采集。6.如權(quán)利要求1所述的基于人工智能的數(shù)據(jù)采集方法,其特征在于,在所述步驟S2中,采用規(guī)則歸納的機(jī)械學(xué)習(xí)方法對(duì)所述網(wǎng)頁(yè)的數(shù)據(jù)信息進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練。7.如權(quán)利要求1-6任一項(xiàng)所述的基于人工指令的數(shù)據(jù)采集方法,其特征在于,當(dāng)檢測(cè)到數(shù)據(jù)采集異常、云端服務(wù)器異?;蚓W(wǎng)絡(luò)異常時(shí),記錄異常發(fā)生時(shí)最后抓取的URL地址,并在系統(tǒng)重啟后,自動(dòng)從該記錄的URL地址開始恢復(fù)爬取。8.—種基于人工智能的數(shù)據(jù)采集系統(tǒng),其特征在于,包括:數(shù)據(jù)采集子系統(tǒng)和云存儲(chǔ)子系統(tǒng), 所述數(shù)據(jù)采集子系統(tǒng)包括:多臺(tái)采集服務(wù)器,每臺(tái)采集服務(wù)器與網(wǎng)頁(yè)服務(wù)器進(jìn)行通信,用于根據(jù)預(yù)設(shè)的爬取鏈接數(shù)量或爬取的URL層數(shù),采用多線程方式從互聯(lián)網(wǎng)上爬取多個(gè)網(wǎng)頁(yè)的URL地址,將獲取的URL地址放入隊(duì)列,讀取URL地址和DNS解析以下載所述URL地址對(duì)應(yīng)網(wǎng)頁(yè)的數(shù)據(jù)信息,將已下載的網(wǎng)頁(yè)的數(shù)據(jù)信息存儲(chǔ)至已下載網(wǎng)頁(yè)庫(kù),以及將數(shù)據(jù)信息輸入至預(yù)設(shè)的人工智能的機(jī)器學(xué)習(xí)訓(xùn)練集,以對(duì)所述數(shù)據(jù)信息自動(dòng)機(jī)器學(xué)習(xí)訓(xùn)練以區(qū)分所述數(shù)據(jù)信息的屬性,對(duì)所述數(shù)據(jù)信息進(jìn)行分類并設(shè)置對(duì)應(yīng)的標(biāo)簽,并將機(jī)器學(xué)習(xí)訓(xùn)練后的數(shù)據(jù)信息發(fā)送至所述云存儲(chǔ)子系統(tǒng); 所述云存儲(chǔ)子系統(tǒng)包括:多個(gè)存儲(chǔ)節(jié)點(diǎn)服務(wù)器、光纖路由器和主控服務(wù)器,其中,每個(gè)所述存儲(chǔ)節(jié)點(diǎn)服務(wù)器用于接收來(lái)自所述數(shù)據(jù)采集子系統(tǒng)的采集服務(wù)器的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息通過(guò)所述光線路由器發(fā)送至所述主控服務(wù)器,由所述主控服務(wù)器采用Hadoop和NoSQL的云存儲(chǔ)方式,運(yùn)行HDFS分布式文件系統(tǒng),對(duì)來(lái)自每個(gè)所述采集服務(wù)器的數(shù)據(jù)信息作為一個(gè)節(jié)點(diǎn)進(jìn)行存儲(chǔ),并發(fā)送至遠(yuǎn)程監(jiān)控服務(wù)器,以由管理員對(duì)數(shù)據(jù)采集過(guò)程進(jìn)行監(jiān)控。9.如權(quán)利要求8所述的基于人工智能的數(shù)據(jù)采集系統(tǒng),其特征在于,所述云存儲(chǔ)子系統(tǒng)還包括:數(shù)據(jù)壓縮模塊,所述數(shù)據(jù)壓縮模塊用于將來(lái)自所述數(shù)據(jù)采集子系統(tǒng)的數(shù)據(jù)信息,采用基于字典的數(shù)據(jù)壓縮算法進(jìn)行壓縮后,再發(fā)送至所述光線路由器,由所述光纖路由器轉(zhuǎn)發(fā)至所述主控服務(wù)器。10.如權(quán)利要求8所述的基于人工智能的數(shù)據(jù)采集系統(tǒng),其特征在于,所述云存儲(chǔ)子系統(tǒng)還包括:備份節(jié)點(diǎn)服務(wù)器,所述備份節(jié)點(diǎn)服務(wù)器與所述主控服務(wù)器進(jìn)行通信,以對(duì)所述數(shù)據(jù)采集子系統(tǒng)采集的數(shù)據(jù)信息進(jìn)行備份存儲(chǔ)。
【文檔編號(hào)】G06N3/08GK105893583SQ201610204571
【公開日】2016年8月24日
【申請(qǐng)日】2016年4月1日
【發(fā)明人】高強(qiáng), 曹志松, 顧海英
【申請(qǐng)人】北京鼎泰智源科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄂伦春自治旗| 义乌市| 鹤山市| 儋州市| 梁山县| 鹤峰县| 视频| 白玉县| 清新县| 景宁| 定兴县| 桐城市| 保康县| 额济纳旗| 当雄县| 来宾市| 来凤县| 汽车| 济阳县| 淮北市| 鹤岗市| 清水县| 蓬溪县| 岳阳市| 星座| 香港 | 隆德县| 苏州市| 安塞县| 上林县| 浏阳市| 临邑县| 逊克县| 同德县| 台东市| 陵水| 娱乐| 兴城市| 柳江县| 武山县| 泽普县|