java实现关于文章相似度问题 10C

CMS项目数据量大多超10w,有的数据量达到100w以上!这种大数据量的情况下如何实现计算每篇文章跟剩余文章的相似度?求大神指教下!之前的做法是先把所有数据从数据库查出来,放在List里边,然后遍历循环跟剩余的对比,尴尬的是数据量一大直接卡死

0

4个回答

你这应该使用算法或文本分析工具,比如使用Ansj分词工具等等,这样效率会很高,上传的文档可以离线比对后保存相似结果,查询时直接查询结果这不就快了

0

有文本相似度计算的方法。使用数据挖掘的相关概念实现文本相似度计算

0

计算文本相似度的,我记得有一个迪杰斯特算法。

0

有一些思路!分词工具用的是Analyzer,可以把所有的信息标识对应的分词通过分割符组成一个字符串,用余弦定理计算相似度时先用正则匹配找出匹配上的所有信息,再在找出的这些信息中循环计算其相似度,以达到减少计算量的效果

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
余弦相似性获取文章相似度的java实现
转自:http://www.chepoo.com/cosine-similarity-java-implementation.html 文章相似度的实现可以用余弦相似性实现。余弦定理可参考: 余弦定理 字符串之间的相似度实现:字符串相似度算法(编辑距离)java实现 我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不同的方向。两条线段之间形成
相似度的算法(编辑距离法)(Java实现代码)
public class Suanfa { public static void main(String[] args) { String Str_1="abcdefghijklmuvwxyz"; String Str_2="ijkabclmdefghpq"; //length int Length1=Str_1.length(); int Length2=Str_2.l
java文本相似度对比
使用java调用HanLP分词器实现两个文本相似度对比,可以很快对比出百分率(1=100%)
java文本相似度计算
算法介绍: 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 算法原理: 设我们可以使用d[ i , j ]个步骤(可以使用一个二维数组保存这个值),表示将串s[ 1…i ] 转换为 串t [ 1…j ]所需要的最少步骤个数,
java利用classfier4j实现模糊查找、文章摘要、余弦相似度、Tfidf、单词纠正
jar包下载: https://download.csdn.net/download/dreamzuora/10853888 代码使用: 余弦相似度: Double result=cosSimilarityByString("关于王立军,有几个基本事实。首先,1月28日我是初次听到此事,并不相信谷开来会杀人,我跟11·15杀人案无关,我不是谷开来11·15杀人罪的共犯,这个大家都认可", ...
实现文本相似度算法(余弦定理
【转】来自http://my.oschina.net/BreathL/blog/42477 Lucene中的评分机制,也是算一个相似度的问题,不过它采用的是计算向量间的夹角(余弦公式),在google黑板报中的:数学之美(余弦定理和新闻分类) 也有说明,可以通过余弦定理来判断相似度;于是决定自己动手试试。 首相选择向量的模型:在以字为向量还是以词为向量的问题上,纠结了一会...
nlp中文本相似度计算问题
文章的目的:文本相似度计算一直是nlp中常见的问题,本文的目标是总结并对比文本相似度计算方法。当然文本的相似度计算会有进一步的应用,比如文本的分类、聚类等。 文章结构:本文先介绍最直接的字面距离相似度度量,而后介绍语义主题层面的度量,最后介绍目前一些新的相似度计算方法。 一、字面距离相似度度量:这一种相似性度量的方法比较简单,文本是由字词组成,重点是各种距离的度量方法。其中SimHash方法目...
使用spark TF-IDF特征计算文章间相似度
写在前面计算字符串之前的相似度可以使用 Levenshtein distance(最小编辑距离)来实现,JAVA实现可以参考http://blog.csdn.net/ironrabbit/article/details/18736185,计算新闻标题间的相似度间可以使用这个算法,如果是计算整篇文章间的相似度使用更适合使用:分词–>特征提取–>向量空间–>计算向量相似度,这样的流程,本文介绍方法纯属个
两篇文章的相似度比较
仅仅考虑词组,并未考虑文本的语义信息
向量空间模型快速文本相似度计算 java源码+数据
使用向量空间模型以最快速度计算文本之间的相似度,JAVA源码+数据
php利用余弦相似度计算文章的相似度
1.用php完成余弦相似度算法 <?php //分词类 用的是 scws require_once './fenci.php'; class Similarity { public $wordArr = array(); public $strArr1 = array(); public $strArr2 = array(); public $vectorStr1 = array
Java实现相似度匹配算法
/** * 相似度匹配算法 * (据说)由俄国人Vladimir Levenshtein在1965年发明 * 原理:返回将第一个字符串转换(删除、插入、替换)成第二个字符串的编辑次数。 * 次数越少,意味着字符串相似度越高 */ public class Test { public static void main(String[] args) { ...
比较两篇纯英文文本的相似度
从文件中读出文本 比较相似度 以链表的形式存储 统计相同单词数 相同单词出现的次数 相同单词后面跟着的4个词中的相同单词个数……加权算出相似度
数据挖掘笔记-寻找相似文章-Java
TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之
java抓取文字的最大相似度
public static void main(String[] args) { //要比较的两个字符串 String str1 = "汗1滴禾下土"; String str2 = "汗滴禾下土"; levenshtein(str1,str2); str1 = "汗滴禾下土"; str2 = "汗滴禾下土"; levenshtein(str1,str2);
简单的比较两个文档的相似度
先将两个文件的内容写入字符串,然后利用similar_text()字符串比较函数比较相似度 [code=&quot;java&quot;] header(&quot;content-type:text/html;charset=utf-8&quot;); //将文件1写入一个字符串 $file1 = file_get_contents(&quot;./xiaojj.php&quot;); ...
句子/文档相似度计算
句子/文档相似度计算 1.计算两个句子的相似性 分词à列出所有词à计算词频à列出词频向量à两个向量的相似程度 通过夹角的大小,来判断向量的相似程度。夹角越小,代表越相似(夹角越小,余弦值越大) 2.计算两篇文档的相似性 使用特征选择(TF-IDF)算法,找出两篇文章的关键词; 每篇文章各取出若干个关键词(比如20个),合并成一个集合,计算每篇文章对于这个集合中的词的词频(为了避免文章长...
文本分析--simhash算法进行文本相似度判断
simhash算法分析:文本相似度算法:1、TF-IDF:TF(词频),IDF(逆词频)利用tf-idf得到一个词语的权重,来计算一篇文章的关键词2、simhash:局部敏感hash局部敏感:A、B具有一定相似性,在hash后,仍然保持相似性。通过将关键词集合hash成一串二进制,直接对比二进制数,来看其相似性得到两篇文档的相似性,查看相似性的时候采用海明距离(二进制数之间计算)。对文章simhas
文本相似度检测(网络爬虫去重算法)
package textcompare;     import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern;     class fileInfo {   static
一个文章有多个标签,根据这些标签找出相似度高的其他文章,SQL句子当时这么整,留做记录。
从一个表中找出想似度高的N条数据拿出来
elasticsearch 相似度计算
https://www.cnblogs.com/didda/p/5283753.htmlhttp://lucene.apache.org/core/4_6_0/core/org/apache/lucene/search/similarities/TFIDFSimilarity.html
第二章:关键词与文章相似度
BeautifulSoup查看结构 把html转换成字符串,提取字符串中的内容 中文分词介绍 jieba分词 自定义词典与词性 当创新办和云计算识别不出来时,外加字典 当不知道往字典中加入新词设置多大频率时,可以参考suggest,tag是词性的意思 删除词 ...
计算文本相似度-java实现
源代码: Computeclass.java: /** * @author Caiyong * @version 1.0 * * */ package pack; import java.text.NumberFormat; import java.util.Locale; public class Computeclass { /* * 计
文本相似度——编辑距离算法&java简单实现
从问题出发,来学算法~       问题:找出字符串的编辑距离,即把一个字符串s1最少经过多少步操作变成字符串s2?                  操作有三种,添加一个字符,删除一个字符,修改一个字符。              分析:核心就是Function——edit(i,j),它表示字符串s1的长度为i的子串到字符串s2的长度为j的子串的编辑距离。
文本相似度simhash算法-简单说
文本相似度整体思路
lucene计算文本相似度算法
转自:http://www.131x.com/zhaosq/BBSShow.aspx?id=1736 lucene计算文本相似度算法 ClickNum:77|ReplyNum:0  Leveraging term vectors         所谓term vector, 就是对于documents的某一field,如title,bod
java比较两个文本的相似度
# java比较两个文本的相似度 使用 HanLP - 汉语言处理包 来处理,他能处理很多事情,如 分词、调用分词器、命名实体识别、人名识别、地名识别、词性识别、篇章理解、关键词提取、简繁拼音转换、拼音转换、根据输入智能推荐、自定义分词器 使用很简单,只要引入hanlpjar包,便可处理,给个链接:http://hanlp.linrunsoft.com/doc/_build/html/in
文本相似度的那些算法
子序列与子字符串这个系列问题包含这么几种:最大子序列、最长递增子序列、最长公共子串、最长公共子序列。 几个子问题都可以用动态规划的思路来求解。对于长度为i、j的两个字符串 ,使用m[i][j]矩阵来存放中间结果。更详细的算法可以看这篇文档: http://www.cnblogs.com/zhangchaoyang/articles/2012070.html字符串编辑距离精确计算两个字符串的编辑距
java 相似度计算
相似度计算的java代码:  // 相似度计算 public double xiangsidu(String a, String b) { // 相似度公式:1 - 最小编辑距离/两个串中较长的长度 int n = a.length(); int m = b.length(); if (n &amp;lt; 1 &amp;amp;&amp;amp; m &amp;lt; 1) return 0; //...
推荐系统之余弦相似度及其Java实现
一、相似度 我们常常用
短文本 相似度 匹配 记录贴
基于特征迭代的短文去重算法simhash算法: 1、海量数据相似度计算之simhash和海明距离 2、simhash算法原理及实现 3、A Python Implementation of Simhash Algorithm 4、python-hashes 5、simhash 6、海量数据相似度计算之simhash短文本查找 7、Python hashlibhttps://ai.baidu.com...
C#比较两篇文章相似度
C#比较两篇文章相似度,还有一篇完整的描述论文
文章相似度匹配算法
首先把文章进行分词,然后提取关键字。根据比较和判断关键字,来判断文章的内容关联度。
基于相似度的文本聚类算法研究及应用
文本聚类是文本挖掘的一项重要技术,可广泛应用于文本挖掘与信息检索 等方面,在大规模文本集的组织与浏览、文本集层次归类的自动生成等方面都 具有重要的应用价值。但是,传统的文本聚类算法忽略了文本中单词之间的语 义相关性,存在聚类结果不稳定等问题。论文主要针一对以上问题对文本聚类进 行研究。
php文章相似度计算 不用similar_text()函数
http://enenba.com/?post=303 php默认有个函数similar_text()用于计算字符串之间的相似度,该函数也可以计算两个字符串的相似度(以百分比计)。不过这个函数感觉对中文计算很不准确比如: 1 echo similar_text("吉林禽业公司火灾已致112人遇难","吉林宝源丰禽业公司火灾已致112人遇难");
JAVA计算稀疏矩阵余弦相似度
import java.util.HashMap; import com.aliyun.odps.udf.UDF; /***  * BASE UDF  */ public final class MyUDF extends UDF {     /**      * UDF Evaluate接口      *       * UDF在记录层面上是一对一,字段上是一对
简单实现根据Td-idf实现语句相似度
假设两个语句已经分好词,计算两个向量的余弦相似度 public class Similar { public static String string; public static String str; public static double d; public static double getSimilarity(Vector T1, Vector T2) throws
两篇文章相似度:TF-IDF与余弦相似性的应用
TF-IDF与余弦相似性的应用(一):自动提取关键词 作者: 阮一峰 日期: 2013年3月15日 这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题。 有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才能正确做到? 这个问题
基于Spark的TF-IDF算法的中文文本相似度实现
Spark version:spark 2.2.0 Hadoop version:Hadoop 2.6.5 Scala version:scala 2.11  ansj version:5.1.5 第一、先说下应用场景吧,用户给出一段文字然后我返回十个与这段文字最相似的文件名称。 第二、什么是TF-IDF算法?我就简单介绍一下,因为百度上也有许多的介绍,TF-IDF用中文来
Java实现余弦定理计算文本相似度
相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。 对于多个不同的文本或者短文本对话消息要来计算他们之间的相似度如何,一个好的做法就是将这些文本中词语,映射到向量空间,形成文本中文字和向量数据的映射关系,通过计算几个或者多个不同的向量的差异的大小,来计算文本的相似度。下面介绍一个详细成熟的向量空间余弦相似度方法计
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 关于学习java的文章 关于大数据培训