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

居然见报了,自己宣传一下:

http://www.csdn.net/article/2014-11-19/2822715-POWER-8?reload=1

goole 快照:http://webcache.googleusercontent.com/search?q=cache:TXNqfT9x-ukJ:www.csdn.net/+&cd=1&hl=zh-CN&ct=clnk&gl=ca


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

9月23日,IBM和CSDN联合宣布“ 2014 POWER 8极限性能挑战赛”正式启动。此次大赛主要面向广大CSDN注册开发者,大赛以云计算的方式为开发者提供了POWER 8开发环境,开发者利用POWER 8的特性,基于不同场景进行应用开发。此次大赛,不仅使更多的开发者充分利用了POWER 8,也为开发者、技术达人提供一个展示自我的舞台。 正如大赛发布仪式上,IBM大中华区副总裁侯淼所言,之所以要支持这样一个大赛,目的就是希望吸引更多的开发者去开发一些新的算法,把整个POWER 8引擎的能力激活开来。 “U Can U Up”是这次挑战赛的口号,开发者可以通过登陆注册、申请资源、完成挑战,主办方最终根据各自的累积评分赢取礼品奖励。在比赛期间,主办方将定期公布挑战题目,采用月度赛制对参赛者进行排名评定。 第一期的挑战题目为“博客反垃圾”,具体任务为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

【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2014/11/power8-log.html【专访POWER 8编程挑战赛选手黄文超:非专科生的编程算法之路】

发表评论

电子邮件地址不会被公开。 必填项已用*标注