正文
java代码文件相似度 java文本语义相似度计算
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
用java判断两个文件的相似度
两个文件转化为二进制流数组或者链表,定义一个int变量n初值为0,遍历两个文件数组,每个节点相同无操作,不同n++;
然后拿 n与 文件数组的大小做比较,,,
有没有可以检查出两个java程序代码相似度的软件或者方法?如果有,除了改名字之外 ,添加空格或者改
有java代码文件相似度的java代码文件相似度,是基于编译后java代码文件相似度的字节码的检测java代码文件相似度,因此添加空格是不管用的java代码文件相似度,method顺序不清楚,大致原理跟下面这个论文里的差不多,但是具体的软件应该有所不同,需要知道具体是什么软件才好针对性的做修改以避免抄袭检测
java编码实现相似度100%就显示为5颗星怎么处理?
100%好比较,用equest就可以,但是部分相似我就不知道了,不过我有一个不太好的办法,按两个字一组把字符串拆开,比如字符串“百度知道真好”可以拆成“百度”,“度知”,“知道”,“道真”,“真好”。然后循环去和已知的字符串去比对,看有几对能够比对成功,不过就算全都比对成功也不一定是100%的相似。要先执行equest方法比对,如果不相等后才去拆词比对,但拆词比对不会有100%的
问:程序文件相似度分析,用jAVA编写,拜托各路大神了。1) 基本要求:给两个程序文件base.j
package d;
public class Test {
public static void method(String str){
String ss=str.toUpperCase();
char arr[]=ss.toCharArray();
int sum=0;
StringBuffer sb=new StringBuffer();
sb.append("[");
for(char c:arr){
int num=c-'A'+1;
sb.append(num+"+");
sum=sum+num;
}
String s=sb.toString().substring(0, sb.toString().length()-1)+"]";
if(sum==100){
System.out.println(str+"="+s+"="+sum+"%");
System.out.println("["+str+"]"+"决定一切");
}else{
System.out.println(str+"="+s+"="+sum+"%");
}
}
public static void main (String args[]){
method("attitude");
}
}
如何计算多个文本的相似度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学到哪才可以检测两个文本的相似度?
学到IO流可以比较文本了java代码文件相似度, 不过用IO比较文本比较麻烦java代码文件相似度, 而且效率低
如果要效率高java代码文件相似度的话, 就需要学
linux + thread + progress
这样子可以通过java调用linux命令
linux中有一个comm -12命令来实现比较两个文件的共同数据, 生成一个新文本。 拿到新文本的大小/旧文本的大小, 旧可以粗略计算出相似度, 而且效率极其高
如果文本有上百万行数据的话, 用IO可能要十几个小时才有结果, 但是linux命令只需要1分钟左右就可以出结果
java代码文件相似度的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java文本语义相似度计算、java代码文件相似度的信息别忘了在本站进行查找喔。