测试过程中还发现,如果预设的问题中,问题带有标点符号的话,通过 $detail = explode(',',$rs['ask']);取值,结果会多出好几个,于是做了去噪处理,
我的匹配阀值定义 在三个区间,一个是大于0.6小于0.8的,一个是大于0.8的,另一个就是小于0.6的
对于匹配不到问题的,则想学习微信公众号关键词回复那里,总得给用户个答复吧,于是设置了else{return '很抱歉,未能找到您的问题答案,请联系专家寻求解决';},结果发现大问题,在未设置群聊关键字的群发布任何消息,均回复未找到答案,就在3分钟之前,突然想到,在未设置的群里,ASK的值是空的,如果在这个else语句再加一次相似值取并判断呢,是不是就解决了这个问题,果然成立,else{if($value!='' && $lcs->getSimilar123("$ask","$value")<0.60){return '很抱歉,小智未能找到您的问题答案,请联系专家寻求解决';}}
结合今天随风大神又把窜台的问题解决了,我这算是完美实现了智能问答了
补充下,换行符\n在有些编辑器下是无效的,比如咱们X1,换成<br>就解决了
补关键词库截图: