数据结构与算法
文章平均质量分 56
佟学强
联结主义学派和统计学派融合的研究者
展开
-
优先级队列的设计(2016年的博客)
前年写了一篇关于"史上对BM25模型最全面最深刻解读以及lucene排序深入解读"的博客,lucene最后排序用到的思想是"从海量数据中寻找topK"的时间空间最优算法。在特定的场合,比如solr自带的搜索智能提示公能,当构建完三叉树,前缀匹配查找出所有的节点之后,也要用这种思想进行排序。根据这个思想构造出一个优先级队列,具有容量限制(K),精确的时间复杂度为KlgK+(n-k)lgK,最坏的时...原创 2018-09-25 10:46:06 · 795 阅读 · 1 评论 -
kmeans算法的改进(2016年本人的博客)
https://www.cnblogs.com/txq157/p/6067098.html原创 2018-09-25 10:49:49 · 816 阅读 · 0 评论 -
史上对BM25模型最全面最深刻的解读以及lucene排序深入讲解(2017年博客)
https://www.cnblogs.com/txq157/p/6420372.html原创 2018-09-25 10:59:55 · 1262 阅读 · 0 评论 -
搜索算法之两个数组取交集的算法(2017年博客园)
在垂直搜索中,有很多方法可以控制返回结果的数量。比如用户输入"上海世博会",要求只显示跟上海世博会相关的内容。有三种方法可以参考:①BooleanQuery,AND逻辑②phraseQuery,精读最高,只出现"上海世博会"连续的短语的文档③solr的模糊匹配查询。如果采用第一种方案,在垂直搜索中(比如Lucene),如果用户的查询向量(经由queryParser处理,调用中文分词,并且形成查询语...原创 2018-10-23 19:12:29 · 2933 阅读 · 0 评论 -
平衡的三叉树
2016年3月份,写了一个平衡的三叉树算法包,还写了一个基于逆向最大匹配算法的中文分词算法包。现在,将平衡的三叉树算法包上传。首先看一下包结构: 1.chinese.utility.cfg代码:package chinese.utility.cfg;/** * 获得主词典、量词词典以及扩展词典和扩展停词词典的路径 * @author TongXueQiang * @date...原创 2018-10-23 19:24:24 · 1116 阅读 · 0 评论 -
中文分词的逆向最大匹配算法(2016年)
逆向最大匹配算法,中文分词机械化分词中最基本的算法,也是入门级别的算法。但是,在机械化分词方面的效果,表现却很好。尤其是在大文本的时候,一次取较多词语进行匹配,因为大文本匹配成词的概率远远高于小文本,所以会有很好的表现。下面的代码,来自IK分词的一部分源码包,2016年本人进行了逆向最大匹配算法的改造,闲着没事干,算是入门级别的分词。package org.wltea.analyzer.co...原创 2018-10-23 19:32:55 · 964 阅读 · 0 评论 -
DNN的BP算法Python简单实现(2017)
BP算法是神经网络的基础,也是最重要的部分。由于误差反向传播的过程中,可能会出现梯度消失或者爆炸,所以需要调整损失函数。在LSTM中,通过sigmoid来实现三个门来解决记忆问题,用tensorflow实现的过程中,需要进行梯度修剪操作,以防止梯度爆炸。RNN的BPTT算法同样存在着这样的问题,所以步数超过5步以后,记忆效果大大下降。LSTM的效果能够支持到30多步数,太长了也不行。如果要求更长的...原创 2018-10-23 19:42:43 · 1324 阅读 · 1 评论