瞭解語言資源元件
語言資源包含斷詞工具和字幹分析器,可擴充索引建置和查詢功能至新的語言和地區設定。 索引建立和查詢期間都會使用Word斷器。 字幹分析器僅用於查詢。 Windows 搜尋會使用語言資源 DLL 來系結至特定語言地區設定的 IWordBreaker 和 IStemmer 實作。
本主題的組織方式如下:
關於語言資源
Windows 搜尋會使用篩選 (IFilter 介面的實作,) 和 ILoadFilter 來存取其原生格式的檔。 IFilter元件會從檔擷取文字內容、屬性和格式設定。 IFilter會識別其正在篩選的檔地區設定。 索引元件會針對該地區設定叫用適當的斷詞工具。 如果沒有,索引元件會叫用中性斷詞工具。 斷詞工具會從 IFilter接收 Unicode 字元的輸入資料流程,斷詞工具會剖析以產生個別的單字和片語。 斷詞工具也會正規化日期和時間格式。 索引子會將單字轉換成所有大寫字母,將斷詞工具所產生的單字正規化。 索引子會將大寫字儲存至全文檢索索引,但針對該地區設定所識別的雜訊字除外。
下表列出「圖 1」句子的動作和對應結果,說明在索引建立程式期間 Windows 搜尋的語言資源角色。
動作 | 產生的文字 |
---|---|
原始文字 | 圖 1 說明在索引建立程式期間,Windows 搜尋的語言資源角色。 |
篩選 | 圖 1 說明在索引建立程式期間,Windows 搜尋的語言資源角色。 |
斷詞 | 圖, 1, 說明,, 角色,, 語言, 資源, for, Windows, 搜尋, 期間, 索引, 建立, 程式, EOS |
正規化 | 圖, 1, 說明,, 角色, OF, 語言, 資源, WINDOWS, 搜尋, 期間,, 索引, 建立, 程式 |
移除非搜尋字 | 圖, 說明, 角色, 語言, 資源, WINDOWS, 搜尋, 期間, 索引, 建立, 程式 |
儲存至全文檢索索引 | 圖, 說明, 角色, 語言, 資源, WINDOWS, 搜尋, 期間, 索引, 建立, 程式 |
Word斷器和字幹分析器可用來在查詢時間展開FREETEXT查詢。 除非語言代碼識別碼 (LCID) 傳遞為查詢參數,否則查詢的地區設定是預設的地區設定。 查詢元件會在查詢 的 WHERE 子句中列出的查詢字詞上叫用適當的斷詞工具。 例如,如果查詢的 WHERE 子句包含 「FREETEXT (apple、oranges 和 pears) 」,則斷詞工具會收到文字「apples、oranges 和 pears」。如果查詢 WHERE 子句使用 CONTAINS 全文檢索述詞,則斷詞工具的文字輸出會正規化。 否則,查詢元件會將斷詞工具所識別的每個單字傳遞至該語言和地區設定的適當字幹分析器。 字幹分析器會產生該單字的替代或變化形式清單。 查詢元件會將擴充的查詢字詞清單正規化,並移除非搜尋字組。
下表列出查詢「apples、oranges 和 pears」的動作和對應結果。
動作 | 產生的文字 |
---|---|
原始文字 | apples、oranges 和 pears |
斷詞 | apples、oranges 和、pears、EOS |
詞幹分析 | apple、apples、orange、orangey、oranges 和、pear、pears |
正規化 | APPLE、APPLES、ORANGE、ORANGEY、ORANGES 和、PEAR、PEARS |
移除非搜尋字 | APPLE、APPLES、ORANGE、ORANGEY、ORANGES、PEAR、PEARS |
展開的查詢字詞清單 | APPLE、APPLES、ORANGE、ORANGEY、ORANGES、PEAR、PEARS |
展開的查詢詞彙會增加查詢找到符合原始查詢意圖的檔的可能性。 斷詞工具或字幹分析器在查詢時間產生的文字不會儲存在磁片上。
斷詞
Word中斷是將文字分成個別文字標記或單字。 許多語言,特別是具有羅馬字母的文字分隔符號陣列, (例如空白字元) 和標點符號,用來辨識單字、片語和句子。 Word斷器必須依賴精確的語言啟發學習法,以提供可靠且精確的結果。 Word中斷對於以字元為基礎的撰寫或以腳本為基礎的字母系統而言更為複雜,其中個別字元的意義取決於內容。 如需可能會影響斷詞工具實作之語言考慮的詳細資訊,請參閱 語言和 Unicode 考慮。
詞幹分析
Windows 搜尋會在查詢時獨佔套用字幹分析器,以針對 FREETEXT 和屬性查詢中的字詞產生其他文字表單。 字幹分析器會執行型態分析,並套用文法規則來產生單字的替代或變化形式清單。 替代形式通常具有相同的字幹或基底形式。 藉由產生單字的交錯形式,索引服務會傳回與查詢更相關的查詢結果。 例如,「泳道開會」的全文檢索查詢會比對包含「泳道、swum」或「符合、會議、符合」和這些詞彙組合的檔。
某些語言要求在索引時間和查詢時間產生標準與變異變化的詞彙。 在此情況下,字幹分析會在斷詞工具元件中發生,在實際的字幹分析器中執行最少的字幹分析工作。 例如,日文斷詞工具會在索引建立和查詢期間執行字幹分析,讓查詢尋找不同的搜尋字詞變化形式。
正規化
所有語言的檔都會儲存在單一索引中。 雖然單字和語言規則大幅不同,但有一些考慮,例如數位、日期和時間,在所有斷詞工具中一致地處理。 如需可能會影響斷詞工具實作之正規化考慮的詳細資訊,請參閱 Surface Form Normalization。
非搜尋字組
非搜尋字,也稱為停用字詞,是非內容重要指標的字組。 編制索引服務會從查詢字詞和全文檢索索引中包含的內容中移除非搜尋字組。 位移是在檔中或查詢字詞清單中出現的單字。 檔或查詢中非搜尋字組的位移會記錄為空白。 移除雜訊字可藉由避免不必要的索引成長來改善查詢效能。 它也會改善查詢結果的相關性。 您可以將 Windows 搜尋設定為針對特定語言使用非搜尋字清單。 當針對該語言叫用斷詞工具時,會使用這些清單。 例如,英文中的 「the」 經常發生,因此其值很少為唯一索引鍵。 「The」 位於非搜尋字清單中,不會寫入內容索引,如果查詢,則不會傳回任何結果。
非搜尋字做為片語查詢中的預留位置。 包含「dog」 文字的檔會儲存在索引中,其中發生 1 次為 「dog」,而 「dog」 則儲存于第 3 次。 片語查詢 「dog」 不相符,但片語查詢「狗」確實符合,因為出現資訊相符。 「紫色狗」片語不相符,因為在索引中找不到 「紫色」,發生 2。 不過,「狗狗」的查詢會傳回包含「紫色狗」的檔,因為沒有辦法有效率地判斷檔是否在「狗」與「狗」之間有非雜訊字。
相關主題