本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将自定义同义词添加到索引中
要将自定义同义词添加到索引中,请在同义词库文件中指定这些同义词。在 Amazon Kendra 使用同义词时,可以包含特定于业务的术语或专业术语。通用英语同义词(例如)内置在同义词库文件中 leader, head Amazon Kendra ,不应包含在同义词库文件中,包括使用连字符的通用同义词。 Amazon Kendra 支持所有响应类型的同义词,包括DOCUMENT响应类型和 QUESTION_ANSWER /或ANSWER响应类型。 Amazon Kendra 目前不支持添加标记为停用词的同义词。这些同义词将包含在未来版本中。
Amazon Kendra 在同义词之间建立关联。例如,使用同义词对Dynamo, Amazon DynamoDB,将 Dynamo Amazon Kendra 与相关联。 Amazon DynamoDB查询“什么是 Dynamo?” 然后返回诸如 “什么是 Amazon DynamoDB?” 之类的文档。使用同义词, Amazon Kendra 可以更轻松地获取相关性。
同义词库文件是存储在存储桶中的文本文件。 Amazon S3 请参阅将同义词库添加到索引中。
同义词库文件使用 Solr
同义词可能在以下场景中很有用:
-
不是传统英语同义词的专业术语,例如,
NLP, Natural Language Processing。 -
具有复杂语义关联性的专有名词。例如,在机器学习中,
cost, loss, model performance是公众可能不太理解的名词。 -
不同形式的产品名称,例如,
Elastic Compute Cloud, EC2。 -
特定领域或特定业务的术语,例如,产品名称。例如
Route53, DNS。
在以下情况下,请勿使用同义词:
-
通用英语同义词,例如,
leader, head。这些同义词不是特定于领域的,在这些场景中使用同义词可能会产生意想不到的影响。 -
打字错误,例如,
teh => the。 -
词态变化,例如名词的复数和所有格形式,形容词的比较级和最高级形式,以及动词的过去时、过去分词和进行时。
good, better, best是比较级和最高级形容词的一个例子。 -
一元(单个词)停用词,例如,
WHO。一元停用词不能出现在同义词库中,因此将其排除在搜索范围之外。例如,WHO => World Health Organization会被拒绝。但是,您可以使用W.H.O.作为同义词,也可以将停用词用作多词同义词的一部分。例如,不允许使用of,但可以使用United States of America。
自定义同义词可以扩展查询范围以涵盖特定于业务的同义词,从而轻松提高 Amazon Kendra对特定业务术语的理解。尽管同义词可以提高搜索准确性,但重要的是要了解同义词如何影响延迟,这样才能对其进行优化。
同义词的一般规则是:查询中与同义词匹配和扩展的词汇越多,对延迟的潜在影响就越大。影响延迟的其他因素包括已编入索引的文档的平均大小、索引的大小、对搜索结果的任何筛选以及 Amazon Kendra 索引的总体负载。与任何同义词都不匹配的查询不受影响。
关于同义词如何影响延迟的一般指南:
| 使用案例 | 延迟增加* |
|---|---|
| 典型的自然语言或关键词查询,每个查询包含 3 到 5 个单词 | 少于 15% |
| 1 个查询词扩展为 3 个同义词 | |
| 大约 500,000 个文档(平均每个文档有 10.48 KB 的提取文本)或 30,000 个常见问题解答/问题对的索引 |
*性能因在索引上对同义词和配置的具体使用而异。最好测试搜索性能,以便针对您的特定用例获得更准确的基准。
如果您的同义词库很大,词汇扩展率很高,并且延迟增加不在可接受的范围内,则可以尝试以下一两种方法:
-
修剪同义词库以降低扩展率(每个词汇的同义词数量)。
-
减少词汇的总体覆盖范围(同义词库中的行数)。
或者,您可以增加配置容量(虚拟存储单位)以抵消延迟的增加。