javascript开发简易自动问答机器人实例(无插件)

自动问答机器人常用于客服服务等,减少人力成本,在日常工作中很常见。

javascript开发问答功能的原理很简单,主要是匹配词库。当然,本文讨论的机器人不是人工智能,不涉及语言学习领域。

javascript自动问答机器人
javascript自动问答机器人

如图,手动输入内容,系统短暂分析后,回复对应结果。其实就是setTimeout延时,一般设置固定时间即可。此处的时间具体情况具体分析,影响因素有很多,如词库量级等,

界面非常简单,由一个输入框input和显示面板div组成。

javascript编写逻辑,分两个部分:词库和匹配机制。

// 问 - 输入部分
const utterances = [
    ['你好', '早上好', '嗨', 'hello'],
    ['hello', 'morning', ...]
    ...
];

// 答 - 回复部分
const answers = [
    ['嗨', '早', '你好呀'],
    ...
];

// 缺省 - 无匹配结果
const alternatives = [
    "继续...",
    "再试一次",
    ...
];

匹配机制用两个for循环搞定,从utterances中找出行列,到answers中对应行随机出一列作为答案,如果匹配失败,则去备用的alternatives中随机挑选一个。

这部分可完全自定义,以达到更加人性化效果。

function compare(c, f, g) {
	for (var a, e = !1, b = 0; b < c.length; b++) {
		for (var d = 0; d < c[b].length; d++) if (c[b][d] === g) {
			a = f[b];
			a = a[Math.floor(Math.random() * a.length)];
			e = !0;
			break
		}
		if (e) break
	}
	return a
};

使用声明

  1. 本站所有未指定商用的资源,仅限学习交流请勿用于商业用途。
  2. 如果资源损害你的权益请联系官方邮箱给予处理。