全文檢索有哪些技術(shù)原理和過程
全文索引用于處理大文本集合,利用它人們可以在海量文本中快速獲取需要的信息。下面是學(xué)習(xí)啦小編整理的全文索引的內(nèi)容,歡迎閱讀。
全文索引的介紹
全文索引技術(shù)是目前搜索引擎的關(guān)鍵技術(shù)。
試想在1M大小的文件中搜索一個(gè)詞,可能需要幾秒,在100M的文件中可能需要幾十秒,如果在更大的文件中搜索那么就需要更大的系統(tǒng)開銷,這樣的開銷是不現(xiàn)實(shí)的。
所以在這樣的矛盾下出現(xiàn)了全文索引技術(shù),有時(shí)候有人叫倒排文檔技術(shù)。
全文檢索技術(shù)原理
原理是先定義一個(gè)詞庫(kù),然后在文章中查找每個(gè)詞條(term)出現(xiàn)的頻率和位置,把這樣的頻率和位置信息按照詞庫(kù)的順序歸納,這樣就相當(dāng)于對(duì)文件建立了一個(gè)以詞庫(kù)為目錄的索引,這樣查找某個(gè)詞的時(shí)候就能很快的定位到該詞出現(xiàn)的位置。
問題在處理英文文檔的時(shí)候顯然這樣的方式是非常好的,因?yàn)橛⑽淖匀坏谋豢崭穹殖扇舾稍~,只要我們有足夠大的詞匯庫(kù)就能很好的處理。但是亞洲文字因?yàn)闆]有空格作為斷詞標(biāo)志,所以就很難判斷一個(gè)詞,而且人們使用的詞匯在不斷的變化,而維護(hù)一個(gè)可擴(kuò)展的詞匯庫(kù)的成本是很高的,所以問題出現(xiàn)了。
解決出現(xiàn)這樣的問題使“分詞”成為全文索引的關(guān)鍵技術(shù)。目前有兩種基本的方法:
二元法 它把所有有可能的每?jī)蓛蓾h字的組合看為一個(gè)詞組,這樣就沒有維護(hù)詞庫(kù)的開銷。
詞庫(kù)法 它使使用詞庫(kù)中的詞作為切分的標(biāo)準(zhǔn),這樣也出現(xiàn)了詞庫(kù)跟不上詞匯發(fā)展的問題,除非你維護(hù)詞庫(kù)。
實(shí)際上現(xiàn)在很多著名的搜索引擎都使用了多種分詞的辦法,比如“正向最大匹配”+“逆向最大匹配”,基于統(tǒng)計(jì)學(xué)的新詞識(shí)別,自動(dòng)維護(hù)詞庫(kù)等技術(shù),但是顯然這樣的技術(shù)還沒有做到完美。
全文檢索技術(shù)存儲(chǔ)過程
目前全文索引技術(shù)正走向人工智能化,也是發(fā)展的方向。
MicroSoft SqlServer 2000/2005 中的全文索引是由一系列存儲(chǔ)過程來完成的,這些存儲(chǔ)過程按先后順序羅列如下:
1、啟動(dòng)數(shù)據(jù)庫(kù)的全文索引服務(wù)存儲(chǔ)過程:sp_fulltext_service
2、初始化全文索引存儲(chǔ)過程:sp_fulltext_database
3、建立全文索引目錄存儲(chǔ)過程:sp_fulltext_catalog
4、在全文索引目錄中添加刪除表標(biāo)記存儲(chǔ)過程:sp_fulltext_table
5、在全文索引目錄的表中添加或刪除列標(biāo)記存儲(chǔ)過程:sp_fulltext_column
全文檢索的技術(shù)
1概述
圖書情報(bào)界對(duì)于檢索語言的主流觀點(diǎn):自然語言檢索是發(fā)展方向,信息檢索要走自然語言道路;人工語言不適應(yīng)網(wǎng)絡(luò)環(huán)境;目前自然語言檢索技術(shù)雖有缺點(diǎn),但人工智能發(fā)展可使其逐步達(dá)到完善,滿足檢索的要求。
自然語言檢索技術(shù)包括:(1)關(guān)鍵詞索引及以關(guān)鍵詞為檢索標(biāo)識(shí)的文獻(xiàn)題錄數(shù)據(jù)庫(kù);
(2)全文數(shù)據(jù)庫(kù);(3)搜索引擎及由搜索引擎自動(dòng)建立的網(wǎng)絡(luò)資源數(shù)據(jù)庫(kù);(4)自動(dòng)標(biāo)引;
(5)自動(dòng)分類。在這5個(gè)主要方面中,只有關(guān)鍵詞索引及數(shù)據(jù)庫(kù)、全文檢索、搜索引擎已經(jīng)實(shí)現(xiàn),但這3個(gè)方面的實(shí)質(zhì)都是關(guān)鍵詞檢索,所以可以說自然語言檢索目前僅在關(guān)鍵詞檢索的層次上實(shí)現(xiàn)。
目前關(guān)鍵詞檢索技術(shù)的最主要用途就是用來實(shí)現(xiàn)全文檢索,它是全文檢索的核心。并且關(guān)鍵詞檢索和全文檢索是密不可分的。
2基本概念
所謂全文檢索,是指直接以全文本信息作為主要處理對(duì)象,并根據(jù)數(shù)據(jù)資料的內(nèi)容而不是外在特征來實(shí)現(xiàn)的信息檢索手段。它的基本工作方式是能夠?qū)⑺邪瑱z索詞的文獻(xiàn)檢索出來,不管這個(gè)詞出現(xiàn)在文獻(xiàn)的什么位置,或者說文獻(xiàn)中的任意一個(gè)詞都可以作為檢索到該文獻(xiàn)的條件。全文檢索提供存取全文文本(指原始記錄)的空間,文本中任何字符和字符串均可作為檢索的入口點(diǎn),全文檢索是以原始記錄中的檢索詞、字間的特定位置為對(duì)象的運(yùn)算,對(duì)文獻(xiàn)不作標(biāo)引,故沒有標(biāo)引用詞。因此,全文檢索是一種可以不依賴敘詞表而直接使用自由詞的檢索方法。
3實(shí)現(xiàn)條件
要實(shí)現(xiàn)全文檢索需要2個(gè)必要的條件:一是需要將最終信息本身輸入到計(jì)算機(jī)里,這個(gè)問題看似簡(jiǎn)單,實(shí)際上它包含了極大的工作量;二是需要有相應(yīng)的軟件支持,全文信息不僅包括書刊的文字信息,而且包括圖片、聲音、視頻信息等各種信息資料,即使只將書刊及各種資料的文字信息輸入計(jì)算機(jī),其信息量就非常大了。因此,必須有專門的方法、專門的軟件來支持這種“最終信息”的檢索,這類軟件就是全文檢索軟件。
3.1 全文檢索的實(shí)現(xiàn)方式
全文檢索目前主要通過以下方式來實(shí)現(xiàn):①采用自由指定的檢索項(xiàng)(如關(guān)鍵詞、字符串等)直接與全文文本的一次數(shù)據(jù)高速對(duì)照,進(jìn)行檢索;②對(duì)文本內(nèi)容中的每個(gè)檢索項(xiàng)進(jìn)行位置掃描,然后排序,建立以每個(gè)檢索項(xiàng)的離散碼為表目的倒排文檔;③采用超文本模型建立全文數(shù)據(jù)庫(kù),實(shí)現(xiàn)超文本檢索。
3.2 全文檢索的核心技術(shù)
全文檢索的核心技術(shù)是將源文檔中所有的基本元素的出現(xiàn)信息記錄到索引庫(kù)中。中文全文檢索技術(shù)在原理上同西文全文檢索是一致的,但漢字本身的特點(diǎn)使中文系統(tǒng)的實(shí)現(xiàn)比西文系統(tǒng)更為復(fù)雜。在西文中,文檔的基本元素是單詞,可以以單詞建立索引庫(kù),而且單詞與單詞之間有天然的間隔符空格,所以索引文件的建立相對(duì)簡(jiǎn)單。在中文系統(tǒng)中,基本元素可以是單個(gè)漢字字符,也可以是詞。因此,存在2種基本的索引方法,即“詞索引”和“字索引”。
3.2.1 詞索引
“詞索引 ” 以能表達(dá)一定的意義的詞為單位, 通過事先內(nèi)嵌的詞典對(duì)原始數(shù)據(jù)作索引 , 以詞為單位進(jìn)行匹配。詞索引適于大規(guī)模應(yīng)用 , 索引庫(kù)可以組織得比較小 , 檢索速度也比較快,而且還可以實(shí)現(xiàn)同義詞、反義詞的概念檢索,具有較高的查準(zhǔn)率。但其難點(diǎn)在于中文自動(dòng)分詞,由于中文語言的復(fù)雜性使得計(jì)算機(jī)自動(dòng)分詞工作具有相當(dāng)?shù)碾y度,分詞很容易出現(xiàn)歧義,從而導(dǎo)致在檢索一些詞時(shí)可以發(fā)生大量的漏檢或錯(cuò)檢,查全率不高。并且在當(dāng)今社會(huì),新的詞匯層出不窮,對(duì)詞表的更新也將是個(gè)很大的工作量。
3.2.2 字索引
“字索引”則以字為單位,把源文檔中的每一個(gè)字的出現(xiàn)位置記錄到索引庫(kù)中,索引庫(kù)對(duì)每個(gè)不同的字符都保存了一個(gè)字表,記錄同一個(gè)字在文檔中的所有出現(xiàn)位置,無須詞典即可對(duì)原始數(shù)據(jù)做索引,匹配的時(shí)候,以關(guān)鍵詞中的每個(gè)漢字為單位向后匹配整個(gè)語料樣本。 4 全文索引技術(shù)
全文索引技術(shù)是目前搜索引擎的關(guān)鍵技術(shù)。原理是先定義一個(gè)詞庫(kù),然后在文章中查找每個(gè)詞條出現(xiàn)的頻率和位置,把這樣的頻率和位置信息按照詞庫(kù)的順序歸納,這樣就相當(dāng)于對(duì)文件建立了一個(gè)以詞庫(kù)為目錄的索引,這樣查找某個(gè)詞的時(shí)候就能很快的定位到該詞出現(xiàn)的位置。問題是在處理英文文檔的時(shí)候顯然這樣的方式是非常好的,因?yàn)橛⑽淖匀坏谋豢崭穹殖扇舾稍~,只要我們有足夠大的詞匯庫(kù)就能很好的處理。但是中文字符因?yàn)闆]有空格作為斷詞標(biāo)志,所以就很難判斷一個(gè)詞,而且人們使用的詞匯在不斷的變化,而維護(hù)一個(gè)可擴(kuò)展的詞匯庫(kù)的成本是很高的,所以問題出現(xiàn)了。解決出現(xiàn)這樣的問題使“分詞”成為全文索引的關(guān)鍵技術(shù)。目前有兩種基本的方法:
*二元法:它把所有有可能的每?jī)蓛蓾h字的組合看為一個(gè)詞組,這樣就沒有維護(hù)詞庫(kù)的開銷。 *詞庫(kù)法:它使使用詞庫(kù)中的詞作為切分的標(biāo)準(zhǔn),這樣也出現(xiàn)了詞庫(kù)跟不上詞匯發(fā)展的問題,除非你維護(hù)詞庫(kù)。
實(shí)際上現(xiàn)在很多著名的搜索引擎都使用了多種分詞的辦法,比如“正向最大匹配”+“逆向最大匹配”,基于統(tǒng)計(jì)學(xué)的新詞識(shí)別,自動(dòng)維護(hù)詞庫(kù)等技術(shù),但是顯然這樣的技術(shù)還沒有做到完美。
5 分詞算法
中文全文檢索技術(shù)的研發(fā)始于1987年左右,主要使用的是中文分詞技術(shù),眾所周知,英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述一個(gè)意思,把中文的漢字序列切分成有意義的詞,就是中文分詞,有些人也稱為切詞,其處理過程就是分詞算法。
現(xiàn)有的分詞算法可分為三大類:基于字符串匹配的分詞方法、基于理解的分詞方法和基于統(tǒng)計(jì)的分詞方法。
5.1 基于字符串的分詞方法
基于字符串匹配的分詞方法這種方法又叫做機(jī)械分詞方法,它是按照一定的策略將待分析的漢字串與一個(gè)“充分大的”機(jī)器詞典中的詞條進(jìn)行配,若在詞典中找到某個(gè)字符串,則匹配成功(識(shí)別出一個(gè)詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長(zhǎng)度優(yōu)先匹配的情況,可以分為最大(最長(zhǎng))匹配和最小(最短)匹配;按照是否與詞性標(biāo)注過程相結(jié)合,又可以分為單純分詞方法和分詞與標(biāo)注相結(jié)合的一體化方法。常用的幾種機(jī)械分詞方法如下:1)正向最大匹配法(由左到右的方向);2)逆向最大匹配法(由右到左的方向);3)最少切分(使每一句中切出的詞數(shù)最小)。還可以將上述各種方法相互組合,例如,可以將正向最大匹配方法和逆向最大匹配方法結(jié)合起來構(gòu)成雙向匹配法。由于漢語單字成詞的特點(diǎn),正向最小匹配和逆向最小匹配一般很少使用。一般說來,逆向匹配的切分精度略高于正向匹配,遇到的歧義現(xiàn)象也較少。統(tǒng)計(jì)結(jié)果表明,單純使用正向最大匹配的錯(cuò)誤率為1/169,單純使用逆向最大匹配的錯(cuò)誤率為1/245。但這種精度還遠(yuǎn)遠(yuǎn)不能滿足實(shí)際的需要。實(shí)際使用的分
詞系統(tǒng),都是把機(jī)械分詞作為一種初分手段,還需通過利用各種其它的語言信息來進(jìn)一步提高切分的準(zhǔn)確率。一種方法是改進(jìn)掃描方式,稱為特征掃描或標(biāo)志切分,優(yōu)先在待分析字符串中識(shí)別和切分出一些帶有明顯特征的詞,以這些詞作為斷點(diǎn),可將原字符串分為較小的串再來進(jìn)機(jī)械分詞,從而減少匹配的錯(cuò)誤率。另一種方法是將分詞和詞類標(biāo)注結(jié)合起來,利用豐富的詞類信息對(duì)分詞決策提供幫助,并且在標(biāo)注過程中又反過來對(duì)分詞結(jié)果進(jìn)行檢驗(yàn)、調(diào)整,從而極大地提高切分的準(zhǔn)確率。對(duì)于機(jī)械分詞方法,可以建立一個(gè)一般的模型。
5.2 基于理解的分詞方法
基于理解的分詞方法這種分詞方法是通過讓計(jì)算機(jī)模擬人對(duì)句子的理解,達(dá)到識(shí)別詞的效果。其基本思想就是在分詞的同時(shí)進(jìn)行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。它通常包括三個(gè)部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。在總控部分的協(xié)調(diào)下,分詞子系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語義信息來對(duì)分詞歧義進(jìn)行判斷,即它模擬了人對(duì)句子的理解過程。這種分詞方法需要使用大量的語言知識(shí)和信息。由于漢語語言知識(shí)的籠統(tǒng)、復(fù)雜性,難以將各種語言信息組織成機(jī)器可直接讀取的形式,因此目前基于理解的分詞系統(tǒng)還處在試驗(yàn)階段。
5.3 基于統(tǒng)計(jì)的分詞方法
從形式上看,詞是穩(wěn)定的字的組合,因此在上下文中,相鄰的字同時(shí)出現(xiàn)的次數(shù)越多,就越有可能構(gòu)成一個(gè)詞。因此字與字相鄰共現(xiàn)的頻率或概率能夠較好的反映成詞的可信度。可以對(duì)語料中相鄰共現(xiàn)的各個(gè)字的組合的頻度進(jìn)行統(tǒng)計(jì)。雖然有了成熟的分詞算法,但是中文是一種十分復(fù)雜的語言,讓計(jì)算機(jī)理解中文語言更是困難。在中文分詞過程中,有兩大難題一直沒有完全突破。
第一,歧義識(shí)別歧義是指同樣的一句話,可能有兩種或者更多的切分方法。
第二,新詞識(shí)別新詞,專業(yè)術(shù)語稱為未登錄詞。也就是那些在字典中都沒有收錄過,但又確實(shí)能稱為詞的那些詞。
6 全文檢索技術(shù)的應(yīng)用
在微機(jī)工作平臺(tái)上,目前已建立了十幾種中英文檢索軟件,其中比較著名的有清華同方的TPI、易寶北信的TRS、北大方正的MIRS、中國(guó)百科術(shù)語數(shù)據(jù)庫(kù)和海文Quick等。全文檢索軟件的工作過程主要分成2步:第一步是分析待檢索的全文本信息,對(duì)其進(jìn)行索引;第二步是實(shí)際的檢索過程,對(duì)用戶提出檢索請(qǐng)求,全文檢索軟件根據(jù)第一步得到的索引找到檢索關(guān)鍵字出現(xiàn)的位置,并將相應(yīng)的全文本的有關(guān)篇章或段落提交給用戶。分成兩步,而不是在用戶提交檢索請(qǐng)求之后直接對(duì)原文本進(jìn)行查找匹配的原因主要是考慮到速度的問題。因?yàn)橥ǔH谋拘畔⒌臄?shù)據(jù)量都是非常大的,如果每次要對(duì)數(shù)百萬甚至更多的數(shù)據(jù)進(jìn)行查找匹配,即使是計(jì)算機(jī)也需要很長(zhǎng)的時(shí)間。如果是在網(wǎng)絡(luò)環(huán)境下,系統(tǒng)要同時(shí)響應(yīng)大量用戶的檢索請(qǐng)求時(shí),用戶等待的時(shí)間就更長(zhǎng)了。因此,只能事先對(duì)原始全文資料作充分的分析并記錄下必要的、足夠的信息,才有可能提供全文檢索。進(jìn)行事先分析就是對(duì)原始資料進(jìn)行索引,其結(jié)果是生成記錄了原始全文資料所有有關(guān)信息的索引文件。
7 全文檢索技術(shù)的特點(diǎn)
7.1 全文檢索技術(shù)的優(yōu)點(diǎn)
全文檢索技術(shù)具有直接客觀性,它提供存取全文文本的空間,能直接檢查原始文獻(xiàn)或解決問題所需要的文獻(xiàn)資料,不必進(jìn)行二次檢索,既直接又保證了客觀性。全文檢索得到的是全文文本,而不是文獻(xiàn)的摘要或替代品。全文檢索技術(shù)具有詳盡徹底性,可對(duì)文中任何字、詞、句進(jìn)行檢索,還可表示檢索詞間的復(fù)雜位置關(guān)系,文獻(xiàn)的正文部分或附屬部分都可以檢索和顯示。
全文數(shù)據(jù)庫(kù)的建立,無須專門人員前期進(jìn)行大量標(biāo)引工作,只需將已有的檔案信息數(shù)據(jù)加載到全文檢索軟件平臺(tái)上即可。用戶使用時(shí)也無須提供專業(yè)化的檢索條件,借助截詞、鄰接等匹配方法,文本中任何字符或字符串都可作為檢索的入口點(diǎn),用戶2010年2月孫清玉:有效的信息檢索技術(shù)——全文檢索第2期(總148期)73可直接查詢文本中的任何部分或特定單元,查詢效率大大提高。
全文檢索的廣泛適用性,體現(xiàn)在能處理結(jié)構(gòu)化和非結(jié)構(gòu)化的各類文本數(shù)據(jù),能夠采集各種來源文本,這些來源可能是跨越廣泛地理分布的,也可以是不同介質(zhì)、不同格式產(chǎn)生的文本。全文檢索具有對(duì)檢索出的文本進(jìn)行處理的能力,并且以用戶樂于接受的形式提供檢索并加工處理文本,使檢索系統(tǒng)功能得到了延伸。
7.2 全文檢索系統(tǒng)的欠缺
語詞與概念之間存在著多對(duì)多的關(guān)系,即:一個(gè)語詞可以表達(dá)多個(gè)概念,同時(shí)一個(gè)概念也可以用多個(gè)不同的詞來表達(dá)。自然語言的這種情況給基于關(guān)鍵詞的信息檢索造成了一定的困難?;陉P(guān)鍵詞的全文檢索是以文檔中有沒有檢索要求中的關(guān)鍵詞來召回檢索結(jié)果,而不是以檢索詞所表達(dá)的意思來召回結(jié)果的。從這個(gè)角度來說,全文檢索可能會(huì)造成大量的漏檢。
全文檢索系統(tǒng)不適應(yīng)于學(xué)科或?qū)I(yè)的分類檢索要求及一族事物的族性檢索要求;越是被論述得多的事物,越難在全文檢索系統(tǒng)中得到滿意的檢索結(jié)果。有較多同義詞、準(zhǔn)同義詞的檢索對(duì)象,由于檢索對(duì)象的用詞不定型,以及遇“一詞多義”、“詞義含糊”、不普遍使用的縮略詞、詞的嵌套等情況,都會(huì)或多或少影響其檢索效率。
看了什么是全文索引的人還看了:
1.什么是全文檢索
2.全文搜索的方法
3.基于模型庫(kù)的現(xiàn)代成本會(huì)計(jì)計(jì)量系統(tǒng)研究論文
5.數(shù)據(jù)管理技術(shù)發(fā)展研究計(jì)算機(jī)類職稱論文數(shù)據(jù)管理技術(shù)具體就是指人們