中文聊天机器人原型系统的设计
更新时间:2023-06-02 02:21:01 阅读量: 实用文档 文档下载
第10卷 第2期
2007年6月 沙洲职业工学院学报 Journal of Shazhou Professional Institute of Technology Vol. 10, No. 2 June , 2007
中文聊天机器人原型系统的设计
易顺明,胡振宇
(沙洲职业工学院,江苏 张家港 215600)
摘 要:探讨了中文聊天机器人原型系统的设计方式,提出了采用中文分词与关键词语匹配算法。从中文句子中抽取关键词,形成规则库与规则树。聊天时,采用带回溯的深度优先算法,找到最佳匹配路径,给出回答。
关键词:聊天机器人;模糊模式匹配;深度优先搜索;人工智能
中图分类号:TP319 文献标识码:A 文章编号:1009-8429(2007)02-0005-05
The Prototype Design for the Chinese Chat Robots
YI Shun-ming, HU Zhen-yu
(Shazhou Professional Institute of Technology, Zhangjiagang 215600)
Abstract: The Chinese word segmentation and the matching algorithm based on keywords are adopted for the prototype design of Chinese chat robots. These keywords are extracted from Chinese sentences to create a lot of rule database and rule trees. A highly restricted version of depth-first search, also known as backtracking, is used to find some best matching paths and give a reply.
Key words: chat robot; fuzzy pattern matching; depth-first search; AI
1 概述
聊天机器人是指在聊天室或论坛上通过理解聊天对象的句子自动做出相应应答的一种软件,它可以代替真人在聊天室中进行聊天。准确地理解自然语言,目前在理论上仍然无法实现。语义分析和上下文相关文法,一直是自然语言理解中需要解决的难题。[1]
目前基于自然语言理解的聊天机器人的研究尚在起步阶段,国外典型的聊天机器人主要有基于AIML的A.L.I.C.E[2]和VerBot等;用于中文处理的绑定在QQ聊天工具里的聊天机器人“小强”和“小I”,以及微软MSN的“小布”,其中后者已经具备了很大的知识库,能够理解一些基本的常用句子,甚至还提供了专门信息查询服务的功能,目前国内外相关的资料甚少。
我们所开发的智能聊天机器人原型系统结合了信息查询服务与智能聊天的功能,围绕这些功能扩展出学习、工作、交友、买卖、考试、日程安排六大功能模块,形成以智能机器人为角色的智能虚拟社区。
系统选用Ecplise3.0并安装插件Struts Studio、tomcat、VSS作为前台开发工具,用Oracle9i作为后台数据库服务器,使用了MVC模式的WEB应用。本文主要介绍智能虚拟社区中的智能聊天机器人的原型设计。
2 网络MVC构架
系统登陆时,用户从index.jsp里输入用户名与密码,把这两个字段传到loginForm里,在loginAction里new出loginForm,获取用户名和密码,做出判断,然后maping forward到相应的页面,示意图见图1。
整个系统采用Hibernate来连接数据库。
收稿日期:2007-03-26
作者简介:易顺明(1966-),男,沙洲职业工学院科研处副教授,硕士;
胡振宇(1983-),男,苏州大学计算机科学与技术专业2005届毕业生。
易顺明,胡振宇:中文聊天机器人原型系统的设计
图1 登陆模块MVC构架
3 系统结构
聊天机器人原型系统的设计,主要基于语料库和规则学习的人工智能方法。其主要原理是:当聊天对象输入句子时,系统对此句子作一些前处理,包括过滤标点符号和停用词,然后进行中文自动分词。抽取出分词后的句子中的关键词,通过规则匹配算法规则库进行关键词最优匹配,找到规则库中与之对应的规则。若规则库中没有能够匹配的规则,则转入一般算法,随机给出像“哈哈……我不懂你说的是什么意思”,或者“对不起,你能不能换一种方式来说”等通用答案;若匹配到不只一条,找出匹配到的关键字个数最多的规则,若个数最多的规则仍不只一条,查看是否有逻辑判断,有逻辑则优先匹配逻辑,无逻辑则从匹配到的规则中随机选取一个作为回答。图2描述了整个系统匹配的结构。
图2 聊天机器人原型系统结构图
4 规则树与规则匹配
规则库是聊天机器人系统中的核心数据库,在设计中,我们从日常的句子中抽取出一定的结构,形成规则库,如图3所示。
图3 规则库
6
易顺明,胡振宇:中文聊天机器人原型系统的设计
在上面的规则中,*代表了若干字符。如果用户录入了类似如下的句子:
今天天气很好。今天天气真好。今天的天气格外好。
系统就能通过模糊模式匹配规则匹配到规则库中的这条记录,并将相应的答案返回出来。
为了提高匹配的准确度与速度,我们构建了一个规则树来存储规则。
例如:图4(a)是一个以A为起始关键字的字串的规则树,图4(b)是一个以B为起始关键字的字串的规则树。
图4 规则树 (a) “A”规则树 (b) “B”规则树
以A为根节点开始的规则可以是:
*A*B*、*A*B*C*、*A*B*C*D、*A*B*D*、*A*B*E*、*A*B*E*F等等。
若是*B*C*前没有关键词,则采用以B为根节点开始的规则。
匹配过程采用深度优先搜索算法,当规则库中没有找到相应的根节点时,系统会自动创建一个新的根节点规则树;若找到了相应的根节点,系统会记录其ID号,然后继续,直至结束。
例如,在规则库中有上面描述的规则存在,用户输入以下句子:
上海今天的天气格外好。
经过中文分词后,分成:
上海|今天|的|天气|格外|好。
对句子按照词序开始进行模糊规则匹配。系统首先在规则库中寻找有没有以“上海”为根节点的规则树,如果失败,则去掉“上海”这个词,再开始找以“今天”为根节点的规则树,并根据深度优先原则进行遍历搜索,直至找到“*今天*天气*好*”这个路径,然后根据上面所说的规则,得到“恩,我感觉心情也不错”的答案,作为回答进行输出。
图5是这种匹配算法的流程图。
这种算法有一定的局限性,即一旦存在以“上海”为根节点的规则树,系统会在这个规则树中找到比较接近的规则,而不再转到以“今天”为根节点的规则树上去。
此外,规则库的构建,目前仍采用人工选择的方式,这样的好处是比较准确,缺点则是要构建一个实用的且比较大型的规则库需要一定的时间,所以也可以考虑放在网络上采取“让人抱养”的方式,以尽快提高规则的构建速度。
7
易顺明,胡振宇:中文聊天机器人原型系统的设计
图5 匹配算法流程图
5 系统结果分析
5.1 规则学习
规则学习的任务就是建立规则库,其基本功能主要有:增加基本规则,查询规则和删除规则。
在建立规则的时候,要注意通配符*的合理使用,它在句子中主要代表了一些虚词、助词、连词等非关键词。关键词的选择包含了句子的结构和语义方面权重较大的词汇,另外,还要注意避免规则与规则之间的协调。图6是规则库编辑界面。
8
易顺明,胡振宇:中文聊天机器人原型系统的设计
图6 规则库编辑界面
5.2 聊天结果
图7是一个聊天的简单界面,其中的“你”是用户,“小R”是聊天机器人。
图7 聊天机器人界面
6 结束语
从我们目前实现的聊天机器人原型来看,系统已经构建了820多个规则库,每个规则库有数百个规则,已经基本具备自动聊天的效果。下一步的工作,重点是要建立上下文相关的树结构,以便模拟出语言环境,使聊天机器人能够适应语用环境,表现得更加真实。
参考文献:
[1] 戴开宇,张申生,王淼.分布式虚拟环境中的聊天机器人的研究[J].计算机工程与应用,2002(7):13-16.
[2] Wallace R. The Anatomy of ALICE[EB/OL]./anatomy.html.2006-12-10.
9
正在阅读:
中文聊天机器人原型系统的设计06-02
高三数学寒假作业冲刺培训班之历年真题汇编复习实战615303-19
个人征信、报告、记录解读大全05-17
差错控制编码05-17
买菜那件事作文400字06-28
怎样解决小水电并网引起线损增加的问题11-25
最美教师演讲稿精选三篇03-11
论内部审计制度的必要性及其完善与发展06-14
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 原型
- 中文
- 机器人
- 聊天
- 设计
- 系统
- 国有土地使用权出让程序
- 现代汉语期末考试题上4
- 基于校园网的数控机床联网研究与实现
- 基于中间转换格式的中英文语言生成方法研究
- 兴业证券-研发中心下周调研计划及上周调研回顾-100602
- 毕业生就业指导手册
- 北京爱情故事经典台词集锦
- 中国糖尿病指南第10讲
- 膜格栅及厌氧池混凝土施工方案
- 用友U6产品知识——数据库_库存管理
- 浅议地热采暖特点及质量控制
- 第2章曲柄连杆机构
- 山区公路边坡稳定性分析及治理研究
- 从儒家之终极关怀论
- ISO14001 2015 to ISO 14001 2004 环境管理体系新旧版标准要求对照表
- 《商务英语---外企面试问题精华+面试技巧》
- 湘教版小学科学五年级下册教案
- 电工电子技术课程设计-数字万用表
- 高二地理荒漠化的防治2
- 学科课题结题报告