论文部分内容阅读
基于GPU的并行计算是近年来非常热门的技术,在几大显卡制造厂商的不断推动下,GPU并行计算已经在非常多的领域占据一席之地,比如英伟达公司就推出了为自家显卡编程的语言:CUDA。CUDA是一种从C/C++延伸出来的英伟达GPU编程语言,完美支持C/C++的现有语法。 本文根据GPU并行加速系统的特点,尝试将两个本文处理相关的算法:单词关联度计算和近似重复文档检测算法应用进去。在单词关联度计算方面,目前较为权威并且适合大规模挖掘计算的方法就是基于单词共生关系的DISCO算法,经过详细的分析,本文对DISCO算法中从互信息矩阵计算得到关联度矩阵的过程设计了CUDA并行加速程序。在近似重复文档检测方面,综合考虑各种重复检测算法之后,本文对基于模糊哈希的近似重复检测进行了深入的研究,并且根据字符串编辑距离的计算方法设计了两种不同的CUDA加速策略。 实验方面,本文收集了维基百科英文全文作为单词关联度计算的语料库,抓取了国外的一个在线评测网站的用户提交的代码文件作为近似重复文档检测的数据源,经过大量的参数调整和对比实验,充分验证了本文提出的方法的有效性和高效性。