学习
文章平均质量分 52
着凉的石头
持续学习持续成长
展开
-
基于大规模非负矩阵分解的短文本语义概念扩展
技术的发展给人们生活带来便利的同时,也由于其信息量越来越大、时效性越来越强,给用户的信息获取和数据处理工作造成了很大的困难。因此,高效、准确的信息检索和过滤技术越来越受到人们的重视。信息获取方面存在的主要问题是目前的检索和过滤技术大多采用的是基于关键词的匹配方法,将用户输入的查询词对文档进行匹配。而由于互联网上的这些信息大部分都以短文本为主,具有内容特征极稀疏、强噪声等特点,这种方式下用户往往得不原创 2013-09-08 13:46:22 · 1405 阅读 · 0 评论 -
mongo-kafka: mongodb 数据到kafka的实时传输
mongodb 作为文档型的NoSQL数据库,性能较传统的关系型数据库有较大提升,而且可以利用其自带的capped collection 来实现消息队列的功能,但是sharding方式是不支持capped collection的,来新公司刚接触mongo, 公司这边的运行状态大概有两种,一种是master-slave的方式,另外一种是sharding+replication方式,由于相当的数据都存原创 2015-09-01 17:13:14 · 13307 阅读 · 3 评论 -
Kmeans的改进-kmeans++算法的聚类中心初始点选取和蓄水池采样算法
kmeans算法存在的一个问题是初始中心的选取是随机的,造成聚类的结果也是随机的,一般的做法是进行多次重复整个聚类过程,然后选取聚类效果好的。Kmeans++算法可以很好的解决初始点的选取问题,本文简单进行了总结和实现,并结合kmeans++算法提到了蓄水池算法在ClouderaML中的两个应用。原创 2014-02-15 18:17:10 · 8037 阅读 · 1 评论 -
新闻去重算法的设计和实现
之前有介绍过大规模去重算法的设计,可惜没有办法付诸实现,主要是因为没有相应的应用场景,还是停留在纸上谈兵的阶段!这里简单的介绍下新闻去重算法的实现,客户端在基于yahoo shingle算法的基础上进行了封装,便于采用服务的方式来进行调用,这样比较容易进行复用和提高扩展性,利用thrift来进行跨语言的通信,客户端采用Java实现,原有的设计是服务端既提供计算的接口,即根据文本计算它的shingl原创 2014-02-25 22:09:21 · 2974 阅读 · 0 评论 -
chrome插件-新闻推荐评测插件开发
在实现新闻推荐的过程中,需要对推荐算法进行评测来衡量推荐的效果。前期一般通过人工去评测,但是因为是根据网页来推荐的,为了满足随机性和提高效率,开发了基于chrome的插件来对网页的推荐效果进行评测,前期主要是为了解决一些比较明显的问题,比如标题长度,乱码符号等,后期可以切一部分流量进行a/b test来看效果。原创 2014-02-23 18:02:14 · 1274 阅读 · 0 评论 -
基于情感词库和PMI互信息的情感分类
情感分类在数据挖掘领域应该是一个比较细分而且难做的部分,之前在研究生阶段了解了一点,印象中有研究把twitter的情感可以分为21类,情感分析在观点预测、市场营销都有一定的用处,刚好项目中有需要区分用户情感的部分,就花了点时间实现了一个比较简单的demo,效果不是很好,大概65%左右的准确率,需要进一步细化。原创 2014-02-23 22:23:49 · 9349 阅读 · 3 评论 -
高负载下Nginx,Node.JS和网络的优化
Nginx和Node.JS通常一起使用,在高吞吐量的Web应用程序中是一对完美的组合。它们都基于事件驱动原则设计,并且能够越过困扰传统Web服务器如Apache的C10K限制扩展到更高的水平。即插即用的配置可以使你的应用工作的足够好,但是当你需要在商业硬件上支撑每秒上千的请求时,你必需作一些针对性的优化最大程度的提高服务器的性能。 这篇文章假设你使用Nginx的HttpProxyModule模块将负载均衡一个或更多的upstream Node.JS服务器,主要涉及Ubuntu 10.04下调整sy翻译 2014-02-09 14:01:15 · 2415 阅读 · 0 评论 -
openmp 中部分函数简介
考虑对plsa进行并行化,并行化主要包括机器之间的并行和单机多线程的并行,考虑采用omp来实现单机多线程的并行,这样既可以快速验证下算法的效率提升又可以避免把很多时间花在多线程控制上,结合算法特点,需要用到以下函数,在这里简单整理下,原创 2013-10-10 12:52:14 · 1143 阅读 · 0 评论 -
基于Density Based Selection 的文本摘要算法
摘要算法目前的实现基本上是从正文选择有代表性的句子或段落形成文章的摘要。一般是先抽取关键词,然后计算关键词的权重,根据关键词在文章中的出现位置来计算最短摘要,详情可以看下编程之美的最短摘要算法,这里介绍下基于密度的摘要算法,首先是将文章按照句子分隔,对每一个句子计算权重,然后根据句子的权重来选择哪个句子作为摘要,影响句子的权重的主要特征有句子和标题的一致性,句子在文章和段落的位置,句子的长短,句子和文章关键词的一致性等。以下算法是计算句子和文章关键词的一致性算法,代码比较简单但是没有经过验证,只是简单的描述原创 2013-10-14 00:26:23 · 3045 阅读 · 1 评论 -
淘宝京东类电商评论标签化的思路
最近发现京东的评论也开始标签化了,虽然相对于淘宝的标签显得比较生硬,但是也可以看出标签化是评论的一个趋势,我个人比较喜欢看评论说话,作为一个IT工作者,曾经思考了下评论的标签化工作可能涉及的技术,正好微博有人问起,现在简单的整理如下。 评论标签化的作用 评论的标签化的作用首先体现在用户体验好了,相对于看评论,标签可读性更好,更加明了,用户一眼便能看出好坏,当然电商是不会把坏的结原创 2013-10-12 00:28:40 · 5628 阅读 · 1 评论 -
LDA中Gibbs采样算法和并行化
最近在用topic model跑一些数据,算法采用了LDA和PLSA进行对比,由于数据量稍大,采用了LDA的并行化版本,对其并行化方法很感兴趣,查看了相关资料后先总结如下,有时间可以继续琢磨。Gibbs Sampling用来逼近LDA中的隐式变量,是一种较为简单的实现方式。 Gibbs 方法 传统的实现方法是串行的,主要流程如下: 步骤4中,每一个word都需要对原创 2013-09-25 19:42:45 · 5786 阅读 · 0 评论 -
LDA并行化实验(待完善)
实验数据 语料大概有1800篇文档,2W+的词,机器为16核,48G内存,因为机器上有其它程序运行,实际可用内存不足6G。 实验方案 主要包含LDA的三种实现:第一种是LDA的单机版本,第二种是LDA的mpi版本,第三种是LDA的mpi和openmpi混合版本,不过实验条件所限,没有搭建基于MPI的集群,这里只是初步看下效果。迭代次数为1500,主题数目为50,假设n原创 2013-09-22 21:31:56 · 2626 阅读 · 0 评论 -
关于推荐系统
推荐系统实践和系统接触了一些,偶然读到百分点推荐系统设计一文,有些感想总结如下:1.推荐的行业差异性1)行业共有的:实时性,高可用性等主要体现在架构上2)差异性主要体现在推荐的内容上:有的购买重复性高,具有周期性,有的产品就不能重复购买,例如相同款式的包包等,这里需要对行业进行细分,这个差异主要区别在特征上,时间特性,内容特性等。例如在不同的时间如节假日相关的物品,话题。原创 2013-10-08 10:57:29 · 1257 阅读 · 0 评论 -
Java 实现ES批量索引
项目中有部分数据通过Hadoop离线分析之后,需要将这部分数据的检索功能暴露出去,于是考虑搭建一套简单的索引服务。Lucene比较灵活, 可以自定义比较多的规则,比如分词,排序等,除了索引之外,服务化方面需要写一些代码,本着少开发,易维护的原则,采用了ES来搭建索引服务。ES的REST类型的接口还是比较容易上手的,把数据刷到ES之后,第三方可以直接调用ES的接口来进行检索,目前百万级别的时候性能还原创 2016-05-11 17:10:27 · 6132 阅读 · 0 评论