服务器环境:Nginx 1.18.0 + PHP7.3 + MySQL 5.7.31。
该聊天机器人是参考AIML
2.5和Program-P而写成的,这聊天机器人实现的aiml标签和标准的aiml标签由一定的差距,所以你从网上下载的aiml语料库可能没法正常工作。适用于UTF-8编码的,单词后缀根据不同的时态而改变的那些语言。感兴趣的朋友可以自己研究学习一下。本程序用了MySQL数据库,你需要把chatbot.sql文件倒入到你的数据库,然后在chatbot/Config.php文件里修改相关数据库配置变量。
1、效果预览
你可以自己动手优化界面哦~
优化用作聊天机器人也是不错的
2、数据存储
数据位于 aiml/chatbot.aiml 文件内,AIML语法类似HTML
AIML:人工智能标记语言(Artificial Intelligence Markup Language)
1
2
3
4
5
6
|
<category>
<pattern>hello</pattern>
<template>
hello …
</template>
</category>
|
pattern标签内是关键词,template标签内是回复内容
3、注意事项
为避免aiml文件被下载,我们添加防盗链
4、优化项目
原项目回复内容只能是文本,为了让机器人回复的url内容自动添加超链接,我们可以修改index.php内的js函数。
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
functionAddText(user, message) {
console.log(user);
console.log(message);
vardiv = $(‘<div>’);
varname = $(‘<labe>’).addClass(‘name’);
varreg=/(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g;
if(message.indexOf(‘http’) != -1){
varurl = message.match(reg);
console.log(url);
vartext=$(‘<span>’);
vara = $(‘<a>’).addClass(‘message’).attr(‘href’,url).attr(‘target’,’_blank’);
a.text(url);
text.append(a);
text.append(message.replace(reg,”));
name.text(user +’:’);
}
else{
vartext = $(‘<span>’).addClass(‘message’);
name.text(user +’:’);
text.text(‘\t’+ message);
}
div.append(name);
div.append(text);
$(‘.chatBox’).append(div);
$(‘.chatBox’).scrollTop($(“.chatBox”).scrollTop() + 100);
}
|
5、项目下载
建议到GitHub下载,也给大家转存到网盘了哈
https://www.lanzous.com/i3VSSlari6h
6、参考资料
1、 Github/chatbot 项目
https://github.com/kompasim/chatbot
2、CSDN-AIML应答机器人(一)aiml简介
https://xvshu.blog.csdn.net/article/details/80973649
3、技术松鼠-网站自动回复机器人
https://www.jishusongshu.com/network-tech/chat-robot/
4、松子分享-url网址文本解析成超链接
https://www.szfx.top/study-record/js-url-to-link.html
评论抢沙发