现在任职的公司有一个非常不好的习惯,就是要每天在微信里汇报工作,而且领导们也只是偶尔看,所以公司同事都是说一些很水的很没有营养的话来汇报工作,然而程序员都是懒惰的,这样重复的劳动不应该是一个程序员应该干的事,所以我打算开发一款微信机器人,用来代替我汇报每日的工作。
刚开始的思路是参考了一篇文章,里面介绍了一款开源的微信机器人,下载之后测试了一下感觉还行,就打算用这款微信机器人来制作我的汇报工作的机器人了,我会在这篇文章中说一些我遇到的问题和我的解决办法,希望大家看到之后会有一点启发或者有更好的建议,可以反馈给我。
一、数据库的选择
由于原来的机器人是用python开发的,所以为了避免重复造轮子,所以就选择用python来开发,而搭配python的数据库,看了一些教程,说是用mysql,但尝试安装python的mysql扩展的时候遇到了一些问题,后来又想到可能需要记录大量的数据,所以就索性换了一个NOSQL数据库,但nosql数据库了解过的只有mongodb,所以就选用的mongodb。
二、分词
刚开始打算用斯坦福大学的NLTP,但是发现国外的是无法分解中文的句子的,后来找到一款结巴分词,可以快速的分解中文句子,但是由于同事汇报工作的时候并没有注意对应的句式结构,所以结巴分析很不准确,而且词性标注并不正确。后来找到了哈工大和科大讯飞的LTP,就目前来看的话效果还是可以的。
三、生成句子
其实中间还应该有一个环节就是数据字典的生成,但是我没有想到很好的办法来实现生成句子的功能,所以我自己设计的字典也可能有问题,此处就是现在的进度了,找到好的解决办法并解决问题之后我会重新回来完成这边文章的……