freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

全文搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-在線瀏覽

2025-08-15 12:48本頁面
  

【正文】 查詢處理器的功能是根據(jù)用戶的查詢在索引庫中快速檢出文檔,進(jìn)行文檔與查詢的相關(guān)度評價(jià), 對將要輸出的結(jié)果進(jìn)行排序,并實(shí)現(xiàn)某種用戶相關(guān)性反饋機(jī)制。闡述了搜索引擎在顯示應(yīng)用中的重要性,目前全文搜索引擎的工作組成部分以及各個(gè)工作組成部分到底是什么。 江漢大學(xué)本科畢業(yè)論文(設(shè)計(jì))32 搜索引擎相關(guān)理論研究 Web 搜索引擎原理和結(jié)構(gòu)全文搜索引擎是一款網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng),論文中全部以搜索引擎稱。事實(shí)上,這三個(gè)部分是相互獨(dú)立、分別工作的,主要的關(guān)系體現(xiàn)在前一部分得到的數(shù)據(jù)結(jié)果為后一部分提供原始數(shù)據(jù)。自頂向下的方法描述搜索引擎執(zhí)行過程:1.用戶通過瀏覽器提交查詢的詞或者短語 P,搜索引擎根據(jù)用戶的查詢返回匹配的網(wǎng)頁信息列表 L;2. 上述過程涉及到兩個(gè)問題,如何匹配用戶的查詢以及網(wǎng)頁信息列表從何而來,根據(jù)什么而排序?用戶的查詢 P 經(jīng)過分詞器被切割成小詞組 p1,p2 … pn 并被剔除停用詞 ( 的、了、啊等字 ),根據(jù)系統(tǒng)維護(hù)的一個(gè)倒排索引可以查詢某個(gè)詞 pi 在哪些網(wǎng)頁中出現(xiàn)過,匹配那些 p1,p2 … pn 都出現(xiàn)的網(wǎng)頁集即可作為初始結(jié)果,更進(jìn)一步,返回的初始網(wǎng)頁集通過計(jì)算與查詢詞的相關(guān)度從而得到網(wǎng)頁排名,即 Page 江漢大學(xué)本科畢業(yè)論文(設(shè)計(jì))4Rank,按照網(wǎng)頁的排名順序即可得到最終的網(wǎng)頁列表;3. 假設(shè)分詞器和網(wǎng)頁排名的計(jì)算公式都是既定的,那么倒排索引以及原始網(wǎng)頁集從何而來?原始網(wǎng)頁集在之前的數(shù)據(jù)流程的介紹中,可以得知是由爬蟲 spider 爬取網(wǎng)頁并且保存在本地的,而倒排索引,即詞組到網(wǎng)頁的映射表是建立在正排索引的基礎(chǔ)上的,后者是分析了網(wǎng)頁的內(nèi)容并對其內(nèi)容進(jìn)行分詞后,得到的網(wǎng)頁到詞組的映射表,將正排索引倒置即可得到倒排索引;4. 網(wǎng)頁的分析具體做什么呢?由于爬蟲收集來的原始網(wǎng)頁中包含很多信息,比如 html 表單以及一些垃圾信息比如廣告,網(wǎng)頁分析去除這些信息,并抽取其中的正文信息作為后續(xù)的基礎(chǔ)數(shù)據(jù)。 江漢大學(xué)本科畢業(yè)論文(設(shè)計(jì))5無論搜索引擎的規(guī)模大小,其主要結(jié)構(gòu)都是由這幾部分構(gòu)成的,并沒有大的差別,搜索引擎的好壞主要是決定于各部分的內(nèi)部實(shí)現(xiàn)。 網(wǎng)頁收集全文檢索是工作在某個(gè)數(shù)據(jù)集合上的程序,他需要事先由頁面抓取程序,在全網(wǎng)中抓取海量網(wǎng)頁,這個(gè)抓取程序也叫網(wǎng)絡(luò)爬蟲或 Spider。 爬蟲的工作流程網(wǎng)頁收集的過程如同圖的遍歷,其中網(wǎng)頁就作為圖中的節(jié)點(diǎn),而網(wǎng)頁中的超鏈接則作為圖中的邊,通過某網(wǎng)頁的超鏈接 得到其他網(wǎng)頁的地址,從而可以進(jìn)一步的進(jìn)行網(wǎng)頁收集;圖的遍歷分為廣度優(yōu)先和深度優(yōu)先兩種方法,網(wǎng)頁的收集過程也是如此。下圖表示了這個(gè)過程:圖 23 Spider 工作流程 爬蟲的抓取策略爬蟲的工作策略一般分為累積式抓?。╟umulative crawling)和增量式抓取(incremental crawing)兩種。在理想的軟硬件環(huán)境下,經(jīng)過足夠的運(yùn)行時(shí)間,積累是抓取策略可以保證抓取到相當(dāng)規(guī)模的網(wǎng)頁集合。與累積式抓取不同,增量式抓取是指在具有一定量規(guī)模的網(wǎng)頁集合的基礎(chǔ)上,采用更新數(shù)據(jù)的方式選取已有集合中的過時(shí)頁面進(jìn)行抓取,以保證所抓取的數(shù)據(jù)與真實(shí)網(wǎng)絡(luò)數(shù)據(jù)足夠接近。面對實(shí)際應(yīng)用環(huán)境的網(wǎng)絡(luò)蜘蛛設(shè)計(jì)中,通常既包含累積式抓取,也包括增量式抓取的策略。 鏈接數(shù)據(jù)庫的建立初始 URL 的建立有兩種方式:超鏈接和站長提交。站長提交:在實(shí)際運(yùn)行中,爬蟲不可能抓取所有的站點(diǎn),為此,網(wǎng)站站長可以向搜索引擎進(jìn)行提交,要求收錄,搜索引擎經(jīng)過核查后,便將該網(wǎng)站加入到 URL 集合中,進(jìn)行抓取。接著會(huì)判斷 URL 在抓取數(shù)據(jù)庫中是否存在,如果存在,刪除舊的,更新新的。URL 生成器:從抓取回來的網(wǎng)頁中,將符合條件的 URL 提出出來,檢測 URL 是否在有效更新時(shí)間里面,并將 URL 載入相應(yīng)的任務(wù)組,計(jì)算 URL 的 hash 值,搜集 URL,直至達(dá)到規(guī)定的廣度。預(yù)處理模塊的整體結(jié)構(gòu)如下: 圖 24 預(yù)處理模塊的整體結(jié)構(gòu)通過爬蟲的收集,保存下來的網(wǎng)頁信息具有較好的信息存儲(chǔ)格式,但是還是有一個(gè)缺點(diǎn),就是不能按照網(wǎng)頁 URL 直接定位到所指向的網(wǎng)頁。之后,處理網(wǎng)頁數(shù)據(jù),對于一個(gè)網(wǎng)頁,首先需要提取其網(wǎng)頁正文信息,其次對正文信息進(jìn)行分詞,之后再根據(jù)分詞的情況建立索引和倒排索引,這樣,網(wǎng)頁的預(yù)處理也全部完成。在索引數(shù)據(jù)之前,首先必須將數(shù)據(jù)轉(zhuǎn)換成純文本字符流。為此需要使用文檔解析器,將富媒體轉(zhuǎn)換成純文字字符流。在對數(shù)據(jù)進(jìn)行索引錢,還必須進(jìn)行預(yù)處理,對數(shù)據(jù)進(jìn)行分析是之更加適合被索引。同樣的,也需要分析輸入的詞匯單元,一遍從詞語中去掉一些不必要的字母以找到他們的詞干。將分析后的數(shù)據(jù)寫入索引。結(jié)果一般包括網(wǎng)頁標(biāo)題,正文,所屬住地址,主機(jī),內(nèi)容摘要,時(shí)間戳,當(dāng)前 URL 地址等,并更具具體需要建立索引和存儲(chǔ)。中文分詞主要有三種方法:第一種基于字符串匹配,第二種基于語義理解,第三種基于統(tǒng)計(jì)?;谧址ヅ涞姆椒ㄓ纸凶鰴C(jī)械分詞方法,它是按照一定的策略將待分析的漢字串與一個(gè)“充分大的”機(jī)器詞典中的詞條進(jìn)行配,若在詞典中找到某個(gè)字符串,則匹配成功(識(shí)別出一個(gè)詞)。常用的幾種機(jī)械分詞方法如下:正向減字最大匹配法(由左到右的方向);逆向減字最大匹配法(由右到左的方向);最少切分(使每一句中切出的詞數(shù)最?。浑p向最大減字匹配法(進(jìn)行由左到右、由右到左兩次掃描);采用其中的正向最大匹配法。需要說明的是,在第三步的起始,n 如果不為 1,則意味著有匹配到的詞;而如果 n 為 1,默認(rèn) 1 個(gè)字是應(yīng)該進(jìn)入分詞結(jié)果的,所以第三步可以將前 n 個(gè)字作為一個(gè)詞而分割開來。您也許有疑問,如何獲得分詞字典或者是停用詞字典。在程序使用過程中,分詞字典可以放入一個(gè)集合中,這樣就可以比較方便的進(jìn)行比對工作。而如果遇到歧義詞組,可以通過字典中附帶的詞頻來決定哪種分詞的結(jié)果更好。它是文檔索引系統(tǒng)中最常用的數(shù)據(jù)結(jié)構(gòu)。一個(gè)單詞的水平反向索引(或者完全反向索引)又包含每個(gè)單詞在一個(gè)文檔中的位置。下面將以圖示和實(shí)例的方式分別說明正向索引和倒排索引。對相同的文字,得到后面這些完全反向索引,有文檔數(shù)量和當(dāng)前查詢的單詞結(jié)果組成的的成對數(shù)據(jù)。所以,banana: {(2, 3)} 就是說 banana在第三個(gè)文檔里 ( ),而且在第三個(gè)文檔的位置是第四個(gè)單詞(地址為 3)。但是這個(gè)短語檢索的連續(xù)的條件僅僅在文檔 1 得到。 查詢方式和匹配查詢方式指的是系統(tǒng)允許用戶提交查詢的形式。一般認(rèn)為,對于普通網(wǎng)絡(luò)用戶來說,最自然的方式就是“要什么就輸入什么”。例如用戶輸入“江漢大學(xué)”,可能是他想了解江漢大學(xué)目前的招生狀況,可能需要找到江漢大學(xué)教務(wù)系統(tǒng)的網(wǎng)址,可能需要了解大家對江漢大學(xué)的評價(jià)。在其他一些情況下,用戶可能關(guān)心的是間接的信息,例如“江漢大學(xué)錄取分?jǐn)?shù)線”,450 分應(yīng)該是他需要的,但不可能包含在這個(gè)短語中。這不僅是因?yàn)樗拇_代表了大多數(shù)的情況,還因?yàn)樗容^容易實(shí)現(xiàn)。一般地,用 q0 表示用戶提交的原始查詢,例如,q0 =“網(wǎng)絡(luò)與分布式系統(tǒng)實(shí)驗(yàn)室”。如上例,則為“網(wǎng)絡(luò) 與 分布式 系統(tǒng) 實(shí)驗(yàn)室”(注意,不同的分詞軟件可能得出不同的結(jié)果)。最后形成一個(gè)用于參加匹配的查詢詞表,q = {t1, t2, …, tm},在本例中就是 q = {網(wǎng)絡(luò),分布式,系統(tǒng),實(shí)驗(yàn)室}。有了這樣的 q,它的每一個(gè)元素都對應(yīng)倒排文件中的一個(gè)倒排表(文檔編號(hào)的集合),記作 L(ti),它們的交集即為對應(yīng)查詢的結(jié)果文檔集合,從而實(shí)現(xiàn)了查詢和文檔的匹配。 結(jié)果排序就目前的技術(shù)情況看,列表是最常見的形式(但人們也在探求新的形式,如Vivisimo 引擎將結(jié)果頁面以類別的形式呈現(xiàn))?;\統(tǒng)地講,ri 和 q 的相關(guān)性(relevance)是形成這種順序的基本因素。不同需求的用戶可能輸入同一個(gè)查詢,同一個(gè)用戶在不同的時(shí)間輸入的相同的查詢可能是針對不同的信息需求。大致上講就是一篇文檔中包含的查詢(q)中的那些詞越多,則該文檔就應(yīng)該排在越前面;再精細(xì)一些的考慮則是若一個(gè)詞在越多的文檔中有出現(xiàn),則該詞用于區(qū)分文檔相關(guān)性的作用就越小。因?yàn)?,?dāng)通過前述關(guān)鍵詞的提取過程,形成一篇文檔的關(guān)鍵詞集合,p = {t1, t2, …, tn}的時(shí)候,很容易同時(shí)得到每一個(gè)ti 在該文檔中出現(xiàn)的次數(shù),即詞頻,而倒排文件中每個(gè)倒排表的長度則對應(yīng)著一個(gè)詞所涉及的文檔的篇數(shù),即文檔頻率。這方面最重要的成果就是前面提到過的 PageRank。 文檔摘要搜索引擎給出的結(jié)果是一個(gè)有序的條目列表,每一個(gè)條目有三個(gè)基本的元素:標(biāo)題,網(wǎng)址和摘要。一般來講,從一篇文字中生成一個(gè)恰當(dāng)?shù)恼亲匀徽Z言理解領(lǐng)域的一個(gè)重要課題,人們已經(jīng)做了多年的工作并取得了一些成果。一是網(wǎng)頁的寫作通常不規(guī)范,文字比較隨意,因此從語言理解的角度難以做好;二是復(fù)雜的語言理解算法耗時(shí)太多,不適應(yīng)搜索引擎要高效處理海量網(wǎng)頁信息的需求。因此搜索引擎在生成摘要時(shí)要簡便許多,基本上可以歸納為兩種方式,一是靜態(tài)方式,即獨(dú)立于查詢,按照某種規(guī)則,事先在預(yù)處理階段從網(wǎng)頁內(nèi)容提取出一些文字,例如截取網(wǎng)頁正文的開頭 512 個(gè)字節(jié)(對應(yīng) 256 個(gè)漢字),或者將每一個(gè)段落的第一個(gè)句子拼起來,等等。顯然,這種方式對查詢子系統(tǒng)來說是最輕松的,不需要做另外的處理工作。一篇網(wǎng)頁有可能是多個(gè)不同查詢的結(jié)果。因此,有了“動(dòng)態(tài)摘要”方式,即在響應(yīng)查詢的時(shí)候,根據(jù)查詢詞在文檔中的位置,提取出 江漢大學(xué)本科畢業(yè)論文(設(shè)計(jì))15周圍的文字來,在顯示時(shí)將查詢詞標(biāo)亮。為了保證查詢的效率,需要在預(yù)處理階段分詞的時(shí)候記住每個(gè)關(guān)鍵詞在文檔中出現(xiàn)的位置。以 web 搜索引擎為主要介紹對象。其次分別用三個(gè)章節(jié)分別介紹三段式工作流程中涉及到的各個(gè)流程的主要工作,以及工作中所采用什么樣的工作策略。它并不是一個(gè)完整的應(yīng)用程序,而是一組代碼庫,并提供了方便實(shí)現(xiàn)搜索引擎的 API。所以在了解 Lucene 之前要了解一下全文檢索。 Lucene 如何對索引進(jìn)行搜索 第一步:用戶輸入查詢語句。 不同的查詢語句有不同的語法,如 SQL 語句就有一定的語法。最基本的有比如:AND, OR, NOT 等。 說明用戶想找一個(gè)包含 lucene 和 learned 然而不包括 hadoop 的文檔。 由于查詢語句有語法,因而也要進(jìn)行語法分析,語法分析及語言處理。 如果在詞法分析中發(fā)現(xiàn)不合法的關(guān)鍵字,則會(huì)出現(xiàn)錯(cuò)誤。 如果發(fā)現(xiàn)查詢語句不滿足語法規(guī)則,則會(huì)報(bào)錯(cuò)。 經(jīng)過第二步,得到一棵經(jīng)過語言處理的語法樹。 第四步:根據(jù)得到的文檔和查詢語句的相關(guān)性,對結(jié)果進(jìn)行排序。表 41 給出了通過內(nèi)存建立文本信息索引的一個(gè)例子。private String[] s = {, , , , , }。private int[] attachs = {2, 3, 1, 4, 5, 3}。private Directory directory = null。public IndexUtil(){try {//directory = (new File(D:\\bs\\luceestdir01))。} catch (Exception e) {()。try {iwc = new IndexWriterConfig(, new StandardAnalyzer())。Document doc = null。 i。(new Field(id, ids[i], , ))。(new Field(content, contents[i], , ))。(doc)。} catch (Exception e) {()。} catch (Exception e) {()。}}}Lucene 查詢服務(wù)是根據(jù)通過的關(guān)鍵字,從已建立的索引中查詢符合分詞規(guī)則的信息。表 32 查詢服務(wù)public void query(){IndexReader reader = null。 //通過reader可以獲取有效的文檔數(shù)量//(numDocs: + ())。} catch (Exception e) {()。} catch (IOException e) {()。}}}Lucene 索引更新是根據(jù)提供的新信息,刪除,回復(fù),修改索引的過程。表 33 刪除、恢復(fù)、強(qiáng)制刪除索引public void delete(){IndexWriter writer = null。writer = new IndexWriter(directory, iwc)。(Index where id = 1 delete ok!)。} finally {if(writer != null){try {()。(Index Writer Close Error ~~)。try {reader = (directory, false)。 //恢復(fù)所有索引(All Index Undelte Ok~~!)。} finally {try {()。(Index Reader Close Error ~!)。try {iwc = new IndexWriterConfig(, new StandardAnalyzer())。()。} cat
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1