本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
要将自定义同义词添加到索引中,请在同义词库文件中指定这些同义词。在 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 个常见问题解答/问题对的索引 |
*性能因在索引上对同义词和配置的具体使用而异。最好测试搜索性能,以便针对您的特定用例获得更准确的基准。
如果您的同义词库很大,词汇扩展率很高,并且延迟增加不在可接受的范围内,则可以尝试以下一两种方法:
-
修剪同义词库以降低扩展率(每个词汇的同义词数量)。
-
减少词汇的总体覆盖范围(同义词库中的行数)。
或者,您可以增加配置容量(虚拟存储单位)以抵消延迟的增加。