瞭解語言資源元件

語言資源是由斷詞工具和字幹分析器組成,將索引建立和查詢功能延伸至新的語言和地區。 斷詞工具會在索引建立和查詢期間使用。 字幹分析器僅用於查詢。 Windows 搜尋會使用語言資源 DLL 系結至特定語言地區設定 IWordBreaker 和 IStemmer 實作。

本主題的組織方式如下:

關於語言資源

Windows 搜尋會使用篩選條件(IFilter 介面的實作),以及 ILoadFilter,以原生格式存取檔。 IFilter 元件會從檔擷取文字內容、屬性和格式。 IFilter 會識別正在篩選之文件的語言環境。 索引元件會針對該區域調用適當的斷詞工具。 如果沒有可用的索引元件,系統將會叫用中性斷詞工具。 斷詞工具會從 IFilter接收斷詞工具剖析的 Unicode 字元輸入數據流,以產生個別單字和片語。 斷詞工具也會正規化日期和時間格式。 索引器會先將斷詞工具所產生的單字正規化,方法是將這些單字轉換成所有大寫字母。 索引器會將大寫單字儲存至全文索引,但該地區識別的無用字除外。

下表列出句子的動作和對應結果「圖 1 說明在索引建立程式期間 Windows 搜尋的語言資源角色」。

行動 產生的文字
原文 圖 1 說明索引建立程式期間 Windows 搜尋的語言資源角色。
篩選 圖 1 說明索引建立程式期間 Windows 搜尋的語言資源角色。
斷詞 圖1說明語言資源在Windows搜尋期間索引建立過程中的角色EOS
正常化 圖1說明了語言資源在建立索引過程中於Windows搜尋中的角色。
去除雜訊詞語 圖表說明了在索引建立過程中,語言資源在 Windows 搜尋中的角色。
儲存至全文索引 圖表說明了在索引建立過程中,語言資源在 Windows 搜尋中的角色。

 

斷詞工具和字幹分析器用於在查詢時擴充 FREETEXT 查詢。 除非語言代碼識別碼 (LCID) 傳遞為查詢參數,否則查詢的地區設定是預設的地區設定。 查詢元件會調用適當的詞彙分割工具,在查詢 WHERE 子句中列出的查詢字詞上進行操作。 例如,如果查詢的 WHERE 子句包含「FREETEXT(apples、oranges 和 pears)」時,斷詞工具會收到文字「apples、oranges 和 pears」。如果查詢的 WHERE 子句使用 CONTAINS 全文檢索述詞,則斷詞工具的文字輸出會正規化。 否則,查詢組件會將斷詞工具識別出的每個單字傳送至適用於該語言和地區的字幹分析器。 字幹分析器會產生該單字的替代或偏轉形式清單。 查詢元件會將展開的查詢字詞清單標準化,並移除雜訊詞。

下表列出查詢「蘋果、西橙及梨子」的動作和對應結果。

行動 產生的文字
原文 蘋果、柳丁和梨
斷詞 蘋果、橘子和梨子EOS
堵塞 蘋果、蘋果們、橙色、橙色的、橙子和、梨、梨們
正常化 蘋果、橘子、鮮橘色的、橙子和梨
去除雜訊詞語 蘋果、蘋果們、橘子、橘色的、橘子們、梨、梨們
擴充的查詢字詞清單 蘋果、蘋果們、橘子、橘色的、橘子們、梨、梨們

 

展開的查詢詞彙會增加查詢尋找符合原始查詢意圖的檔的可能性。 斷詞工具或字幹分析器在查詢時產生的文字不會儲存在磁碟上。

斷詞

斷詞是將文字分隔成個別文字標記或單字。 許多語言,特別是具有羅馬字母的語言,都有字分隔符陣列(例如空格元)和標點符號,用來辨別單字、片語和句子。 斷詞工具必須依賴精確的語言啟發式來提供可靠且準確的結果。 文字分詞在以字元為基礎的書寫系統或基於字母的語言系統中更為複雜,其中個別字元的意義是由文脈決定的。 如需可能會影響斷詞工具的實作之語言因素的詳細資訊,請參閱 語言和 Unicode 因素。

堵塞

Windows 搜尋會在查詢時專門套用字幹分析器,以在 FREETEXT 和屬性查詢中產生其他的詞形。 字幹分析器會執行形態分析,並套用文法規則來產生單字的替代或偏轉形式清單。 替代形式通常具有相同的字幹或基礎形式。 藉由產生單字的屈折形式,索引服務會返回與查詢更相關的結果。 例如,對「游泳比賽」的全文檢索查詢會比對包含「游泳、游泳的、游泳們、游泳們的、游泳中、游過、游過了」或「見面、見面會的、見面會、見面會的、會議、會面」以及這些詞彙的組合的文檔。

某些語言要求在索引時和查詢時產生屈折詞彙,以便覆蓋標準和變異形式。 在此情況下,詞幹處理會在斷詞元件中進行,而實際詞幹分析器中的詞幹處理工作最少。 例如,日文斷詞工具會在索引建立和查詢期間進行詞幹提取,使查詢能夠找到字詞的不同屈折形式。

正常化

所有語言的文件都會儲存在單一索引中。 雖然單字和語言規則大相徑庭,但有一些因素需考量,例如數字、日期和時間,在所有分詞工具中一致地處理。 如需可能影響斷詞工具實作的正規化考量之詳細資訊,請參閱 Surface Form Normalization。

噪音詞

雜訊詞,也稱為停用字詞,是在內容中不具重要指標的詞語。 索引服務會從查詢詞彙和包含在全文檢索索引中的內容中移除雜訊詞。 位移 是指單字在文件或查詢字詞清單中出現的位置。 文件或查詢中噪音詞的位移量會記錄為空白。 改善查詢效能可以透過移除雜音詞,以避免不必要的索引成長。 它也會改善查詢結果的相關性。 您可以將 Windows 搜尋設定為使用特定語言的非搜尋字清單。 當針對該語言叫用斷詞工具時,會使用這些清單。 例如,英文中的「the」出現頻繁地,因此不具有作為獨特的索引鍵的價值。 “The” 位於非搜尋字清單中,不會被寫入內容索引,如果進行查詢,不會獲得任何結果。

噪音詞會作為詞組查詢中的佔位元。 包含文字「wag the dog」的檔案儲存在索引中,其中「wag」位於第 1 次出現,而「dog」位於第 3 次出現。 片語查詢「wag dog」不相符,但片語查詢「wag a dog」相符,因為出現資訊相符。 「瓦格紫色狗」這個片語不匹配,因為在索引中的第2次出現時找不到「紫色」。 不過,查詢「wag the dog」會返回包含「wag purple dog」的文件,因為無法有效地判斷文件中「wag」和「dog」之間是否存在非噪音詞。

擴充語言資源

實作斷詞工具和字幹分析器

語言和 (Unicode) 方面的考慮

疑難解答:語言資源和最佳做法