diffpatterns_text 插件

比较两个字符串值数据集,找出可以将这两个数据集之间的差异特征化的文本模式。 该插件通过 evaluate 运算符调用。

diffpatterns_text 返回一组文本模式,用于捕获这两个集中数据的不同部分。 例如,当条件为 true 时,模式捕获占较大百分比的行;当条件为 false 时,模式捕获占较小百分比的行。 模式是使用连续的标记(以空格分隔,来自文本列)或是使用表示通配符的 * 构建的。 每种模式均由结果中的一行表示。

语法

T | evaluate diffpatterns_text(TextColumn, BooleanCondition [, MinTokens, Threshold , MaxTokens])

详细了解语法约定

参数

客户 类型​​ 必需 描述
TextColumn string 要分析的文本列。
BooleanCondition string 计算结果为布尔值的表达式。 此算法将查询拆分为两个数据集,并基于此表达式进行比较。
MinTokens int 一个介于 0 和 200 之间的整数值,表示每个结果模式的最小非通配符标记数。 默认值为 1。
阈值 decimal 介于 0.015 和 1 之间的小数值,用于设置两个集之间的最小模式比率差异。 默认值为 0.05。 请参阅 diffpatterns
MaxTokens int 一个介于 0 和 20 之间的整数值,用于设置每个结果模式的最大标记数,指定一个较低的限制会减少查询运行时间。

返回

diffpatterns_text 的结果返回以下列:

  • Count_of_True:当条件为 true 时与模式匹配的行数。
  • Count_of_False:当条件为 false 时与模式匹配的行数。
  • Percent_of_True:当条件为 true 时,行中与模式匹配的行所占百分比。
  • Percent_of_False:当条件为 false 时,行中与模式匹配的行所占百分比。
  • 模式:文本模式,其中包含来自文本字符串的标记和表示通配符的“*”。

注意

这些模式不一定截然不同,可能未涵盖完整的数据集范围。 这些模式可能重叠,某些行可能与任何模式都不匹配。

示例

下面的示例使用帮助群集中 StormEvents 表中的数据。 若要访问此数据,请登录到 https://dataexplorer.azure.cn/clusters/help.chinaeast2/databases/Samples。 在左侧菜单中,浏览到“帮助”>“示例”>“表”>“Storm_Events” 。

StormEvents     
| where EventNarrative != "" and monthofyear(StartTime) > 1 and monthofyear(StartTime) < 9
| where EventType == "Drought" or EventType == "Extreme Cold/Wind Chill"
| evaluate diffpatterns_text(EpisodeNarrative, EventType == "Extreme Cold/Wind Chill", 2)

输出

Count_of_True Count_of_False Percent_of_True Percent_of_False 模式
11 0 6.29 0 Winds shifting northwest in * wake * a surface trough brought heavy lake effect snowfall downwind * Lake Superior from
9 0 5.14 0 Canadian high pressure settled * * region * produced the coldest temperatures since February * 2006. Durations * freezing temperatures
0 34 0 6.24 * * * * * * * * * * * * * * * * * * West Tennessee,
0 42 0 7.71 * * * * * * caused * * * * * * * * across western Colorado. *
0 45 0 8.26 * * below normal *
0 110 0 20.18 Below normal *