热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

意图识别(规则模板解析、深度学习意图识别)

一、意图识别应用领域1、搜索引擎2、对话系统:基于意图识别了解用户想要什么业务或者闲聊,并采用不用的子模型来处理1.1闲聊技术:闲聊机
 一、意图识别应用领域

1、搜索引擎
2、对话系统:基于意图识别了解用户想要什么 业务 或者 闲聊,并采用不用的子模型来处理1.1 闲聊技术:闲聊机器人需要有较高的召回率,因此常常用:seq2seq + attention / transformer / bert .... 1.2 基于业务,例如 电商、买票、查询天气技术:基于上述应用场景需要极高的精确率,因此常常用:① 基于业务规则模板、基于语义匹配 ②
3、智能物联网
4、机器人

二、意图识别的难点

1、用户输入不规范,输入方式多样化,甚至非标准的自然语言
2、表意表现出多意图仙剑奇侠传游戏?--> 游戏软件?……电视剧?--> 电视剧下载?相关新闻?……
3、意图强度,表述不同表现出不同的需求强度天气很好啊-->弱意图(心情,闲聊模式) 今天天气怎么样-->强意图(业务模式)
4、意图存在时效性变化,就是随着时间的推移相同问题的意图会发生变化 ******* 难点
5、没有固定的评估的标准

三、意图识别的主要方法

   1、意图识别的类别

(1)导航型 将用户导航到相应的领域或相应的流程中例:百度 *** 导入到某个网站
(2)信息型 提供给用户想知道的信息例:百度 *** 的个人信息 ----- 类似百度百科
(3)事务型 给用户提供流程中的各个实现环节例:百度 *** 坏了 ----- 类似百度知道

   2、规则模板意图识别


     (1)词表穷举法

                     特点:必须一一命中才行,因此模型的召回率较低,精确率极高 

   (2)规则模板解析    

                规则模板解析: 需要基于  分词、词性标注、命名实体识别、依存句法分析、语义分析 的前提下 才能完成

                                           而且数据中使用的也是字典形式(key hash 结构),查询速度较快。

1、适用于查询非常符合规则的类别,通过规则解析的方式来获取查询的意图。例:北京到上海今天的机票价格,可以转换为:[地点]到[地点][日期][汽车票/机票/火车票]。执行过程:第一步:寻找领域,获取子类模板字典第二步:选取模板,这里面命中模板不是所有的内容都全部命中,只需要命中一部分。第三步:采取 反问模板 与用户沟通缺失了模板的那些内容,并补全这些内容(即上述问句没有日期)第四步:给出 完整的模板信息 并 等待用户确认。1吨等于多少公斤,可以转换为:[数字][计量单位]等于[数字][计量单位]。对规则性较强的query有较好的识别精度,能够较好的提取准确信息。缺点:需要人工参与较多,很难自动化实现。实用指数:4★场景:搜狗通用搜索、小i智能客服、机器人、智能物联网、支付宝分控系统有10000多个模板。

                 特点:规则性较强的query精确率较高,召回率也不错 

  •    案例:搜狗搜索 意图识别

                     规则意图识别的一般技术

                            1. 判断领域:采用实体-主域-模板的整体框架来判别识别领域

                                      注意:主题    ------ 大类别 ;主域  ------- 子类别 ; 模板

                            2. 判断意图:命中主域后,模板采用意图动词(下载、查询等)或意图疑问词(怎么样、为什么等)判别意图

                            3. 区分弱意图和强意图,针对性提供解决方案;判断实体强度

                                搜索引擎意图识别领域判别表:仙剑奇侠传

                 计算过程 

                          第一步:主体(大类)计算

                          第二步:主域(子类)计算 

  •  规则模板解析优化 

4. query改写包括:query纠错,query扩展,query删除,query转换。a. 进行同义词扩展 eg:我去旅游 我要旅游 ------- 技术:① word2vec ② b. 删除一些修饰,扩大召回 ------- 技术:① booststriping信息抽取 ② 语义分析(三元组)c. 通过近义或同义转化,扩大召回 ------- 技术:① word2vec ②

    3、深度学习意图识别

1、机器学习和深度学习方法意图识别可以看做是一个分类问题,针对于垂直产品的特点,定义不同的查询意图类别。对于用户输入的query,根据统计分类模型计算出每一个意图的概率,最终给出查询的意图。 缺点:主要是数据获取和更新较困难,数据的标注也需要较准确才能训练出较好地模型。实用指数:4★场景:京东JIMI、美团垂直搜索2、深度学习 意图识别常见 模型:① LSTM + attention② BERT网络 分类意图识别

                   特点:模型召回率很高 

  •     案例:京东JIMI  意图识别

                      一、 大致结构

                   二、模型网络

京东JIMI意图识别(baseline)深度学习CNN模型,可用于求解一个分类问题,将用户的问题映射到一个具体的分类。最终在算法选型上,采用深度学习CNN模型,其中模型参数:词向量采用100维每个样本限定30个字以内,超出30截断,不足30补充随机向量单层CNN网络,第一层卷积核大小3*50

 

 


推荐阅读
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
  • 深入理解一致性哈希算法及其应用
    本文详细介绍了分布式系统中的一致性哈希算法,探讨其原理、优势及应用场景,帮助读者全面掌握这一关键技术。 ... [详细]
author-avatar
育诚家瑋逸群
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有