废话不多说,直接入正题:
简单问答思路:
if 用户输入包含“几点”的字符:
if 随机选取数为1:
回复“现在是X点X分”
elif 随机选取数为2
回复“X点X分了”
else
回复“现在都X点多了”
elif 用户输入包含“时间”的字符:
if 随机选取数为1:
回复“现在是X年X月X日X点”
elif 随机选取数为2
回复“X年X月X日X点多了”
else
回复“让我看看,原来是X年X月X日X点左右”
else
break
我用的是最简单的思路,其中很多还需要添加,例如时间的获取等等。
其中“包含”是扩大范围。例如用户输入“现在是几点了”、“几点了”、“现在啥时间”等语言都能够被识别。
回复的繁多是使人工智能更具有人性化,尽管不能通过图灵测试,但是却能更进一步。
接下来是通过自由式取词的智能造句算法:
*词库:动词:是…… 名词:点、时间、点钟…… 形容词:很好的……
回复“形容词1+名词1+形容词2+动词+副词+形容词3+名词2”
使名词2包含已获取的时间且语句通顺、没有违规语言后输出
这样能避免语句的生硬,复杂一些还可以直接连接到键盘词库,把语句和中国习惯的省略都加入,但是会使计算量增加。
然后是制造习惯性错误:
if 用户发送字符串
if 1-100取整数为1/2/3/4/5/6/7……/97/98/99
正常回答
else 回答“啊?你说啥?/别问我了,我乏了!/咋了嘛!”
else
break
这样能进一步提升人性化。
但是需要根据用户使用率、心理等多种因素,实时计算是否错误,而且回复错误不能是有纲的规律,也就是说,想做到这一点,要么建造庞大的数据交流沟通后台,要么建造一个微电脑去实时计算。