首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏python3

    Python文本

    用法:命令行python unique.py -f file.txt 输出:去除重复字符后的output.txt

    3K10发布于 2020-01-06
  • 来自专栏Spark学习技巧

    面试|海量文本~simhash

    simhash算法是google发明的,专门用于海量文本的需求,所以在这里记录一下simhash工程化落地问题。 下面我说的都是工程化落地步骤,不仅仅是理论。 被抄袭的文章一般不改,或者少量改动就发表了,所以判并不是等于的关系,而是相似判断,这个判别的算法就是simhash。 结巴分词支持加载IDF词典并且提供了一个默认的词典,它包含了大量的词组以及基于海量文本统计出来的IDF词频,基本可以拿来即用,除非你想自己去挖掘这样一个字典。 判 假设有一个新的simhash希望判,它的simhash值是: a=0000000000000000,b=000000001111110,c=1111111100000001,d=111111111111110 一次判需要遍历4个redis集合,每个集合大概有 2^32 / 2^16个元素,也就是26万个simhash,比遍历100亿次要高效多了。 ?

    3.3K30发布于 2018-12-28
  • 来自专栏Spark学习技巧

    面试|海量文本~minhash

    比如网页去、推断帖子是否相似、推荐系统衡量物品或者用户的相似度等等。当数据量大的时候,计算的时间和空间复杂度就会是一个很重要的问题,比如在推断相似发帖的时候。我们能够用kmeans来进行聚类。 比如A={a,b,c,d},B={c,d,e,f},那么相似性系数就是2/6=0.33。 2. minhash 刚才我们知道在求相似度的时候我们用到了文档和单词。 找到排在最前面的1代表这个文档,比如S1排在最前面的1行号为2,那么就用2代表文档S1,同理,用1代表S2,那么能够计算S1和S2的相似性系数了,1交2除以1并2等于0。 同理,h2也一样,最后得到例如以下的矩阵 ? 这个时候就能够计算s1、s2的相似度了,J=0/3=0 3. 桶1——>doc1,doc2,doc3,doc4 桶2——>doc2,doc5,doc9,doc10 索引建立完毕了之后,下一步就是检索,一篇新的文档。也要经过全面的步骤,得到对应的桶。

    3.1K30发布于 2018-12-28
  • 来自专栏Laikee Tech Space

    layui 异步数据排序加载

    //console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序) //console.log( this); //当前排序的 th 对象 //type 0 积分降序 1积分升序 2邀请数降序 3邀请数升序 // if(obj.field { type=""; } } if(obj.field=="invitenum"){ //积分排序 if(obj.type=="desc"){ //降序 type=0 type=2; }else if(obj.type ,如果不设的话,将无法标记表头的排序状态。

    71720编辑于 2022-04-25
  • 来自专栏全栈程序员必看

    java数组排序_JAVA数组去重排序

    ; i++) { arr[i] = (int) (Math.random() * 100) + 1; //随机赋值 System.out.print(arr[i] + ” “); } /* *冒泡排序法 } System.out.println(); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + ” “); //排序后的数组 } /* * 数组去 */ for(int i=0;i0&&arr[i-1]==arr[i]) break; System.out.print(arr[i] + ” “); }//去后的数组 }

    1.6K30编辑于 2022-09-07
  • 来自专栏sunsky

    使用SimHash进行海量文本

    2. SimHash算法思想   假设我们有海量的文本数据,我们需要根据文本内容将它们进行去。 对于文本而言,目前有很多NLP相关的算法可以在很高精度上来解决,但是我们现在处理的是大数据维度上的文本,这就对算法的效率有着很高的要求。 SimHash算法是Google公司进行海量网页去的高效算法,它通过将原始的文本映射为64位的二进制数字串,然后通过比较二进制数字串的差异进而来表示原始文本内容的差异。 回到顶部 3. 2、hash,通过hash算法把每个词变成hash值,比如“美国”通过hash算法计算为 100101,“51区”通过hash算法计算为 101011。 当文本内容较长时,使用SimHash准确率很高,SimHash处理短文本内容准确率往往不能得到保证;   2.

    2.9K20发布于 2020-08-19
  • 来自专栏深度学习|机器学习|歌声合成|语音合成

    基于词向量的文本

    基于词向量的文本 import gensim import numpy as np import jieba from gensim.models.doc2vec import Doc2Vec, LabeledSentence ] # for line in stop_text: # stop_word.append(line.strip()) TaggededDocument = gensim.models.doc2vec.TaggedDocument train_docs.append(document) return train_docs def train(x_train, size=200, epoch_num=1): model_dm = Doc2Vec

    1.3K10发布于 2021-01-14
  • 来自专栏Spark学习技巧

    必读|spark的分区及排序

    当时浪尖也在星球里讲了一下,整个关于分区排序的内容。今天,在这里给大家分享一下。 昨天说了,mapPartitions 的使用技巧。 假如,后面再跟mapPartitions算子的话,其算子就是针对已经按照key排序的分区,这就有点像mr的意思了。 repartitionAndSortWithinPartitions 也可以用于二次排序。 下面举个简单的例子。 including) mdhdeMacBook-Pro-3:output mdh$ head -n 10 part-00002 (47,) (17,to) (8,a) (5,using) (5,of) (2, Python) (2,locally) (2,This) (2,Hive) (2,SparkPi) mdhdeMacBook-Pro-3:output mdh$

    1.5K20发布于 2019-05-09
  • 来自专栏Spark学习技巧

    必读|spark的分区及排序

    当时浪尖也在星球里讲了一下,整个关于分区排序的内容。今天,在这里给大家分享一下。 更多大数据小技巧及调优,spark的源码文章,原理文章及源码视频请加入知识星球。 假如,后面再跟mapPartitions算子的话,其算子就是针对已经按照key排序的分区,这就有点像mr的意思了。 repartitionAndSortWithinPartitions 也可以用于二次排序。 下面举个简单的例子。 including) mdhdeMacBook-Pro-3:output mdh$ head -n 10 part-00002 (47,) (17,to) (8,a) (5,using) (5,of) (2, Python) (2,locally) (2,This) (2,Hive) (2,SparkPi) mdhdeMacBook-Pro-3:output mdh$ 上面只是一个简单的使用,关于二次排序及高效结合

    1.9K20发布于 2018-08-20
  • 来自专栏c语言

    排序2

    我们在排序(1)中说到选择排序的代码: void SelectSort(int* a,int n) { int begin=0,end=n-1; int mini=begin,max=begin i=2,begin=1,end=6。 1随机数选key 2三数取中(把选中的数挪到最左边) int GetMid(int* a,int left,int right) { int mid=(left+right)/2; if(a 那么在这样一个数字较少的情况下,我们应该选择哪种排序呢?希尔排序的优势就是让大的数更快跳到后面,小的数更快跳到前面。 (a+left,right-left+1); } else { int mid=(left+right)/2; if(a[left]<a[mid]) {

    15410编辑于 2024-07-17
  • 来自专栏全栈程序员必看

    如何做文本分析_大数据文本行去

    回到顶部 2. SimHash算法思想   假设我们有海量的文本数据,我们需要根据文本内容将它们进行去。 对于文本而言,目前有很多NLP相关的算法可以在很高精度上来解决,但是我们现在处理的是大数据维度上的文本,这就对算法的效率有着很高的要求。 SimHash算法是Google公司进行海量网页去的高效算法,它通过将原始的文本映射为64位的二进制数字串,然后通过比较二进制数字串的差异进而来表示原始文本内容的差异。 回到顶部 3. 当文本内容较长时,使用SimHash准确率很高,SimHash处理短文本内容准确率往往不能得到保证;   2. 严澜的博客《海量数据相似度计算之simhash短文本查找》   2.

    76460编辑于 2022-11-15
  • 一款可以对文本对比去单去的好用软件介绍文本综合处理软件教程

    文本综合处理软件是一款专门用于重复类型处理文本的软件 (1)可以对比去,比如文本A和文本B,B中含有A的就去除 (2)可以对单个文本 (3)可以查找文本A和文本B相同的文本 (4)可以对文本A和文本 B合并去 (5)可以去除文本中含有重复文本,包括重复文本本身,即有重复全部删除,更多好用软件请关注微信公众号未来自主研究中心

    20900编辑于 2025-07-18
  • 来自专栏深度学习之tensorflow实战篇

    文本的技术方案讨论(一)

    对于文本去重来说,我个人处理上会从数据量、文本特征、文本长度(短文本、长文本)几个方向考虑。 常见的去重任务,如网页去,帖子去,评论去等等。 好的去重任务是不仅比对文本的相似性,还要比对语义上的相似性。 下面我们来介绍下文本的方案。 simhash是google用来处理海量文本的算法。 google出品,你懂的。 2、通过大量测试,simhash用于比较大文本,比如500字以上效果都还蛮好,距离小于3的基本都是相似,误判率也比较低。 hash1, hash2) # value = math.sqrt(len(s1)**2 + len(s2)**2) value = 5 print("海明距离:", distince

    1.7K30发布于 2019-01-28
  • 来自专栏python3基础算法

    排序2:插入排序

    插入排序原理:通过构建有序序列,对于未排序的数据,在已排序的序列中从后向前比较,找到位置插入。 算法思想:第一个元素默认已排序取出第二个元素,从后向前扫描序列如果已排序的元素大于新元素,将两者互换重复步骤3,直到找到已排序元素<= 新元素将新元素插入重复2-5步骤代码实现:from typing import Listdef insert_sort(arr :List[int]): """ 插入排序 arr:待排序list return:就地排序,in-place

    26610编辑于 2022-08-09
  • 来自专栏C++打怪之路

    排序2:希尔排序(缩小增量排序

    上一期,我们介绍了直接插入排序。 这一期,我们来介绍希尔排序的底层逻辑和代码实现。 ---- 目录 希尔排序的基本思想 单趟的实现 整个排序的实现 总结 ---- 希尔排序的基本思想 先选定一个整数gap,把待排序文件中所有记录分成gap个 组,所有距离为gap的记录分在同一组内 分组排序后的结果:  然后,逐渐缩小gap进行排序,数据就会越来越有序。 2、每一组从后往前遍历排序。         3、与后面一个间隔为gap的数比较。         整个排序的实现 核心思想:         1、gap递减,缩小排序组数,最终到gap = 1的时候,就是一次直接插入排序了。         2、齐头并进。

    55920编辑于 2023-03-31
  • 来自专栏云计算与大数据技术

    MapReduce读取文本,实现降序排序

    1、Maven导入hadoop-client包 org.apache.hadoop hadoop-client 2.7.3 2、core-site.xml文件配置 fs.defaultFS import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner; /** * TODO MapReduce读取文本 ,实现降序排序 * @author com * @Date 2019年9月28日 Configured */ public class Top5 extends Configured implements { return (int) (o2.getValue() - o1.getValue()); } }); for (Entry entry : list) { 小蓝 8 小红 7 小黑 5 小白 4 小绿 3 小黄 2 小明 1

    1.2K20发布于 2021-04-27
  • 来自专栏天马行空布鲁斯

    关于文本排序的那些事

    这里讨论的文本排序不是一个排序算法,而是作为某个排序算法的底层依赖,常常在多语言环境下需要考虑,比如说中文的排序,日文的排序。 本文讨论的文本排序就属于本地化范畴。 一个系统要做到全球化,需要仔细考虑文本排序,因为文本排序可能会影响到系统的架构。 数据库的服务器直接落地在客户(商家)所在国家地区,这样可以使默认的locale和客户一致; 2. 当然,在平台setup的时候,不可能覆盖所有国家。 编程语言的支持 对于文本排序,各个开发语言也都有很好的支持。 文本搜索:字典树,Trie,按照字典排序。具体可以阅读:看动画轻松理解「Trie树」。

    2.2K20发布于 2019-07-30
  • 来自专栏搞前端的李蚊子

    数组对象的去然后排序

    data: 10 },{ name: 'aaa', data: 20 },{ name: 'ccc', data: 2 data: 1 },{ name: 'fff', data: 4 }, ]; const sort = arr => { // 去 val.name] = val; newArr.push(val); }; }); // 最简单的使用sort去 let sortArr = newArr.sort((a, b) => { return a.data - b.data; }); // 冒泡排序

    1.3K130发布于 2018-03-14
  • 来自专栏AngelNI

    排序算法-2

    排序,又简单,又快速,适合处理大量数据 桶排序 #include<iostream> using namespace std; int n ; int a[1000]; // O(m+n) int i<=n;++i) { int t; cin>>t; a[t]++; } //桶排序 { cout<<i<<" "; } } cout<<endl; } return 0; } 归并排序 i+1; ll c2 = 2*i+2; ll max = i; if(c1<n&&tree[c1]>tree[max]) { max = c1; } if(c2<n&&tree[c2]> tree[max]) { max = c2; } if(max !

    30610发布于 2020-04-14
  • 来自专栏一英里广度一英寸深度的学习

    线性排序算法-堆排序 (2)

    朴素思想是采用快速排序,选最小的。那么,出队复杂度O(1),入队复杂度二分查找O(logn)。但每次插入,都需要移动O(n)的元素。 self.heap[j] = tmp def swapUp(self,index): while(index>0): parent = (index-1)//2 else: break def swapDown(self,index): lchild = index*2+ self.swap(index,rchild) index = rchild lchild = index*2+ self.swap(index,lchild) index = lchild lchild = index*2+

    75530发布于 2018-09-12
领券