基于模式匹配的意图识别 07111405 1120141901 张宇森
CONTENTS 问题的引入 PatternSystem语法介绍 PatternSystem系统介绍 系统测试、反馈与展望 目录
I want three cups of hot latte 1.问题的引入 如何让程序理解人类的需求? 对于一个咖啡店机器人来说,其主要目标就是识别人类的意图。 I want three cups of hot latte 机器人要从中提取出如下内容: Intent:want_coffee Entity:latte
1.问题的引入 基于SVM等方法: 需要大量的特征工程与数据 基于文法树: 构建较为复杂, 且交互性较差 基于规则 统计学习 深度学习 基于文法树: 构建较为复杂, 且交互性较差 CNN、LSTM等方法: 仍然需要大量数据支撑,并且无法脱离规则
1.问题的引入 为此,基于模式匹配的意图识别算法,即一种改进的基于规则的方法,我构建了一个非数 据依赖的,具有良好用户交互性的平台PatternSystem,用于意图识别机器人的搭建。 用户可以在系统中方便地搭建自己的应用,诸如咖啡机器人、订票机器人等等。
2 PatternSystem语法介绍
2.PatternSystem语法介绍 回到最开始的问题,如何让机器人理解: I want three cups of hot latte Give me 3 cups of very very hot Latte Please give me 3 cups of hot Latte Coffee ... 本系统的方式是,采用了仅仅含有六个运算符的语法构建模式(Pattern),通过预 先编写好的模式进行匹配。上述三个句子对应的同一个模式: (I want | [please] give me) @type.integer:CoffeeNum cup[s] of very{,2} hot @coffeeType
2.PatternSystem语法介绍 (I want | [please] give me) @type.integer:CoffeeNum cup[s] of very{,2} hot @coffeeType 其中出现了全部的六个运算符: () 运算,用于表示分组,其中的内容可以认为是独立的,可以当作子模式对待 [] 运算,用于表示出现一次或者不出现 | 运算,表示前后内容的选择关系,可以匹配其中的一个 {} 运算,限制出现的次数,出现的内容等等,在这里省略了左端点,其实为{0,2} @ 运算,用于引用实体、字典甚至是一个模式或者意图(任意有名的元素) :运算,用于对一个实体进行标注,起一个别名(Alias)帮助其匹配结果的运算
2.PatternSystem语法介绍 (I want | [please] give me) @type.integer:CoffeeNum cup[s] of very{,2} hot @coffeeType 其中出现了诸多概念: 模式(Pattern)即一个用规定语法写成的字符串,用于字符串匹配 实体(Entity)一类具有很大共同点的名词的集合, @type.integer便是一个实体 词典(Dictionary)近义词的集合,可以是正则表达式,如@coffeeType 句子(Utterance)用于测试的字符串 ,如I want three cups of hot latte 意图(Intent)模式的集合,若某个句子匹配到了一个模式,其所在的意图即为句子的意图 本系统的一个特点是,创建了将近一百个预构建的实体,方便用户的调用,其中形如type.*的 实体便是预构建实体的名称,加在@运算符之后便可以引用。
3 PatternSystem系统介绍
基于HTML+CSS+Jquery的前端开发 系统的组织架构 基于HTML+CSS+Jquery的前端开发 03 02 基于C#ASP.NET MVC4架构编程 01 基于SQL Server的数据库开发
3.PatternSystem系统介绍 该系统采用了第二节讲述的模式语法,按照概述(overview)、意图、实体、词典、句子、 测试六个模块进行模块化编程,六个模块相互配合共同完成了机器人搭建的平台。 按照VS自带的代码统计工具,除去自动生成代码、空行和#引用,总共代码量为27222行 (144个手写文件),除去合作者的帮助与一些基础架构的搭建,手写完成代码量至少20000 行。
3.PatternSystem系统介绍 系统的制作与时间占比: 编写代码,完成系统 50% 添加新功能,调试漏洞 30% 代码重构与整合 20% 最终通过Azure服务器,将网站发布到互联网,供员工使用。
3.PatternSystem系统介绍 下面对六个主要模块进行概要说明: 概述模块主要存放应用的统计数据,包括含有多少个意图、多少个模式等等信息,同时提供 了测试结果的查看与版本控制。
3.PatternSystem系统介绍 意图模块主要存放了该应用中所有的意图与其对应的模式,也就是之前所写 的使用了模式语法的句子。
3.PatternSystem系统介绍 实体部分主要存储了用户定义的实体,并且嵌入了一个推荐模块,可以方便 用户一键加载推荐内容。
3.PatternSystem系统介绍 词典模块用于存储应用中需要用到的近义词等,以便在模式中引用,这个模 块也嵌入了推荐服务,可以方便的一键构建词典。
3.PatternSystem系统介绍 句子模块主要用于句子的存储与标注,这个模块可以将已经标记好的内容进 行测试,并且记录在梗概模块中
3.PatternSystem系统介绍 测试模块用于测试单独的句子,由于这一栏是在右侧的,所以可以随时进行 测试。并且具有单独模式的测试功能,用于模式的调试。
4.系统测试、反馈与展望 我的校外导师与我一起,花了一个月的时间,创建了将近一百个测试用的 App,消除了几十个bug并增添了诸多的新功能。 受到了我组组长,Bojre的认可,随后受到了大洋彼岸的同事的第一份反馈, 我的工作也帮助我成功的拿到了MSRA的推荐信 希望以后可以增添更多的功能,让更多的人从中受益,并且导师希望我将此 成果总结并发表在即将到来的CHI19会议。
THANK YOU FOR YOUR WATCHING Our Mission: Empower every person and every organization on the plant to achieve more THANK YOU FOR YOUR WATCHING