摘要:对一系列文章进行自动聚类可以做为基于内容的推荐引擎的基础,如果要实现文本的自动聚类,首先按照本系列5中所介绍的,对文章进行分词,然后计算得出文章的术语向量表示,即求文章中每个不同的单词以其所对应的TF*IDF,具体计算方法如5中所示。目前文本自动聚类算法中,用得最多是KMean算法,本文中就介绍KMean算法的应用。当然,KMean算法可以通过调用Mahout或WEKA这两个开源的机器学习算法库来实现,但是在这类算法中需要准备比较复杂的输入文件,预处理过程比较复杂,还有一点,我们可能在实际应用中要对KMean算法进行调整,这样自己编写KMean算法重加有助于我们对文本聚类算法的理解。我们首先定 阅读全文
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用15
2011-08-24 12:01 by java ee spring, 231 阅读, 0 推荐, 收藏, 编辑
摘要:第一批员工吴言把自己租的房子换成了一个临街的两室两厅的单元房,里边只有简单的装修,并且没有家居和家电,虽然每月3500的租金有些贵,但是却可以同时解决吴言住宿和办公问题,吴言还是觉得挺值的。吴言首先买了个简易的地毯,铺在了原本是地砖的地上,因为这样可以防止电脑椅来回移动时产生的噪音影响邻居。然后吴言在比较大的客厅和主卧室里各摆上了四个电脑桌,这样可以方便大家的交流,同时也保证了大家都有相对隐密的个人空间,吴言觉得自己原来公司的开放式办公环境,一点私密空间都没有,感觉很不人性化,当这次自己可以做主时,在成本允许的情况下,他想尽量做到人性化。将电源线和网线都从地毯下穿过,并给每个桌子上配置了电脑, 阅读全文
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用13
2011-08-22 13:16 by java ee spring, 150 阅读, 0 推荐, 收藏, 编辑
摘要:蝴蝶结效应吴言昨天晚上熬得很晚,早上是被自己的手机来电惊醒的。谁这么早就来电话,真讨厌!吴言心里嘟囔着,不情愿的从床上爬起来,下意识的看了一下表,原来已经十点多了,已经不算早了。吴言拿起手机,无精打彩的说道:“喂?”“老吴,我是杨子健!现在说话方便吗?”原来是杨子健,他和吴言原来是一个项目组的,来公司三年多,也算是老同事了,正是他接手了吴言原来的推荐引擎开发工作。难道是自己的代码有问题他搞不定?想到离职时任总的所做所为,吴言真的是不想管了,可是想到这样会使杨子健很难受,杨子健这个人还不错,何苦为难他呢!就在吴言确认对方是杨子健的这一瞬间,吴言做出这个决定:他决定如果不是太困难的事情,就接下来, 阅读全文
《当程序员的那些狗日日子》(四十)繁杂的需求
2011-08-22 01:38 by java ee spring, 189 阅读, 0 推荐, 收藏, 编辑
摘要:按公司的习惯叫法,研发部的人全都被称为“X工”。X自然就是各人的姓,所以我也第一次成了“X工”了。立经理一般也被称为“立工”,但听上去倒像是“立功”。在我的姓后加一个“工”字的叫法,可以说是我最不喜欢的称呼。“工”是什么?别跟我说这是工程师的意思,在我看来就是工人、打工的意思,被称为“X工”,那就将意味着一辈子都在当工人,在给人打工,永无翻身之日。我喜欢的称呼自然就是按广东人的习惯叫法直接叫我的名字,比我小的人可以客气地称我一声“超哥”,但也完全可以直呼我的名字。在公司还有一个习惯叫法,那就是“阿X”。X自然也是各人的姓,所以我除了被称为“X工”外,有时还被称为“阿X”。这个叫法更让我郁闷,你 阅读全文
全文检索、数据挖掘、推荐引擎系列5---文章术语向量表示法
2011-08-19 16:39 by java ee spring, 286 阅读, 0 推荐, 收藏, 编辑
摘要:无论是要进行全文检索,还是对文章进行自动聚类分析,都需要将文章表示为术语向量(Term Vector),在Lucene内部就是通过术语向量来对文章进行索引和搜索的,但是Lucene没有向外提供合适的术语向量计算接口,所以对术语向量计算还必须我们自己来做。术语向量解述众所周知,一篇文章由一个个的单词组成,我们在进行文本处理时,首先进行中文分词,包括去除“的、地、得”等常用停止词,对关键词加上同义词,如缩写和全称,如果是英文可能还需要变为小写,去除复数和过去分词等,可能还需要提取词根,总之经过上述步聚的预处理,文章将变成由一系列单词组成的字符串数组。对一系统中的每一篇文章,我们首先计算每个单词的出 阅读全文
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用12
2011-08-19 08:59 by java ee spring, 244 阅读, 0 推荐, 收藏, 编辑
摘要:股权激励之惑终于通过程序可以把京成商城所有产品的页面全都通过网络爬虫程序全部下载到本地来了,吴言心满意足坐在了电脑椅的靠背上,这才发现自己已经足足一动不动的在这编了将近五个小时的程序了,好累呀,吴言很有成就感地伸了一个懒腰。“哎呦!”吴言不小心把堆在电脑桌上最上面的一本书碰到的地上,低头一看,那本书打开了扣在地上,原来是于丹的论语心得。吴言弯腰把书捡了起来,一看翻开的章节正是在讲“君子不器”的那一页,此时看到这句,吴言感慨颇深。记得自己刚开始工作时,对于工作的认识只是VC、VB、Java以及数据库读写等,没有独立工作的机会,那时的自己还不能称之为器,因为还缺乏独立工作的能力。后来,自己对工作的 阅读全文
《当程序员的那些狗日日子》(三十九)痛苦的开始
2011-08-18 15:32 by java ee spring, 194 阅读, 0 推荐, 收藏, 编辑
摘要:按面试时约定的时间,在2009年3月份的最后一个星期,我开始到新公司去上班了。入职很简单,到公司后,由部门经理作介绍,我跟部门各成员逐一打了个招呼,然后由给我面试的那位技术负责人带我到另一边的主办公室办了简单的入职手续并跟其他部门的其中几个同事打了个招呼后,我就算入职了。我所在的部门正是研发部,部门的办公室正是面试时在那个客厅所见到的那个房门紧闭着的房间,这个房间长宽各不过六七米,所以估计面积也就在40平方左右,当中两边各摆了三张台,靠墙的一边隔壁就是那个小会议室,靠窗户的一边中间有一个空座位,我就坐在那个座位上。所以整个部门包括新来的我在内,一共就有六个人。坐的方向都是面朝办公室房门的方向, 阅读全文
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用11
2011-08-18 08:47 by java ee spring, 202 阅读, 0 推荐, 收藏, 编辑
摘要:创业合作伙伴吴言最近常在创业啪网站上活动,开始这个网站吸引吴言的地方是这里有无数创投业大佬,吴言想通过这里接触到他们,但是后来发现想在这里接触投资人,显然是水中捞月镜中摘花,成功的概率与直接买彩票独中5亿差不多。但是创业啪网站上还活跃着很多草根创业者,创业者之间互相交流,给吴言的感觉似乎可以说不定在什么时侯可以擦出火花来。吴言在创业啪网站上认识了徐德才,吴言的第一印象是这个名字很好,德才兼备,其次是他就是做销售的,目前在金蝶北方区做大客户销售,按照风投们的观点,他们正好可以互补,一个负责技术一个负责市场。正好徐德才对吴言的创业项目社会化电子商务也很感兴趣,双方在网上互相交流得非常好,所以决定在 阅读全文
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用10
2011-08-17 09:04 by java ee spring, 212 阅读, 0 推荐, 收藏, 编辑
摘要:商业计划书虽然吴言一直觉得系统开发才是硬道理,其他神马都是浮云。但是在创业网站上,各位牛人们一遍遍重复着的商业计划书的重要性,对吴言还是产生了影响。虽然商业计划书融资价值无限接近于零,但是一个商业计划书可以为自己理清创业思路,这点吴言还是认可的。况且,万一真的通过商业计划书融到资,那就更美了。吴言不准备写几十页那种长篇大论的商业计划书,因为一件事情说清楚两三页就足够了,VC们时间都很紧张,两三页他们可能都会嫌长。虽然也有观点说,写商业计划书体现你的态度,更有甚者,有人还声称,有创业团队就是凭在上百页的商业计划书,没有一个错别字,没有一个标点符号失误,得到投资人首肯而成功融资的。对于这些吴言始终 阅读全文
全文检索、数据挖掘、推荐引擎系列4---去除停止词添加同义词
2011-08-16 16:37 by java ee spring, 326 阅读, 0 推荐, 收藏, 编辑
摘要:Lucene对文本解析是作为全文索引及全文检索的预处理形式出现的,因此在一般的Lucene文档中,这一部分都不是重点,往往一带而过,但是对于要建立基于文本的内容推荐引擎来说,却是相当关键的一步,因此有必要认真研究一下Lucene对文解析的过程。Lucene对文本的解析对用户的接口是Analyzer的某个子类,Lucene内置了几个子类,但是对于英文来说StandardAnalyzer是最常用的一个子类,可以处理一般英文的文解析功能。但是对于汉字而言,Lucene提供了两个扩展包,一个是CJKAnalyzer和SmartChineseAnalyzer,其中SmartAnalyzer对处理中文分词 阅读全文