DB2 Text Extender 編製索引與擷取文件時,會先對文字做語言分析。 就如您在下表所看到的,語言處理程序的量依索引類型而定。 對 Ngram 索引來說,不會引用語言處理分析。
編製索引文件所用的語言處理包括:
辨識術語(作記號)
將術語變成標準形式
辨識句子
表 17 顯示當索引類型為語言,
且未要求其它索引性質時,要如何索引術語的摘要。
文件文字 | 索引中的術語 | 語言處理 |
---|---|---|
Mouse Käfer |
mouse kaefer |
基本文字分析 (正常化) |
mice swum |
mouse swim | 還原成基本形式 |
system-based Wetterbericht |
system-based, system base wetterbericht, wetter bericht |
分解 |
a report on animals |
report animal | 停止字詞過濾。 停止字詞是:a、on |
藉由比較,表 18 會顯示當索引類型是精確時,
要如何編製術語摘要的索引。
文件文字 | 索引中的術語 | 語言處理 |
---|---|---|
Mouse Käfer |
Mouse Käfer |
未正常化 |
mice swum |
mice swum | 未還原成基本形式 |
a report on animals |
report animals |
停止字詞過濾。 停止字詞是:a、on |
system-based Wetterbericht |
system-based Wetterbericht |
無分解 |
DB2 Text Extender 會處理基本的文字分析,而不需使用電子字典。
為文件編製索引時,即使索引中含有非英數字元,也可予以辨識, 例如:$14,225.23、mother-in-law 及 10/22/90。
下列是術語的一部份:
重音
貨幣符號
數字分隔字元(如 / 或 .)
電子郵件位址中的 @ 字元(僅適用英文)
+ 符號。
也可用語言特殊的規則來辨識含有下列項目的術語:
正常化可將大小寫混合的術語, 及含有重音或特殊字元的術語減少成標準形式。當索引類型是語言時, 依預設值,這項動作會自動完成。 (在精確索引中, 並不會變更字母的大小寫,但搜尋是區分大小寫的)。
例如,術語 Computer 會編製索引成 computer, 大寫字母會變成小寫字母。搜尋術語 computer 找到的不只是 computer, 還包括 Computer。編製索引期間的正常化影響是術語都是用相同的方式加以編製索引, 而不管它們在文件中的大小寫格式。
正常化不只適用於編製索引期間,也適用於擷取期間。 在搜尋時,會將搜尋術語中的大寫字元變更為小寫字元。例如,當搜尋術語是 Computer時, 搜尋中所用的術語是 computer。
會以類似的方式,將重音及特殊字元正常化處理。任意 école(如 École)的變化會找到 école、Ecole,以此類推。Bürger 會找到 buerger,而 Maße 會找到 masse。
如果搜尋術語包含遮罩字元(萬用字元), 則會在處理遮罩字元之前完成正常化處理。範例:Bür_er 會變成 buer_er。
您可搜尋相同句子中的術語。為了實現這個動作, 每一份文件在編製索引期間會進行分析,以期找出每一個句尾。
DB2 Text Extender 提供兩種句尾識別的類型︰
這是既簡單又快速的方法。 此記號賦予器會尋找一個句點、問號或驚嘆號,前面有一個記號字元, 例如字母,後面接著一個空格、Tab 鍵或換行字元。 為了確保這是真正的句尾,不是以句點結尾的縮寫而已, 所以還會檢查一個語言專用的縮寫列示。
此記號賦予器有更進步的語言, 但需要更多的處理資源。此記號賦予器主要經由標點相配來尋找句尾, 但亦採納特殊輸入類型和字詞數的線索。
此 POE 型記號賦予器使用標點規則和語言專用處理程序 (包括縮寫處理) 來判斷句子 (或句子片斷) 界限, 但隨著語言不同,功能差異極大。 採用單一位元組字碼頁的大部份語言,POE 都提供一個相關的「縮寫補充字典」。因為雙位元組語言通常不採用帶有句點的縮寫, 所以沒有可用的「縮寫補充字典」。
句尾的決定主要是透過標點符合。
下列表格列示終止標點字元及其「圖形字元廣域識別字」(GCGID)。
SBCS 字元的 GCGID | DBCS 字元的 GCGID | 說明 |
---|---|---|
SP110000 | SP110080 | 句點 |
SP020000 | SP020080 | 驚嘆號 |
SP150000 | SP150080 | 問號 |
SP140000 | N/A | 分號 (希臘問號) |
N/A | JQ730080 | 雙位元組圓點 |
一個句點、驚嘆號或問號等終止標點字元,通常就假設為一個句尾的標記, 除非發生下列情形:
SBCS 字元的 GCGID | DBCS 字元的 GCGID | 說明 |
---|---|---|
SP070000 | SP070080 | 結束括號 |
SP040000 | SP040080 | 雙引號 |
SP050000 | SP050080 | 單引號 |
SP180000 | SP070083 | 雙角引號 |
N/A | SM140080 | 結束大括弧 |
N/A | SM080080 | 結束方括弧 |
N/A | JQ720080 | 單方引號 |
N/A | JQ720081 | 雙方引號 |
N/A | SP200080 | 結束單鉤引號 |
N/A | SP220080 | 結束雙鉤引號 |
N/A | SP070081 | 結束殼形方括弧 |
N/A | SP070082 | 結束單角引號 |
N/A | SP070084 | 結束角落括號 |
N/A | SP370080 | 垂直的結束單方引號 |
N/A | SP370081 | 垂直的結束雙方引號 |
N/A | SP250084 | 垂直的結束方括號 |
N/A | SP250080 | 垂直的結束括號 |
N/A | SP350080 | 垂直的結束大括弧 |
N/A | SP250081 | 垂直的結束殼形方括弧 |
N/A | SP250083 | 垂直的結束雙角引號 |
N/A | SP250082 | 垂直的結束單角引號 |
註: | 標記為 N/A 的項目不是 POE 所承認的結束標點字元, 只有中文才支援垂直的結束標點字元。 |
...this sentence ends with two parentheses.))
本範例中,偵測到第二個括號是句尾。 不過,在德文裡,如果結束引號後面接著一個逗點,則不視為句尾。
This is a strong exclamation!!!
最後一個驚嘆號被偵測成為句尾。
POE 型記號賦予器亦執行縮寫處理程序,判斷句點是否為縮寫的一部份,或就是句尾標記。 您可新增縮寫到縮寫補充字典中。如果未傳送字典給 POE 型記號賦予器,則後面接著句點的所有單一字母,皆被標記為縮寫; 不執行其它縮寫處理程序。
一個文字片斷是否為縮寫,通常很不明確,因為一個一般的字接著一個句點, 常被誤認為是縮寫。例如,假設 "no." 字元出現在下列句子中︰
Enter the no. of exemptions you are claiming. Answer each question with yes or no.
即使知道一個文字片斷是縮寫時,也不容易判斷是否就是句尾。 有些縮寫不會結束句子,有些則會。 例如,假設縮寫 "Hwy." 出現在下列句子中︰
The drive along Hwy. 1 to Santa Cruz was beautiful. Many people speak highly of the Pacific Coast Hwy.
因為縮寫不明確,且有些縮寫不是出現在句子尾端, POE 試圖將已知的縮寫分類。 如果發現一個句點是縮寫的一部份,且縮寫有時會結束句子, 則執行進一步的處理程序。 如果 POE 判斷縮寫不是句尾,則代表句點的符記和縮寫文字的符記會合併。 否則,代表句點的符記仍然是一個分隔的符記。
POE 型縮寫處理程序使用三組準則,決定句點是否為縮寫的一部份。
如果一個縮寫被識別成為可能的句尾,POE 會檢查縮寫後面的文字,如果下一個字的字首是大寫字母, 則判斷縮寫應該就是目前句子的句尾。
如果縮寫後面接著兩個或多個換行、新句或新段落資料元素, POE 會認為已經抵達句尾。 另外,如果後續的文字是一個顛倒問號或顛倒驚嘆號, 則輸出中會插入一個句尾記號。
如果 POE 判斷句點是縮寫的一部份,但縮寫不是句尾, 則繼續搜尋句子定界符號。否則,在標記句尾之前, 檢查其它終止標點字元例外狀況 (接著終止標點或結束標點)。
在語言索引中,當您搜尋 mouse 時, 可能會找到 mice。術語會還原成其基本形式,以供編製索引; 而術語 mice 會被編製索引成 mouse。以後, 只要您使用搜尋術語 mouse,就可找到此文件。如果您找的是 mice, 同樣也會找到那份文件。
結果是您會找到含有 mice 相關資訊的文件, 不管文件中術語 mouse 的變化為何, 或是否當成搜尋術語使用。
用相同的方式,同根動詞也會還原成不定詞; 例如,bought 會變成 buy。
停止字詞是經常會出現在文件中的字詞(如介系詞及代名詞), 因此不適合當成搜尋術語。這類字詞是位在與每個字典相關的停止字詞列示中, 且不會包括在編製索引處理中。
停止字詞處理並不區分大小寫。所以停止字詞 about 也會排除句子 About 的第一個字詞。 這是各種語言的停止字詞列示,可以修改。
Ngram 索引沒有停止字詞列示。
日耳曼語言(如德語或荷蘭語)擁有非常多的複合術語,如 Versandetiketten, 表示郵件 (Versand) 標籤 (Etiketten)。可將此類複合術語分割成其元件。
若是精確索引,則會保留複合術語而將其編製索引成一個字詞。 若是語言索引,編製索引期間會分割複合術語。 執行搜尋時,如果使用語言索引,複合術語會被分割。
如果這些元件是出現在文件的任意順序中(只要是含在一個句子內), 就可找到它們。例如,搜尋德語 Wetterbericht(氣象報告)時, 也會找到含有詞組 Bericht über das Wetter(氣象的相關報告)的文件。
如果是下列情況,則會嘗試去分割:
如果可以分割,就會將術語元件的各個部份還原成基本形式。此處是「丹麥語」、「德語」及「荷蘭語」的一些範例:
複合術語 | 元件部份 |
---|---|
børsmæglerselskab |
børsmæglerselskab børs mægler selskab |
Kindersprachen |
kindersprache kind sprache |
probleemkinderen |
probleemkinderen probleemkind kind probleem |