gpt4 book ai didi

Azure 搜索 : Searching for singular version of a word, 但结果中仍包含复数版本

转载 作者:行者123 更新时间:2023-12-03 03:08:27 25 4
gpt4 key购买 nike

我对我在自定义分析器(以及 fr.microsoft 分析器)中注意到的特殊行为有疑问。下面的分析 API 测试是使用“fr.microsoft”分析器显示的,但当我使用“text_contains_search_custom_analyzer”自定义分析器时,我看到了相同的行为(这很有意义,因为我将其基于 fr.microsoft 分析器)。

UAT 报告称,当他们搜索“femme”(单数)时,他们希望也能找到包含“femmes”(复数)的文档。但是,当我使用分析 API 进行测试时,Azure 搜索服务似乎仅标记复数 -> 复数 + 单数,但在标记单数时,仅使用单数标记。请参阅下面的示例。

有没有办法允许用户搜索单词的单数版本,但仍然在搜索结果中包含该单词的复数版本?或者我需要使用同义词来解决这个问题吗?

使用“femme”请求 { “分析器”:“fr.microsoft”, “文本”:“女性” }

来自“femme”的回应{ "@odata.context": "https://EXAMPLESEARCHINSTANCE.search.windows.net/ $metadata#Microsoft.Azure.Search.V2016_09_01.AnalyzeResult", “ token ”:[ { “ token ”:“女性”, “开始偏移”:0, “结束偏移”:5, “位置”:0 } ]}

使用“femmes”请求{ “分析器”:“fr.microsoft”, “文本”:“女性”}

“女性”的回应{ "@odata.context": "https://EXAMPLESEARCHINSTANCE.search.windows.net/ $metadata#Microsoft.Azure.Search.V2016_09_01.AnalyzeResult", “ token ”:[ { “ token ”:“女性”, “开始偏移”:0, “结束偏移”:6, “位置”:0 }, { “ token ”:“女性”, “开始偏移”:0, “结束偏移”:6, “位置”:0 } ]}

最佳答案

您正在使用 Analyze API它使用文本分析器,这与使用 Search API 进行搜索不同。 .

文本分析器是在构建索引时支持搜索引擎的,索引实际上是搜索引擎的底部。为了构建搜索索引,需要对进入其中的文档进行分析,这就是分析器的用武之地。它们可以理解不同的语言,可以解析文本并生成if 的意义,即拆分单词、删除停用词、理解句子等。或者正如他们在文档中所说:https://learn.microsoft.com/en-us/rest/api/searchservice/language-support

Searchable fields undergo analysis that most frequently involves word-breaking, text normalization, and filtering out terms. By default, searchable fields in Azure Search are analyzed with the Apache Lucene Standard analyzer (standard lucene) which breaks text into elements following the "Unicode Text Segmentation" rules. Additionally, the standard analyzer converts all characters to their lower case form.

所以您所看到的实际上是完全正确的,法语分析器会分解您发送的单词并从文本中返回可能的标记。对于第一个文本,它找不到除“femme”之外的任何其他可能的标记(我猜法语中没有像“fem”或“femm”这样的其他单词?),但对于第二个文本,它可以找到“femme”和“女性在那里。

所以,您所看到的是文本分析器的自然功能。

另一方面,使用搜索 API 搜索相同的文本应该返回同时包含“femme”和“femmes”的文档,如果您设置了正确的设置用于可搜索字段的分析器(例如 fr.microsoft)。默认的“标准”分析器不处理同一单词的复数和其他变形。

关于Azure 搜索 : Searching for singular version of a word, 但结果中仍包含复数版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42094690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com