返回一个浮点相关性分数,该分数指示列中文本与搜索字符串匹配程度。
Syntax
TEXTSIMILARITY(<within_text_column>, <search_text>[, <match_mode>])
Parameters
| 条款 | 定义 |
|---|---|
within_text_column |
包含要搜索的文本值的列。 该列必须具有 String 数据类型。 |
search_text |
定义搜索条件的文本字符串。 |
match_mode |
(可选)要使用的匹配行为。 支持的值为 TEXTMATCHING、FUZZYMATCHING 和 PHRASEMATCHING。 默认值为 TEXTMATCHING。 |
返回值
浮点词法相关性分数。 在一个评估中,更高的分数表示更强的匹配,0 表示没有匹配。
分数是一个不透明的排名值,而不是百分比、概率或规范化的相似性度量值。 仅在同一搜索上下文中比较分数。
无法保证分数在单独的查询执行、搜索字符串、列、筛选器上下文、数据源或存储模式、索引内容或代系或执行计划之间可比或稳定。 即使可见的文本值保持不变,这些因素也会更改评分库或评分实现。
匹配模式
| 模式 | Behavior |
|---|---|
TEXTMATCHING |
标记化 search_text 和评分与任何搜索令牌匹配的文本。 |
FUZZYMATCHING |
对类似于在小编辑距离内搜索令牌的标记进行评分。 此模式支持拼写错误匹配。 |
PHRASEMATCHING |
当分析的标记彼此相邻且按指定顺序显示时,为文本评分。 标点符号不会影响令牌序列。 |
Remarks
- 搜索不区分大小写。
- 该函数基于模型区域性应用特定于语言的词干和停止词删除。 例如,词干分析允许搜索
run匹配running,runs以及runner。 非索引字删除会忽略常见的填充词,例如the,ofand和in。 - 每列排序规则不控制分析器语言。 模型区域性控制它。 在 Power BI Desktop 中,选择“文件>选项”和“>选项>当前文件>区域设置>模型语言”以设置模型语言。 有关详细信息,请参阅 FORMAT。
- 支持的模型区域性为:
- 英语(
en) - 法语(
fr) - 德语(
de) - 西班牙语(
es) - 葡萄牙语 (
pt) - 俄语(
ru) - 阿拉伯语(
ar) - 土耳其语 (
tr) - 丹麦语 (
da) - 荷兰语 (
nl) - 芬兰语 (
fi) - 希腊语 (
el) - 匈牙利语 (
hu) - 意大利语(
it) - 挪威语(
no和nbnn) - 罗马尼亚语 (
ro) - 瑞典语(
sv) - 泰米尔语 (
ta)
- 英语(
- 对于不支持的区域性,请使用一般小写标记器,
TEXTSIMILARITY而无需删除词干或停止字删除。 - 不支持重音折叠。 例如,
café与cafe不匹配。 - 该函数需要保留的全文索引
within_text_column。 支持导入、双存储和 Direct Lake 存储模式。 其他存储模式返回错误。 - 该函数按行计算。 在计算列中对非常大的表使用它之前,请使用具有代表性的工作负荷测试性能。
- 如果需要布尔匹配结果而不是相关性分数,请使用 TEXTCONTAINS 。
示例
返回最相关的行
以下查询返回具有最高相关性分数 great refrigerator的五个评审:
EVALUATE
TOPN (
5,
FactReviews,
TEXTSIMILARITY ( FactReviews[Text], "great refrigerator" ), DESC
)
| 示例文本 | 得分 |
|---|---|
This is a great refrigerator, keeps everything cold and quiet. |
3.42 |
Fantastic fridge! Great cooling performance and very spacious. |
2.98 |
Our old refrigerator broke and this new one works great. |
2.54 |
Refrigerator is decent, not great but gets the job done. |
1.72 |
The refrigerator section is large, freezer is okay. |
1.10 |
筛选和排名行
以下查询将结果限制为匹配 refrigerator的评审,然后按其相关性 great refrigerator对结果进行排名:
EVALUATE
TOPN (
5,
FILTER (
FactReviews,
TEXTCONTAINS ( FactReviews[Text], "refrigerator" )
),
TEXTSIMILARITY ( FactReviews[Text], "great refrigerator" ), DESC
)
TEXTCONTAINS 并 TEXTSIMILARITY 独立执行。 筛选行 TEXTCONTAINS 不会更改用于计算 TEXTSIMILARITY 分数的索引范围。
| 示例文本 | 得分 |
|---|---|
This is a great refrigerator - quiet, spacious, and keeps food fresh. |
3.42 |
Fantastic fridge. Cooling performance is excellent and build quality is great. |
3.01 |
Our old refrigerator died, but this new one works great and runs silently. |
2.67 |
The refrigerator section is huge. Would be great if the freezer were larger. |
1.94 |
Solid refrigerator. Not the best, but overall a great value for the price. |
1.65 |
显示相关性分数
以下查询将每个产品说明的相关性分数添加到结果中:
EVALUATE
ADDCOLUMNS (
Products,
"Relevance score", TEXTSIMILARITY ( Products[Description], "wireless bluetooth" )
)
| 示例文本 | 得分 |
|---|---|
Wireless headphones with Bluetooth |
2.35 |
Wired headphones |
0 |