后台自动回复满了,想搭建自动回复的网站。找了很久终于找到 Github/kompasim 的 chatbot 项目。
虽然是2017年的项目,但目前测试仍然可用。
测试成功服务器环境: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)
[HTML] 纯文本查看 复制代码 <category>
<pattern>hello</pattern>
<template>
hello ...
</template>
</category>
pattern标签内是关键词,template标签内是回复内容
3、注意事项
为避免aiml文件被下载,我们添加防盗链
4、优化项目
原项目回复内容只能是文本,为了让机器人回复的url内容自动添加超链接,我们可以修改index.php内的js函数。
[JavaScript] 纯文本查看 复制代码 function AddText(user, message) {
console.log(user);
console.log(message);
var div = $('<div>');
var name = $('<labe>').addClass('name');
var reg=/(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g;
if(message.indexOf('http') != -1){
var url = message.match(reg);
console.log(url);
var text=$('<span>');
var a = $('<a>').addClass('message').attr('href',url).attr('target','_blank');
a.text(url);
text.append(a);
text.append(message.replace(reg,''));
name.text(user + ':');
}
else{
var text = $('<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.lanzouj.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 |