
|
标签:休闲生活 |
上周计划用一周的时间完成大论文第四章中的剩余部分,主要包括:算法的时空性能分析和实现4个算法并做对比实验。由于在实现FP-Growth算法时遇到了一些麻烦,耽搁了2天,所以目前只完成了4个算法的代码实现,实验和性能分析都还没做,只能在开会结束后再补了。到时,我会把Apriori和FP-Growth算法的java实现代码整理一下,共享给大家。
新闻网页识别的工作现在进展顺利,这块工作的原型已经完成,初步测试(训练集+测试集=80),精确度大约在90%左右。下一步要扩展训练集,改进方法,提高精确度。
下周二启程去海口,预计29号回来。感谢大家来到我的博客,等回来后我们继续交流。


今天下午项目组例会上,我把我这个模块的详细设计介绍了一下,然后就开始接受大家的批判。
一位做文本挖掘的师兄很快发现了我设计中的一个细节问题,搞得好没面子啊。呵呵。其实无所谓,我是新手,现在在学习么。他建议我在特征提取时尽量少删除一些词,因为新闻内容大多数不是很长,通过词频统计似乎效果不好。不过他也表示,利用文本分类去处理新闻网页识别的效果可能不好,但可以尝试一下。
其实我也同意这位师兄的观点,但我的设计在特征提取和特征学习两个环节上比较灵活,可以采用多种方法。我会逐渐加入这些方法,比较哪些组合的效果最好。当然我也做好效果都差的准备,所以这段时间还得多查查资料,看看有没有在新闻网页识别方面比较成功的成果。
其他的老师、师兄弟们还建议我把训练集建好。嘿嘿。这个显然是个重要的工作。这两天的工作主要就是在建新闻网页和非新闻网页的训练集,真是个极度无聊的工作!不停的看网页,选择,归类。无奈啊!最让我郁闷的是这个非新闻网页真的不好找。新闻网页的主要特征有标题和内容,如果是一般的网页,通过这个特征就可以筛选了。但有些网页和新闻网页的形式类似,但
网上有很多介绍用博客赚钱的文章,我显然也被煽动了。到目前为止,我已经尝试申请了3种广告,1个成功了,1个失败了,还有1个处于待激活状态。
先看看成功的那个。目前在博客上投放广告运作比较成功的是博告网,我在朋友的推荐下去注册了一个。还真不错,注册过程很容易,门槛也很低,广告的价格也还算合理(一般每次点击在0.05到0.09间),每天都可查看收益,也可以随时更换广告。我现在投放得的就是博告网的广告,大家可以去我的博客首页看一下效果,如果有兴趣,可以去博告网首页注册一个试试。
下面说说失败的那个。就是google的广告,我前后申请了两次,都被鄙视了。第一次的理由是我的地址已经有人申请过了。天地良心,我是第一次申请啊。第二次换了一个地址重新申请。这次更绝,回复我说新浪的博客不支持google广告。靠!是不是把当成没见过世面的娃了。网上多的就是在新浪上的添加google广告的教程,我也看到很多现成的例子。于是我找了一个挂了google广告的新浪博客和一个教程给谷歌发了一封Email,两天
《新闻网页过滤及内容总结》项目的需求上周四总算定下来了,分配给我的任务是新闻网页内容识别,要求这周四上交详细设计。晕,我对文本分类几乎一窍不通。这几天一直在查资料、看文献,还请教了实验室里一个博士师兄和一个硕士师妹,现在心里总算有些底了。
我在查看文献的过程中,发现新闻网页内容识别与垃圾邮件处理似乎有些相似。因此我借用了处理垃圾邮件的方法设计了一个框架。首先,建立一个网页内容数据集做为训练数据集,通过分词和特征提取得到一个特征向量集。当输入一个待判定的网页内容时,同样通过分词和特征提取,得到该网页内容的特征向量a,利用k近邻算法找出特征向量集中与a最相似的一个特征向量b。最后将a的类别标记为b的类别,即可得到判定结果。
现在只是搭了一个框架,具体的实验还没做,效果也不清楚。初步感觉训练集的选择和规模、特征选择算法、文本分类算法三个因素会决定最终的分类准确度。下周准备先建一个小型的训练集,做一下实验看看效果,再逐步扩展、改进。
R.Agrawal在论文《Parallel Mining of Association Rules》中提出三种并行方案,包括Count Distribution、Data Distribution(简称DD)和Candidate Distribution,其中DD算法的效果最好。
DD算法通过在处理器间分割候选项目集来解决存储问题。每一个处理器都要计算数据库中所有事务的候选项目集在自己磁盘上的局部存储子集的数目。为了完成这个任务,每一个处理器也要像扫描自己的事务一样扫描其它处理器上的事务。在DD算法中,每一个处理器接收其它处理器事务的过程如下:每一个处理器分配P个缓冲区(每个缓冲区长度为一页并且一个缓冲区对应一个处理器)。对于处理器Pi,第i个缓冲区是用于存储自己局部数据库中的事务的,而剩余的缓冲区是用于存储其它处理器事务的。每一个处理器Pi都检查自己的P个缓冲区以判断缓冲区是否包含数据。
算法2.3 DD(Data Distribution)。
输入:事务数据库D;最小支持度阈值min-support;
输出:事务数据库D中的频繁项目集L。
对于k=1的项目集:每个处理机Pi根据本地的数据分片Di生成本地的
韩家玮等人提出的FP-Growth算法,将数据库中有关频繁项集的信息压缩到频繁项目树,即FP-tree中,保留了项目集的关联信息,然后将这种压缩后的数据库分成一组条件数据库,每个条件数据库关联一个频繁项目集,并通过挖掘每个数据库,递归地发现一些短模式,然后通过连接后缀构成频繁项目集。当数据库很大时,构造基于内存的FP-tree是不现实的,对FP-tree方法的性能研究表明:挖掘长或短的频繁模式都是有效的和可伸缩的,并且比Apriori算法大约快一个数量级。
算法2.2 FP-Growth。使用FP-树,通过模式段增长,挖掘频繁模式。
输入:事务数据库D;最小支持度阈值min-support。
输出:事务数据库D中的频繁项目集L。
(1)按以下步骤来构造FP-tree:
扫描事务数据库D一遍,计算频繁项目集F及其支持度。对频繁项目集F,按照其支持度计数递减进行排序,结果为频繁项目列表L。
创建FP-tree的根结点,以“null”标记。对D中每个事务Trans,进行如下操作:
选择Trans中的
Apriori算法:Apriori采用逐层迭代,找出频繁项目集
输入:事务数据库D;最小支持度阈值min-support;
输出:事务数据库D中的频繁项目集L。
1) BEGIN
2) L1= {frequent 1-itemsets} // 生成长度为1 的频繁项目;集
3) FOR
4)
5)