订阅业界RSS CSDN首页> 业界

专访POWER 8编程挑战赛选手周一峰:POWER8完美结合盘古分词法

发表于2015-06-01 17:09| 次阅读| 来源未知| 0 条评论| 作者李洪亮

摘要:到目前为止,已经有数百名开发者报名并参加了此次大赛,为了让更多的开发者了解此次大赛的进展情况,日前,我们专访了其中一位参赛选手周一峰,希望通过他的参赛经历,吸引更多的技术达人参与到大赛之中。

由CSDN和IBM联合举办的“IBM Power 8极限性能挑战赛 ”自正式启动以来,受到了许多编程爱好者及程序员们的关注。 该大赛以云计算的方式为开发者提供了Power 8开发环境,开发者将利用Power 8的特性,基于不同场景进行应用开发。

此次大赛主要面向广大CSDN注册开发者,大赛以云计算的方式为开发者提供了Power 8开发环境,开发者利用Power 8的特性,基于不同场景进行应用开发。此次大赛,不仅使更多的开发者充分利用了Power 8,也为开发者、技术达人提供一个展示自我的舞台。

Power 8极限性能挑战赛已成功举办四期。(第一期“博客反垃圾”、第二期“敏感词大文本过滤”、第三期“文章TOP 100”、第四期”计算质数”)。现在,我们又迎来了极限算法挑战赛第五期本期挑战赛的题目是“文本分类”,具体任务由CSDN提供两批已经分类好的文本,其中一批用户编写算法实现分类模型,另一批数据用于验证用户算法模型效果。需要说明的是,大赛主要考察程序的是算法的正确率及处理速度,对开发语言、开发工具并不进行限定。

到目前为止,已经有数百名开发者报名并参加了此次大赛,为了让更多的开发者了解此次大赛的进展情况,日前,我们专访了其中一位参赛选手周一峰,希望通过他的参赛经历,吸引更多的技术达人参与到大赛之中。

1.可否介绍一下你的技术开发经历?目前,主要关注哪些技术领域? 

周一峰:主要从事.NET WEB后端和hadoop大数据开发,因为工作要求,其他技术,如Android、unity3d、以及前端等,也涉及到过。目前主要关注搜索引擎算法、大数据、机器学习等领域。

2.关于您算法设计的思路,主要用到了什么计算模型?请简单描述一下所设计算法的基本思路? 

周一峰:我的设计思路很简单,先对文本分词,然后提取每一种分类文本的关键词作为分类特征词,以此为依据进行文本分类。

3.在设计算法过程中遇到了哪些困难?如何解决的? 

周一峰:首先遇到的困难有如何分词,对于中文的分词比较复杂,这里我最终没有使用分词准确率很高的基于词典的分词算法,参照lucene中做法,就用了二元分词的方法。还有就是重复关键词去除的时候,由于关键词数量很多,必须考虑效率问题,这里我用了哈希表进行处理。

4.相对于其他方式您之所以选择这一模型,主要是源于哪方面的优势?是否还有继续优化的可能? 

周一峰:优势是我的思路很容易理解,只要有编程基础的人都能够做到。如果一开始使用了如盘古分词这种准确率很高基于词典的分词算法,文本分类的准确率肯定能有所提高。

5.基于这一思路的算法设计,能否充分发挥IBM Power8的多线程计算优势?您是否尝试过比较多线程与单 线程的性能差距?

周一峰:我用的是java语言,可能是我算法设计的缺陷,并没有发挥出power8平台多线程的优势。通过多次参加power8平台的算法挑战赛,发现如果多线程使用合适,运行速度能够提高到是单线程近两倍的速度,但更多的情况下是没有明显的变化,甚至,有时线程数超过一定的数量,速度明显下降,在我本机测试并没有明显下降的情况,可能是power8对于java的支持还有所缺陷。还有一点是,power8上IO读写的速度比我本机慢了好几倍,这可能是因为我们申请的是虚拟机的缘故,与其他使用C语言的参赛者交流过,他们似乎没有这种IO读写变慢的现象,所以也可能是power8对于java的支持不够好造成的。因为这次比赛要使用IO读写不少的文件,所以这也可能是导致我的算法没法使用多线程提高效率的原因。

6.对于IBM Power 8,你最关注的技术要点是什么?原因是什么?能否谈谈对未来这一领域技术趋势的看法? 

周一峰:我最关注的就是CPU高速运算的能力,以及多线程、高并发。如今的互联网飞速发展,需要处理的数据量越来越大,网站的访问量也越来越高,要能够承载如此巨大的数据量和访问量,高速计算的能力、多线程高并发的CPU是良好的基础。

7、Power8算法大赛需要有效的算法以及优秀的平台结合,才能获得更短的运行时间。在算法与POWER平台结合方面您有什么心得可分享? 

周一峰:就java而言,使用IBM提供的jre可以发挥出power8的运算速度,多线程合理的使用,一定程度上可以提高运算速度,还有适当的增大内存缓冲区,要劲量减少IO读写的次数。

8、您认为Power8平台相比个人平台有哪些优势? 

周一峰:Power8的主频速度以及核心数、线程数是一般个人平台所达不到的。

9、参加这次算法挑战赛的感受如何?对这一活动有什么好的建议?

周一峰:参加power8平台的算法挑战赛,是锻炼自己算法设计能力的一次机会,也增加了对power8平台的了解。以下是我对于这一活动的几个建议:能否有一项针对不同参赛语言的评估,因为我发现power8对于不同的语言的支持度不一样;能否在正式开赛前提前公布以后几期大赛的题目,因为我们参赛者很难保证哪段时间空闲比较多;也希望以后能提供更多的这种大赛的机会。

0
0