前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >能理解聊天记录的微信机器人 (三)

能理解聊天记录的微信机器人 (三)

作者头像
AI研习社
发布2018-03-29 11:20:22
8120
发布2018-03-29 11:20:22
举报
文章被收录于专栏:AI研习社AI研习社
聊天机器人部署了一周了。花了几个小时的时间做了一些改动,有意思的部分主要有:
  • 和 ElasticSearch 和 Kibana 连了起来,现在有了实时监控和可视化了。能看到每小时平均有多少次自动回复,多少次看群里话唠,多少次看标签云。令我意外的是已经过去一周了,可是大家的热情仍然没有消退。尤其是最简单的自动回复功能,你提到 “鸭哥” 机器人就会自动回复 “嘎?”。这么简单的功能我以为用户会玩玩就腻了。但数据显示,直到今天还有每小时 30 多次的峰值调戏量。甚至有个群一晚上刷了几百个鸭哥。。真是不能随便猜用户喜欢什么东西啊。。
  • 第二个改动就是把标签云的算法从 TF 换成了 TF-IDF。TF (Term-Frequency) 就是最简单的数词频,这是最简单可靠的算标签云的方法,但有一个缺陷,如果没有对一些无意义的虚词做特殊处理的话,会很容易出现一些巨大但没啥意义的词。比如这个例子,“这个”,“就是”,“可以” 等等。占据了大量的空间,但没啥信息量。

而 IDF(Inverse-Document Frequency)则可以解决这个问题。它基本上代表了每个词的信息量。IDF 的基本思想是,如果一个词在好多群里面都有出现(比如 “的”),那么就对这个词施加惩罚,让它的权重变小。如果这个词只在几个群里面出现(比如 “社会主义”),那就让它变大。这样就能保证,面积最大的几个词不仅是大家经常说的,而且是最有信息量的。经过算法的这个更改以后,我们对同一个群计算标签云,结果就变成了这样:

这个群最有特色的几个词一下就出来了。

  • 此外,我还试着把标点符号也加入到了计算里面,结果很有意思。大多数的群的标签云里面都是没什么标点符号的。原因很简单。第一,聊天的时候以短句为主,后面本来就很少加标点,TF 不高。第二所有群基本上用标点的频率都差不多,所以标点的 IDF 也差不多。因此不会有标点特别大的情况出现。但我看到了两个群有很大的标点出现。

上面这个图是科大的 AI 群。因为里面经常进行一些大段的深入的讨论,所以逗号,句号和顿号都非常明显。而下面这个群,则是因为在聊买房,贷款,所以出现了百分号 %。又因为这个符号在其他群里都没有出现,所以 IDF 巨大。一下就抢占了很大的空间。这也是为什么里面出现了房子,地主婆等关键字的原因。。

所以在某种程度上,这个机器人已经可以理解大家说话的内容了。比如可以区分内容中独特的部分。这对于分类,聚类等等进一步的应用都是非常有帮助的。如果你有什么有意思的应用,也可以在评论中提出来,我们来帮你实现。

编者注:关于本文的后续内容,我们后面几天将在AI研习社陆续刊登,敬请关注。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档