当前位置: 首页 > news >正文

【语音技术】意图与语料

目录

1. 意图

1.1. 意图分类

1.1.1 入口意图(Entry Intent)

1.1.2 对话意图(Dialog Intent)

1.2. 意图类型切换操作步骤

2. 语料

2.1 语料分类详解

2.2 语料编写规范详解

2.3 标签符号深度说明

3. 词槽

3.1 符类型要求

3.2 格式规范示例

3.3 特殊处理建议

3.4 应用场景示例

3.5 错误示范


1. 意图

意图指一个明确的用户目的或用户想要完成的具体任务。在对话系统中,意图识别是理解用户输入的关键环节。

例如:

  • 在餐厅技能中,"订位"意图对应预订餐桌功能,"点餐"意图对应菜品选择功能

  • 在天气技能中,"查询天气"意图对应获取天气信息功能

意图是对话技能的基础组成部分,每个意图通常代表:

  • 一个独立功能(如"查询余额")

  • 一组相关功能(如"账户管理"可能包含查询余额、修改密码等子意图)

  • 特定场景下的交互流程(如"投诉处理"可能包含多个步骤的对话)

1.1. 意图分类

1.1.1 入口意图(Entry Intent)

  • 特点:独立性强,不需要依赖历史对话信息即可响应

  • 触发条件:用户首次使用技能或切换技能时的初始请求

  • 示例:

    • 直接说"打开餐厅技能"触发入口意图

    • "我要订餐"作为首次请求触发订餐入口意图

  • 作用:确定交互场景,建立技能上下文

1.1.2 对话意图(Dialog Intent)

  • 特点:需要基于已有交互上下文才能正确响应

  • 触发条件:必须在该技能的对话流程中才能识别

  • 工作机制:

    1. 先通过入口意图确定技能范围

    2. 在后续对话中识别对话意图

  • 示例:

    • 在餐厅技能中,先触发"订位"入口意图后

    • 接着询问"需要几人位"识别为"人数确认"对话意图

  • 设计目的:

    • 避免不同技能间的意图混淆

    • 确保对话流程的连贯性

    • 支持多轮对话的上下文理解

1.2. 意图类型切换操作步骤

  • 登录系统后,在左侧导航栏中找到"意图管理"模块并点击进入

  • 在意图列表中找到需要修改的意图(可通过搜索框输入意图名称快速定位)

  • 点击该意图名称或右侧的"详情"按钮,进入意图详情页面

  • 在意图详情页面上方找到并点击"编辑"按钮(通常显示为铅笔图标或"编辑"文字按钮)

  • 在编辑模式下,定位到"意图类型"设置项(通常位于基本信息区域)

  • 点击意图类型下拉菜单,系统会显示可选类型,如:

    • 问答型

    • 任务型

    • 导航型

    • 推荐型

  • 选择新的意图类型(注意不同类型可能对应不同的参数配置)

  • 确认修改无误后,点击页面底部的"保存"按钮

  • 系统会弹出保存成功的提示,并自动返回意图详情页面

注意事项:

  • 意图类型切换可能会影响与该意图关联的对话流程

  • 某些特定类型之间可能存在转换限制

  • 建议在非业务高峰期进行此类操作

  • 修改前可通过"历史版本"功能备份当前配置

2. 语料

2.1 语料分类详解

模板语料(推荐使用)

模板语料采用结构化方式定义,由固定文本和可变槽位组成,使用{}包裹槽位名称。每个槽位可以绑定特定实体类型(如时间、地点等)或辅助词,实现灵活匹配。

典型特征:

  • 结构清晰,便于系统解析

  • 支持多种参数化组合

  • 示例扩展:

    • {city}{date}天气 → "北京今天天气"、"上海明天天气"

    • 查一下{product}的价格 → "查一下手机的价格"、"查一下笔记本电脑的价格"

例句语料

由完整自然语句构成,需要通过手动标注方式标记槽位。适用于以下场景:

  • 收集真实用户表达样本

  • 处理特殊表达句式

  • 示例标注过程: 原始例句:"帮我订明天上午的机票" 标注后:"帮我订{date}{time}的机票"

重要限制:

  • 同一意图内禁止混合使用两种语料类型

  • 模板语料优先用于可抽象的场景

  • 例句语料适合处理固定说法

2.2 语料编写规范详解

模板语料字符集

允许使用范围更广的符号集,包含:

  • 基础字符:汉字、数字、字母(大小写)

  • 数学符号:+ - × ÷ / =

  • 标点符号:英文,.!? 中文,。!

  • 特殊符号:<>{}|_#'"°%

应用示例:

  • 查询{stock_code}[的股价] → 可匹配"查询AAPL"和"查询AAPL的股价"

  • 设置闹钟为{time}(am|pm) → 匹配"设置闹钟为8:30am"

例句语料字符集

限制较多,主要包含:

  • 基本标点:,。.!?

  • 运算符号:+ - × ÷ /

  • 特殊符号:_#'"°%

典型用例:

  • "订单号ABC123_456,尽快发货!"

  • "当前室温25°C,湿度60%"

2.3 标签符号深度说明

词槽标记 {}

  • 命名规范示例:

    • 合法:{user_name}、{order.no}、{item_3}

    • 非法:{用户名}(含中文)、{date!}(含特殊符号)

  • 绑定示例: {city}天气 + 绑定"city"到"城市"实体 → 可识别"北京天气"、"上海天气"

必选分组 ()

  • 实现分支匹配: (打开|关闭)灯 等效于:

    • "打开灯"

    • "关闭灯"

  • 嵌套使用: (查询|查找)(机票|酒店) 生成4种组合

可选标记 []

  • 多级可选: [请][帮我]查询余额 匹配:

    • "查询余额"

    • "请查询余额"

    • "帮我查询余额"

    • "请帮我查询余额"

  • 组合应用: [查询]{product}[的](价格|售价) 可匹配: "手机价格"、"查询笔记本电脑的售价"等8种组合

特殊注意事项

  1. 符号必须成对出现

  2. 嵌套层级建议不超过3层

  3. 避免过度复杂化,如: [([{date}]的)]天气(不易维护)

  4. 性能考虑:单句语料总组合数建议控制在100种以内

  • 例句语料如需配置词槽可有可无,可将对应词槽转换为辅助词,并取消勾选表述必须

3. 词槽

词槽是自然语言处理中用于结构化信息提取的重要工具,建议使用以下规范来填充词槽内容:

3.1 符类型要求

  • 优先使用小写字母(a-z)

  • 数字(0-9)可用于表示数量、编号等信息

  • 下划线(_)可用于连接单词或短语

  • 连字符(-)可用于表示范围或连接

3.2 格式规范示例

  • 日期格式:2023-08-15

  • 时间格式:14:30

  • 电话号码:+86_13800138000

  • 商品编号:item_2023_001

3.3 特殊处理建议

  • 避免使用空格、中文标点等特殊字符

  • 统一大小写格式(推荐全小写)

  • 对于专有名词可保留首字母大写

  • 超过15个字符时建议使用缩写

3.4 应用场景示例

  • 航班预订:"departure_city=shanghai"

  • 酒店查询:"check_in_date=2023-12-25"

  • 电商购物:"product_id=phone_x200"

3.5 错误示范

  • 包含空格:"new york"(应改为"new_york")

  • 使用中文字符:"北京"(应改为"beijing")

  • 特殊符号:"price=¥100"(应改为"price=100")

http://www.dtcms.com/a/311593.html

相关文章:

  • gcc-arm-none-eabi安装后,找不到libgcc.a的拉置
  • 边缘计算优化!陌讯轻量化模型实现路面裂缝误检率↓78%
  • 【大模型LLM】大模型训练加速 - 深度混合精度训练(Mixed Precision Training)原理详解
  • 数字化生产管理系统设计
  • Leetcode 11 java
  • Agentic RAG:自主检索增强生成的范式演进与技术突破
  • ADB 查看 CPU 信息、查看内存信息、查看硬盘信息
  • 计算学习理论(PAC学习、有限假设空间、VC维、Rademacher复杂度、稳定性)
  • PHP 与 MySQL 详解实战入门(2)
  • Linux中使用Qwen模型:Qwen Code CLI工具
  • stm32F407 实现有感BLDC 六步换相 cubemx配置及源代码(二)
  • JavaScript将String转为base64 笔记250802
  • 人工智能篇之计算机视觉
  • golang——viper库学习记录
  • 牛客 - 旋转数组的最小数字
  • 题单【模拟与高精度】
  • 先学Python还是c++?
  • 工具自动生成Makefile
  • 机器学习——K 折交叉验证(K-Fold Cross Validation),实战案例:寻找逻辑回归最佳惩罚因子C
  • 深入理解C++中的vector容器
  • VS2019安装HoloLens 没有设备选项
  • 大模型(五)MOSS-TTSD学习
  • 二叉树的层次遍历 II
  • 算法: 字符串part02: 151.翻转字符串里的单词 + 右旋字符串 + KMP算法28. 实现 strStr()
  • Redis数据库存储键值对的底层原理
  • 信创应用服务器TongWeb安装教程、前后端分离应用部署全流程
  • Web API安全防护全攻略:防刷、防爬与防泄漏实战方案
  • Dispersive Loss:为生成模型引入表示学习 | 如何分析kaiming新提出的dispersive loss,对扩散模型和aigc会带来什么影响?
  • 二、无摩擦刚体捉取——抗力旋量捉取
  • uniapp 数组的用法