当前位置:首页 » 操作系统 » java相似度算法

java相似度算法

发布时间: 2022-11-13 02:32:43

‘壹’ 急求:比较两个新闻是否是报道同一个事情(同一个新闻) 要求java实现

用文本匹配,重复率达80%以上,可以认为是同一新闻。大学里面毕设论文查重用的是同一原理。

‘贰’ 请问各位高手 计算两句话的cosin相似度 用java代码如何实现

给你看看我的思路:把两句话存在两个String里,然后用一个int记String长度,一个int记相同字的个数,最后把两个int一除就出来了。
当然这个是最简单的,只能算相同长度的两句话。

‘叁’ Java 如何对比两张图片的相似度

这是java的弱项,属于纯算法范畴,应该没有什么办法。
希望回答能给你带来帮助~
如果满意,请采纳,如还有疑问,可继续追问!
您也可以向我们团队发出请求,会有更专业的人来为您解答!

‘肆’ java中怎么求基因检测问题 用一个字符串表示一段基因,例如:“CTATGGGTTT”。两段基因的相似度定义为它们

public class test{
public static void main(String args[]){
String a="CTATGGGTTT";
String b="QBATGAFETF";
float f;
float t=0;
for(int i=0;i<a.length();i++){
if(a.charAt(i)==b.charAt(i))
t++;
}
f=t/a.length();
System.out.println("相似度:"+f*100+"%");
}
}

‘伍’ 怎么用lucene判断两篇文章的相似度 java

用算法中的求最大相似子字符串的方法LCS或许可以,它可以找到两个字符串中最大相似的子字符串。
Java code

/*
* @author talent_marquis<甜菜侯爵>
* Email: [email protected]
* Copyright (C) 2007 talent_marquis<甜菜侯爵>
* All rights reserved.
*/

package ustc.mse.algorithms.dynamicProgramming;

/*
* LCS, Longest-Common-Subsequence
*/
public class LCS
{
public enum DIRECTION{ TOP, TOP_LEFT, LEFT };
private char[] first;
private char[] second;
private int[][] lcsTable;
private DIRECTION[][] lcsAssistTable;
private int lcsLength;
private String lcs_str, lcsMatrix_str, lcsAssistMatrix_str;
private StringBuffer str_buffer;

public LCS( String str1, String str2 )
{
first = str1.toCharArray();
second = str2.toCharArray();
lcsTable = new int[ first.length + 1 ][ second.length + 1 ];
lcsAssistTable = new DIRECTION[ first.length + 1 ][ second.length + 1];
lcs_str = null;

‘陆’ 如何计算多个文本的相似度java程序,利用向量

String text1 = "我爱学习";
String text2 = "我爱读书";
String text3 = "他是黑客";
TextSimilarity textSimilarity = new CosineTextSimilarity();
double score1pk1 = textSimilarity.similarScore(text1, text1);
double score1pk2 = textSimilarity.similarScore(text1, text2);
double score1pk3 = textSimilarity.similarScore(text1, text3);
double score2pk2 = textSimilarity.similarScore(text2, text2);
double score2pk3 = textSimilarity.similarScore(text2, text3);
double score3pk3 = textSimilarity.similarScore(text3, text3);
System.out.println(text1+" 和 "+text1+" 的相似度分值:"+score1pk1);
System.out.println(text1+" 和 "+text2+" 的相似度分值:"+score1pk2);
System.out.println(text1+" 和 "+text3+" 的相似度分值:"+score1pk3);
System.out.println(text2+" 和 "+text2+" 的相似度分值:"+score2pk2);
System.out.println(text2+" 和 "+text3+" 的相似度分值:"+score2pk3);
System.out.println(text3+" 和 "+text3+" 的相似度分值:"+score3pk3);

运行结果如下:
我爱学习 和 我爱学习 的相似度分值:1.0
我爱学习 和 我爱读书 的相似度分值:0.4
我爱学习 和 他是黑客 的相似度分值:0.0
我爱读书 和 我爱读书 的相似度分值:1.0
我爱读书 和 他是黑客 的相似度分值:0.0
他是黑客 和 他是黑客 的相似度分值:1.0

方式二:简单共有词,通过计算两篇文档有多少个相同的词来评估他们的相似度
实现类:org.apdplat.word.analysis.SimpleTextSimilarity
用法如下:
String text1 = "我爱学习";
String text2 = "我爱读书";
String text3 = "他是黑客";
TextSimilarity textSimilarity = new SimpleTextSimilarity();
double score1pk1 = textSimilarity.similarScore(text1, text1);
double score1pk2 = textSimilarity.similarScore(text1, text2);
double score1pk3 = textSimilarity.similarScore(text1, text3);
double score2pk2 = textSimilarity.similarScore(text2, text2);
double score2pk3 = textSimilarity.similarScore(text2, text3);
double score3pk3 = textSimilarity.similarScore(text3, text3);
System.out.println(text1+" 和 "+text1+" 的相似度分值:"+score1pk1);
System.out.println(text1+" 和 "+text2+" 的相似度分值:"+score1pk2);
System.out.println(text1+" 和 "+text3+" 的相似度分值:"+score1pk3);
System.out.println(text2+" 和 "+text2+" 的相似度分值:"+score2pk2);
System.out.println(text2+" 和 "+text3+" 的相似度分值:"+score2pk3);
System.out.println(text3+" 和 "+text3+" 的相似度分值:"+score3pk3);

运行结果如下:
我爱学习 和 我爱学习 的相似度分值:1.0
我爱学习 和 我爱读书 的相似度分值:0.5
我爱学习 和 他是黑客 的相似度分值:0.0
我爱读书 和 我爱读书 的相似度分值:1.0
我爱读书 和 他是黑客 的相似度分值:0.0
他是黑客 和 他是黑客 的相似度分值:1.0

‘柒’ java如何实现超过10w条文本数据的相似度计算

最简单的、最节省性能的方法是建立字典。 字典的索引就是字本身,遍历字符串,没遇到一个字就加入到字典中,加入的时候判断下,如果索引存在则加1,不存在则创建,然后在取字典最大值,大于6就报错。 上面说的字典可以用java中的hashMap实现。

‘捌’ java版 opencv 图像对比相似度怎么实现

没有专门的函数,你要自己写 以前写过一个,先转HSV,只考虑HS两维,再求颜色直方图,最后根据两个图像对应直方图上的距离就可以了,通过这个可以计算相似度

‘玖’ 有没有可以检查出两个java程序代码相似度的软件或者方法如果有,除了改名字之外 ,添加空格或者改

有的,是基于编译后的字节码的检测,因此添加空格是不管用的,method顺序不清楚,大致原理跟下面这个论文里的差不多,但是具体的软件应该有所不同,需要知道具体是什么软件才好针对性的做修改以避免抄袭检测
http://wenku..com/link?url=_1MlghFbxQ_

‘拾’ java学到哪才可以检测两个文本的相似度

学到IO流可以比较文本了, 不过用IO比较文本比较麻烦, 而且效率低

如果要效率高的话, 就需要学
linux + thread + progress

这样子可以通过java调用linux命令
linux中有一个comm -12命令来实现比较两个文件的共同数据, 生成一个新文本。 拿到新文本的大小/旧文本的大小, 旧可以粗略计算出相似度, 而且效率极其高
如果文本有上百万行数据的话, 用IO可能要十几个小时才有结果, 但是linux命令只需要1分钟左右就可以出结果

热点内容
随机启动脚本 发布:2025-07-05 16:10:30 浏览:514
微博数据库设计 发布:2025-07-05 15:30:55 浏览:18
linux485 发布:2025-07-05 14:38:28 浏览:298
php用的软件 发布:2025-07-05 14:06:22 浏览:747
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:421
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:677
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:229
java的开发流程 发布:2025-07-05 12:45:11 浏览:674
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:274
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:824