在上一节的课程中,我们讲到如何在微信公众号加入商品查询,用户可以输入自己想要查询的商品,然后后台根据用户的关键字进行产品的查询,如果对之前的文章不是很了解,可以订阅我的头条号进行关注,那么我们今天要说的是对我们的公众号进行优化,因为用户输入的多种多样的,那么我们需要智能的判断出用户的想法,然后做出相应的处理,比如我输入商品就是查询商品,输入天气就应该是进行查询天气。
具体效果如下:


那么,我们我们继续开始我们今天的课程,我们大概理清一下思路,我们可以更加用户输入的内容进行判断,我们可以对用户输入的名词而进行查询,假设有这么的一段问话
“衣服”
这样是比较好理解,我们可以判断出这个词性是不是名词,如果是的话,我们可以在数据库查询一下。
假设有这么一段问话
“你好啊?”
那么这里我们是没有名词,那么我们可以判断他是普通的聊天。
但是可能用户还会有其它的问话
比如是奔跑吧兄弟,那么这个却包含了一个名词兄弟,但是这个却不是我们要查询的商品,我们可以进行对这些语句进行过滤,比如它前面带了一个不及物动词.那么我们可以进行过滤。
大概理清上面的内容之后,我们还需要理清一个概念,就是如何将这个关键词识别为名词,动词这些,这个输入人工智能范畴,我之前也写过一篇文章,就是如何提取关键词。这个和我们词性分别是一样的。
链接地址
人工智能-使用fudannlp实现*今条头日**的关键词提取
提取词性这个范围我们可以利用新浪的分词功能,也可以利用一些开源的系统来实现,同时也可以用腾讯的文智NLP平台区分,我这里就不做介绍了。这里的实现我也不做介绍了,大家可以自行了解一下。
那么我们就开始我们要说的内容了
在我们的程序识别后,我们就可以进行相应的处理了,用户输入的不是商品,那么我们就可以利用机器人和用户聊天了,
机器人接入部分,我们使用图灵机器人来开发。我们可以在图灵机器人后台申请一个AppKey,然后就可以使用POST方法来获得对话内容。
function postData($url, $data) {
if (!function_exists(’curl_init’)) {
return’’;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$data = curl_exec($ch);
if (!$data) {
error_log(curl_error($ch));
}
curl_close($ch);
return $data;
}
我们在获得图灵的信息后然后将内容输出给用户就可以了。具体实现如下:
$post_data = array("key"=>"22","info"=> $keyword,"userid"=>"222");
$iss = json_encode($post_data);
$urlinfo ="http://www.tuling123.com/openapi/api";
$info = $weixin -> postData($urlinfo, $iss);
$info_json = json_decode($info, TRUE);
$itemTpl ="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$result = sprintf($itemTpl, $infoobj -> FromUserName, $infoobj -> ToUserName, time() ."",$info_json[’text’]);
我们今天就实现了微信公众号的接入了,我也把最新的功能放上网站供大家测试了,同时也可以关注我的公众号,可以登录我的网站http://www.yeehot.com/右方有微信二维码。
欢迎继续关注我的头条号:一点热,如果有什么问题,欢迎留言咨询,我看到之后会第一时间回复大家的。也欢迎收藏与转发,如果需要转载到其他网站,请与我联系,yeehot.com,如果有什么意见或者想法欢迎在下方留言