分享好友 最新资讯首页 最新资讯分类 切换频道
【开源】一个基于智能问答的聊天机器人实现
2024-11-30 23:48
【开源】一个基于智能问答的聊天机器人实现 机器人

【技术讲堂开课啦】人工智能商业化应用是下一个风口,机器学习算法很枯燥,进阶高级遥遥无期,怎么办?学习“阿里云机器学习算法应用实践”公开课,10月27日20:00~21:00,阿里云产品经理教你构建专业体系,点击文末“阅读原文”进行学习~

智能问答应当是未来智能化发展中人机交互的主要方式,目前无论是在开源社区或者企业应用中,都有广泛的应用。

项目名称是Iveely.Brain,本次源码可以在Github的这里下载,,是主要用于聊天服务的一个项目,本次开源版本的示例如下所示:

整个开源版本分为两种模式:本地模式和远程模式。本地模式是开发环境的调试模式,主要用于测试准确性问题;远程模式主要应用于正式线上环境,通过TCP(默认端口8001)的方式提供对外服务(也可改为restful API的形式)。智能问答的核心在于聊天语料和知识推理两个部分,由于知识推理涉及到数据分析以及知识图谱的构建,因此本次开源版本重点在于聊天语料库。当您下载源码之后,可以通过修改corpus中的example.aiml改进聊天语料,如下图所示:

AIML格式是一种人工智能标记语言,聊天语料主要包括如下几种类型:

(1) 直接匹配模式

<category> <pattern>你好</pattern> <template>你好!</template> </category>

此种模式将会在命中“你好”之后直接返回“你好!”。

(2) 随机匹配模式

<category> <pattern>今天天气真好</pattern> <template> <random> <li>是呀,天气不错。</li> <li>要不出去走走?</li> <li>希望每天天气都这么好!</li> </random> </template> </category>

随机模式在命中Pattern之后,将会从template中的li元素中随机选择一条返回。

(3) 记忆替代模式

<category> <pattern>你好,我是*</pattern> <template>你好,很高兴认识<star index="1"/>。 </template> </category>

记忆替代模式,将会在template中替换star,例如在问“你好,我是刘凡平”的时候,则“”指向的内容是“刘凡平”,则返回结果为“你好,很高兴认识刘凡平“。表示取用户模糊匹配的第一个号的内容。

(4) 递归推理模式

<category> <pattern>您好,我是*</pattern> <template> <srai>你好,我是<star index="1"/>。 </srai> </template> </category>

递归模式采用”srai“标识,表示不直接返回答案,而是将问题替换为另外一个问题继续寻找。例如用户问”您好,我是刘凡平”的时候,template中将会替换为”你好,我是刘凡平“的问题,这个问题将会再次在AIML中进行匹配,直至直接返回结果”你好,很高兴认识刘凡平“。

(5) 约束匹配模式

<category> <pattern that="你好">你好啊</pattern> <template> <random> <li>你好,我们刚刚说过一遍了。</li> <li>你好,客气啥!</li> </random> </template> </category>

上述示例中,并不会直接命中”你好啊“,而是在上一次是匹配的”你好“,当又匹配了”你好啊“才会命中上述category,即上次和当前次的连续匹配。

扩展

上述过程是按照传统的方式进行模式匹配,聊天语料库的构建是一个复杂的过程,可以通过互联网的数据进行分析,借助分布式计算平台分析有效数据,形成新的语料库,将聊天机器人的后端服务扩展。在补充内容源以及加入知识图谱相关的分析之后,可以将该服务应用于移动客户端,改造后的结果如下图所示(对话图中,左边为聊天机器人,右边为用户的提问):

Iveely Brain是Iveely搜索引擎下基于上下文搜索服务的应用,交互式搜索以及精准性问答是搜索引擎在未来一段时间中的发展趋势,目前行业中出现了不少聊天机器人,但是真正能够把聊天机器人做好的要么是大型互联网公司(Facebook、百度等一类),要么是占据行业优势的企业(银行、政务等一类)。Iveely是“I void everything,except love you!”的简写,包括了Iveely.ComputingIveely.DatabaseIveely.Framework等,或者直接在Maven中搜索“iveely”获得对项目的直接使用。

最后,谢谢一直对Iveely搜索不断关注的同学!

最新文章
阿里伴侣配合阿里巴巴打造全方位线上推广
在当今竞争激烈的电商时代,企业的线上推广至关重要。阿里巴巴作为全球知名的电商平台,为众多企业提供了广阔的发展空间。而阿里
Python大数据分析&人工智能教程 - Scrapy工作原理详解与实操案例
Scrapy是一个开源的、用Python编写的高性能网络爬虫框架,用于抓取网站数据和提取结构性数据。它是基于Twisted异步网络框架构建
AI智能写作助手:一站式解决内容创作、文章润色与高效写作的全面工具
在信息爆炸的时代内容创作已经成为企业、媒体和个人展现自我、传递价值的不可或缺手。面对海量的信息与日益增强的内容品质需求高
你的站点抗压么?推荐一款超方便的开源压测工具
这里是 HelloGitHub 推出的《讲解开源项目》系列,本期介绍一款标星 17.7k 纯 Go 语言实现的 HTTP(S) 压测工具——vegetaVegeta
【系统架构设计】计算机网络
OSI/RM 结构模型 1977年,国际标准化组织为适应网络标准化发展的需求,制定了开放系统互联参考模型(Open System Interconnectio
全世界规模最大战争排名,第一名居然是清朝时期!
自打人类走上进化这条路,就想着法儿想要证明【一伙人就该被另一伙人支配】。古罗马角斗士时代一方有多大势力,就看他有多少人的
python tk随机内容生成器
MyRandom ran=new MyRandom();System.out.println(ran.nextString(1));System.out.println(ran.nextString(50, OnlyNum));System
ai自动写文章在线 在线写文章自动生成器
身为文案工作者,我深感写作之重要且充满挑战。如今,随着人工智能(AI)写作平台的出现,我的写作历程出现了巨大变革。在此,很
AI写系统性综述ChatGPT还远远不够未来百年能否实现
在科学研究的浩瀚海洋中,科研人员时常面临一个棘手的问题:如何有效整合和理解海量的科学文献。尽管网络的普及极大地丰富了文献
全球AI半导体技术排名:韩国强势第三,未来发展值得关注
近年来,人工智能(AI)技术的迅猛发展促进了相关硬件的创新,尤其是AI半导体的需求日益上升。根据最新的研究报告和韩国媒体的报