AIMLBot智能机器人在实时虚拟参考咨询中的应用*
李文江1, 陈诗琴2
1重庆文理学院教务处 重庆 402160
2重庆文理学院图书馆 重庆 402160
摘要

基于AIMLBot智能机器人软件,利用“海量智能分词”和Lucene.net对机器人的中文知识库进行分词和索引检索,运用《知网》对用户输入问句与知识库问句进行相似度计算,获取相似度最高的知识问句进行推理,从而实现机器人在图书馆实时虚拟参考咨询中的服务。

关键词: 实时虚拟参考咨询; AIMLBot; Lucene.net; 中文分词; 相似度计算
中图分类号:TP391.1
Application of AIMLBot Intelligent Robot in Real-time Virtual Reference Service
Li Wenjiang1, Chen Shiqin2
1Office of Academic Affairs, Chongqing University of Arts and Sciences, Chongqing 402160, China
2Library of Chongqing University of Arts and Sciences, Chongqing 402160, China
Abstract

Base on AIMLBot intelligent robot software, the massive intelligent segmentation and Lucene.net are used to implement word segmentation and index retrieval for Chinese knowledge base,while the questions similarity between the author submitting and from the knowledge base are computed by HowNet, which lead to a highest similarity question for reasoning. At last,robot in real-time virtual reference service of the library is implemented.

Keyword: Real-time virtual reference service; AIMLBot; Lucene.net; Chinese word segmentation; Similarity computation
引言

虚拟参考咨询打破了传统参考咨询在时空上的局限性,使图书馆参考咨询工作产生质变。但虚拟参考咨询受图书馆人力资源限制,在有效服务时间、数量、质量上存在瓶颈。完善、深化实时虚拟参考咨询是提升参考咨询服务价值的一项重要工作。本文以图书馆聊天机器人为例,研究利用机器人实现实时虚拟参咨询的方法。

1 需求及技术思路
1.1 实时虚拟参考咨询服务现状及需求

实时虚拟参考咨询服务的开展得益于计算机和数字通信技术的发展,需要依托一定的网络平台。从现阶段图书馆使用的系统软件来看,主要有三类:

(1)图书馆专用系统。国外有QuestionPoint[ 1]和24/7 Reference[ 2]等,国内有国家科技图书文献中心[ 3]和CALIS

数字参考咨询软件CVRS[ 4]等。从使用情况来看,CVRS也仅限于在全国享有业务特长和地区影响力的图书馆,而真正惠及全国各高校图书馆还需较长的时间。

(2)免费即时通讯软件QQ、MSN等。免费即时通讯软件离不开参考馆员人工提供咨询服务。

(3)自主研发的软件。在自主研发的软件中有不少值得借鉴的经验,比如清华大学图书馆的虚拟咨询馆员“小图”[ 5],它将人工智能与虚拟参考服务相结合,把机器人作为虚拟参考咨询馆员。

目前,重庆文理学院图书馆的实时虚拟参考咨询服务开展得并不理想。从实时虚拟参考咨询服务方式来看,本校图书馆只采用即时通讯工具QQ在图书馆网站上提供咨询。该方式并不能完全满足咨询服务的需求。

1.2 技术思路

经过多方面比较研究,选择AIMLBot[ 6]开源软件作为机器人的系统软件。AIMLBot在英语、法语、德语等语言的人机对话方面已取得的巨大成功,在中文人机对话方面也有相关应用研究[ 7, 8]。但AIMLBot在中文人机对话中的表现并不尽如人意。为此,笔者在机器人的设计方面结合参考咨询工作实际应用需求作了进一步改进:利用中文分词工具对知识进行分词,并对知识问句建立索引;对用户输入问句的关键词进行同义词扩展处理后,在问句索引库中检索并进行相似度计算,获取相似度最高的问句进行推理。

2 机器人的设计

AIMLBot机器人在实时虚拟参考咨询中的实现过程如图1所示:

图1 机器人聊天实现过程

主要分为三个过程:

(1)参考咨询知识库的建立过程。将图书馆参考咨询知识整理成包括知识问句和对应答案的数据,将问句和答案进行中文分词。这些知识数据按照AIMLBot知识库的规范[ 9, 10, 11]生成AIML知识库文件,再对其中的问句模式进行索引。

(2)咨询问句输入处理过程。将输入的问句进行中文分词,同时过滤停用词,获得输入问句的关键词。将这些关键词在索引文件中检索,获取检索结果的问句集合。再将输入问句与问句集合中每个问句进行相似度计算,并获取超过相似度阈值且阈值最高的问句。

(3)AIMLBot知识推理及答案输出过程。将获取的问句送入AIMLBot机器人中,进行问句规范化处理,与内存知识树中的问句模式进行匹配,寻找最佳匹配结果。找到后,读取对应的答案模板信息,模板中可能还包含进一步递推的AIML标记元素需要处理,继续在内存知识树中作推理,得到最终答案。

3 机器人的构建

本文以Microsoft Visual Studio 2008作为开发环境,在.NET 3.5框架下,采用VB.NET语言进行开发,并按照AIMLBot在实时虚拟参考咨询的实现过程,进行模块化设计,方便表现层对模块的调用。

3.1 AIMLBot在中文环境中的改进

(1)AIML知识库结构及改进

AIML是利用XML标准定义的一种服务于人工智能领域需要的特定语言。其基本结构如图2所示:

图2 AIML知识库基本结构

AIML知识库基本结构由若干个知识单元分类构成,而每一个分类主要由问句模式和答案模板