Ibm watson watson会话意图和实体是否支持正则表达式?

Ibm watson watson会话意图和实体是否支持正则表达式?,ibm-watson,watson-conversation,watson-dialog,watson,Ibm Watson,Watson Conversation,Watson Dialog,Watson,我正在用我的公司想要创建的一个可能的对话框测试Watson对话API。我们正在与巴西葡萄牙人一起发展。鉴于葡萄牙语是一种丰富的语言,有时用户会犯错误,我们希望预测这些可能的错误,主要是使用特殊的字符和口音 对于示例,用户可以编写单词produçço,producao,produçao,produço。有没有可能在意图和实体上有一个正则表达式来表示下面的图片?有时我们有另一个词来解释liekproduçço final,produço geral,produço Pasada,等等 另一个快速问

我正在用我的公司想要创建的一个可能的对话框测试Watson对话API。我们正在与巴西葡萄牙人一起发展。鉴于葡萄牙语是一种丰富的语言,有时用户会犯错误,我们希望预测这些可能的错误,主要是使用特殊的字符和口音

对于示例,用户可以编写单词
produçço
producao
produçao
produço
。有没有可能在意图和实体上有一个正则表达式来表示下面的图片?有时我们有另一个词来解释liek
produçço final
produço geral
produço Pasada
,等等

另一个快速问题是,是否可以使用
@(producao)
(如图像)之类的方法创建意图与实体值合并的示例


谢谢

您不能在意图或实体中使用正则表达式,但我认为您仍然能够应对各种变化

目前,在匹配意图时没有内置的拼写或重音规范化处理,但是如果一个句子中有足够的特征可以匹配,偶尔的拼写应该不会造成问题。对于非常简短的示例,为常见错误添加其他示例可能有一定的价值

对于实体,可以包含同义词,我以前也用过同义词来包含常见错误

您不应该试图在意图中直接包含对实体的引用。例如,与其使用
Qual a@(producao)
,不如使用
Qual a produão
,以及具有相同意图的其他示例,可能使用不同的实体,或相同实体的不同同义词。例如,我可能有以下关于#方向意图的例子

  • 我怎么坐车去酒店
  • 你能告诉我去旅馆的路怎么走吗
  • 如果我乘火车旅行,最近的车站是哪一站
  • 哪条巴士路线能到旅馆
以及@运输实体的汽车、公共汽车、火车、自行车等价值。(很抱歉,我不能给出一个巴西葡萄牙语的例子!)没有必要显式地命名您希望在意图中找到的实体

最后,您可以在对话框节点的条件中使用正则表达式,例如


input.text.matches('produ[cç][aão')

你不必担心重音、复数或拼写错误的单词。Watson、LUIS、API.AI等将此作为功能并适用于每个单词。例如:

卡托·德克雷迪托>K卡托艺术ao德克雷迪托bito


所有这些都很好

在这种情况下,为了补充更多的知识,几天前IBM Watson Conversation发布了一个新的测试版,用于模式

对于@Entities中的模式,可以使用正则表达式

Patterns字段用于定义实体的特定模式 价值模式必须作为正则表达式输入字段中

如本例所示,对于实体“ContactInfo”,电话、电子邮件值的模式可定义如下:

示例:

  • localPhone
    (\d{3})-(\d{4})
    ,例如426-4968

  • fullUSphone
    (\d{3})-(d{3})-(d{4})
    ,例如800-426-4968

  • 电子邮件
    \b[A-Za-z0-9.\uz%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b
    ,例如。test@gmail.com

通常,在使用模式实体时,需要从对话框树中将与模式匹配的文本存储在上下文变量(或操作变量)中

想象一下,您向用户询问他们的电子邮件地址。对话框节点条件将包含类似于
@contactInfo:email
的条件。为了将用户输入的电子邮件指定为上下文变量,可以使用以下语法在对话框节点的响应部分中捕获模式匹配:

{
    "context" : {
        "email": "@contactInfo.literal"
    }
}
Obs.:会话服务使用的模式匹配引擎有一些语法限制,这是必要的,以避免使用其他正则表达式引擎时可能出现的性能问题。值得注意的是,实体模式可能不包含:

  • 正重复(例如,x*+)
  • 反向引用(例如,\g1)
  • 条件分支(例如,(?(cond)true))

请参阅Watson对话中的更多内容(重点在第7步)

@felipe oriani显然目前没有任何内置的打字错误处理或口音规范化功能-我将更新我的答案