下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
我,本及其研究工作是由本人在導(dǎo)師指導(dǎo)下獨立完成的,在完成時所利用的一切資料均已在參考文獻中列出。作者:時間: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,緒 課題背景及意 國內(nèi)外研究狀 網(wǎng)絡(luò)爬蟲的研究狀 話題檢測與的研究狀 課題研究內(nèi) 驅(qū)動的網(wǎng)絡(luò)爬 話題檢測與構(gòu) 相關(guān)工 開發(fā)平 3驅(qū)動的網(wǎng)絡(luò)爬 概 爬蟲任務(wù)模 模塊描 爬蟲任務(wù)語 解析與執(zhí)行模 模塊描 模塊功 模塊流 數(shù)據(jù)結(jié)構(gòu)化模 模塊描 模塊功 模塊流 輔助模 模塊描 模塊功 模塊流 話題檢測與概 話題檢測模 模塊描 模塊功 模塊流 批量轉(zhuǎn)儲數(shù)據(jù)庫模 模塊描 模塊功 模塊流 子話題檢測模 模塊描 模塊功 模塊流 重要話題檢測模 模塊描 模塊功 模塊流 熱詞統(tǒng)計模 模塊描 模塊功 模塊流 效果展示與實驗分 驅(qū)動的網(wǎng)絡(luò)爬蟲的效果展 話題檢測與算法的效果展 話題檢測與算法中閾值的確 概 閾值α和閾值β的確 測試數(shù)據(jù) 結(jié) 工作總 下一步工 致 參考文 本世紀(jì)以來,由于大規(guī)模技術(shù)和因特網(wǎng)技術(shù)的飛速發(fā)展,整個因特網(wǎng)已經(jīng)成為劇增長,人們淹沒在各種雜亂的數(shù)據(jù)中,難以找到自己真正感的信息與知識,從而著“數(shù)據(jù)泛濫,知識貧乏”的。如果把網(wǎng)絡(luò)數(shù)據(jù)按照其描述的話題進行組織,則可方便用戶游覽其感的信息。因此,如何有效地檢測網(wǎng)絡(luò)熱點話題已成為當(dāng)前Web挖掘領(lǐng)域的一個熱點研究課題。目前,國內(nèi)外存在大量的各種、博客、貼吧和。用戶如何從這些海量的數(shù)據(jù)資源中找到和閱讀自己感的數(shù)據(jù)和信息是一件很的事情。他們必須每天很多的,瀏覽海量的頁面以保證自己對某個方向的動態(tài)了然于胸。本課題網(wǎng)絡(luò)話題的檢測與兩個部分。本課題的研究成果具有廣泛的應(yīng)用前景,比如,在網(wǎng)絡(luò)時可以將網(wǎng)絡(luò)爬蟲鎖定到相關(guān)的(可以是一些著名的,也可以是一些熱門的貼吧和,然后就能觀測到以話題為單位展現(xiàn)的網(wǎng)絡(luò),這有助于有關(guān)機構(gòu)和部門對網(wǎng)絡(luò)的分析和掌控及時進行決策和引導(dǎo)此外企業(yè)也可以利用網(wǎng)絡(luò)熱點話題自動檢測技術(shù)來歸類和分析用戶或者潛在用戶對某些產(chǎn)品和。課“網(wǎng)絡(luò)熱點話題自動檢測來源于的項目需求在監(jiān)測全情的時候,蟲和話題檢測與技術(shù)也可以分別應(yīng)用到其他不同的領(lǐng)域當(dāng)中。1.2.1網(wǎng)絡(luò)爬蟲的研究狀網(wǎng)絡(luò)爬蟲是一個自動搜尋網(wǎng)頁并提取其頁面內(nèi)容的程序[1]。網(wǎng)絡(luò)爬蟲是以獲取量的判斷一般是從結(jié)構(gòu)出發(fā),而不是從頁面內(nèi)容出發(fā)來進行的。指向高相關(guān)頁面的,過濾掉指向無關(guān)頁面的。網(wǎng)絡(luò)爬蟲需要解決的主要問題是對爬取目標(biāo)()的描述或定義對網(wǎng)頁內(nèi)容的相關(guān)度分析對的搜索策略集來描述一個,引入集可以將對用戶需求的描述從單一上升到的對的定義工作是網(wǎng)絡(luò)爬蟲的基礎(chǔ),它直接決定了網(wǎng)絡(luò)爬蟲的爬行效果。常用的[2,4]搜索策略的基本思想是與初始在一定距離內(nèi)的網(wǎng)頁具有相關(guān)性的概率很低。最佳優(yōu)先搜索策略則是一個優(yōu)先隊列,將與相關(guān)度最高的放在優(yōu)先隊話題檢測與的研究狀話題檢測與評測會議把話題檢測與分成五個子任務(wù)表格 話題檢測與的技術(shù)任務(wù)任 定切(Story話(Story(StoryDetection)(NewEvent關(guān)聯(lián)檢(Link
找出所有的邊界把輸入的源數(shù)據(jù)流分割成各個獨立。給出某話題的一則或多則把后輸入進來的相關(guān)和該話題聯(lián)系起來它實際上包括兩步首先出一組樣本,訓(xùn)練得到話題模型然后在后續(xù)中找出所有討論目標(biāo)話題的。判斷兩則PLSA[7]和L[8]準(zhǔn)LAT[9]TM模型中使用邏輯正態(tài)分布代替了雷分布。TM中舉的一個例子是在科學(xué)雜聯(lián)規(guī)則的分類等。其中K-近鄰[10]的基本思想是把新的與所有舊比較,選擇其中最相似的K則,然后選擇包含這K則中數(shù)量最多的話題作為這則K-MEANS算法、K-MEDS算法、GAC算法等。但是如果話題檢測與面對的數(shù)比如增量K-MEANS根據(jù)時間窗口的大小從所有中抽出下一批未處理的判斷每一則新的是否屬于已生成的聚類還是該用作新的聚類重復(fù)步驟(2)-(3)轉(zhuǎn)(1)1.3.1驅(qū)動的網(wǎng)絡(luò)爬計不同的,明確描述網(wǎng)絡(luò)爬蟲的任務(wù)。在網(wǎng)絡(luò)爬蟲運行時,它只需要用專門設(shè)計的語言描寫的任務(wù)文件就可以逐條完成用戶布置的任務(wù)。這種將網(wǎng)絡(luò)爬蟲與其具體任務(wù)分開的架構(gòu)對網(wǎng)絡(luò)爬蟲的和更新非常有利,特別例如,用戶需要添加一個新出現(xiàn)的熱門作為數(shù)據(jù)來源,或者原本的數(shù)據(jù)來源的1.3.2話題檢測與客或者貼吧之類。所以,其數(shù)據(jù)量會非常的大,這時候常規(guī)的話題檢測與題的熱度和敏感度等屬性,還需要題進行階段性的劃分。本課題中的話題檢測與算法應(yīng)該滿足以下要求能有效的將劃分到其所屬的話題對于新的,能正確判斷出其所屬的舊話題,或者據(jù)此創(chuàng)建新話題第三章驅(qū)動的網(wǎng)絡(luò)爬蟲,從原理、架構(gòu)到設(shè)計過程詳細介紹了本課題中所使用的驅(qū)動的網(wǎng)絡(luò)爬蟲并介紹了話題熱度、敏感度的計算方法話題的劃分方法。本課題在實踐過程中使用Java作為編程語言,但是爬蟲任務(wù)采用XML語言編寫。所有代碼用集成開發(fā)環(huán)境Eclipse中的Java工程進行組織。所有數(shù)據(jù)于MysqlJava是由SunMicrosystems19955月推出的Java面向?qū)ο蟪绦蛟O(shè)計語言和Java平臺的總稱。由JamesGosling和同事們共同研發(fā),并在1995年正式推出。Java最初被稱為Oak,是1991年為消費類電子產(chǎn)品的嵌入式而設(shè)計的。1995年更名為JavaInternet應(yīng)用程序。Java是一種計算機編程語言。由于具有戲控制臺科學(xué)超級計算機移動和互聯(lián)網(wǎng)同時擁有全球最大的開發(fā)者專業(yè)社區(qū)。特性。Java由四方面組成:JavaJavaJava虛擬機Java應(yīng)用程序接口(JavaAPI)XML記語言,比如HTML,也可以使用像XML這樣由相關(guān)自由決定的標(biāo)記語言,這就(XSL來傳送及攜帶數(shù)據(jù)信息,不用來表現(xiàn)或展示數(shù)據(jù),HTML語言則用來表現(xiàn)數(shù)據(jù),所以XML用途的焦點是它說明數(shù)據(jù)是什么,以及攜帶數(shù)據(jù)信息。比如豐富文件,自定文件XML技術(shù)應(yīng)用,標(biāo)記是用來定義一份資料應(yīng)該(MetadataXML技術(shù)應(yīng)用,標(biāo)記是用來說明一份資料的意義?;蛘吲渲梦臋nFilesEclipseJava語言。但由于C++、Python、PHPEclipse當(dāng)Java集成開發(fā)環(huán)境(IDE)Eclipse的目標(biāo)卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE,這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于EclipseEclipse提供插件,以及給用戶提供一致和統(tǒng)一JavaEclipseJava語言開發(fā)的,但它的用途并不限于內(nèi)容管理系統(tǒng)?;贓clipse的應(yīng)用程序的一個突出例子是IBMRationalSoftwareArchitectIBMJava開發(fā)工具系列的基礎(chǔ)。、MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。Linux用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩(wěn)定、免費的系統(tǒng),中小型。不過,隨著MySQL的不斷成熟,它也逐漸用于大規(guī)模和應(yīng)用,比如百科和等。MySQL使用C和C++編寫,并使用了多種編譯器進試,保證源代碼的可移植性。支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)。為多Ruby和Tcl等。支持多線程,充分利用CPU資源。優(yōu)化的SQL查詢算法,有效地提高、GB2312BIG5,Shift_JISTCP/IP、ODBCJDBC等數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。支持多種引擎。HtmlUnitJunit的擴展測試框架之一,該框架模擬瀏覽器的行為,開發(fā)者可以使器HtmlUnit支持HTTPHTTPS表單的POST和GET方法能夠?qū)TMLRhinojs引擎,能夠模擬JavaScript的運行。JavaScript代碼。但是在小型爬蟲項目中,這種框架也十分有用,可以有效HtmlUnitJavaScriptJavaScript代碼HtmlUnit在本課題的實踐中被用作驅(qū)動的網(wǎng)絡(luò)爬蟲的一個組件網(wǎng)絡(luò)爬蟲用它JDOMXMLJavaJava開發(fā)人員兼作者BrettMclaughlin和JasonHunter創(chuàng)作。這是一個完整的基于Java平臺的解決方案,Java開發(fā)人員只需要通過JDOM提供的程序接口就可以快速的方便的、操作并輸出XML的數(shù)據(jù)??焖俨⒎治鍪褂肵ML語言編寫的爬蟲任務(wù)。3驅(qū)動的網(wǎng)絡(luò)爬種網(wǎng)絡(luò)爬蟲。它和網(wǎng)絡(luò)爬蟲的區(qū)別在于,網(wǎng)絡(luò)爬蟲是以網(wǎng)頁為單位爬調(diào)爬網(wǎng)網(wǎng)網(wǎng)文圖3.1驅(qū)動的網(wǎng)絡(luò)爬蟲的功能框驅(qū)動的網(wǎng)絡(luò)爬蟲分為4個模塊:爬蟲任務(wù)模塊、解析與執(zhí)行模塊、數(shù)據(jù)結(jié)構(gòu)化模塊和輔助模塊。輔助模塊又分為3個子模塊:文件子模塊、處理除了爬蟲任務(wù)是由XML語言寫成的外,其他三個模塊都是由Java語言寫成。驅(qū)動的網(wǎng)絡(luò)爬蟲可以同時解析執(zhí)行多個爬蟲任務(wù)(XML文件)并執(zhí)行。當(dāng)一 定一個睡眠時長使線程在睡眠結(jié)束后可以再一次解析執(zhí)行改爬蟲任務(wù)爬蟲任務(wù)模爬蟲任務(wù)模塊是驅(qū)動的網(wǎng)絡(luò)爬蟲里一個非常獨特的模塊。這個模塊是由XML語言寫成的文件組成。在驅(qū)動的網(wǎng)絡(luò)爬蟲中,爬蟲任務(wù)是可以修改驅(qū)動的網(wǎng)絡(luò)爬蟲的,它定義了網(wǎng)絡(luò)爬蟲的所有操作,它指導(dǎo)了網(wǎng)絡(luò)爬蟲頁爬蟲任務(wù)語語言規(guī)范是建立在XML語言上的,這個創(chuàng)意來源于作者開發(fā)安卓應(yīng)用和Windows8應(yīng)用時的經(jīng)驗。雖然在安卓應(yīng)用和Windows8應(yīng)用中,它們只是用XML來定制構(gòu)性的標(biāo)記語言也的確非常適合被用作語言,因為計算機可以非常方便的XML語言寫成的文件中的信息。爬蟲任務(wù)語言用XML語言的元素來劃分的結(jié)構(gòu)其主體結(jié)構(gòu)如下圖所示…<database……圖 爬蟲任務(wù)語言的總體結(jié)構(gòu)爬蟲任務(wù)的根元素是<crawler>,表示整個爬蟲任務(wù)是對網(wǎng)絡(luò)爬蟲的描述,當(dāng)然也可以把爬蟲任務(wù)本身看成是一個網(wǎng)絡(luò)爬蟲。根元素<crawler>有三個子元素,<database>元素擁有多個屬性,將用于描述數(shù)據(jù)庫的位置、名字等一些基礎(chǔ)信息,圖 30秒,網(wǎng)絡(luò)爬蟲需要把它緩存在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)化并統(tǒng)一轉(zhuǎn)儲到數(shù)據(jù)庫。<close_unuseful_windows_time>據(jù)時,把網(wǎng)絡(luò)爬蟲的JavaScript支持功能關(guān)閉能顯著提高網(wǎng)絡(luò)的爬蟲的運行效率。<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>元素有六個屬性來描述數(shù)據(jù)庫的連接配置,它們是server、host、port、nameusernamepasswordIP、數(shù)據(jù)庫對應(yīng)的端、數(shù)據(jù)庫的名字、連接數(shù)據(jù)庫所需要的用戶名和連接數(shù)據(jù)庫所需要的。這個實例中表示的連接配置就是:使用的是MySQL數(shù)據(jù)庫,數(shù)據(jù)庫應(yīng)用位于3306public_opinion_datanmb_g930作為用戶名和連接這個數(shù)據(jù)庫。有了這些信息,網(wǎng)絡(luò)爬蟲就能連接到它所需要的數(shù)據(jù)庫,并且可以對這個數(shù)據(jù)庫進行任何它所需要的操作了。而且由于這些信息是在里描述的,所以這也為更換、遷移數(shù)據(jù)庫帶來了便利,也使網(wǎng)絡(luò)爬蟲在同時運行多個爬蟲任務(wù)<table>元素表示一網(wǎng)絡(luò)爬蟲運行時所需要的表網(wǎng)絡(luò)爬蟲在載入爬蟲任務(wù)的時候元素的overwrite屬性,如果overwrite屬性的值是true就清空表中的數(shù)據(jù),否則保留它開這些列名即可。<column>name和type分別表示<call_taskname=''<taskname='<part圖 <tasks>元素的子元素只能是<main_task>元素和<task>元素,而且<main_task>元素C語言中的mainJava中的main<task>需要一個name屬性來標(biāo)識它。表 爬蟲任務(wù)的指令元素及其用途的說明指令元 用 HTMLHTMLNULL。 HTML元素的數(shù)據(jù),需要指定對應(yīng)的數(shù)據(jù)庫表的名字和列的名字。取默認HTML元素的哪部分?jǐn)?shù)據(jù)由 修改默認HTML<set_attribute>元素的子元素<part>將決定那個需要被修改 用于文件文件名由其子元素<name>決定文件地址由 表示需要文件的文件名,值由其子元素<part>決定 表示需要文件的文件地址,值由其子元素<part>決定 直接執(zhí)行SQL語句,SQL語句由其子元素<part> HTML元素的各種屬根據(jù)這些指令元素的用途說明不難理解圖35中所實現(xiàn)的測試功能圖3.5中main_tak元素中只有一個指令元素ll_tk>,于是網(wǎng)絡(luò)爬蟲會根據(jù)cll_tak元素中所給出的url屬性加載網(wǎng)頁,并調(diào)用“測試”任務(wù)。測試任務(wù)第一層只有一個指令元素find_elmentfind_elmentxpth屬性查找TL中的元素,而find_elmnt元素的子元素v_dta負責(zé)保存數(shù)據(jù)。prt>元素表示數(shù)據(jù)來自,這會調(diào)用處理模塊來獲取用戶輸入的數(shù)據(jù)。如網(wǎng)絡(luò)爬蟲在執(zhí)行find_elmentrmedy_tk_nme中給出的名為“fild[pictur_tet.ontent]是為數(shù)據(jù)庫pictur_tet表中的ontentLL的數(shù)據(jù)。表 屬 說 HTML元素的xpath。如果缺失該屬性,則由<find_element>元素的子元素<part>生成xpath。 HTML元素失敗時需要執(zhí)行的補救任務(wù)。可以表 屬 說 urlclick表示在調(diào)用任務(wù)的時候加載新的或者點擊默認 的新的如果缺失由<call_task>元素的子元素<part>生remedy_task_name表 屬 說 表示數(shù)據(jù)的來源,不可缺失。其取值可以是“textattributeargxpathurldate_as_longpicturesqlcmdHTMLHTML元素的屬性、參數(shù)表、默認HTML元素的xpath、當(dāng)前網(wǎng)頁的、以長整形表示的日期以字符串表示的日期SQL語句、命令行返回值。與from屬性相關(guān)的屬性有attribute_name、arg_key、sql_arg_key等用于輔助確認數(shù)據(jù)來源,以下不贅、need_preprocess表示數(shù)據(jù)是否需要預(yù)處理。可以進行截取字符串、刪減字符、]需要向某一列插入NULL時可直接調(diào)用該任務(wù)而不需要做其他的另外還有一個自 解析與執(zhí)行模解析與執(zhí)行模塊需要用XML語言寫成的爬蟲任務(wù),按所定義的數(shù)據(jù)庫格式初始化數(shù)據(jù)庫,然后解析出里所含的指令,通過面可編程瀏覽器集完成在內(nèi)存中的數(shù)據(jù)。定義的操作,并在其他模塊的協(xié)助下完成用戶定義在爬蟲任務(wù)里的目的。解析爬蟲任務(wù)根據(jù)爬蟲任務(wù)初始化數(shù)據(jù)庫根據(jù)爬蟲任務(wù)數(shù)據(jù)解析與執(zhí)行模塊運行的第一步是讀入爬蟲任務(wù)(如果所指定的文件路徑有錯或者爬蟲任務(wù)的格式有錯,將會報錯,然后根據(jù)爬蟲任務(wù)對數(shù)據(jù)庫格式的定義為每次刪除并重建。接下來則是載入爬蟲任務(wù)中定義的所有任務(wù)并從務(wù),在執(zhí)行爬蟲任務(wù)中所定義的任務(wù)時解析與執(zhí)行模塊會判斷是否已經(jīng)執(zhí)行,開讀入開讀入爬蟲任加載所有任務(wù)并務(wù)開始執(zhí)是否已執(zhí)行所有指否是否為調(diào)用任務(wù)指否執(zhí)行指下一條指結(jié)根根 初始化數(shù)據(jù)是調(diào)是調(diào)用新的任圖 解析與執(zhí)行模塊流程 解析與執(zhí)行SQL語句。否否圖 數(shù)據(jù)結(jié)構(gòu)化模塊流程(1)文件(2)處理,文件子模塊是在單獨的線程能實現(xiàn)的。當(dāng)解析與執(zhí)行模塊遇到文件指令時解析與執(zhí)行模塊會把文件的源地址和目標(biāo)地址作為兩個參數(shù)發(fā)送給文件新的線程去文件。當(dāng)文件完成時,文件子模塊會調(diào)用反饋方法去通知,,碼指令時解析與執(zhí)行模塊會把的地址作為參數(shù)發(fā)送給處理子模塊,并等待處理子模塊返回內(nèi)容。處理子模塊在接收到,中間信息輸出控制子模塊用于控制驅(qū)動的網(wǎng)絡(luò)爬蟲在運行時輸出的各種中間信息,比如:打開了某個網(wǎng)頁;關(guān)閉了某個網(wǎng)頁;了什么數(shù)據(jù);保存了多少數(shù)據(jù);SL用的樣式進行顯示中間信息輸出控制子模塊的作用就是根據(jù)配置把信息導(dǎo)向不同的輸出端。話題檢測與概話題檢測與算法的功能框圖如下操操操圖4.1話題檢測與算法的功能框話題檢測與算法分為5個模塊話題檢測模塊批量轉(zhuǎn)儲數(shù)據(jù)庫模塊子話檢測模塊重要話題檢測模塊熱詞統(tǒng)計模其中話題檢測模塊是話題檢測與法的模塊,它完成了話題的檢測和功能。量轉(zhuǎn)儲數(shù)據(jù)庫模塊是為話題檢測模塊服務(wù)的所以話題檢測與算法最終由4個進程實現(xiàn)。話題檢測模塊作為還踢檢測與算法的模塊,它的功能是完成到話解決相似度這一問題。以用所含的詞作為的特征,然后用詞的TF-IDF作為這個特征的權(quán)重。D的向??(??1,??1;??2,??2;…????, 其中????表示D的某個詞,而它的權(quán)重????是它的TF-IDF值。如果某個詞或短語
=∑??=
其中????,??表示詞????在????中出現(xiàn)的次數(shù),??????,??表示詞????在????中出現(xiàn)的頻率,S表示所有的集合,????????表示詞????的逆向文件頻率。踐中,采用的是余弦公式作為相似度函數(shù)。例如對于如下兩則??1(??11,??11;??12,??12;…??1??,??1??),??2(??21,??21;??22,??22;…??2??, ??????(??,??)=∑??1??∈??1&??2??∈??2&??1??=??2??
??2
舊話題以確認它的歸屬的計算采用的是余弦公式,所以這里不需要題向量的權(quán)重取均值。話題采用與相同的量化方顯著提高話題檢測模塊的運行效率,因為舊話題的數(shù)量要比舊的數(shù)量少很多??墒牵?dāng)話題數(shù)量為n時,添加一則道的時間復(fù)雜度為O(n)。顯然,隨著不停的添加,話題的數(shù)量會增多。雖然n增長的速的增多,其對應(yīng)的向量會發(fā)生變化,會有多個話題互相“”,這也會導(dǎo)致話題用了一種話題合并策略,其思想是把互相“”的話題合并為一個話題。但是由話題的閾值(閾值的確認過程將在下一章講述,則把道加入到這個相似度對應(yīng)的舊話否否開開從批量轉(zhuǎn)儲數(shù)據(jù)庫模塊獲取話題道系統(tǒng)是否被系統(tǒng)是否被關(guān)否存在一個相似度大于閾否是是是否需要執(zhí)行話題合并算向批量轉(zhuǎn)儲數(shù)據(jù)庫模塊發(fā)送任加入話創(chuàng)建新話執(zhí)行話題合并算與每個舊話題計算相似結(jié)生 道向圖 話題檢測模塊流程從數(shù)據(jù)庫話題庫同一個話題進行多次修改,前幾次修改會失效SQL語批量轉(zhuǎn)儲數(shù)據(jù)庫模塊采用這樣的工作流程可以顯著減少話題檢測與算法和數(shù)開開否系統(tǒng)否系統(tǒng)是否被關(guān)清空任務(wù)隊執(zhí)行SQL語根據(jù)任務(wù)隊列生成SQL語從數(shù)據(jù)庫讀入舊話題去掉任務(wù)隊列中失效的任結(jié)圖 批量轉(zhuǎn)儲數(shù)據(jù)庫模塊流程隨著話題所含 階段性可以很好的了解人們到底題中的什么組成部分感。??=∑??1∈??&??2∈??
(2其中S為集合,??????(??1,??2)見公式(4.6)當(dāng)集合的平均相似度小于設(shè)定的閾值(閾值的確認過程將在下一章講述)時,劃分,判斷其所屬的階段子話題檢測模塊在啟動后先是讀入所有話題的ID,然后按照話題的ID為話題劃分子話題。為話題劃分子話題時,首先需要根據(jù)話題的ID讀入該話題包含的所有,然后根據(jù)的時間對所有進行排序。接下來申請一個臨道集合,并把按時間排序的逐個加入臨道集合。在向臨道集合加入的過程中,需要不斷計算臨道集合的平均相似度,如果其平均相似度小于設(shè)定的閾值,則根據(jù)這個臨但此時仍需要根據(jù)這個臨道集合生成一個子話題。屬性表示所屬于的話題的階段,即子話題。開開選擇一個話題,并從數(shù)庫讀入該話題的所是是否是是否還沒有確定階 道集合是否可以成為子話否是生成子話否臨道集合是否為否道集合清臨道集合添向圖 子話題檢測模塊流程,當(dāng)話題檢測模塊把以話題的形式進行組織時題的各種分析就變得格外重,移除過移除過期的話題大小信計算話題敏感計算話題敏感熱詞統(tǒng)計模塊在運行時,只需要定時執(zhí)行編寫好的SQL語句即可。MySQL數(shù)據(jù)庫 圖 驅(qū)動的網(wǎng)絡(luò)爬蟲的控制中隔時間來添加新的爬蟲任務(wù)?;蛘咄ㄟ^右鍵已存在爬蟲任務(wù)來刪除它們。圖 爬蟲任務(wù)的詳細運行狀況、、示了任務(wù)數(shù)窗口數(shù)等待數(shù)超時數(shù)打開與關(guān)閉情況超時情況、、、話題檢測與算法的效果展據(jù)庫中的格式:圖 在數(shù)據(jù)庫中的格式在上圖中,由于大小的限制沒有顯示出的id和url屬性。在已經(jīng)顯示的幾個屬性中,type、title、date_time是的固有屬性,表示的類型、標(biāo)題和發(fā)布時間。其類型可以是、博客、帖子和回復(fù)。而topic_id和stage屬性則是在話題檢測與算法運行之后才生成的,它們分別表示所屬話題的id和它在該話題中的階段。其中階段是以非負整數(shù)表示的如果其值為-1則表示這則還未被判斷出其所屬的階段(子話題。當(dāng)子話題檢測模塊下一次啟動時,會把所有階段為-1的修正過來。 圖 話題在數(shù)據(jù)庫中的格式在上圖中,由于大小的限制沒有顯示出hot_value和sensitive_value屬性,這兩的標(biāo)題取自于話題中最早那篇的標(biāo)題earliest_dt和latest_dt屬性分別表示該話題中最早的的和最遲的的,即話題的生存時間。圖 話題大小臨時信息在數(shù)據(jù)庫中的格式在上圖中,分別顯示了話題ID話題檢測與算法中閾值的確在話題檢測與算法的實踐中涉及到一個閾值α的的確定閾值α決定了一個話題所涵蓋的空間的大小,下圖為閾值α作用的示意圖:圖 閾值α作用的示意上圖表示,假定存在一個含有三個(左上方三個,也可以)的話題,如果閾值α取值較小,則當(dāng)?shù)溃ㄓ蚁陆堑模﹣淼綍r,它將不屬于這個話題。而當(dāng)閾值α取值較大時,它將屬于這個話題。在話題檢測與算法的實踐中還涉及到另一個閾值β的確定閾值β決定了兩圖 閾值β作用的示意ββ取值較大時,γ閾值αβ本課題在測試中采用的測試數(shù)據(jù)集是話題檢測及評價數(shù)據(jù)集(SogouTDTE)[16]。這個數(shù)據(jù)集由搜狗提供,其地址為http: 數(shù)據(jù) 所屬話題兩部分構(gòu)成,其格式如下圖所示圖 話題檢測及評價數(shù)據(jù)集數(shù)據(jù)格式的標(biāo)題、正文、等信息由驅(qū)動的網(wǎng)絡(luò)爬蟲獲取α和閾值β的值,然后開啟話題檢測與跟話題檢測與算法的有效性。接下來,讓測試程序不停地用不同的閾值α和閾值β來對于集合??={??1,??2,…,????},可以把測試數(shù)據(jù)集和看做是集合S的劃分,分別記為????=??????{??1??2????}和????=??????{??1??2????}。LRTR作為報道集合S的劃分還可以看作是關(guān)(兩個被劃分到同一個部分就認為它們有關(guān)??(????)={{????,????}|ョ??∈????&????,????∈??&????≠ ??(????)={{????,????}|ョ??∈????&????,????∈??&????≠ 于是,可以用R(LR)和R(TR)計算準(zhǔn)確率、率、F值來作為話題檢測與算????=????=
??=
在多次實驗后,將實驗結(jié)果集中在表內(nèi)觀察,下表為F10表 F值最高的10組實驗結(jié)果閾值閾值F0.17將閾值αβ和FX軸、Y軸、Z圖 實驗結(jié)果三維α0.2β0.4左右時可以使結(jié)果最好。為了防止過擬合,話題檢測與算法最終設(shè)定閾值α為0.2,閾值β為0.4。本課題“網(wǎng)絡(luò)熱點話題自動檢測”的目標(biāo)就是主動去互聯(lián)網(wǎng)上的、博客、驅(qū)動的網(wǎng)絡(luò)爬蟲以及話題檢測與算法驅(qū)動的網(wǎng)絡(luò)爬蟲負責(zé)爬取博客、驅(qū)動的網(wǎng)絡(luò)爬蟲的在于爬蟲任務(wù)的設(shè)計以及配套的解析執(zhí)行器設(shè)計。在本課題的實現(xiàn)過程中,我們采用了XML語言作為爬蟲任務(wù)的基礎(chǔ),用特殊的元素來設(shè)計爬蟲任務(wù)中的各項配置、指令等。爬蟲任務(wù)的設(shè)計參照當(dāng)行的編程語言,使其具有很好的可讀性并且也易于計算機的和處理。在驅(qū)動的網(wǎng)少數(shù)據(jù)庫的次數(shù),但是內(nèi)存的消耗卻增加了。所以,在撰寫爬蟲任務(wù)時,需要能在以后的階段加以改進。HtmlUnitJavaScript代碼有點力不從,在畢業(yè)設(shè)計即將結(jié)束的時候向在我完成畢業(yè)設(shè)計和的過程中給予我無私幫助的老師和表達謝意。,首先,我必須感謝我畢業(yè)設(shè)計的指導(dǎo)教師教授。知識淵博、治學(xué)嚴(yán)謹(jǐn)?shù)怯帜芎蛯W(xué)生們打成一片。在課堂上,喜歡用與學(xué)生的方式來完成他的教學(xué)任務(wù),他常說,他上課就是給講故事。能用最通俗易懂的語言來講述高深晦澀的理論知識。上課讓我感受頗深,這比自己看書要理解的快的多。他給我2的課為來的學(xué)習(xí)和工作打下了非常堅實的基礎(chǔ)。在的,除了科研氛圍外我還感受到了很濃厚的人文,老師、師兄、師姐都很熱情、友善,他們PPT來說明自己做了什么、沒做什么、下一周做什么。在小組討論會上,他讓我們提出問題,然后他給出一些參考的解決方案或者直接和彎路。我能順利完成了畢業(yè)設(shè)計,絕對是第一助力,在此再次感謝。同樣我也要感謝師兄、師兄和老師。師兄和師兄之前都在做過與爬蟲有關(guān)的工作,我選擇設(shè)計并實現(xiàn)驅(qū)動的網(wǎng)絡(luò)爬蟲主要是受到了他們的啟發(fā)。他們在我完成驅(qū)動的網(wǎng)絡(luò)爬蟲的過程中也向我提出了很多寶貴的建議和技術(shù)。老師題檢測與有很深入的研究,他還發(fā)過這方面的。所以,每當(dāng)我在話題檢測與算法上遇到問題時,我就去請教老師,他總是耐心的給我講解其中的知識和相關(guān)技術(shù)。兩位師兄和老師在我畢業(yè)設(shè)計的選題、設(shè)計、實現(xiàn)、然后,是我們宿舍的,在完成畢業(yè)設(shè)計的過程中,有時候會在寢室調(diào)試代碼到深夜。這時候,宿舍的都已經(jīng)睡了。如果我繼續(xù)調(diào)試,電腦屏幕的光和我敲鍵盤都會影響他們休息。可是不把問題解決,不把代碼調(diào)通我又睡不著覺。對此,宿舍的同學(xué)都很能理解我,他們還勸我打開臺燈以免眼睛影響視力。宿舍的我還要感謝我的父母。我們家離很遠,但是父母仍然支持鼓勵我來求學(xué),他們希望我能在北航這所優(yōu)秀的大學(xué)里學(xué)到的知識,讓自己變得像北航一樣優(yōu)秀。他們雖然不能常來看望我,但是他們常常打關(guān)心我的學(xué)習(xí)和生活,并且給我足最后,衷心感謝為評閱這篇畢業(yè)設(shè) 而付出辛勤勞動的各位老師和評委[1],.網(wǎng)絡(luò)爬蟲研究綜述[J].計算機應(yīng)用研究,2007,24(10):26-[2]周立柱,.聚焦爬蟲技術(shù)研究綜述
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省巴中市平昌縣同州街道2025-2026學(xué)年八年級上學(xué)期12月期中聯(lián)考生物試題 (含答案)
- 2025年工商模擬面試題及答案
- 英國文學(xué)考試題庫及答案
- 外腳手架施工方案
- 方案編制的協(xié)議書
- 合作簽約合同范本
- 2025年冷鏈物流智能化改造項目:技術(shù)創(chuàng)新可行性深度研究報告
- 生物制藥研發(fā)2025年全球市場報告
- 2026華能新能源股份有限公司云南分公司校園招聘考試題庫附答案
- 2026年勞務(wù)員考試題庫【學(xué)生專用】
- 2025貴州錦麟化工有限責(zé)任公司第三次招聘7人參考筆試題庫及答案解析
- 私人司機合同范本
- 2025年河北體育學(xué)院競爭性選調(diào)工作人員14名(第三批)考試模擬卷附答案解析
- 《資源與運營管理》期末機考資料
- 股權(quán)抵押分紅協(xié)議書
- 《數(shù)字化測圖》實訓(xùn)指導(dǎo)書
- 電影監(jiān)制的合同范本
- 2025年高級農(nóng)藝工考試題及答案
- 鐵路工務(wù)安全管理存在的問題及對策
- 初三物理中考期末復(fù)習(xí)知識點分類匯總解析及考試分析課件
- 學(xué)術(shù)英語寫作完整版資料課件
評論
0/150
提交評論