码迷,mamicode.com
首页 > 编程语言 > 详细

专访POWER 8编程挑战赛选手黄文超:非专科生的编程算法之路

时间:2014-11-19 18:30:21      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   使用   sp   strong   文件   数据   on   

9月23日,IBM和CSDN联合宣布“ 2014 POWER 8极限性能挑战赛 ”正式启动。此次大赛主要面向广大CSDN注册开发者,大赛以云计算的方式为开发者提供了POWER 8开发环境,开发者利用POWER 8的特性,基于不同场景进行应用开发。此次大赛,不仅使更多的开发者充分利用了POWER 8,也为开发者、技术达人提供一个展示自我的舞台。

bubuko.com,布布扣

正如大赛发布仪式上,IBM大中华区副总裁侯淼所言,之所以要支持这样一个大赛,目的就是希望吸引更多的开发者去开发一些新的算法,把整个POWER 8引擎的能力激活开来。

“U Can U Up”是这次挑战赛的口号,开发者可以通过登陆注册、申请资源、完成挑战,主办方最终根据各自的累积评分赢取礼品奖励。在比赛期间,主办方将定期公布挑战题目,采用月度赛制对参赛者进行排名评定。

bubuko.com,布布扣

第一期的挑战题目为“博客反垃圾”,具体任务为CSDN提供海量的博文数据,并按特定比率混入垃圾文章,参赛者需开发相应的系统将垃圾博文从中抽取出来。需要说明的是,大赛主要考察程序的是算法的正确率及处理速度,对开发语言、开发工具并不进行限定。

到目前为止,已经有数百名开发者报名并参加了此次大赛,为了让更多的开发者了解此次大赛的进展情况,日前,我们专访了其中一位参赛选手 逸云计算机科技有限公司 CEO/总裁黄文超 ,希望通过他的参赛经历,吸引更多的技术达人参与到大赛之中。

以下为采访内容:

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

黄文超:大学阶段: 我是 2009年于郑州大学电子科学与技术系毕业的,在校期间参加过数学建模竞赛(2007全国一等奖)、ACM/ICPC(2008合肥赛区铜奖)。

因为本身不是计算机专业,所以在大学里面除了算法、数据结构方面,对计算机语言仅限于初步的 C/C++ 和 MATLAB 使用。

工作阶段: 2009年毕业后进入银行工作,主要用 .NET系列技术进行一些内部系统的开发。 在银行进行一些编程以外的技术工作,包括网络管理、服务器维护等。

2012年开始自学转型使用PHP,同样完成一些银行内部系统的开发。 主要的项目包括独立完成的《绩效考核系统》、《自动化审批系统》等。

此后在工作期间接收一些企业网站开发之类的项目,基本上用 WordPress实现,熟悉通过深度定制 WordPress(模板、插件)进行网站建设。目前为止通过 WordPress 建设并维护的网站超过10个。

创业阶段: 2014年开始自己创业,技术转型 Python,主要使用Django框架进行开发,对前端、HTML5等技术有初步的理解和实践经验,并了解掌握基本的Linux服务器环境部署。

目前主要关注的技术领域为 Web开发相关主题,包括前端技术、以及Web开发全过程的相关内容。另外本人对算法设计有强烈的兴 趣,每年都会参加各大公司举办的算法比赛,并获得过不错的成绩(2009年进入百度之星决赛)(例如 Google Code Jam、百度之星、TopCoder Open 等等)

2. 区分垃圾ID数据和正常ID数据的核心关键是什么?可否借此展开描述一下所设计算法的基本思路?

黄文超: 现在判断垃圾数据主要有三种类型:

  1. 内容缺失或混乱:博客内容过度简短,没有实质性内容,或者是充斥无意义的文字堆砌;
  2. 具有大量有问题的输出外链:这个主要从目的上考虑,垃圾博客是通过这种手段进行外链的输出,以达到欺骗搜索引擎、违规推广等作弊效果的,因此从外链的数量、质量、相似性方面进行判别,可以识别此类垃圾博客;
  3. 主题无关:根据本次 CSDN的博客来看,正常博客和垃圾博客的主题是有较大差别的,主要通过词频 统计来进行识别。这一点是进行识别的主要算法,首先通过小批量的人工标注提取一部分的正常博客和垃圾博客,对所有的文章过滤、分词并计算关键词的“逆文本 频率指数(IDF)”,并通过标注的正常博客和垃圾博客提取特征向量,然后对于每篇博客,比较其关键词特征向量与这两个特征向量的余弦夹角,进而归到两类 当中的一类,这种算法对于内容部相关的博客具有相当好的识别度。

3. 这一算法设计思路,主要用到了什么计算模型?有没有独特的创新亮点?

黄文超: 主要用到的计算模型包括“中文分词技术”、“词频 -逆文本频率指数(TF-IDF)”和“余弦定理文本分类方法”。

主要参考 Google吴军博士的《数学之美》里面介绍的算法,并参考了一些Google Scholar上面找到的关于splog的论文里面对垃圾博客特征的一些描述。

4. 相对于其他方式的设计,之所以选择这一模型,主要出于什么考虑?(参加比赛的考虑、基于 IBM Power 8的考虑、设计时间的考虑、迭代更新的考虑等)是否还有继续优化的可能?

黄文超: 主要还是出于问题的本身的考虑,由于是参加比赛,而且样本是 CSDN的技术博客,因此好的博客会具有很强的主题相关性,所以用余弦定理聚类的方法可以达到很好的效果。同时,只要将特征向量预处理好,在POWER 8上面可以用多进程的方式达到更好的效率。

5. 基于这一思路的算法设计,能否充分发挥 IBM POWER 8的并发计算优势?信心来自于哪里?

黄文超: 由于主要耗时的算法环节是互相独立的(网页解析、分词、向量夹角计算),完全可以进行多进程计算,从而充分利用 IBM POWER 8的性能优势。

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

黄文超: 此前对 POWER 8架构并没有过多深入了解,但自这次比赛最初接触以来,它在计算性能方面还是有独到的优势,因此对于我的工作本身来说,希望POWER 8平台能在更多的云平台服务上提供服务,让我们这类Web开发者有更好的选择。

7. 对于多线程及并发编程技术的发展,你怎么看?你认为还有哪些可以改进的方面?

黄文超: 这当然是大势所趋,因为从主频上面感觉其实没有多大的空间可以挖掘了,为了提升计算的性能,唯有通过并行计算、分布式算法实现,而且近年兴起的大数据技术浪潮,也从另一方面支持了这一方向。在往后的计算机应用发展中,并行算法、分布式计算会变成主流中的主流。

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

黄文超: CSDN和 IBM的同事都很认真负责,耐心解答各种问题以及解决部署中产生的各种问题。

特别感谢 @欧阳,由于在我开始的算法中需要使用mongodb,而没有外网的状况下部署mongodb 出现不少问题,他还是花了很多下班时间帮我找了各种的包、文档,历尽艰辛终于把环境部署好,非常感谢。 也很感谢 @信仰,他为这个比赛的沟通、安排做了很多有意义的工作。

随着比赛的进行,原本一些不太完善的必要环节也逐步得到完善。非常感谢CSDN和IBM提供这个平台。

参赛指南

一、具体的参赛方式及流程如下:

  1. 按特定比率混合了垃圾博文和正常博文,参赛者需要编写算法将垃圾博客的ID分离出来;
  2. 参赛者可以使用任意开发语言完成挑战;
  3. 数据源存放位置:根目录下blog文件夹。

二、评选标准主要有四个方面:

  • 漏判率越低越好;
  • 错判率越低越好;
  • 正确率越高越好;
  • 程序运行时间。

三、参赛选手测试完成之后,需要提交:

  1. 垃圾博客的ID;
  2. 源代码;
  3. 程序运行时间截图。

大赛官网: http://reg.powerlinux.csdn.net/

立即报名: http://reg.powerlinux.csdn.net/cview/reg/?project_id=973&identy_id=1011

 

专访POWER 8编程挑战赛选手黄文超:非专科生的编程算法之路

标签:blog   http   ar   使用   sp   strong   文件   数据   on   

原文地址:http://www.cnblogs.com/dxm2025/p/4108795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!