TinyTui2:带有降噪功能的Twitter客户端

2010-03-03 01:01:22 / CakePHP / 10 comments

去年春天的时候我写过一篇名为“一个更好的Twitter客户端”的文章,里面提到了使用贝叶斯算法来对tweets的内容进行过滤,把自己不喜欢的内容删除掉,这样可以解决信息过载的问题。

庄表伟对这个事情也很感兴趣。他本来写了一个名为TinyTui的Twitter客户端的,于是我们经过简单的讨论,决定就在TinyTui的基础上,融入降噪的功能,并将这个客户端命名为TinyTui2,简称TT2。

系统需求

TT2使用PHP+MySQL编写,使用了CURL库,服务器只要支持这3个条件就能用。

降噪算法

这是TT2的重头,目前主要从三方面入手:

  1. 内容过滤。按照内容对tweets进行过滤,使用贝叶斯算法

  2. 行为过滤。按照行为规则过滤,比如过滤掉我深恶痛绝的“用RT聊天”的行为。目前没有想好用什么算法,@tinyfool和@virushuo推荐了“隐马尔可夫模型(Hidden Markov model)”“协同过滤(Collaborative filtering)”,不过这两个坑都太深了,庄老师和我都还只是站在坑边上往下看了看,没敢跳。此外,我觉得算法可以有很多种,但每种算法要单独写到一个过滤器里面,然后用户加载不同的过滤器满足自己的需求(类似LT的VisitorSense);

  3. 好友过滤。简单地说,就是给每个你follow的人以不同的权重。

这三个方面经过计算后分别得到一个0到1之间的值,然后按照某种公式把这三个值汇总,得到一个总分,最后比较这个总分和事先设定好的阙值,就可以决定某条tweet是否应该显示或者被过滤掉。

其它功能

除了降噪以外,TT2还集成了一些其它的特色功能,比如它内建了一个简单的网页代理,可以让你直接查看那些被墙的网页(典型如短网址)。

项目地址

项目托管在Google Code上:http://code.google.com/p/tinytui2/。要注意的是,提供下载的0.1-0.4版是我参与之前的版本,没有降噪功能,最新的代码请从SVN中获取。

代码完全是“quick and dirty”风格的,我们都是实用派。

Comments

ooof
ooof about 2 years

必须自己安装才能使用?是否有一个演示的页码?

丁宇
丁宇 about 2 years

@ooof 任何twitter地址只要传播开来,结果都是被墙,所以不行。

bing
bing about 2 years

有没有如何用之类的说明,下下来了,不知道如何用!

丁宇
丁宇 about 2 years

@bing 1)从svn checkout出代码;2)按照你的用户名,修改一下tinytui2.sql;3)上传到服务器上;4)设置b8-0.4.4/etc/config_storage中mysql的主机、用户名和密码;5)把tinytui2.sql导入到数据库中;6)设置tweets_cache的属性为777;7)给b8-0.4.4这个目录用.htaccess加个密。

现在还是挺麻烦的,慢慢改。

kuber
kuber about 2 years

中文分词怎么搞定的?

丁宇
丁宇 about 2 years

@kuber 中文分字。见 http://dingyu.me/blog/posts/view/spam-bayesian-chinese-5

crcw
crcw about 2 years

7)给b8-0.4.4这个目录用.htaccess加个密
这一步不懂

丁宇
丁宇 about 2 years

@crcw 从3月5日提交的r19版本开始,就不再需要第七步了。强烈建议从SVN更新至新版本(目前为r26)。
我抽空写个安装程序。

ahu
ahu over 1 year

这一抽空就快一年过去了...

而且我建议将你的这个版本打个包出一个下载吧

丁宇
丁宇 over 1 year

@ahu 哈,由于Twitter安全策略更改,tinytui2应该不能用了。

Leave a comment