網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)_第1頁(yè)
網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)_第2頁(yè)
網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)_第3頁(yè)
網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)_第4頁(yè)
網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余47頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

我,本及其研究工作是由本人在導(dǎo)師指導(dǎo)下獨(dú)立完成的,在完成時(shí)所利用的一切資料均已在參考文獻(xiàn)中列出。作者:時(shí)間:20146NetworkautomatichottopicAuthor:LIShuihuaTutor:Sincethiscentury,duetotherapiddevelopmentofthemassivestoragetechnologyandInternettechnology,theInternethas eavastdatasourcesofinformation,fromwhichpeoplecanobtaindataquicklybyvariousways.Butwiththerapidgrowthofdata,peopleareconfusedinavarietyofdata,itisdifficulttofindtheinformationandknowledgetheyareinterestedin,itappearsthescenethat"themoredata,thelessknowledge".Ifthenetworkdataisorganizedbyitstopic,thenpeoplecanbeeasytovisittheinformationtheyareinterestedin.Therefore,howtoeffectivelydetectnetworkhottopichas eahotresearchtopicinthefieldofcurrentWebmining.Inviewofthisproblem,thispaper’smainresearchworkisasInthispaper,wedesignascript-drivenwebcrawler,forfastacquisitionofInternetdatasuchasnews,blogs,andBBSposts.Theintroductionofthescriptmakesthemaintainabilityofwebcrawlerhasgreatlyimproved,andmakeitbetterabletocopewithanddealwithchangesinthestructureofwebpagesoftheexistingwebsitesaswellasthenewwebsite.Inthedrivingofthescript,thewebcrawlercanalsostructurethedataonthewebpages,andstorethecorrespondingdatainthedatabase.Wedesignandimplementatopicdetectionandtrackingalgorithmwhichbasedonthevectormodel.Thealgorithmintroducesatopiccombinedmechanismtoimprovetheefficiencyoftopicdetection,itcangeneratehottopicsaccordingtothenumberofreportsintopic,generatesensitivetopicsaccordingtothenumberofsensitivewordsintopic.Wealsodividetopicintoseveralsubtopicsbythereleaseddateofrepotsintopic.Finally,wedomanyexperimentstodeterminethevalueofsomeparametersinthealgorithm,andvalidatetheeffectivenessofthe:Webcrawler,topicdetectionandtracking,topicmergence,緒 課題背景及意 國(guó)內(nèi)外研究狀 網(wǎng)絡(luò)爬蟲(chóng)的研究狀 話題檢測(cè)與的研究狀 課題研究?jī)?nèi) 驅(qū)動(dòng)的網(wǎng)絡(luò)爬 話題檢測(cè)與構(gòu) 相關(guān)工 開(kāi)發(fā)平 3驅(qū)動(dòng)的網(wǎng)絡(luò)爬 概 爬蟲(chóng)任務(wù)模 模塊描 爬蟲(chóng)任務(wù)語(yǔ) 解析與執(zhí)行模 模塊描 模塊功 模塊流 數(shù)據(jù)結(jié)構(gòu)化模 模塊描 模塊功 模塊流 輔助模 模塊描 模塊功 模塊流 話題檢測(cè)與概 話題檢測(cè)模 模塊描 模塊功 模塊流 批量轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)模 模塊描 模塊功 模塊流 子話題檢測(cè)模 模塊描 模塊功 模塊流 重要話題檢測(cè)模 模塊描 模塊功 模塊流 熱詞統(tǒng)計(jì)模 模塊描 模塊功 模塊流 效果展示與實(shí)驗(yàn)分 驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)的效果展 話題檢測(cè)與算法的效果展 話題檢測(cè)與算法中閾值的確 概 閾值α和閾值β的確 測(cè)試數(shù)據(jù) 結(jié) 工作總 下一步工 致 參考文 本世紀(jì)以來(lái),由于大規(guī)模技術(shù)和因特網(wǎng)技術(shù)的飛速發(fā)展,整個(gè)因特網(wǎng)已經(jīng)成為劇增長(zhǎng),人們淹沒(méi)在各種雜亂的數(shù)據(jù)中,難以找到自己真正感的信息與知識(shí),從而著“數(shù)據(jù)泛濫,知識(shí)貧乏”的。如果把網(wǎng)絡(luò)數(shù)據(jù)按照其描述的話題進(jìn)行組織,則可方便用戶(hù)游覽其感的信息。因此,如何有效地檢測(cè)網(wǎng)絡(luò)熱點(diǎn)話題已成為當(dāng)前Web挖掘領(lǐng)域的一個(gè)熱點(diǎn)研究課題。目前,國(guó)內(nèi)外存在大量的各種、博客、貼吧和。用戶(hù)如何從這些海量的數(shù)據(jù)資源中找到和閱讀自己感的數(shù)據(jù)和信息是一件很的事情。他們必須每天很多的,瀏覽海量的頁(yè)面以保證自己對(duì)某個(gè)方向的動(dòng)態(tài)了然于胸。本課題網(wǎng)絡(luò)話題的檢測(cè)與兩個(gè)部分。本課題的研究成果具有廣泛的應(yīng)用前景,比如,在網(wǎng)絡(luò)時(shí)可以將網(wǎng)絡(luò)爬蟲(chóng)鎖定到相關(guān)的(可以是一些著名的,也可以是一些熱門(mén)的貼吧和,然后就能觀測(cè)到以話題為單位展現(xiàn)的網(wǎng)絡(luò),這有助于有關(guān)機(jī)構(gòu)和部門(mén)對(duì)網(wǎng)絡(luò)的分析和掌控及時(shí)進(jìn)行決策和引導(dǎo)此外企業(yè)也可以利用網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)技術(shù)來(lái)歸類(lèi)和分析用戶(hù)或者潛在用戶(hù)對(duì)某些產(chǎn)品和。課“網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)來(lái)源于的項(xiàng)目需求在監(jiān)測(cè)全情的時(shí)候,蟲(chóng)和話題檢測(cè)與技術(shù)也可以分別應(yīng)用到其他不同的領(lǐng)域當(dāng)中。1.2.1網(wǎng)絡(luò)爬蟲(chóng)的研究狀網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)自動(dòng)搜尋網(wǎng)頁(yè)并提取其頁(yè)面內(nèi)容的程序[1]。網(wǎng)絡(luò)爬蟲(chóng)是以獲取量的判斷一般是從結(jié)構(gòu)出發(fā),而不是從頁(yè)面內(nèi)容出發(fā)來(lái)進(jìn)行的。指向高相關(guān)頁(yè)面的,過(guò)濾掉指向無(wú)關(guān)頁(yè)面的。網(wǎng)絡(luò)爬蟲(chóng)需要解決的主要問(wèn)題是對(duì)爬取目標(biāo)()的描述或定義對(duì)網(wǎng)頁(yè)內(nèi)容的相關(guān)度分析對(duì)的搜索策略集來(lái)描述一個(gè),引入集可以將對(duì)用戶(hù)需求的描述從單一上升到的對(duì)的定義工作是網(wǎng)絡(luò)爬蟲(chóng)的基礎(chǔ),它直接決定了網(wǎng)絡(luò)爬蟲(chóng)的爬行效果。常用的[2,4]搜索策略的基本思想是與初始在一定距離內(nèi)的網(wǎng)頁(yè)具有相關(guān)性的概率很低。最佳優(yōu)先搜索策略則是一個(gè)優(yōu)先隊(duì)列,將與相關(guān)度最高的放在優(yōu)先隊(duì)話題檢測(cè)與的研究狀話題檢測(cè)與評(píng)測(cè)會(huì)議把話題檢測(cè)與分成五個(gè)子任務(wù)表格 話題檢測(cè)與的技術(shù)任務(wù)任 定切(Story話(Story(StoryDetection)(NewEvent關(guān)聯(lián)檢(Link

找出所有的邊界把輸入的源數(shù)據(jù)流分割成各個(gè)獨(dú)立。給出某話題的一則或多則把后輸入進(jìn)來(lái)的相關(guān)和該話題聯(lián)系起來(lái)它實(shí)際上包括兩步首先出一組樣本,訓(xùn)練得到話題模型然后在后續(xù)中找出所有討論目標(biāo)話題的。判斷兩則PLSA[7]和L[8]準(zhǔn)LAT[9]TM模型中使用邏輯正態(tài)分布代替了雷分布。TM中舉的一個(gè)例子是在科學(xué)雜聯(lián)規(guī)則的分類(lèi)等。其中K-近鄰[10]的基本思想是把新的與所有舊比較,選擇其中最相似的K則,然后選擇包含這K則中數(shù)量最多的話題作為這則K-MEANS算法、K-MEDS算法、GAC算法等。但是如果話題檢測(cè)與面對(duì)的數(shù)比如增量K-MEANS根據(jù)時(shí)間窗口的大小從所有中抽出下一批未處理的判斷每一則新的是否屬于已生成的聚類(lèi)還是該用作新的聚類(lèi)重復(fù)步驟(2)-(3)轉(zhuǎn)(1)1.3.1驅(qū)動(dòng)的網(wǎng)絡(luò)爬計(jì)不同的,明確描述網(wǎng)絡(luò)爬蟲(chóng)的任務(wù)。在網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行時(shí),它只需要用專(zhuān)門(mén)設(shè)計(jì)的語(yǔ)言描寫(xiě)的任務(wù)文件就可以逐條完成用戶(hù)布置的任務(wù)。這種將網(wǎng)絡(luò)爬蟲(chóng)與其具體任務(wù)分開(kāi)的架構(gòu)對(duì)網(wǎng)絡(luò)爬蟲(chóng)的和更新非常有利,特別例如,用戶(hù)需要添加一個(gè)新出現(xiàn)的熱門(mén)作為數(shù)據(jù)來(lái)源,或者原本的數(shù)據(jù)來(lái)源的1.3.2話題檢測(cè)與客或者貼吧之類(lèi)。所以,其數(shù)據(jù)量會(huì)非常的大,這時(shí)候常規(guī)的話題檢測(cè)與題的熱度和敏感度等屬性,還需要題進(jìn)行階段性的劃分。本課題中的話題檢測(cè)與算法應(yīng)該滿足以下要求能有效的將劃分到其所屬的話題對(duì)于新的,能正確判斷出其所屬的舊話題,或者據(jù)此創(chuàng)建新話題第三章驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng),從原理、架構(gòu)到設(shè)計(jì)過(guò)程詳細(xì)介紹了本課題中所使用的驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)并介紹了話題熱度、敏感度的計(jì)算方法話題的劃分方法。本課題在實(shí)踐過(guò)程中使用Java作為編程語(yǔ)言,但是爬蟲(chóng)任務(wù)采用XML語(yǔ)言編寫(xiě)。所有代碼用集成開(kāi)發(fā)環(huán)境Eclipse中的Java工程進(jìn)行組織。所有數(shù)據(jù)于MysqlJava是由SunMicrosystems19955月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言和Java平臺(tái)的總稱(chēng)。由JamesGosling和同事們共同研發(fā),并在1995年正式推出。Java最初被稱(chēng)為Oak,是1991年為消費(fèi)類(lèi)電子產(chǎn)品的嵌入式而設(shè)計(jì)的。1995年更名為JavaInternet應(yīng)用程序。Java是一種計(jì)算機(jī)編程語(yǔ)言。由于具有戲控制臺(tái)科學(xué)超級(jí)計(jì)算機(jī)移動(dòng)和互聯(lián)網(wǎng)同時(shí)擁有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社區(qū)。特性。Java由四方面組成:JavaJavaJava虛擬機(jī)Java應(yīng)用程序接口(JavaAPI)XML記語(yǔ)言,比如HTML,也可以使用像XML這樣由相關(guān)自由決定的標(biāo)記語(yǔ)言,這就(XSL來(lái)傳送及攜帶數(shù)據(jù)信息,不用來(lái)表現(xiàn)或展示數(shù)據(jù),HTML語(yǔ)言則用來(lái)表現(xiàn)數(shù)據(jù),所以XML用途的焦點(diǎn)是它說(shuō)明數(shù)據(jù)是什么,以及攜帶數(shù)據(jù)信息。比如豐富文件,自定文件XML技術(shù)應(yīng)用,標(biāo)記是用來(lái)定義一份資料應(yīng)該(MetadataXML技術(shù)應(yīng)用,標(biāo)記是用來(lái)說(shuō)明一份資料的意義?;蛘吲渲梦臋nFilesEclipseJava語(yǔ)言。但由于C++、Python、PHPEclipse當(dāng)Java集成開(kāi)發(fā)環(huán)境(IDE)Eclipse的目標(biāo)卻不僅限于此。Eclipse還包括插件開(kāi)發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE,這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。由于EclipseEclipse提供插件,以及給用戶(hù)提供一致和統(tǒng)一JavaEclipseJava語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于內(nèi)容管理系統(tǒng)?;贓clipse的應(yīng)用程序的一個(gè)突出例子是IBMRationalSoftwareArchitectIBMJava開(kāi)發(fā)工具系列的基礎(chǔ)。、MySQL是一個(gè)開(kāi)放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng)。與其他的大型數(shù)據(jù)庫(kù)例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,但是這絲毫也沒(méi)有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL提供的功能已經(jīng)MySQL是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。Linux用這種方式不用花一分錢(qián)(除開(kāi)人工成本)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的系統(tǒng),中小型。不過(guò),隨著MySQL的不斷成熟,它也逐漸用于大規(guī)模和應(yīng)用,比如百科和等。MySQL使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)試,保證源代碼的可移植性。支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)。為多Ruby和Tcl等。支持多線程,充分利用CPU資源。優(yōu)化的SQL查詢(xún)算法,有效地提高、GB2312BIG5,Shift_JISTCP/IP、ODBCJDBC等數(shù)據(jù)庫(kù)。可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。支持多種引擎。HtmlUnitJunit的擴(kuò)展測(cè)試框架之一,該框架模擬瀏覽器的行為,開(kāi)發(fā)者可以使器HtmlUnit支持HTTPHTTPS表單的POST和GET方法能夠?qū)TMLRhinojs引擎,能夠模擬JavaScript的運(yùn)行。JavaScript代碼。但是在小型爬蟲(chóng)項(xiàng)目中,這種框架也十分有用,可以有效HtmlUnitJavaScriptJavaScript代碼HtmlUnit在本課題的實(shí)踐中被用作驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)的一個(gè)組件網(wǎng)絡(luò)爬蟲(chóng)用它JDOMXMLJavaJava開(kāi)發(fā)人員兼作者BrettMclaughlin和JasonHunter創(chuàng)作。這是一個(gè)完整的基于Java平臺(tái)的解決方案,Java開(kāi)發(fā)人員只需要通過(guò)JDOM提供的程序接口就可以快速的方便的、操作并輸出XML的數(shù)據(jù)。快速并分析使用XML語(yǔ)言編寫(xiě)的爬蟲(chóng)任務(wù)。3驅(qū)動(dòng)的網(wǎng)絡(luò)爬種網(wǎng)絡(luò)爬蟲(chóng)。它和網(wǎng)絡(luò)爬蟲(chóng)的區(qū)別在于,網(wǎng)絡(luò)爬蟲(chóng)是以網(wǎng)頁(yè)為單位爬調(diào)爬網(wǎng)網(wǎng)網(wǎng)文圖3.1驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)的功能框驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)分為4個(gè)模塊:爬蟲(chóng)任務(wù)模塊、解析與執(zhí)行模塊、數(shù)據(jù)結(jié)構(gòu)化模塊和輔助模塊。輔助模塊又分為3個(gè)子模塊:文件子模塊、處理除了爬蟲(chóng)任務(wù)是由XML語(yǔ)言寫(xiě)成的外,其他三個(gè)模塊都是由Java語(yǔ)言寫(xiě)成。驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)可以同時(shí)解析執(zhí)行多個(gè)爬蟲(chóng)任務(wù)(XML文件)并執(zhí)行。當(dāng)一 定一個(gè)睡眠時(shí)長(zhǎng)使線程在睡眠結(jié)束后可以再一次解析執(zhí)行改爬蟲(chóng)任務(wù)爬蟲(chóng)任務(wù)模爬蟲(chóng)任務(wù)模塊是驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)里一個(gè)非常獨(dú)特的模塊。這個(gè)模塊是由XML語(yǔ)言寫(xiě)成的文件組成。在驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)中,爬蟲(chóng)任務(wù)是可以修改驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)的,它定義了網(wǎng)絡(luò)爬蟲(chóng)的所有操作,它指導(dǎo)了網(wǎng)絡(luò)爬蟲(chóng)頁(yè)爬蟲(chóng)任務(wù)語(yǔ)語(yǔ)言規(guī)范是建立在XML語(yǔ)言上的,這個(gè)創(chuàng)意來(lái)源于作者開(kāi)發(fā)安卓應(yīng)用和Windows8應(yīng)用時(shí)的經(jīng)驗(yàn)。雖然在安卓應(yīng)用和Windows8應(yīng)用中,它們只是用XML來(lái)定制構(gòu)性的標(biāo)記語(yǔ)言也的確非常適合被用作語(yǔ)言,因?yàn)橛?jì)算機(jī)可以非常方便的XML語(yǔ)言寫(xiě)成的文件中的信息。爬蟲(chóng)任務(wù)語(yǔ)言用XML語(yǔ)言的元素來(lái)劃分的結(jié)構(gòu)其主體結(jié)構(gòu)如下圖所示…<database……圖 爬蟲(chóng)任務(wù)語(yǔ)言的總體結(jié)構(gòu)爬蟲(chóng)任務(wù)的根元素是<crawler>,表示整個(gè)爬蟲(chóng)任務(wù)是對(duì)網(wǎng)絡(luò)爬蟲(chóng)的描述,當(dāng)然也可以把爬蟲(chóng)任務(wù)本身看成是一個(gè)網(wǎng)絡(luò)爬蟲(chóng)。根元素<crawler>有三個(gè)子元素,<database>元素?fù)碛卸鄠€(gè)屬性,將用于描述數(shù)據(jù)庫(kù)的位置、名字等一些基礎(chǔ)信息,圖 30秒,網(wǎng)絡(luò)爬蟲(chóng)需要把它緩存在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)化并統(tǒng)一轉(zhuǎn)儲(chǔ)到數(shù)據(jù)庫(kù)。<close_unuseful_windows_time>據(jù)時(shí),把網(wǎng)絡(luò)爬蟲(chóng)的JavaScript支持功能關(guān)閉能顯著提高網(wǎng)絡(luò)的爬蟲(chóng)的運(yùn)行效率。<databaseserver='mysql'host=''port='3306'name='public_opinion_data'username='nmb_g930'password='nmb_g930'><tablename='posts'<columnname='website'<columnname='url'<columnname='update_date_time'<columnname='release_date_time'<columnname='title'<columnname='author'<columnname='content'<columnname='hits'<columnname='replies'<tablename='replies'<columnname='id'<columnname='posts_url'<columnname='update_date_time'<columnname='release_date_time'<columnname='author'<columnname='content'圖 <database>元素有六個(gè)屬性來(lái)描述數(shù)據(jù)庫(kù)的連接配置,它們是server、host、port、nameusernamepasswordIP、數(shù)據(jù)庫(kù)對(duì)應(yīng)的端、數(shù)據(jù)庫(kù)的名字、連接數(shù)據(jù)庫(kù)所需要的用戶(hù)名和連接數(shù)據(jù)庫(kù)所需要的。這個(gè)實(shí)例中表示的連接配置就是:使用的是MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)應(yīng)用位于3306public_opinion_datanmb_g930作為用戶(hù)名和連接這個(gè)數(shù)據(jù)庫(kù)。有了這些信息,網(wǎng)絡(luò)爬蟲(chóng)就能連接到它所需要的數(shù)據(jù)庫(kù),并且可以對(duì)這個(gè)數(shù)據(jù)庫(kù)進(jìn)行任何它所需要的操作了。而且由于這些信息是在里描述的,所以這也為更換、遷移數(shù)據(jù)庫(kù)帶來(lái)了便利,也使網(wǎng)絡(luò)爬蟲(chóng)在同時(shí)運(yùn)行多個(gè)爬蟲(chóng)任務(wù)<table>元素表示一網(wǎng)絡(luò)爬蟲(chóng)運(yùn)行時(shí)所需要的表網(wǎng)絡(luò)爬蟲(chóng)在載入爬蟲(chóng)任務(wù)的時(shí)候元素的overwrite屬性,如果overwrite屬性的值是true就清空表中的數(shù)據(jù),否則保留它開(kāi)這些列名即可。<column>name和type分別表示<call_taskname=''<taskname='<part圖 <tasks>元素的子元素只能是<main_task>元素和<task>元素,而且<main_task>元素C語(yǔ)言中的mainJava中的main<task>需要一個(gè)name屬性來(lái)標(biāo)識(shí)它。表 爬蟲(chóng)任務(wù)的指令元素及其用途的說(shuō)明指令元 用 HTMLHTMLNULL。 HTML元素的數(shù)據(jù),需要指定對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的名字和列的名字。取默認(rèn)HTML元素的哪部分?jǐn)?shù)據(jù)由 修改默認(rèn)HTML<set_attribute>元素的子元素<part>將決定那個(gè)需要被修改 用于文件文件名由其子元素<name>決定文件地址由 表示需要文件的文件名,值由其子元素<part>決定 表示需要文件的文件地址,值由其子元素<part>決定 直接執(zhí)行SQL語(yǔ)句,SQL語(yǔ)句由其子元素<part> HTML元素的各種屬根據(jù)這些指令元素的用途說(shuō)明不難理解圖35中所實(shí)現(xiàn)的測(cè)試功能圖3.5中main_tak元素中只有一個(gè)指令元素ll_tk>,于是網(wǎng)絡(luò)爬蟲(chóng)會(huì)根據(jù)cll_tak元素中所給出的url屬性加載網(wǎng)頁(yè),并調(diào)用“測(cè)試”任務(wù)。測(cè)試任務(wù)第一層只有一個(gè)指令元素find_elmentfind_elmentxpth屬性查找TL中的元素,而find_elmnt元素的子元素v_dta負(fù)責(zé)保存數(shù)據(jù)。prt>元素表示數(shù)據(jù)來(lái)自,這會(huì)調(diào)用處理模塊來(lái)獲取用戶(hù)輸入的數(shù)據(jù)。如網(wǎng)絡(luò)爬蟲(chóng)在執(zhí)行find_elmentrmedy_tk_nme中給出的名為“fild[pictur_tet.ontent]是為數(shù)據(jù)庫(kù)pictur_tet表中的ontentLL的數(shù)據(jù)。表 屬 說(shuō) HTML元素的xpath。如果缺失該屬性,則由<find_element>元素的子元素<part>生成xpath。 HTML元素失敗時(shí)需要執(zhí)行的補(bǔ)救任務(wù)??梢员?屬 說(shuō) urlclick表示在調(diào)用任務(wù)的時(shí)候加載新的或者點(diǎn)擊默認(rèn) 的新的如果缺失由<call_task>元素的子元素<part>生remedy_task_name表 屬 說(shuō) 表示數(shù)據(jù)的來(lái)源,不可缺失。其取值可以是“textattributeargxpathurldate_as_longpicturesqlcmdHTMLHTML元素的屬性、參數(shù)表、默認(rèn)HTML元素的xpath、當(dāng)前網(wǎng)頁(yè)的、以長(zhǎng)整形表示的日期以字符串表示的日期SQL語(yǔ)句、命令行返回值。與from屬性相關(guān)的屬性有attribute_name、arg_key、sql_arg_key等用于輔助確認(rèn)數(shù)據(jù)來(lái)源,以下不贅、need_preprocess表示數(shù)據(jù)是否需要預(yù)處理??梢赃M(jìn)行截取字符串、刪減字符、]需要向某一列插入NULL時(shí)可直接調(diào)用該任務(wù)而不需要做其他的另外還有一個(gè)自 解析與執(zhí)行模解析與執(zhí)行模塊需要用XML語(yǔ)言寫(xiě)成的爬蟲(chóng)任務(wù),按所定義的數(shù)據(jù)庫(kù)格式初始化數(shù)據(jù)庫(kù),然后解析出里所含的指令,通過(guò)面可編程瀏覽器集完成在內(nèi)存中的數(shù)據(jù)。定義的操作,并在其他模塊的協(xié)助下完成用戶(hù)定義在爬蟲(chóng)任務(wù)里的目的。解析爬蟲(chóng)任務(wù)根據(jù)爬蟲(chóng)任務(wù)初始化數(shù)據(jù)庫(kù)根據(jù)爬蟲(chóng)任務(wù)數(shù)據(jù)解析與執(zhí)行模塊運(yùn)行的第一步是讀入爬蟲(chóng)任務(wù)(如果所指定的文件路徑有錯(cuò)或者爬蟲(chóng)任務(wù)的格式有錯(cuò),將會(huì)報(bào)錯(cuò),然后根據(jù)爬蟲(chóng)任務(wù)對(duì)數(shù)據(jù)庫(kù)格式的定義為每次刪除并重建。接下來(lái)則是載入爬蟲(chóng)任務(wù)中定義的所有任務(wù)并從務(wù),在執(zhí)行爬蟲(chóng)任務(wù)中所定義的任務(wù)時(shí)解析與執(zhí)行模塊會(huì)判斷是否已經(jīng)執(zhí)行,開(kāi)讀入開(kāi)讀入爬蟲(chóng)任加載所有任務(wù)并務(wù)開(kāi)始執(zhí)是否已執(zhí)行所有指否是否為調(diào)用任務(wù)指否執(zhí)行指下一條指結(jié)根根 初始化數(shù)據(jù)是調(diào)是調(diào)用新的任圖 解析與執(zhí)行模塊流程 解析與執(zhí)行SQL語(yǔ)句。否否圖 數(shù)據(jù)結(jié)構(gòu)化模塊流程(1)文件(2)處理,文件子模塊是在單獨(dú)的線程能實(shí)現(xiàn)的。當(dāng)解析與執(zhí)行模塊遇到文件指令時(shí)解析與執(zhí)行模塊會(huì)把文件的源地址和目標(biāo)地址作為兩個(gè)參數(shù)發(fā)送給文件新的線程去文件。當(dāng)文件完成時(shí),文件子模塊會(huì)調(diào)用反饋方法去通知,,碼指令時(shí)解析與執(zhí)行模塊會(huì)把的地址作為參數(shù)發(fā)送給處理子模塊,并等待處理子模塊返回內(nèi)容。處理子模塊在接收到,中間信息輸出控制子模塊用于控制驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)在運(yùn)行時(shí)輸出的各種中間信息,比如:打開(kāi)了某個(gè)網(wǎng)頁(yè);關(guān)閉了某個(gè)網(wǎng)頁(yè);了什么數(shù)據(jù);保存了多少數(shù)據(jù);SL用的樣式進(jìn)行顯示中間信息輸出控制子模塊的作用就是根據(jù)配置把信息導(dǎo)向不同的輸出端。話題檢測(cè)與概話題檢測(cè)與算法的功能框圖如下操操操圖4.1話題檢測(cè)與算法的功能框話題檢測(cè)與算法分為5個(gè)模塊話題檢測(cè)模塊批量轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)模塊子話檢測(cè)模塊重要話題檢測(cè)模塊熱詞統(tǒng)計(jì)模其中話題檢測(cè)模塊是話題檢測(cè)與法的模塊,它完成了話題的檢測(cè)和功能。量轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)模塊是為話題檢測(cè)模塊服務(wù)的所以話題檢測(cè)與算法最終由4個(gè)進(jìn)程實(shí)現(xiàn)。話題檢測(cè)模塊作為還踢檢測(cè)與算法的模塊,它的功能是完成到話解決相似度這一問(wèn)題。以用所含的詞作為的特征,然后用詞的TF-IDF作為這個(gè)特征的權(quán)重。D的向??(??1,??1;??2,??2;…????, 其中????表示D的某個(gè)詞,而它的權(quán)重????是它的TF-IDF值。如果某個(gè)詞或短語(yǔ)

=∑??=

其中????,??表示詞????在????中出現(xiàn)的次數(shù),??????,??表示詞????在????中出現(xiàn)的頻率,S表示所有的集合,????????表示詞????的逆向文件頻率。踐中,采用的是余弦公式作為相似度函數(shù)。例如對(duì)于如下兩則??1(??11,??11;??12,??12;…??1??,??1??),??2(??21,??21;??22,??22;…??2??, ??????(??,??)=∑??1??∈??1&??2??∈??2&??1??=??2??

??2

舊話題以確認(rèn)它的歸屬的計(jì)算采用的是余弦公式,所以這里不需要題向量的權(quán)重取均值。話題采用與相同的量化方顯著提高話題檢測(cè)模塊的運(yùn)行效率,因?yàn)榕f話題的數(shù)量要比舊的數(shù)量少很多。可是,當(dāng)話題數(shù)量為n時(shí),添加一則道的時(shí)間復(fù)雜度為O(n)。顯然,隨著不停的添加,話題的數(shù)量會(huì)增多。雖然n增長(zhǎng)的速的增多,其對(duì)應(yīng)的向量會(huì)發(fā)生變化,會(huì)有多個(gè)話題互相“”,這也會(huì)導(dǎo)致話題用了一種話題合并策略,其思想是把互相“”的話題合并為一個(gè)話題。但是由話題的閾值(閾值的確認(rèn)過(guò)程將在下一章講述,則把道加入到這個(gè)相似度對(duì)應(yīng)的舊話否否開(kāi)開(kāi)從批量轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)模塊獲取話題道系統(tǒng)是否被系統(tǒng)是否被關(guān)否存在一個(gè)相似度大于閾否是是是否需要執(zhí)行話題合并算向批量轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)模塊發(fā)送任加入話創(chuàng)建新話執(zhí)行話題合并算與每個(gè)舊話題計(jì)算相似結(jié)生 道向圖 話題檢測(cè)模塊流程從數(shù)據(jù)庫(kù)話題庫(kù)同一個(gè)話題進(jìn)行多次修改,前幾次修改會(huì)失效SQL語(yǔ)批量轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)模塊采用這樣的工作流程可以顯著減少話題檢測(cè)與算法和數(shù)開(kāi)開(kāi)否系統(tǒng)否系統(tǒng)是否被關(guān)清空任務(wù)隊(duì)執(zhí)行SQL語(yǔ)根據(jù)任務(wù)隊(duì)列生成SQL語(yǔ)從數(shù)據(jù)庫(kù)讀入舊話題去掉任務(wù)隊(duì)列中失效的任結(jié)圖 批量轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)模塊流程隨著話題所含 階段性可以很好的了解人們到底題中的什么組成部分感。??=∑??1∈??&??2∈??

(2其中S為集合,??????(??1,??2)見(jiàn)公式(4.6)當(dāng)集合的平均相似度小于設(shè)定的閾值(閾值的確認(rèn)過(guò)程將在下一章講述)時(shí),劃分,判斷其所屬的階段子話題檢測(cè)模塊在啟動(dòng)后先是讀入所有話題的ID,然后按照話題的ID為話題劃分子話題。為話題劃分子話題時(shí),首先需要根據(jù)話題的ID讀入該話題包含的所有,然后根據(jù)的時(shí)間對(duì)所有進(jìn)行排序。接下來(lái)申請(qǐng)一個(gè)臨道集合,并把按時(shí)間排序的逐個(gè)加入臨道集合。在向臨道集合加入的過(guò)程中,需要不斷計(jì)算臨道集合的平均相似度,如果其平均相似度小于設(shè)定的閾值,則根據(jù)這個(gè)臨但此時(shí)仍需要根據(jù)這個(gè)臨道集合生成一個(gè)子話題。屬性表示所屬于的話題的階段,即子話題。開(kāi)開(kāi)選擇一個(gè)話題,并從數(shù)庫(kù)讀入該話題的所是是否是是否還沒(méi)有確定階 道集合是否可以成為子話否是生成子話否臨道集合是否為否道集合清臨道集合添向圖 子話題檢測(cè)模塊流程,當(dāng)話題檢測(cè)模塊把以話題的形式進(jìn)行組織時(shí)題的各種分析就變得格外重,移除過(guò)移除過(guò)期的話題大小信計(jì)算話題敏感計(jì)算話題敏感熱詞統(tǒng)計(jì)模塊在運(yùn)行時(shí),只需要定時(shí)執(zhí)行編寫(xiě)好的SQL語(yǔ)句即可。MySQL數(shù)據(jù)庫(kù) 圖 驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)的控制中隔時(shí)間來(lái)添加新的爬蟲(chóng)任務(wù)?;蛘咄ㄟ^(guò)右鍵已存在爬蟲(chóng)任務(wù)來(lái)刪除它們。圖 爬蟲(chóng)任務(wù)的詳細(xì)運(yùn)行狀況、、示了任務(wù)數(shù)窗口數(shù)等待數(shù)超時(shí)數(shù)打開(kāi)與關(guān)閉情況超時(shí)情況、、、話題檢測(cè)與算法的效果展據(jù)庫(kù)中的格式:圖 在數(shù)據(jù)庫(kù)中的格式在上圖中,由于大小的限制沒(méi)有顯示出的id和url屬性。在已經(jīng)顯示的幾個(gè)屬性中,type、title、date_time是的固有屬性,表示的類(lèi)型、標(biāo)題和發(fā)布時(shí)間。其類(lèi)型可以是、博客、帖子和回復(fù)。而topic_id和stage屬性則是在話題檢測(cè)與算法運(yùn)行之后才生成的,它們分別表示所屬話題的id和它在該話題中的階段。其中階段是以非負(fù)整數(shù)表示的如果其值為-1則表示這則還未被判斷出其所屬的階段(子話題。當(dāng)子話題檢測(cè)模塊下一次啟動(dòng)時(shí),會(huì)把所有階段為-1的修正過(guò)來(lái)。 圖 話題在數(shù)據(jù)庫(kù)中的格式在上圖中,由于大小的限制沒(méi)有顯示出hot_value和sensitive_value屬性,這兩的標(biāo)題取自于話題中最早那篇的標(biāo)題earliest_dt和latest_dt屬性分別表示該話題中最早的的和最遲的的,即話題的生存時(shí)間。圖 話題大小臨時(shí)信息在數(shù)據(jù)庫(kù)中的格式在上圖中,分別顯示了話題ID話題檢測(cè)與算法中閾值的確在話題檢測(cè)與算法的實(shí)踐中涉及到一個(gè)閾值α的的確定閾值α決定了一個(gè)話題所涵蓋的空間的大小,下圖為閾值α作用的示意圖:圖 閾值α作用的示意上圖表示,假定存在一個(gè)含有三個(gè)(左上方三個(gè),也可以)的話題,如果閾值α取值較小,則當(dāng)?shù)溃ㄓ蚁陆堑模﹣?lái)到時(shí),它將不屬于這個(gè)話題。而當(dāng)閾值α取值較大時(shí),它將屬于這個(gè)話題。在話題檢測(cè)與算法的實(shí)踐中還涉及到另一個(gè)閾值β的確定閾值β決定了兩圖 閾值β作用的示意ββ取值較大時(shí),γ閾值αβ本課題在測(cè)試中采用的測(cè)試數(shù)據(jù)集是話題檢測(cè)及評(píng)價(jià)數(shù)據(jù)集(SogouTDTE)[16]。這個(gè)數(shù)據(jù)集由搜狗提供,其地址為http: 數(shù)據(jù) 所屬話題兩部分構(gòu)成,其格式如下圖所示圖 話題檢測(cè)及評(píng)價(jià)數(shù)據(jù)集數(shù)據(jù)格式的標(biāo)題、正文、等信息由驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)獲取α和閾值β的值,然后開(kāi)啟話題檢測(cè)與跟話題檢測(cè)與算法的有效性。接下來(lái),讓測(cè)試程序不停地用不同的閾值α和閾值β來(lái)對(duì)于集合??={??1,??2,…,????},可以把測(cè)試數(shù)據(jù)集和看做是集合S的劃分,分別記為????=??????{??1??2????}和????=??????{??1??2????}。LRTR作為報(bào)道集合S的劃分還可以看作是關(guān)(兩個(gè)被劃分到同一個(gè)部分就認(rèn)為它們有關(guān)??(????)={{????,????}|ョ??∈????&????,????∈??&????≠ ??(????)={{????,????}|ョ??∈????&????,????∈??&????≠ 于是,可以用R(LR)和R(TR)計(jì)算準(zhǔn)確率、率、F值來(lái)作為話題檢測(cè)與算????=????=

??=

在多次實(shí)驗(yàn)后,將實(shí)驗(yàn)結(jié)果集中在表內(nèi)觀察,下表為F10表 F值最高的10組實(shí)驗(yàn)結(jié)果閾值閾值F0.17將閾值αβ和FX軸、Y軸、Z圖 實(shí)驗(yàn)結(jié)果三維α0.2β0.4左右時(shí)可以使結(jié)果最好。為了防止過(guò)擬合,話題檢測(cè)與算法最終設(shè)定閾值α為0.2,閾值β為0.4。本課題“網(wǎng)絡(luò)熱點(diǎn)話題自動(dòng)檢測(cè)”的目標(biāo)就是主動(dòng)去互聯(lián)網(wǎng)上的、博客、驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)以及話題檢測(cè)與算法驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)負(fù)責(zé)爬取博客、驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)的在于爬蟲(chóng)任務(wù)的設(shè)計(jì)以及配套的解析執(zhí)行器設(shè)計(jì)。在本課題的實(shí)現(xiàn)過(guò)程中,我們采用了XML語(yǔ)言作為爬蟲(chóng)任務(wù)的基礎(chǔ),用特殊的元素來(lái)設(shè)計(jì)爬蟲(chóng)任務(wù)中的各項(xiàng)配置、指令等。爬蟲(chóng)任務(wù)的設(shè)計(jì)參照當(dāng)行的編程語(yǔ)言,使其具有很好的可讀性并且也易于計(jì)算機(jī)的和處理。在驅(qū)動(dòng)的網(wǎng)少數(shù)據(jù)庫(kù)的次數(shù),但是內(nèi)存的消耗卻增加了。所以,在撰寫(xiě)爬蟲(chóng)任務(wù)時(shí),需要能在以后的階段加以改進(jìn)。HtmlUnitJavaScript代碼有點(diǎn)力不從,在畢業(yè)設(shè)計(jì)即將結(jié)束的時(shí)候向在我完成畢業(yè)設(shè)計(jì)和的過(guò)程中給予我無(wú)私幫助的老師和表達(dá)謝意。,首先,我必須感謝我畢業(yè)設(shè)計(jì)的指導(dǎo)教師教授。知識(shí)淵博、治學(xué)嚴(yán)謹(jǐn)?shù)怯帜芎蛯W(xué)生們打成一片。在課堂上,喜歡用與學(xué)生的方式來(lái)完成他的教學(xué)任務(wù),他常說(shuō),他上課就是給講故事。能用最通俗易懂的語(yǔ)言來(lái)講述高深晦澀的理論知識(shí)。上課讓我感受頗深,這比自己看書(shū)要理解的快的多。他給我2的課為來(lái)的學(xué)習(xí)和工作打下了非常堅(jiān)實(shí)的基礎(chǔ)。在的,除了科研氛圍外我還感受到了很濃厚的人文,老師、師兄、師姐都很熱情、友善,他們PPT來(lái)說(shuō)明自己做了什么、沒(méi)做什么、下一周做什么。在小組討論會(huì)上,他讓我們提出問(wèn)題,然后他給出一些參考的解決方案或者直接和彎路。我能順利完成了畢業(yè)設(shè)計(jì),絕對(duì)是第一助力,在此再次感謝。同樣我也要感謝師兄、師兄和老師。師兄和師兄之前都在做過(guò)與爬蟲(chóng)有關(guān)的工作,我選擇設(shè)計(jì)并實(shí)現(xiàn)驅(qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)主要是受到了他們的啟發(fā)。他們?cè)谖彝瓿沈?qū)動(dòng)的網(wǎng)絡(luò)爬蟲(chóng)的過(guò)程中也向我提出了很多寶貴的建議和技術(shù)。老師題檢測(cè)與有很深入的研究,他還發(fā)過(guò)這方面的。所以,每當(dāng)我在話題檢測(cè)與算法上遇到問(wèn)題時(shí),我就去請(qǐng)教老師,他總是耐心的給我講解其中的知識(shí)和相關(guān)技術(shù)。兩位師兄和老師在我畢業(yè)設(shè)計(jì)的選題、設(shè)計(jì)、實(shí)現(xiàn)、然后,是我們宿舍的,在完成畢業(yè)設(shè)計(jì)的過(guò)程中,有時(shí)候會(huì)在寢室調(diào)試代碼到深夜。這時(shí)候,宿舍的都已經(jīng)睡了。如果我繼續(xù)調(diào)試,電腦屏幕的光和我敲鍵盤(pán)都會(huì)影響他們休息。可是不把問(wèn)題解決,不把代碼調(diào)通我又睡不著覺(jué)。對(duì)此,宿舍的同學(xué)都很能理解我,他們還勸我打開(kāi)臺(tái)燈以免眼睛影響視力。宿舍的我還要感謝我的父母。我們家離很遠(yuǎn),但是父母仍然支持鼓勵(lì)我來(lái)求學(xué),他們希望我能在北航這所優(yōu)秀的大學(xué)里學(xué)到的知識(shí),讓自己變得像北航一樣優(yōu)秀。他們雖然不能常來(lái)看望我,但是他們常常打關(guān)心我的學(xué)習(xí)和生活,并且給我足最后,衷心感謝為評(píng)閱這篇畢業(yè)設(shè) 而付出辛勤勞動(dòng)的各位老師和評(píng)委[1],.網(wǎng)絡(luò)爬蟲(chóng)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2007,24(10):26-[2]周立柱,.聚焦爬蟲(chóng)技術(shù)研究綜述

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論