留意过bbs上合集的同学可能会发现,一个火的帖子,跟者云集,并且跟贴的话题频频变化,但是一般最后会回到最初的主题上来,看看水木上主题丰富热火朝天的WL板块就知道。虽然经常浏览合集,但是起初这个现象我倒没有留心,偶尔一次lp在旁边嘀咕,说这种五花八门的回帖要是有个程序分析一下输出一个图像,就像google trends一样,那感情有趣。
有趣归有趣,可实现这种东西也不是那么简单的事情,我常常把类似这样的自然语言处理技术比做做菜,吃了美味的菜,也能看出它的配料,可那隐藏在后面的复杂工序,加之秘方调料总是让人琢磨不透。我有兴趣做菜,也有兴趣处理这样的技术问题,所以就开始翻箱倒柜,在我的工具箱里面找合适的“烹饪”工具。
我首先找到了我的一个中文分词标注的工具对合集中有序的帖子进行预处理,就像把肉呀,香肠呀都切成一片一片,并做上标记。
在此基础上,我又找了个基于句法和词频的关键词抽取工具,当初写这个工具可完全是出于偶然的灵机一动,谁叫那个中文句法分析模块写了扔在那里一直没用呢,没想到现在竟然能派上用场。抽取关键部分,这个过程对于做一道好菜来说也是很重要的,就是要把菜料中那些切得不好或者本身材质不好的部分扔掉,免得影响菜的口感。
这样,似乎前期准备都差不多了,剩下的工作就是要找一个可以自动进行主题提取或者话题聚合的工具,幸好,最近写了个高效的聚类工具,用在这里可算是再恰当不过了。这可以说是进入了真正的炖煮煎炸阶段了,师傅的手艺和经验在这个时候可以说展露无遗。
做好的菜,最后还是需要修饰一下的,可惜我的工具箱里找不到可用的工具了,我想把它做成美观的图形,可惜俺只能根据聚类的结果画出简单的曲线图,我还在用C++绘图呢,要我画个图在Web上展示,俺可不会,不过目前这样也能让lp和自己开心一下了。