超鏈接超文本文檔檢索系統(tǒng)原理和分析方法
時間:2022-05-28 15:51:01 | 來源:網(wǎng)絡(luò)營銷
時間:2022-05-28 15:51:01 來源:網(wǎng)絡(luò)營銷
超文本是用超鏈接的方法,將各種不同空間的文字信息組織在一起的網(wǎng)狀文本。超文本更是一種用戶界面范式,用以顯示文本及與文本之間相關(guān)的內(nèi)容。
一個與根據(jù)超鏈指向的查詢索引文檔相關(guān),用于檢索文檔的搜索引擎,它的索引器遍歷超文本數(shù)據(jù)庫并尋找包括超鏈指向的文檔地址與每個超鏈錨文本在內(nèi)的超文本信息。
超文本信息是貯存在一個倒排索引文件里,這個倒排索引文件亦可用于計算對于各超鏈指向的特定文檔鏈接向量。輸入查詢時候,搜索引擎找到錨文本里含有查詢詞的全部文檔向量。與此同時計算了查詢向量,然后算出查詢向量跟每個文檔鏈接向量的點(diǎn)積。錨文本里含有查詢詞的全部文檔相關(guān)點(diǎn)積的加總決定了每一個文檔的相關(guān)性排名。
本文涉及超文本文檔檢索,更具體地說是分布在譬如萬維網(wǎng)之類的廣域網(wǎng)的搜索數(shù)據(jù)庫的超文本文檔檢索系統(tǒng)和方法。
一、技術(shù)背景 隨著互聯(lián)網(wǎng)和網(wǎng)絡(luò)的流行度增長,查找相關(guān)文檔的難度越來越大,如果用戶找不到第一個感興趣主題的相關(guān)文件,他自然也不會用超鏈接找到其它的相關(guān)文件了。
此外,如果相關(guān)文件的作者沒有創(chuàng)建其它相關(guān)網(wǎng)站的話,單一相關(guān)文檔的位置可能就無法導(dǎo)向其它文檔。因此,信息的增加促進(jìn)了各種搜索引擎的發(fā)展,幫助用戶更容易找到所需要的信息。
超文本是個提供一種使用節(jié)點(diǎn)與鏈接處理信息的獨(dú)特和非連續(xù)方法的數(shù)據(jù)庫系統(tǒng)。節(jié)點(diǎn),即文檔或文件,包含文本、制圖、音頻、視頻、動畫、圖像等。而鏈接使節(jié)點(diǎn)或文檔與其它節(jié)點(diǎn)或文檔相連。
最普及的超文本抑或超媒體系統(tǒng)是萬維網(wǎng),它使用超鏈接使各式各樣的節(jié)點(diǎn)或文檔鏈接在一起,由此允許以非線性組織網(wǎng)絡(luò)上的文本。
超鏈?zhǔn)莾蓚€被稱為超鏈頭和尾的錨點(diǎn)間的關(guān)聯(lián)。頭錨點(diǎn)是目標(biāo)的節(jié)點(diǎn)或文檔,而尾錨點(diǎn)是從那個鏈接而來的文檔或節(jié)點(diǎn)。
在網(wǎng)絡(luò)上,超鏈通常被認(rèn)定為在尾錨點(diǎn)文檔里彰顯或凸顯的某幾個文本或制圖。當(dāng)一名用戶覽閱尾文檔突顯的“點(diǎn)擊”或“錨文本”質(zhì)料時,超鏈自動與用戶電腦連接或?qū)δ莻€特定超鏈“指向”頭錨點(diǎn)文檔。
當(dāng)用戶已經(jīng)找到他感興趣的相關(guān)主題的尾部文檔時,該超文本系統(tǒng)通常是有效的。
尾部文檔的超鏈接是由文檔的作者創(chuàng)建的,他通常已經(jīng)檢查過超鏈接頭部文檔的資料了。因此,用戶點(diǎn)擊超鏈接的行為,在一定程度上保證了該超鏈接的頭部文檔的資料與尾部文檔的錨文本之間的相關(guān)性。
當(dāng)一名用戶已經(jīng)找到了尾文檔有關(guān)的對那個用戶感興趣的標(biāo)的物,這個超文本系統(tǒng)一般很管用。超鏈在尾文檔被創(chuàng)建來自文檔的作者他通常將審視質(zhì)料在超鏈的頭文檔里。因此,一位用戶點(diǎn)擊一個超鏈有一個高度數(shù)的確認(rèn)那質(zhì)料在頭文檔有一些有關(guān)的對錨文本在超鏈的尾文檔里(具體可查看億企邦《關(guān)于搜索引擎的6大超鏈接分析算法研究》的相關(guān)介紹)。
二、搜索引擎的檢索技術(shù) 搜索引擎通常把用戶查詢看作輸入,并試圖找到與其相關(guān)的文件。查詢通常表現(xiàn)為幾個描述用戶感興趣主題的詞。為了確定得到的文檔是否與查詢匹配,搜索引擎通常把用戶的查詢看作是文檔集合的索引來進(jìn)行運(yùn)算。
由于多數(shù)的臨時用戶不喜歡輸入過多的文字,及特定的查詢更傾向于流行的主題,可能會出現(xiàn)許多與查詢不習(xí)慣的結(jié)果。當(dāng)搜索引擎已經(jīng)索引了一個大的文檔集合時,比如網(wǎng)絡(luò),很有可能會找到大量與查詢相關(guān)的文檔。因此,大多數(shù)搜索引擎會列出一張文檔的清單,該清單的文檔排名由與查詢的相關(guān)性決定,相關(guān)性相對低的文檔將不會被識別給用戶。
所以,為了限制用戶需要瀏覽的文檔的數(shù)量并滿足用戶的信息需求,搜索引擎決定(具有滿足用戶需求的)文檔檢索能力的排名的方法極其重要。
幾乎所有的搜索引擎排名技術(shù)都取決于給出的文檔中查詢關(guān)鍵詞出現(xiàn)的頻率,當(dāng)其它相關(guān)因素一樣時,關(guān)鍵詞在給出的文檔中出現(xiàn)的頻率越高,該文檔的相關(guān)分?jǐn)?shù)就越高。
在確定相關(guān)分?jǐn)?shù)時,除了詞頻,也可能會考慮到其它影響因素,如文檔頻(即包含該關(guān)鍵詞的文檔數(shù)量)。一旦各種因素,如詞頻或文檔頻,確定了,例如向量空間模型、概率模型、模糊邏輯模型等的各種模型將會被用來開發(fā)數(shù)值(具有滿足用戶需求的)文檔檢索能力的排名。
比如說,在向量空間模型中,查詢關(guān)鍵詞qt是查詢向量的維度,那用戶查詢q則是向量。
Q = <qt1, qt2, ..., qtm>
數(shù)據(jù)庫的文檔也用關(guān)鍵詞表現(xiàn)為向量,關(guān)鍵詞dt在文檔中則表現(xiàn)為向量維度。
D = <dt1, dt2, ..., dtn>
那么,(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)就被計算為Q和D的點(diǎn)積了。
向量Q或D的評估價值會以各種方式進(jìn)行加權(quán),最為流行的關(guān)鍵詞加權(quán)公式是:
Weight (t) = TF*IDFt
文檔或查詢中給出的關(guān)鍵詞詞頻為TF,其反向文檔頻IDF代替t。反向文檔頻是指文檔集合中包含該關(guān)鍵詞的文檔的反向數(shù)量(具體可查看億企邦《如何利用詞頻統(tǒng)計原理自動提取文章摘要》的相關(guān)介紹)。
使用反向文檔頻以確保如“這”、“的”、“和”等無用詞沒有高的權(quán)重。此外,當(dāng)查詢多重關(guān)鍵詞時,如果其中一個關(guān)鍵詞出現(xiàn)在許多文檔中,使用IDF加權(quán),就會使得含有該關(guān)鍵詞的文檔獲得較低的排名,而含有其它關(guān)鍵詞的文檔則獲得更高的排名。
標(biāo)準(zhǔn)化的關(guān)鍵詞加權(quán)也會考慮到包含特定關(guān)鍵詞的文檔的長度。假設(shè)在一定量的文本中,關(guān)鍵詞出現(xiàn)得越頻繁,文檔與包含該關(guān)鍵詞的查詢的相關(guān)性就越高。但是,在很多情況下,這個設(shè)想是不正確的。
例如,如果查詢的是“Java tutorial”,文檔J中有100行只含有“Java tutorial”這個詞,那J將獲得非常高的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù),并被搜索引擎作為相關(guān)性最高的文檔呈現(xiàn)給用戶。
可是,對于用戶來說,該文檔是無用的,因為它并沒有提供任何關(guān)于“Java tutorial”的信息。用戶真正需要的是一個好的Java程序設(shè)計語言指南,像在Java指南網(wǎng)上找到的那樣。不幸的是,短語“Java tutorial”并沒有在Java指南網(wǎng)上出現(xiàn)100次,因此多數(shù)搜索引擎會不正確地認(rèn)為Java指南網(wǎng)的相關(guān)性低,從而獲得的(具有滿足用戶需求的)文檔檢索能力的排名就低于文檔J。
像J這樣的文檔不會出現(xiàn)在傳統(tǒng)的數(shù)據(jù)庫中,因為傳統(tǒng)數(shù)據(jù)庫中文檔的選取或制作是為了其內(nèi)容而不是重復(fù)某個關(guān)鍵詞(具體可查看億企邦《搜索引擎自動提取文章關(guān)鍵詞原理》的相關(guān)介紹)。
網(wǎng)絡(luò)中,每個人都可以成為發(fā)布人,沒有人會選擇像J這樣的文檔的。但事實上,為了使自己的文檔能被檢索到搜索引擎提交的排名表的頂部,有些人會考慮到詞頻或標(biāo)準(zhǔn)化詞頻而故意這樣構(gòu)建自己的文檔。
比如說,以文本的前五行含有關(guān)鍵詞“性”來的方式來設(shè)計一個網(wǎng)頁,該網(wǎng)站可能會是低質(zhì)的或是與性無關(guān)的,但是搜索引擎卻會上當(dāng)給它一個好的排名,因為網(wǎng)頁中關(guān)鍵詞“性”出現(xiàn)的頻率較高。
在超文本環(huán)境中,長度標(biāo)準(zhǔn)化也可能出現(xiàn)問題,如果文檔中含有多媒體而不是文本的話,可能會增加精確計算文檔相關(guān)長度的困難。
傳統(tǒng)的搜索引擎使用關(guān)鍵詞可能不能檢索包含這些關(guān)鍵詞的同義詞的相關(guān)文檔。因此,為了查找到包含關(guān)鍵詞“attorney”的文檔但用戶只查詢“lawyer”,很多搜索引擎都需要有廣泛的同義詞詞匯,建造這個詞庫是非常昂貴和困難的。如果相關(guān)文檔使用的語言與搜索引擎用戶輸入查詢的語言不一樣,傳統(tǒng)的搜索引擎也不能查找到。翻譯工具可以解決這個問題,但是也困難和昂貴。
此外,傳統(tǒng)的搜索引擎困難無法識別非文本資料,即使該資料與查詢相關(guān)。例如,當(dāng)搜索引擎只能搜索文檔中包含關(guān)鍵詞“莫扎特”的文本時,一個包含莫扎特圖片或音樂示例的網(wǎng)頁,可能不會被搜索引擎識別為相關(guān)。
三、超文本檢索系統(tǒng)概要 索引文檔的方法包括獲取指向文檔的超鏈接清單,其中每個超鏈接含有一個或多個關(guān)鍵詞。用在指向文檔的超鏈接中的關(guān)鍵詞來索引該文檔。許多含有特定關(guān)鍵詞的超鏈接,可能會指向同一個文檔,用該文檔來索引其包含特定關(guān)鍵詞的超鏈接數(shù)目。
特定的關(guān)鍵詞可能出現(xiàn)在指向許多文檔的超鏈接中,用該關(guān)鍵詞索引被含有特定關(guān)鍵詞的超鏈接指向的文檔的數(shù)目。
索引可能包括創(chuàng)建一個列有每個關(guān)鍵詞的文件,含有該關(guān)鍵詞的超鏈接指向的文檔的數(shù)量,含有該關(guān)鍵詞的超鏈接指向的文檔的標(biāo)識符,和含有指向的被識別文檔的關(guān)鍵詞的超鏈接數(shù)量。
用含有特定關(guān)鍵詞的超鏈接指向的文檔的標(biāo)識符來索引含有特定關(guān)鍵詞超鏈接指向的文檔數(shù)量,在指向文檔的超鏈接上的特定關(guān)鍵詞的索引可能與被含有特定關(guān)鍵詞的超鏈接指向的反向文檔數(shù)量一致。
一個關(guān)鍵詞可能會在一個指向文檔的超鏈接中出現(xiàn)若干次,用被該超鏈接指向的文檔索引該關(guān)鍵詞出現(xiàn)的次數(shù)。
關(guān)鍵詞可以是詞干,本發(fā)明中的方法可以在設(shè)備中操作,也可以作為可讀計算機(jī)的指令集儲存起來。
依據(jù)本發(fā)明的另一方面,文檔排名的方法是基于文檔與查詢的(具有滿足用戶需求的)文檔檢索能力的,其中查詢中至少有一個關(guān)鍵詞,而超鏈接要包含關(guān)鍵詞并指向相應(yīng)的文檔。
方法包括將查詢的單詞比作在一個超鏈里的單詞,為每個超鏈取得一個(具有滿足用戶需求的)文檔檢索能力的排名,包括合計指向特定文檔的每個超鏈接的(具有滿足用戶需求的)文檔檢索能力的排名來獲取該文檔的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)。
查詢可以表現(xiàn)為一個查詢向量,該向量包含每個關(guān)鍵詞的維度。由于每一超鏈接指向一個文檔,該文檔可以表現(xiàn)為文檔鏈接向量,該向量包含在指向該文檔的相應(yīng)超鏈接上的關(guān)鍵詞的維度。把查詢中的詞看作超鏈接中的詞,包含用文檔鏈接向量計算該查詢向量的點(diǎn)積。合計指向文檔的超鏈接的(具有滿足用戶需求的)文檔檢索能力的排名,包括計算用特定文檔的文檔鏈接向量得到的點(diǎn)積來獲取該文檔的(具有滿足用戶需求的)文檔檢索能力的總分,該總分可以被看作是文檔獲得的排名。
查詢向量中的關(guān)鍵詞維度可能與被含有該關(guān)鍵詞超鏈接指向的反向文檔數(shù)量相關(guān)。同樣地,文檔鏈接向量中的關(guān)鍵詞維度與許多被含有該關(guān)鍵詞超鏈接指向的反向文檔相關(guān)。
超文本文檔檢索系統(tǒng)和方法的其它固有的特征和優(yōu)點(diǎn)已經(jīng)被公開,或?qū)τ谑煜み@方面技術(shù)的人來說,從以下的詳細(xì)說明及與之對應(yīng)的附圖可以看出其逐漸明顯化。
制圖簡述附圖: 優(yōu)選方案的詳細(xì)說明: 附圖1是包含本發(fā)明中超文本檢索系統(tǒng)的分散式計算機(jī)網(wǎng)絡(luò)方塊圖:
附圖1是典型的分散式超文本系統(tǒng),其包括連接著服務(wù)器12、13、14、15和16的客戶端計算機(jī)10。雖然客戶端計算機(jī)10顯示為直接連接服務(wù)器12,但它也可以通過服務(wù)供應(yīng)商及一個或多個其它服務(wù)器來間接與服務(wù)器12連接。服務(wù)器13、14、15和16分別包含文檔17、18、19、和20里的文件。文件17、18、19和20里的文檔對網(wǎng)絡(luò)用戶有效。服務(wù)器12包含下面討論得更詳細(xì)的索引文件21。為了創(chuàng)建索引文件21,服務(wù)器12橫貫于整個網(wǎng)絡(luò),查找存在于其它服務(wù)器13-16中文件17-20的超文本文檔。
附圖2是索引與檢索系統(tǒng)的方塊圖:
附圖2描述本發(fā)明的索引與檢索系統(tǒng)30的通用結(jié)構(gòu)。系統(tǒng)30外的用戶通過用戶界面34輸入一個查詢32,該界面是通常存在于用戶的計算機(jī),例如客戶端計算機(jī)10(圖1)。該查詢通過網(wǎng)絡(luò)發(fā)送到存在于如服務(wù)器12(圖1)的服務(wù)器上的索引與檢索系統(tǒng)30。該系統(tǒng)包括檢索引擎36,索引文件38和索引引擎40。以下將會描述檢索引擎36和索引引擎40的運(yùn)行及索引文件38的創(chuàng)建。像在萬維網(wǎng)上那樣,索引引擎40橫貫文檔數(shù)據(jù)庫42,創(chuàng)建索引文件38。文檔數(shù)據(jù)庫42可能包括文件17-20(圖1)。由索引引擎40創(chuàng)建的索引文件38會采取多種方式與本發(fā)明一致,可能包括鏈接文件44,倒排文件46和文檔向量文件48,上述的以下都會詳細(xì)描述到。檢索引擎36使用索引文件38以便確定文檔的(具有滿足用戶需求的)文檔檢索能力的排名,及通過用戶界面34在49上輸出搜索結(jié)果。
附圖3是兩個超文本文檔的方塊圖:
附圖3是文檔A和B的超鏈接以箭頭50標(biāo)出的圖解,他們分別是尾部錨點(diǎn)和頭部錨點(diǎn)。文檔A的地址是URL1,文檔B的地址是URL2。地址是以統(tǒng)一資源定位符的形式,它是頭部和尾部錨地址的一種統(tǒng)一資源標(biāo)識符。URL的典型格式是:http://www.mahaixiang.cn/seo/book.html
URL后可以選擇性地接著磅符號和字符序列,它被稱為片段標(biāo)識符以便識別文檔中的片段,即http://www.mahaixiang.cn/seo/book.html#Chapter1
文檔A中包含標(biāo)題52,摘要54和文本或多媒體56。同樣,文檔B中包含標(biāo)題58,摘要60和文本或多媒體62。
文本或多媒體中可能包含像文檔A中的錨文本64那樣的錨文本。文檔A中也包含指令66,它充當(dāng)著超鏈接50的指令。表示超鏈接50中的指令66,顯示在超文本標(biāo)記語言上,它包括指令“href”并確定頭部錨點(diǎn)的地址,在這種情況下,文檔B的地址為URL2。指令66包含語句“good tutorial on Java”,它識別超鏈接50的錨文本。通過識別語句“good tutorial on Java”為指令66的錨文本,從而使該語句被突出顯示在文檔A的文本56中。當(dāng)強(qiáng)調(diào)像文本64這樣的文本時,也提醒了文檔A的讀者超鏈接的存在。當(dāng)用戶點(diǎn)擊錨文本64時,指令66指向文檔B,從而引導(dǎo)用戶的計算機(jī)向地址URL2發(fā)送信息,索要文檔B的副本。
當(dāng)然,文檔A的作者必須創(chuàng)建指令66并確定錨文本64。通常,按照該作者的看法,創(chuàng)建類似這些文檔的作者需要用錨文本的語言(案例中的錨文本64)來描述頭部錨文檔(案例中的文檔B)。因此,如果許多作者像文檔A的作者那樣用錨文本64做文檔B的鏈接指令,那么查找Java指南的用戶非常有可能對文檔B中的信息感興趣。
附圖4是包含文件間超鏈接表示的超文本系統(tǒng)的例子:
附圖4是一副簡單超文本系統(tǒng)制圖,它只包含四個文檔,文檔A,B,C和D。如附圖4所示,該系統(tǒng)只有3條超鏈接,超鏈接50(也顯示在附圖3中),超鏈接68和70。
如附圖3所示,文檔A的錨文本“good tutorial on Java”是從文檔A到B的超鏈接的尾部。文檔C包含兩組錨文本“Java tutorial”和“Sun’s Java site”。文檔C的錨文本72通過超鏈接68指向文檔B。錨文本74通過超鏈接70指向文檔D。
附圖4所顯示超文本系統(tǒng)在下面將被用來描述包括索引引擎、檢索引擎和被索引引擎創(chuàng)建的索引文件在內(nèi)的超文本系統(tǒng)。
附圖5是索引編制程序的流程圖:
附圖5將描述附圖2中的索引引擎40的運(yùn)行。在區(qū)塊100,索引引擎橫貫數(shù)據(jù)庫的每個文檔。穿過數(shù)據(jù)庫有多種方法,但通常使用被稱為蜘蛛的程序。
蜘蛛開始獲取不同的URL地址,發(fā)信息到這些地址索要位于它們包含文檔。這些地址可以識別服務(wù)器,儲存在服務(wù)器山的文檔,和文檔組。依靠獲得的文檔或被URL識別的文檔,蜘蛛檢驗這些文檔查找識別其它地址的超鏈接指令,蜘蛛記錄這些地址并尋找地址上的文檔。
遍歷于區(qū)塊100的每個文檔時,系統(tǒng)也獲取區(qū)塊102相關(guān)文檔的超鏈接信息。這樣的超鏈接信息可能包括文檔的URL,文檔中超鏈接的錨文本的關(guān)鍵詞和含有該錨文本的超鏈接指向的文檔的URL。系統(tǒng)也可能會收集各種各樣關(guān)于文檔的信息,包括它的標(biāo)題和文檔正文。如果有需要的話,系統(tǒng)甚至?xí)?chuàng)建一個摘要。
在區(qū)塊104,系統(tǒng)全家一個或多個鏈接文件,文件的詞條的格式是:
<doc.ID, anchor-text>,
其中doc.ID是有相應(yīng)錨文本的超鏈接的頭部文檔的標(biāo)識符。
doc.ID可能是URL的一種形式,也可能是用文檔URL以某種方式來索引的另一種標(biāo)識符。框104A是鏈接文件的一個樣本,如附圖2所提到的,是為文檔的數(shù)據(jù)庫而創(chuàng)建的(顯示在附圖4中)。由于附圖4的數(shù)據(jù)庫有3個超鏈接,就有3個詞條在文件104A中。系統(tǒng)可能也儲存了關(guān)鍵詞在某特定鏈接的錨文本出現(xiàn)的次數(shù)。如例子所示,每個關(guān)鍵詞只出現(xiàn)一次在特定的鏈接中。
雖然附圖5顯示,穿過區(qū)塊100的文檔比在區(qū)塊104創(chuàng)建鏈接文件早,但是有可能一些待創(chuàng)建的鏈接文件會優(yōu)先穿過數(shù)據(jù)庫中文檔。事實上,一旦數(shù)據(jù)庫被徹底穿過,可能需要更新鏈接文件和其它穿過文檔的索引文件,這是為了確定數(shù)據(jù)庫是否增加了補(bǔ)充文件或者文檔是否增加了超鏈接。
在區(qū)塊106,不同超鏈接的錨文本可能被截止了。截詞是把詞從不同的構(gòu)形附加成分簡化為精簡詞干的一種方法。在截詞時,單詞是不分大小寫的,如“Tutorial”和“tutorial”是一樣的。“Sun’s”被截為“Sun”,“documents”被截為“document”等等。
然后操作方式傳遞到區(qū)塊108,它創(chuàng)建一個反文件,所用的詞條格式是:
<term, doc.>,
其中term是從超鏈接的錨文本中摘取的一個詞,doc.是該超鏈接的頭部文檔的標(biāo)識符。區(qū)塊108的反文件顯示在文件108A中。由于錨文本“good tutorial on Java”有四個詞,則該超鏈接導(dǎo)致四個詞條在文件108A中。
在區(qū)塊110,反文件以關(guān)鍵詞的方式排序,同時計算文檔頻。文檔頻被定義為被錨文本中含有特定關(guān)鍵詞的超鏈接指向的文檔的數(shù)量。例如,附圖4中的數(shù)據(jù)庫,關(guān)鍵詞“Java”出現(xiàn)在3個超鏈接的錨文本上,這3個超鏈接總共指向兩個不同的文檔。因此,關(guān)鍵詞“Java”的文檔頻是2。關(guān)鍵詞“good”只在指向唯一一個文檔的超鏈接上出現(xiàn)一次,那么關(guān)鍵詞“good”的文檔頻率為1。
操作方法其次傳遞到區(qū)塊112,創(chuàng)建最終反文件顯示在112A中。詞條在最終反文件的格式是:
<term, DF, doc1, lf1, doc2, lf2, . . . , doci, LFi>,
其中,term 是錨文本中的關(guān)鍵詞,DF是該關(guān)鍵詞的文檔頻,doci是文檔i的文檔標(biāo)識符,而LFi則是doci的鏈接關(guān)鍵詞詞頻。鏈接關(guān)鍵詞詞頻是指向doci的超鏈接的數(shù)量,其中doci的錨文本是由特定關(guān)鍵詞組成。
例如,關(guān)鍵詞good在指向文本B的超鏈接中只出現(xiàn)一次,所以它的鏈接關(guān)鍵詞詞頻是1。關(guān)鍵詞Java出現(xiàn)在指向文檔B的兩個超鏈接上,所以其鏈接關(guān)鍵詞詞頻是2。本發(fā)明中,檢索引擎的實現(xiàn)得依靠獲取與用戶查詢相關(guān)的文檔。
doc.id, v1, v2, . . . , vi
<w(t1), w(t2), . . . , w(ti)>
框114中的索引引擎也可能會生成一個文檔鏈接向量,其詞條的格式是:doc.id, v1, v2, . . . , vi,其中doc.id是某一特定文檔的標(biāo)識符,vi是鏈接文件的超鏈接的向量表示法。每個向量vi的格式表現(xiàn)為1), w(t2), . . . , w(ti)>,其中w(ti)是關(guān)鍵詞i在給出的錨文本中表現(xiàn)為向量的超鏈接的權(quán)重。文檔鏈接向量的維度(w(ti))是由TFi *IDF計算的,其中TFi是關(guān)鍵詞i的詞頻,即關(guān)鍵詞在給出的錨文本中出現(xiàn)的次數(shù),IDF是關(guān)鍵詞的反文檔頻(1/DF)屬于鏈接向量的特定維度。計算維度時,用文檔的總數(shù)劃分文檔頻可獲得標(biāo)準(zhǔn)化的文檔頻,使用反向文檔頻的對數(shù)也可以滿足需要。
文件114A是文檔鏈接文件的一個例子,它已經(jīng)生成在區(qū)塊114中。由于有兩超鏈接指向文檔B,則文檔B中有兩個向量連同其標(biāo)識符被輸入到文件114中。在指向文檔B的首個超鏈接的錨文本中,有四個不同的詞“good tutorial on Java ”,那么文檔B的首個向量則有四個維度。因為指向文檔B的第二個超鏈接只有兩個詞(Java,tutorial)在錨文本中,用文檔B索引的第二個向量也就只有兩個維度。
如下面所描述的,文檔鏈接向量文件114A被用來計算關(guān)于特定查詢的的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)。不是自動地創(chuàng)建文檔鏈接向量文件,而是在收到查詢時再創(chuàng)建文檔鏈接向量文件,這更符合需要。因此,在需要創(chuàng)建的鏈接向量文件中,唯一的詞條與文檔有關(guān),這些文檔含有查詢關(guān)鍵詞在指向該文檔的超鏈接的錨文本中。
TF*IDF = 1*1 = 1
在文檔B的第一個向量中,前三個維度是“one”,這是因為關(guān)鍵詞“good”、“tutorial”和“on”只出現(xiàn)在指向一個文檔的錨文本中,并且只出現(xiàn)一次。因此,無論如何,關(guān)鍵詞“Java”的詞頻是1,文檔頻是2,反文檔頻是0.5。得出“Java”的TF*IDF是0.5,文檔B中首個向量的最后一個維度是0.5,剩下的其它在第二個向量的維度和文檔D的向量也是根據(jù)TF*IDF的公式計算的。
據(jù)附圖2顯示,鏈接文件104A、反文件108A、最后的反文件112A和文檔鏈接向量文件114被認(rèn)為是索引文件。雖然附圖5中的文件是首選,但是還有很多索引技術(shù)可以和本發(fā)明中的系統(tǒng)一起使用的,它們依靠錨文本和鏈接頻來索引文檔。例如,可以壓縮文件,文件中或文件間可能存在數(shù)據(jù)的各種關(guān)系結(jié)構(gòu)。
附圖6是檢索過程流程圖:
現(xiàn)在引用附圖6,檢索程序通過向量空間模型和鏈接向量投票來實現(xiàn)(具有滿足用戶需求的)文檔檢索能力的排名。如文件120A所顯示的,在框120中,該程序以用戶查詢的輸入為開端。然后,在框122,系統(tǒng)搜索反文件或最后一個反文件,在框124,它用查詢關(guān)鍵詞找到了所有的文檔。如果文檔有與其對應(yīng)的超鏈接,且超鏈接的錨文本含有查詢關(guān)鍵詞,那么該文檔有可能與該查詢相關(guān)。
如框124A所示,系統(tǒng)中有B和D這兩個文檔,每個文檔相對應(yīng)的超鏈接的錨文本中都含有一個或多個查詢關(guān)鍵詞。
再次,在框126進(jìn)行操作,系統(tǒng)在此可以找到框124A中已被識別的文檔的鏈接向量。文檔鏈接向量與基于文檔內(nèi)容的傳統(tǒng)的文檔向量形成對照。系統(tǒng)可以簡單地通過文件114(附圖5)找到文檔鏈接向量,或者可以從反文件和鏈接文件創(chuàng)建文檔鏈接向量。由于指向文檔的每個超鏈接都與查詢相關(guān),框126A可以把文檔鏈接向量連同錨文本一起顯示出來。
在框128獲取文檔鏈接向量時,系統(tǒng)如框128A所顯示那樣,也創(chuàng)建了一個查詢向量。查詢關(guān)鍵詞向量維度為TFq*IDF,其中TFq是關(guān)鍵詞詞頻或關(guān)鍵詞在查詢中出現(xiàn)的次數(shù)。IDF是附圖5的框110中計算出來的關(guān)鍵詞的反文檔頻。查詢中的Java和tutorial的TFq都是1。之前在附圖5框110中計算得知,Java的IDF是0.5,tutorial的IDF是1。
一旦找到或計算出查詢向量和所有相關(guān)文檔向量,就可以進(jìn)行區(qū)塊130的操作了,即計算每個文檔的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)。先通過查詢向量計算出文檔鏈接向量,再由此找到每個文檔鏈接向量的點(diǎn)積。向量的點(diǎn)積 <a, b, c> 和 <d, e, f> 被稱為。
如果兩個向量的維度不同,則每個沒有出現(xiàn)在向量中的維度均為0。 例如,文檔B的首個向量被說成是:
<1, 1, 1, 0.5>.
在這樣的例子中,查詢向量將表現(xiàn)為:
<0, 1, 0, 0.5>
所以,每個向量中,代表tutorial的維度和Java的維度相匹配。用文檔B的首個文檔鏈接向量來計算,得到查詢向量的點(diǎn)積:
同樣地,計算文檔B的第二個向量得到的點(diǎn)積為1。
框131中,計算特定文檔的文檔鏈接向量的點(diǎn)積,可以得到該文檔的得票數(shù)或總分。文檔B的(具有滿足用戶需求的)文檔檢索能力的總分是該文檔的文檔鏈接向量的點(diǎn)積總和,即1.620。同樣的,可以用文檔D的唯一文檔鏈接向量來計算查詢向量的點(diǎn)積,結(jié)果是0.149。
在框132,排序結(jié)果顯示在框132A中。結(jié)果是經(jīng)過排序的,所以(具有滿足用戶需求的)文檔檢索能力的排名總分高的文檔排在低的上面。比起列出所有非0的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù),只列出預(yù)設(shè)的數(shù)量更為合適,比如只列出前100個文檔,或者只列出(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)大于某個數(shù)量的文檔。
在此描述的程序可以在很多設(shè)備上進(jìn)行操作,包括使用操作系統(tǒng)的Sun Sparc Station。該程序可以當(dāng)作指令組儲存在計算機(jī)系統(tǒng)的存儲器中。指令組也可以被儲存在磁盤之類的電腦可讀記憶體中,還可以通過網(wǎng)絡(luò)發(fā)送到另一臺計算機(jī)。
上述的例子中,沒有指向文檔A和C的超鏈接,所以他們的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)都為0,盡管他們都含有查詢關(guān)鍵詞中的Java和tutorial。
常見的索引和檢索引擎可以和基于本發(fā)明中的索引和檢索系統(tǒng)的超鏈接組合起來一起使用。在基于鏈接的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)一樣的情況下,可以使用該組合,或僅僅用來補(bǔ)充基于鏈接的信息。例如,以慣例和(具有滿足用戶需求的)文檔檢索能力的排名為基礎(chǔ),假設(shè)文檔A和C的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)分別為0.6和0.8。利用傳統(tǒng)排名的方法去打破基于鏈接排名的平局,查詢的最終(具有滿足用戶需求的)文檔檢索能力的排名將會是文檔B,文檔D,文檔C和文檔A。
使用組合排名方法的另一個原因是指向文檔的超鏈接太少(如只有一個鏈接)。在這種情況下,基于一條鏈接的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)可能并不精確,需要為基于鏈接的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)設(shè)立一個門檻。如果基于鏈接的(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)低于此門檻,就要使用其它的(具有滿足用戶需求的)文檔檢索能力的排名方法,或與前者組合起來使用。
因為本發(fā)明的索引文件只使用超鏈接信息,(具有滿足用戶需求的)文檔檢索能力的排名并不取決于出現(xiàn)在文檔中的詞本身,或者,即便與傳統(tǒng)的(具有滿足用戶需求的)文檔檢索能力的排名結(jié)合使用,也不僅僅取決于出現(xiàn)在文檔中的詞。反而,(具有滿足用戶需求的)文檔檢索能力的排名取決于指向文檔的超鏈接的錨文本中的文檔描述。文檔,譬如上述的文檔J,不會獲得很高的(具有滿足用戶需求的)文檔檢索能力的總分,因為創(chuàng)建該超文本文檔的作者并沒有把指向文檔J的超鏈接列入文檔中。
文檔的大小不再是影響(具有滿足用戶需求的)文檔檢索能力的排名的因素,因此,避免了關(guān)于文檔大小的問題。
使用詞典 的重要性減少了,這是因為,即使lawyer這個詞從不在文檔標(biāo)題“California Immigration Attorneys”中出現(xiàn),但可能有人創(chuàng)建的指向該文檔的超鏈接的錨文本中含有l(wèi)awyer這個詞。
不能被傳統(tǒng)的信息檢索方法搜索的圖像、圖形和音效,如果有指向他們的超鏈接,就可以被搜索到了。錨文本也可能會以圖像、圖形等的形式出現(xiàn),索引引擎可以用諸如尾部文檔標(biāo)題的信息來代替非文字的錨文本。
根據(jù)本發(fā)明的方法進(jìn)行索引,用外語創(chuàng)建的文檔也可以被檢索到。如果用英語寫的文檔中包含的錨文本指向外語文檔,根據(jù)本發(fā)明,該外語文檔將會收到一個(具有滿足用戶需求的)文檔檢索能力的分?jǐn)?shù)。
因此,當(dāng)文檔的數(shù)據(jù)庫足夠大,如同在萬維網(wǎng),搜索結(jié)果是建立在投票的基礎(chǔ)上的,投票的決定因素是看別人怎么描述這個文檔,而不是該文檔的自我描述。從而,上述的例子顯示,即使關(guān)鍵詞Java tutorial在文檔中只出現(xiàn)一次,Sun's Java tutorial網(wǎng)也會獲得較高的總(具有滿足用戶需求的)文檔檢索能力的排名。
使用基于指向給出文檔的超鏈接的排名方法,用特征詞或該領(lǐng)域的描述作為查詢來挑選某個領(lǐng)域最新的文檔。
前述事項的詳細(xì)描述只是為了更清晰易懂,不需要理解多余的限制,因為任何的變動對于熟悉這方面的人來說都是顯而易見的。
注釋: relevance(相關(guān)性) 在信息科學(xué)與信息檢索圈子中, relevance 表示被檢索文檔或文檔集滿足用戶的信息需求的程度。relevance 可能包括諸如結(jié)果時效性,權(quán)威性或新穎性的程度。
node(節(jié)點(diǎn)) 即文檔或文件,包含文本、制圖、音頻、視頻、動畫、圖像等。
hypertext(超文本) 是個提供一種使用節(jié)點(diǎn)與鏈接處理信息的獨(dú)特和非連續(xù)方法的數(shù)據(jù)庫系統(tǒng)。
hyperlink(超鏈) 是兩個被稱為超鏈頭和尾的錨點(diǎn)間的關(guān)聯(lián)。
億企邦點(diǎn)評: 超文本是計算機(jī)出現(xiàn)后的產(chǎn)物,它以計算機(jī)所儲存的大量數(shù)據(jù)為基礎(chǔ),使得原先的線性文本變成可以通向四面八方的非線性文本,讀者可以在任何一個關(guān)節(jié)點(diǎn)上停下來,進(jìn)入另一重文本,然后再點(diǎn)擊、進(jìn)入又一重文本,理論上,這個過程是無窮無盡的。從而,原先的單一的文本變成了無限延伸、擴(kuò)展的超級文本、立體文本。