算法研究(数据挖掘、机器学习、自然语言、深度学习、搜索引擎)
文章平均质量分 73
beck_zhou
互联网搜索引擎技术研发(自然语言处理、机器学习、数据挖掘、个性化推荐、大数据等算法方向);
移动互联网产品经理
展开
-
【转】搜索引擎/网络蜘蛛程序源代码
国外开发的相关程序1、Nutch官方网站 http://www.nutch.org/中文站点 http://www.nutchchina.com/最新版本:Nutch 0.7.2 ReleasedNutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具,可以建立自己内部网的搜索引擎,也可以针对整个网络建立搜索引擎。自由(Free)而免费(Free)。2、Lucene官方网站 http://lucene.apache.org中文站点 http://www.lucene.转载 2011-05-16 21:11:00 · 7282 阅读 · 0 评论 -
windows下xapian的编译以及编程环境的配置 转
<br />本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lqiujh/archive/2010/07/28/5772579.aspx<br /> <br />Xapian在windows下的编译过程比较繁琐,编译以后把得到的lib文件添加到工程里,就可以利用xapian提供的API进行编程了。接下来讲述的是实验环境以及具体的编译及搭建环境的过程。<br /> <br /><br />实验环境:<br />系统: windows XP sp2<br />编程IDE: Vis转载 2011-05-16 21:32:00 · 4289 阅读 · 0 评论 -
开源搜索引擎研究
<br />本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shupili141005/archive/2009/11/21/4842174.aspx<br /> <br /> <br />搜索引擎并不是对互联网进行直接搜索,而是对已抓取网页索引库的搜索,索引在其中扮演了最为重要的角色,索引算法 的效率直接影响搜索引擎的效率,是评测搜索引擎是否高效的关键因素。网页爬行器、索引器、查询器 共同构成了搜索引擎的重要组成单元 。 <br /> <br /><br /> 目前转载 2011-05-16 21:09:00 · 3820 阅读 · 0 评论 -
【转】使用nmake在win32平台下编译xapian
进行http://lemurconsulting.com/Products/Xapian/Overview.shtml,发现最新只支持Xapian version 1.0.11,而http://www.xapian.org/download只提供1.012版本下载,咋办?查看了一下Xapian的下载链接是这样的http://oligarchy.co.uk/xapian/1.0.12/xapian-core-1.0.12.tar.gz,一个好的程序员当然有好的习惯。因此如无意外1.0.11版本的下载链接应该是转载 2011-05-16 21:26:00 · 1974 阅读 · 0 评论 -
【转】几种C/C++开发的开源搜索引擎
(1)CLuceneCLucene是Lucene的一个C++端口,Lucene是一个基于java的高性能的全文搜索引擎。CLucene因为使用C++编写,所以理论上要比lucene快。项目主页: http://clucene.wiki.sourceforge.net/(2)XapianXapian是一个用C++编写的全文检索程序,他的作用类似于Java的lucene。尽管在Java世界lucene已经是标准的全文检索程序,但是C/C++世界并没有相应的工具,而Xapian则填补了这个缺憾。 Xapian的a转载 2011-05-16 21:08:00 · 6935 阅读 · 1 评论 -
海量数据处理分析
海量数据处理分析 北京迈思奇科技有限公司 戴子良 笔者在实际工作中,有幸接触到海量的数据处理问题,对其进行处理是一项艰巨而复杂的任务。原因有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能转载 2011-06-20 11:03:00 · 1189 阅读 · 0 评论 -
非递归遍历二叉树
1.先序遍历从递归说起1.void preOrder(TNode* root)2.{3. if (root != NULL)4. {5. Visit(root);6. preOrder(root->left);7. preOrder(root->right);8. }9.}递归算法非常的简单。先访问跟节点,然后访问左节点,再访问右转载 2011-06-22 22:19:00 · 1132 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章:十一、从头到尾彻底解析Hash表算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。 再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP转载 2011-06-20 10:59:00 · 2008 阅读 · 0 评论 -
海量数据处理专题(转)【算法、数据结构】
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 本贴从解决这类原创 2011-06-20 10:42:00 · 1284 阅读 · 0 评论 -
海量数据面试题整理
1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对转载 2011-07-12 15:46:49 · 1304 阅读 · 0 评论 -
二叉树的深度优先遍历、广度优先遍历和非递归遍历
二叉树的遍历:D:访问根结点,L:遍历根结点的左子树,R:遍历根结点的右子树。给定一棵二叉树的前序遍历序列和中序遍历序列可以惟一确定一棵二叉树。二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。深度优先遍历二叉树。1. 中序遍历(LDR)的转载 2011-07-14 15:39:23 · 1962 阅读 · 0 评论 -
数据挖掘聚类算法
参考论文:数据挖掘中的聚类算法研究 焦守荣 一般把学习算法分成有监督和无监督学习两种方式。主要区别是有没有类信息作为指导。聚类分析是典型的无监督学习算法,一般用于自动分类。 聚类分析是按照某个特定标准(通常是某种距离)把一个数据集分割成不同转载 2011-07-28 09:32:42 · 20257 阅读 · 1 评论 -
数据挖掘分类算法比较
数据仓库,数据库或者其它信息库中隐藏着许多可以为商业、科研等活动的决策提供所需要的知识。分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势的模型。分类方法( Classification )用于预测数据对象的离散类别( Categorical L转载 2011-07-28 09:13:00 · 2264 阅读 · 0 评论 -
海量数据处理系列——C语言下实现bitmap算法
bitmap是一个十分有用的结构。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。适用范围:可进行数据的快速查找,判重,删除,一般来说数据范围是int的10倍以下转载 2011-09-16 12:54:18 · 6113 阅读 · 0 评论 -
海量数据处理系列——BloomFilter
引自http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.htmlBloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要转载 2011-09-16 13:04:39 · 1271 阅读 · 0 评论 -
gcc的使用简介与命令行参数说明
参考:《GNU gcc嵌入式系统开发 作者:董文军》(一) gcc的基本用法(二) 警告提示功能选项(三) 库操作选项(四) 调试选项(五) 交叉编译选项 (一) gcc的基本用法 使用gcc编译器时,必须给出一系列必要的调用参数和文件名转载 2011-09-19 10:17:31 · 1594 阅读 · 1 评论 -
GDB调试简单例子
转自:http://dsec.pku.edu.cn/~yuhj/wiki/gdb.html GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是转载 2011-09-19 21:40:40 · 1424 阅读 · 0 评论 -
人脸识别算法初次了解
转自:http://blog.csdn.net/v_july_v/article/details/6642000第一部分、人脸识别算法综述 人脸识别,特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术。概述 广义的人脸识别实际包括构建人脸识别转载 2011-09-29 11:00:16 · 3221 阅读 · 0 评论 -
单链表的快速排序
单链表的快速排序和数组的快速排序在基本细想上是一致的,以从小到大来排序单链表为例,都是选择一个支点,然后把小于支点的元素放到左边,把大于支点的元素放到右边。 但是,由于单链表不能像数组那样随机存储,和数组的快排序相比较,还是有一些需要注意的细节:1. 支点的选取转载 2011-09-26 22:19:00 · 921 阅读 · 0 评论 -
Openssl的安装
openssl简介openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编转载 2011-10-13 09:32:15 · 26204 阅读 · 1 评论 -
The Google File System中文版(转载)
摘要我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为 大量客户机提供了高性能的服务。虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,转载 2011-10-14 12:57:57 · 1290 阅读 · 0 评论 -
Google MapReduce中文版(转载)
摘要MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于 key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中转载 2011-10-14 12:59:04 · 1300 阅读 · 0 评论 -
Xenu Link Sleuth死链接检测工具(SEO工具)
Xenu是一款深受业界好评,并被广泛使用的死链接检测工具。可检测出指定网站的所有死链接包括图片链接等,并用红色显示。Xenu‘s Link Sleuth 也许是你所见过的最小但功能最强大的检查网站死链接的软件了。你可以打开一个本地网页文件来检查它的链接,也可以输入任何网址来检查。原创 2011-10-08 11:30:58 · 1999 阅读 · 0 评论 -
数据挖掘技术的来源、历史、研究内容及常用技术
数据挖掘技术的来源、历史、研究内容及常用技术1 数据挖掘技术的由来1.1网络之后的下一个技术热点 我们现在已经生活在一个网络化的时代,通信、计算机和网络技术正改变着整个人类和社会。如果用芯片集成度来衡量微电子技术,用CPU处理速度来衡量计算机技术,用信道传输速率来衡转载 2011-10-18 11:26:09 · 21520 阅读 · 0 评论 -
Google的十个核心技术
本篇将主要介绍Google的十个核心技术,而且可以分为四大类:1.分布式基础设施:GFS,Chubby和Protocol Buffer。2.分布式大规模数据处理:MapReduce和Sawzall。3.分布式数据库技术:BigTable和数据库Sharding。4.数据中心优化技术:数据中心高温化,12V电池和服务器整合。分布式基础设施GFS由于搜索引擎需要处理转载 2011-10-20 20:19:52 · 2131 阅读 · 0 评论 -
谷歌首次公布其搜索算法调整技术详情
腾讯科技讯(中涛)北京时间11月15日消息,据国外媒体报道,谷歌首席搜索工程师马特·卡茨(Matt Cutts)周一在该公司官方博客中宣布,谷歌最近已对其搜索算法进行了10项技术调整,并在Inside Search博客网站上公布了有关这些调整的技术详情。这也是自谷歌创建以来,该公司首次对外公布其搜索算法的部分技术详情。多年以来,谷歌从未公开披露过其搜索算法的技术详情。从去年开始,一些竞争对原创 2011-11-15 09:39:07 · 1103 阅读 · 0 评论 -
从狄仁杰的测字占卜到一淘网的Query分析
狄仁杰与何五奇、何夫人于何园宴饮,狄仁杰拆字。何五奇写了一个【盐】字(繁体,鹽),狄仁杰看罢拆道,“盐者,臣在上,皿在下,旁边有卤。臣者为阳,男人也,皿者盛器物之器也,在易数中代表阴,也就是女人,皿之所以代表女人,是因为女人六甲怀胎,就像是盛着东西的器皿,而臣旁边的卤者,乃是咸苦之意也,这个字拆读后乃是男人在上,女人在下,咸苦之味在于男人之旁,这就是说最近有一个女人依附于你,但你们的关系会生出闲事转载 2011-11-16 12:47:50 · 5895 阅读 · 0 评论 -
从狄仁杰的测字占卜到一淘网的Query分析之大结局
《从狄仁杰的测字占卜到一淘网的Query分析》一文在淘宝搜索技术博客发表已经快一个月了,很多看客看了后给我反馈。当然大部分看客看完后会给一个看似褒奖实则中性的评论:屁股上挂暖壶—-有一定(腚)的水平。部分看客看完很不爽,说刚看到“美女说不够深入,不能满足欲望”之处便戛然而止,怎么没有帅哥英雄救美,满足所有想法的预期场景出现。我以前的一个同事更是直接抨击:《狄仁杰》一文就是一篇典型的太监文—–下面最转载 2011-11-16 12:48:27 · 3712 阅读 · 0 评论 -
召回率与准确率
召回率和准确率是数据挖掘中预测、互联网中的搜索引擎等经常涉及的两个概念和指标。召回率:Recall,又称“查全率”——还是查全率好记,也更能体现其实质意义。准确率:Precision,又称“精度”、“正确率”。以检索为例,可以把搜索情况用下图表示:相关不相关检索到AB未检索到转载 2011-10-26 23:45:42 · 3333 阅读 · 0 评论 -
如何预测用户query意图
有一个朋友问,一个用户搜索一个query是“百度”,怎么知道用户真正是想找什么呢。我回答说,分析之前搜索这个query的用户点了些什么结果啊。朋友继续问,如果没有用户点击呢。呃,如果没有点击,这个问题就比较复杂了。整理了下思路,于是写成了本文。主要描述了关于如何预测用户query意图。希望会有所帮助。首先我们的明确一个标准,如何判断我们对用户意图的猜测是正确的?用户的思维是很发转载 2011-11-16 12:46:09 · 1479 阅读 · 0 评论 -
GB2312、GBK、Big5汉字编码
由于常常要和汉字处理打交道,因此,我常常受到汉字编码问题的困扰。在不断的打击与坚持中,也积累了一点汉字编码方面的经验,想和大家一起分享。一、汉字编码的种类 汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。 1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的转载 2011-10-27 21:24:20 · 2842 阅读 · 0 评论 -
常用字符集编码详解:ASCII 、GB2312、GBK、GB18030、UTF-8、unicode
ASCII ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用B原创 2011-10-28 13:06:05 · 19252 阅读 · 2 评论 -
字符集和编码方式
一 预备知识1,字符:字符是抽象的最小文本单位。它没有固定的形状(可能是一个字形),而且没有值。“A”是一个字符,“€”(德国、法国和许多其他欧洲国家通用货币的标志)也是一个字符。“中”“国”这是两个汉字字符。字符仅仅代表一个符号,没有任何实际值的意义。2,字符集:字符集是字符的集合。例如,汉字字符是中国人最先发明的字符,在中文、日文、韩文和越南文的书写中使用。这也说明了字符和字符集之间的原创 2011-10-28 13:39:36 · 1669 阅读 · 0 评论 -
移动广告价值与盈利模式
有一种说法是移动互联网市场至少是传统互联网的十倍?这还有待于验证。但每个人都非常强烈地感觉到移动互联网数倍的发展速度。如果将2010年视作中国移动互联网的元年,那么只有1岁多的它已经进入市场激烈竞争阶段。在每个可能的发展方向你都能看到多个对手,新的团队还在源源不断的进入。在商业价值看好的用户入口、平台增值服务更是如此。以移动广告为例,据不完全统计,仅在中国,就有超过40家的第三方移动广告厂原创 2011-11-17 09:39:00 · 2307 阅读 · 0 评论 -
Eclipse + MinGW下编译调试c++程序
作为编程人员,程序的调试是一项基本功。在不使用IDE的时候,程序的调试多数是通过日志或者输入语句(System.out.println)的方式。可以把程序运行的轨迹或者程序运行过程中的状态显示给用户,用户据此对程序进行分析调试。实际上这样的调试并不是非常方便。在多数IDE中都提供了debug功能,可以让用户单步执行程序,在执行的过程中来查看程序中的各变量的状态。并且在程序运行过程中还可以调整状原创 2011-11-18 20:41:01 · 3462 阅读 · 0 评论 -
统计自然语言处理 之 数学基础
统计自然语言处理--数学基础 李亚超 2010-10-281简介 这一部分介绍统计自然语言处理的数学基础,主要内容包括概率论和数理统计。要把所有要点详细的介绍完,很难。在这里,我只是把以后在自然语言处理中会用得到比较重要的数学知识做个介绍。单纯的数学公式是很枯燥的,比如在上中学时学的余弦定理,那时候就是一个单纯的数学公式,转载 2011-11-01 09:47:41 · 2026 阅读 · 0 评论 -
统计自然语言处理简介
统计自然语言处理简介 李亚超 2010-10-28简介 语言学家的任务是描述和解释存在我们周围的众多语言现象,比转载 2011-11-01 09:48:42 · 2274 阅读 · 0 评论 -
谷歌搜索算法设计者将推新搜索引擎
北京时间11月20日上午消息,谷歌搜索引擎算法的设计者之一、意大利帕多瓦大学副教授马西莫·马奇奥尼(Massimo Marchiori)本周表示,将推出一个新的搜索引擎Volunia.com。他已经在该网站上发布了一段推广视频。在这段视频中,马奇奥尼表示:“这并不是在谷歌的基础上改进10%,而是从不同的角度去看待搜索引擎。这是一个全新的视角,展示未来的搜索引擎应该是什么样。”用户已可以在Vol转载 2011-11-21 09:16:57 · 1024 阅读 · 0 评论 -
Linux中.a,.la,.o,.so文件的意义和编程实现
Linux下文件的类型是不依赖于其后缀名的,但一般来讲: .o,是目标文件,相当于windows中的.obj文件 .so 为共享库,是shared object,用于动态连接的,和dll差不多 .a为静态库,是好多个.o合在一起,用于静态连接 .la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看.la文件的格式 $file .转载 2011-10-31 09:55:11 · 1254 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉 Linux 平台的多线程编程。转载 2011-11-02 18:23:13 · 1121 阅读 · 0 评论