Db2 文字搜尋的語言處理

Db2 文字搜尋 提供字典套件,以支援文件及查詢的語言處理。 此外,中文、日文和韓文等語言也支援 n-gram 斷詞法。 作為字典型單字斷詞法的替代方案,搜尋引擎會提供一個選項來選取中文、日文及韓文等語言的 n-gram 斷詞法。

如果文字文件使用其中一種支援的語言,則會在記號化階段執行語言處理,亦即,當文字分割成個別單字時。 對於不受支援的語言,會使用空格或 n-gram 斷詞法來剖析文件。 詞形還原化 (例如詞幹分析,這表示尋找單字的正規化形式,但它也會分析單字的詞性) 不會在不受支援的語言上執行。

當您搜尋文字搜尋索引時,會指出索引文件是否包含查詢術語或查詢術語的語言變異。 單字的變異取決於查詢的語言。

中文、日文及韓文文件的語言處理

對於搜尋引擎,取得良好的搜尋結果很大部分取決於用來處理文字的技術。 從文件擷取文字之後,文字處理程序中的第一步是識別文字中的個別單字。 識別文字中的個別單字稱為分段。 對於許多語言,可以使用空格 (空白、行尾及特定標點符號) 來辨識單字界限。 不過,中文、日文和韓文不會在字元之間使用空格來區隔單字,因此必須使用其他技術。

Db2 「文字搜尋」為中文、日文及韓文提供兩個處理選項: 形態斷詞法選項 (也稱為字典型單字斷詞法) 及 n-gram 斷詞法選項 (預設值)。

詞態分段會使用語言專用定義檔來識別文件中字元順序內的單字。 因為定義檔是用來識別單字界限,所以這個技術可提供精確的搜尋結果。

N-gram 斷詞法避免識別字組界限的問題,而是對重疊的字元配對進行索引。 因為使用兩個字元,此技術也稱為雙克分段。 N-gram 斷詞法一律會傳回包含搜尋詞彙的所有相符文件。 不過,此技術可能會傳回不符合查詢的文件。

範例

若要顯示這兩種語言處理程序的運作方式,請檢查文件中的下列文字: election for governor of Kanagawa prefecture。 在日文中,此文字包含 8 個字元。 在此範例中, 8 個字元以 A B C D E F G H表示。 使用者可能輸入的範例查詢可能是針對監督者選取的查詢,其為四個字元,並以 E F G H表示。 (文件文字和範例查詢共用類似的字元。)

  • 使用形態區段編製文件索引之後,搜尋引擎會將 Kanagawa 地區監督者的文字選取區段編製成下列字元集: ABC DEF GH

    監督者的範例查詢選擇會分段為下列字元集 EF GHEF 字元不會出現在文件文字的記號中。 即使文件沒有 EF,也會有 DEF

    由於文件文字包含 DEF,但查詢僅包含 EF,因此使用範例查詢找到文件的可能性較小。

    當您啟用形態區段時,可能會看到更精確的結果,但結果可能較少。

  • 在使用 n-gram 斷詞法檢索文件之後,搜尋引擎會將 Kanagawa 地區的監督者的文字選擇分段為下列字元集: AB BC CD DE EF FG GH

    監督者的範例查詢選擇會分段為下列字元集: DE EF FG GH。 如果您使用範例查詢 election for governor進行搜尋,則查詢會找到文件,因為文件文字及查詢的記號會以相同順序出現。

    當您啟用 n-gram 斷詞法時,可能會看到更多結果,但結果可能不太精確。 例如,在日文中,如果您使用查詢 Kyoto 進行搜尋,且索引中的文件包含文字 City of Tokyo,則查詢 Kyoto 會傳回含有文字 City of Tokyo的文件。 原因是 City of TokyoKyoto 共用兩個相同的日文字元。