其他语言和 Unicode 注意事项
本主题介绍凝集语言和 Unicode 代理项对以及使用代理项对扩展 Unicode 字符集以适应不同字符集的词干化注意事项。 本主题还介绍了断字符如何识别文本中的短语并处理非中断空格,以及断字符和词干分析器如何处理数字和日期、复合词、复合短语、特殊单词和字符、首字母缩略词和缩写以及大写。
本主题的组织方式如下:
短语标识
短语是由一个或多个其他字词修改的单词或一组字词。 短语很难一致地识别,因为同一修饰符可用于多个具有相同名词的短语。 例如,“新房子”、“议会大厦”、“新议会”。
Windows 搜索在查询时最常使用短语。 查询文本中的短语的权重高于单个单词。 在前面的示例中,包含“议会”的文档的排名高于文档中不同点包含“众议院”和“议会”的文档。 如果短语可能与至少一个文档匹配,我们建议断字符在查询时生成一个短语。
凝聚语言
凝聚语言通过组合较小的语态来表达复合想法来形成单词。 这些词形通常都有一个含义或功能,并在组合过程中保留其原始形式和含义。 对于具有凝聚形态的语言(如土耳其语、芬兰语、匈牙利语或朝鲜语),可以生成数千种形式的给定根词。
下表显示了芬兰语单词“talo” (“house”) 的折射形式列表。
Word | 翻译 |
---|---|
Talo | House |
Taloni | 我的房子 |
Talossa | 在房子里 |
塔洛萨尼 | 在我家中 |
塔洛贾语 | 房子 |
塔洛伊萨 | 在房子里 |
转换语言(如英语、法语和拉丁语)对于一个根词,可能具有极少量的单词形式。 在变形语言中,词形在绑定时相互影响。 拐点的大多数变化都存在于词干或词尾中。 与凝集语言相比,偏转语言往往对单个词形具有不同的功能。 例如,变形可以确定数字和大小写。
凝集语言的词干分析器必须权衡性能和准确性之间的权衡,以便仅生成可能字词形式的子集。
数字、时间和日期
Word断路器必须使用通用格式来表示数字、时间和日期,以便进行一致的查询。
创建断字符时,我们建议断字符使用模式“NNddDcc”将数字规范化为规范表示形式,其中 NN 是文本序列“NN”, dd 是数字的整数部分,D 是文本“D”, cc 是数字的小数部分。 Word分隔符不限制整数或小数部分的位数。 建议断字符识别由句点 (.) 和逗号 (,) 分隔的数值模式。 例如,Windows 搜索将“1,000.2”和“1.000,2”表示为“NN1000D2”。
为断字符和词干分析器选择一种格式。 单字节阿拉伯数字已规范化,以便包含任何这些窗体的查询将文档与其他窗体匹配。
创建断字符时,我们建议断字符使用模式“TThhmmss”将所有时间表示为 24 小时表示形式,其中 TT 是文本前缀“TT”, hh 是小时, mm 是分钟, ss 是秒。 Windows 搜索与其他时间单位(如毫秒)不匹配。 分析 A.M. 和 P.M. 模式是可选的。
创建断字符时,建议断字符以规范格式“DDyyyymmdd”生成日期,其中 DD 是文本“DD”, yyyy 是年, mm 是月份, dd 是天。 我们还建议断字符以二十世纪和二十一世纪格式存储两位数年份。 例如,断字符将“2.2.99”表示“DD19990202”和“DD20990202”。 在查询时,Windows 搜索使用 Windows 应用程序编程接口 (API) 派生日期,以确定服务器显示正确格式(19XX 或 20XX)的交叉日期。
复合词
在某些语言(如德语)中,名词是从更简单的名词中复合的。 这些复合名词在含义上过于具体,无法进行合理的查询召回。 例如,如果不进行分解,“Versicherung” (“insurance”) 查询与“Lebensversicherungsgesellschaft” (“人寿保险推销员”) 不匹配。 在这种情况下,我们建议断字符在索引创建和查询期间将这些复合词分解为基组件。 德语断字符将“Lebensversicherungsgesellschaft”分解为组件词“Leben”、“Versicherung”和“Gesellschaft”。它在查询时应用相同的分解,以及每个结果词的可选词干。
复合短语
某些语言(如朝鲜语)包含可通过多种不同方式中断的复杂短语。 朝鲜语短语由 内容词(如名词、代词、动词和形容词)组成,后跟 功能词。 功能词位于后位置和结尾。 后位置指示名词或代词在句子中的功能角色;结尾表示谓词或形容词的功能角色。
一个短语可以有多个分析,每个分析可以包含多个内容词。 断字符必须采用特定于语言的启发法,从上下文中确定对不同分析的权重。 断字符可以根据生成的分词数来确定要使用的分解。 某些断字符可能倾向于较长字词的短序列,而其他断字符可能偏向于较小字词的长序列。
另一个注意事项是,在朝鲜语中,名词和代词可以存储在索引中,而无需其相应的功能词。 朝鲜语是一种凝结语言,将许多词尾与动词和形容词相结合,形成无数的转折形式。 短语中标识的谓词和形容词在索引中随其结尾一起保存,但断字符不会生成新形式。
特殊字符和字词
特殊字符是“、”“、”©“和”™“等字符。 查询中很少使用这些字符。 Word中断程序应在创建索引期间和查询时去除特殊字符。
我们建议断字符识别特殊字词,例如“C++”、“C#”、“.NET”、“成绩”和音乐表示法。 Word中断程序可以使用语言启发式来识别特殊字词的模式。 Word断字符还可以使用包含已识别的特殊字词的自定义字典。
首字母缩略词和缩写
实现断字符时,必须考虑首字母缩略词和缩写。 在多种语言中,单个首字母缩略词由句点分隔。 有时,无法识别的首字母缩略词或缩写词会缩写。 例如,“美国美国”可以缩写为“USA”或“U.S.A”。Windows 搜索附带的Word断路器通常将单字母单词识别为干扰词,并在查询期间将这些单词视为占位符。 在查询期间,不知道常见首字母缩略词或无法识别缩写的断字符会将缩写“U.S.A.”转换为“U”、“S”和“A”。 此分解无法提供足够的信息来匹配全文索引中的单词,因为所有查询词都是干扰词。 创建断字符时,建议断字符删除分隔首字母缩略词的句点。 在此示例中,“U.S.A.”存储为“USA”,查询词包含“U.S.A.”实际查询“USA”。如果断字符处理缩写,则该缩写中的句点不会被视为 EOS 中断。 因此,如果缩写位于句子末尾,则断字符可能无法正确标识 EOS 断字符。
大写
Windows 搜索在将单词保存到全文索引时,当前不会保留大写。 Word断字符和词干分析器不应修改单词大小写。
不间断空格
创建断字符时,建议确保断字符将不间断空格视为分词符。 此外,建议断字符生成单词的替代形式,带和不带不间断空格。 某些字符(如下划线)是特殊字符,由于找到这些字符的文本来源,这些字符被视为不中断字符。 例如,源代码或文件名可能包含下划线作为非中断字符。
代理项对
代理项对是源代码中的字符表示形式,表示由两个 Unicode 值序列组成的单个字符。 在编码对中,第一个值是高代理项,第二个值是低代理项。 高代理项是 U+D800 到 U+DBFF 范围内的字符。 低代理项是 U+DC00 到 U+DFFF 范围内的字符。 代理项对将字符集扩展到 Unicode 字符之外。 建议断字符在处理代理项对时应使用以下规则:
- 高代理项必须位于低代理项之前。
- 低代理项必须跟在高代理项之后。
- 没有对应另一半值的高代理项或低代理项没有意义。
Word断路器必须考虑任何对,并在索引中生成此类对。 有关详细信息,请参阅 代理项和补充字符。