文档的相似性可以使用Shingling算法进行比较
2016-01-11 18:29
253 查看
1、文档的相似性,可以将文档转化为集合,然后计算二个集合的交集,如果交集越大,则二个文档越相似,否则不相似。
可以使用Jaccard=|S交T|/|S并T|
![](http://img.blog.csdn.net/20160111165758762?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2、可以使用shingling算法,将文档变成一个集合。
k—shingle 就是将一个文档变成长度为k的字符串的集合,如果元素重复,则只保留一个。如果把集合看成包,就可以记载重复字符串出现的次数。
对于k的选择时非常重要的。
![](http://img.blog.csdn.net/20160111172940267?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3、k的选择很重要
![](http://img.blog.csdn.net/20160111173139897?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
4、将一片文档变成字符串的集合,将会造成数据量的增加,因此可以使用Hash函数,将字符串转化为一个整形的数值,减少存储的空间。
![](http://img.blog.csdn.net/20160111174636022?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
5、基于词的Shingle
这个思想主要就是 使用停用词+后续的几个词 构成Shingle集合中的一个元素。这样可以区分内容,而忽略其它的因素。
可以使用Jaccard=|S交T|/|S并T|
2、可以使用shingling算法,将文档变成一个集合。
k—shingle 就是将一个文档变成长度为k的字符串的集合,如果元素重复,则只保留一个。如果把集合看成包,就可以记载重复字符串出现的次数。
对于k的选择时非常重要的。
3、k的选择很重要
4、将一片文档变成字符串的集合,将会造成数据量的增加,因此可以使用Hash函数,将字符串转化为一个整形的数值,减少存储的空间。
5、基于词的Shingle
这个思想主要就是 使用停用词+后续的几个词 构成Shingle集合中的一个元素。这样可以区分内容,而忽略其它的因素。
相关文章推荐
- 【Leetcode】3. Longest Substring Without Repeating Characters
- 选择排序
- Oracle trunc()函数的用法总结
- CodeForces 611A New Year and Days
- linux学习笔记02
- uiautomator基本操作命令
- 从僵尸网络追踪到入侵检测 第5章 使用Honeyd创建防御路由模板
- 蓝桥杯 历届试题 最大子阵
- Atom与markdown
- 基本emmet使用
- 说一说常见的刷单方式-刷单一天能挣多少钱
- BBB sdcard Ubuntu系统下载地址
- idea 控制台乱码
- ASP.NET 5 简介
- JavaScript setInterval()執行clearInterval() 再恢復setInterval()
- Mina运行流程解析(一)
- sql分页全部有 分页后查不到
- CentOS 7启动时不启动桌面服务【systemd】
- iOS开发-自定义键盘
- Carrier-Grade Mirantis OpenStack (the Mirantis NFV Initiative), Part 1: Single Root I/O Virtualization (SR-IOV)