You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Bot Framework与LUIS开发聊天机器人:能否创建模式识别实体?

当然可以创建模式匹配实体,完全不用手动录入所有ID!

你说的这种固定格式的ID(ESI-xxx-xxx,xxx是三位数字),LUIS专门提供了正则表达式实体来处理这类场景,完美适配你的需求,根本不用把所有可能的ID都手动加进去。

接下来具体说怎么做:

  • 登录LUIS门户,打开你的机器人应用,进入「Entities」(实体)页面
  • 点击「Create」创建新实体,选择「Regex entity」(正则表达式实体)类型
  • 给实体起个好记的名字,比如EsiId,然后在正则表达式框里输入:ESI-\d{3}-\d{3}
    • 简单解释下这个正则:ESI-匹配固定前缀,\d{3}匹配任意三位数字,中间的-是固定分隔符,整体刚好匹配你提到的ESI-421-123这类格式

创建完成后,这个实体就会自动识别所有符合该格式的ID了。而且你不需要在训练语句里把各种ID都列出来,只要在示例对话里包含几个符合格式的例子,LUIS就能准确匹配所有同格式的ID。

在Bot Framework里处理这个实体也很简单,举两个常用语言的示例:

C# 示例

// 从对话活动中提取目标实体
var esiIdEntity = turnContext.Activity.Entities.FirstOrDefault(e => e.Type == "EsiId");
if (esiIdEntity != null)
{
    string targetId = esiIdEntity.Value.ToString();
    // 这里就可以用这个ID做后续处理,比如查询关联数据、返回对应信息等
}

Python 示例

# 提取匹配到的ESI ID实体
esi_id_entity = next((e for e in turn_context.activity.entities if e.type == "EsiId"), None)
if esi_id_entity:
    target_id = esi_id_entity.value
    # 执行你的业务逻辑

这种方式比手动录入所有ID高效太多,扩展性也极强——哪怕以后ID格式有小调整(比如把数字位数改成4位),只要修改正则表达式就行,不用重新整理所有ID列表。

内容的提问来源于stack exchange,提问作者user8366698

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:30:52