最近又在关注这个自动问答系统。给陈老师团队里的学生提出了业务场景,编好软件系统之后,来适配一款正在制造的咨询机器人。目前市场上有不少智能问答系统,算是通用性的,他们的缺点就在于没有对图书馆的业务进行深耕。一个系统到最后好不好,一定是基于某个行业的内在业务、场景的挖掘、做精,而不是通用的泛泛之作。有不少公司,做系统的出发点,总在想我做出一个东西,很全很好,给每个图书馆去用,我大而全,你去用吧。殊不知,图书馆是个业务复杂的地方。图书馆之间有共性,更多的是个性。数字资源共性的可能性大,除此之外,都是个性的。想和图书馆做生意,最好的办法就是了解每个个性图书馆的建设,拿自己的部分产品融入图书馆的建设之中。现在早都不是卖方市场了,对方的需求就应该是我努力的方向。智能问答系统好像价格不便宜,虚高。图客咨询机器人出来之后,在价格上会有优势的。因为目前市场上的一些咨询系统甚至连一些基本的AI学习功能都没做。
想起2015年的时候,我拿微信自己开发了一个简单系统,用来了解和学习周边知识,当然这个只能用来学习和玩一玩,要想进入生产环境来用,还有许多工作要做。以下是以前写的文章,有删减,删除没必要的描述性文字。微信是腾讯公司推出的一个为智能终端提供即时通讯服务的免费应用程序,微信应用很广,越来越多的行业已经开通了微信公众服务号、订阅号,用微信作为服务手段、营销手段、搜索工具、购物平台以及金融支付手段等。移动互联网的发展使得手机、平板等移动终端广泛应用,高校读者包括师生几乎人手一个移动设备,图书馆可以抓住移动服务蓬勃发展的时机,利用微信开发多种特色服务,提高图书馆的服务能力。本文通过使用微信提供的API接口来实现图书馆智能问答系统。微信已经成了人们的最广泛的移动应用,94%的学生使用能上网的手机,微信的扩散率是80%,59%的学生认为微信比其他社交平台交流更便捷,及时性、互动性更强,音视频传输质量更优。很多学生订阅了各种公众平台服务号,比如快递、银行、餐饮等,使用非常便捷。这说明在移动互联网时代,图书馆可以利用微信平台提供更多更好的服务给读者,拓展图书馆的参考咨询服务,让图书馆真正实现泛在化服务。微信智能问答系统的需求。微信作为图书馆的参考咨询手段,首先要有易用的界面和功能。目前微信提供的API,配合第三方开源程序,可以实现的有智能聊天机器人、在线客服以及智能问答等功能。本例实践的是图书馆智能问答系统,可以根据读者输入的问题分析读者要问的核心内容,来从问题库中选择最合适的答案反馈给读者。腾讯为团体和个人提供了公众平台服务功能,在公众平台的高级功能里,提供了高级模式和编辑模式两种使用方式。编辑模式中有一个关键词自动回复功能,这个功能是指当用户回复某个特定关键词时,就触发后台事先设好的相应的回复。在构建图书馆智能问答系统中,只用这个模式显然不能满足用户用自然语言提问的情况,在开发模式中也可以实现关键词自动回复,继而利用中文分词技术来实现智能回复。账户注册和环境准备。在微信公众平台注册账号,登陆进去启用开发模式,做一些基本配置,比如公众号名称等。准备服务器资源。微信开发模式需要有自己的服务器资源,用于存放自己开发的程序文件。这里有两种模式,一是申请新浪SAE(Sina App Engine)云计算平台,二是自己购买服务器以及域名等资源,环境需要支持PHP语言和MySql数据库。搭建和详细设置在这里不一一赘述。(1)定义数组。数组中键为关键词,值为对应的回复。用户输入的文字能匹配到关键词,则回复该关键词相应的内容。(2)在该例中,定义“电话”、“地址”、“开放时间”、“微信”四个关键词,将其作为数组中的键,然后为他们定义相应的值,就是回复内容。可以设置多个关键词对应一个内容。(3)通过循环的方式分析用户的输入,如果内容中包括相应的关键词,有对应的内容就即时回复。测试的结果如图1所示。![](//image109.360doc.cn/DownloadImg/2022/07/2714/249344102_3_20220727024608960_wm.png)
图1 关键词自动回复
实现智能回复。
利用图书馆已有的FAQ常见问题系统和中文分词技术来实现对于读者的智能回复功能。图书馆在运行的过程中,积累了大量的常见问题,形成了含有大量问题的常见问题知识库,利用这个系统,能够较好地解决读者的常见咨询。
(1)整理和完善原有的FAQ知识库。如果原来没有FAQ知识库的话,则需要去先实现这个系统。毕竟图书馆智能问答系统需要强大的知识库来做后盾。笔者所在单位已经有现成的FAQ知识库,是基于php和MySql搭建的,很容易和微信结合起来使用。唯一需要完善的是MySql的全文检索功能。
(2)连接MySql数据库。(省去代码,想看代码可以CNKI搜《利用微信构建图书馆智能问答系统》。引用:沈奎林,邵波,赵华.利用微信构建图书馆智能问答系统[J].图书馆学研究,2015(08):75-80.)
(3)利用数据库基本操作命令对FAQ数据库进行查询(省去代码)
到这里实现了基本的关键词查询功能,在本例中对读者常见问题进行查询,有结果则输出问题答案,测试结果如图2所示。
图2 数据库关键词回复
(4)全字段查询和显示多条符合的记录(省去代码)
上面的查询是只对数据库表中题名查询,如果要查的更全,则需要同时在多个字段检索,比如题名、内容、标签等字段。另外对于用户提交的检索词,如果有多条符合的记录,则需要全部显示出来。
利用MySql中CONCAT()函数,查询多个字段。利用php字符串连接方法,将多个字段的值按照预定格式输出。利用记录集循环,将多条复合的记录逐条显示。本例中php以及select语句改造如下:
(5)利用中文分词技术进行自然语言智能查询
在使用图书馆智能问答系统的过程中,读者使用的是自然语言,要想获得更好的用户体验和使用效果,就需要对读者输入的问句进行分析,抽取出其中有用的关键词,来进行回复。这就要用到中文分词技术。这种技术是指把一句话用算法切割为一个个单独的词。这个技术是文本挖掘的基础,把一段中文进行准确的中文分词,能够达到电脑自动识别语句含义的效果。在英语里,用空格来分割英文句子里的词,汉语里只能通过明显的分界符来将字、句子和段落划界,汉语的词没有分界符,所以让电脑理解中文比较困难。中文分词就是要解决句子中词的划分问题,然后提取其中关键词进行搜索。
开源的中文分词项目比较多,这里采用php环境下应用最广的SCWS中文分词开源系统,本系统简单易用,分词准确率高,有很强的扩展能力,详细可参考其官方网站。本部分核心代码如下所示(省去代码)。测试效果如图3所示。
图3 用自然语言测试分词查询结果示例
微信智能问答系统的应用效果以及后续研究。(省略)
微信作为一种新兴的通讯工具,产品升级换代很快,功能越来越多,并且开放接口,使得第三方开发人员能够使用微信做很多个性化服务平台。图书馆作为为读者提供服务的重要机构,移动图书馆的兴起、泛在服务的需求,使得数字图书馆的移动服务越来越重要,微信作为一款广受好评和开放的系统,非常适合作为图书馆的服务平台。本文以南京大学图书馆智能问答系统为例,详细阐述了思路和实现过程,在使用中得到了读者的喜欢和支持。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。