介绍M-O,LT 0.5的主角之一!
还记得电影“WALL-E”中的那个可爱的清洁工M-O吗?它和主角WALL-E的那对交流让人忍俊不禁,不过看似小巧的它倒是非常忠于工作-决不放过任何污渍(这话怎么听起来有点像洗衣粉广告?)。
M-O
在即将开源的LT 0.5中,我大幅度地完善了对评论的分类和管理,并决定把这一SPAM防火墙最终命名为M-O!我是有一天晚饭吃糖醋排骨的时候,突然想起来这个创意的,所以吃顿好吃的晚饭真的很重要。
目前M-O能为LT带来以下一些功能:
自动化的评论分类
M-O会使用内建的贝叶斯算法并结合黑名单机制,对每一条评论进行识别。正常留言直接予以发表;SPAM则标记为SPAM,并告知留言者此评论待审核。最棒的是,M-O是有学习能力的,随着留言数量的不断增多,M-O分类的准确性也会上升。
如果万一你发现M-O出现了判断失误,只需要在管理界面中操作一下,M-O就会记住你的判断并吸取教训。
智力
因为M-O对评论是有学习能力的,所以我们可以通过“智力”这个功能,得知它现在聪明到了一个什么程度。智力以一种非常有趣的方式来表示:“猴子-人-外星人”分别代表了从低到高的智能程度。这个点子其实来自于Sapiens,现在连图标都是用人家的,不过以后会改掉的。
说句题外话就是,有人问外星人一定比地球人聪明吗?答案要看谁先找到谁。如果某一天外星飞船忽然出现在了太阳系甚至地球,那毫无疑问,人家比我们发达多了。顺便推荐一本我读了几遍仍是爱不释手的《量子物理史话》。
其实这个功能可能并没有什么用处,但是看起来很好玩。还有就是,做这种功能有什么比较好的算法(Javaeye上的提问贴)?
统计
显示一些关于评论的统计数据,比如一共有多少条评论、其中多少是正常的、多少是SPAM,在分类的过程中有多少错误识别等等。
黑名单
在以下两种情况下,黑名单会特别有用:
- 贝叶斯算法失效时。贝叶斯算法并不能处理所有的情况,比如当SPAM内容为一串很长且无规律的英文字母、或者数据库中尚未建立对此SPAM内容的存储时;
- 你有特别不想见到的评论时。比如来自某个或某段IP、来自某个email、内容中包含特定的词等等。
你可以把不同类型的内容放到黑名单里,比如评论人的名字、邮件、网站、IP和评论的内容等,只要满足任何一个条件,他的评论就会被当作SPAM。
如果需要的话,你甚至可以使用正则表达式!比如对于SPAM内容为一串很长且无规律的英文字母的情况,一条内容如下的正则就解决问题了:
/\b[a-z]{25,}\b/
评论管理
你当然可以在LT中管理你收到的文章评论。所有的评论分为三种状态:已发表的、SPAM和被放进废纸篓的。
你可能注意到,在每种状态下,你可以进行的操作是不同的:
细节设计-不同类型评论的不同操作
当然了,作为一个以用户体验为目标的blog系统,当然少不了特效:
LT 0.5仍处于开发中,所以上述功能和设计还会进一步的调整。



5 comments so far