java文本相似度,java判断文字相似

  java文本相似度,java判断文字相似

  如何解决写爬虫IP受阻的问题?立即使用。

  java抓取文字的最大相似度代码:

  公共静态void main(String[] args) {

  //要比较的两个字符串

  str 1=‘把一滴粮食流在地上’;

  str 2=‘汗水滴入泥土’;

  levenshtein(str1,str 2);

  str 1=‘汗水滴入土壤’;

  str 2=‘汗水滴入土壤’;

  levenshtein(str1,str 2);

  Str1=除草日是中午;

  str 2=‘汗水滴入土壤’;

  levenshtein(str1,str 2);

  Str1=我想除草日是中午;

  Str2=除草日是sag ;

  levenshtein(str1,str 2);

  str 1=‘我是最帅的asdasd’;

  Str2=最帅的asdasdqeqwe ;

  levenshtein(str1,str 2);

  }

  /**

  * DNA分析、拼写检查、语音识别、剽窃检测

  *

  * @createTime 2012-1-12

  */

  public static void levenshtein(String str 1,String str2) {

  //计算两个字符串的长度。

  int len 1=str 1 . length();

  int len 2=str 2 . length();

  //构建上面提到的数组,比字符长度大一个空格

  int[][]dif=new int[len 1 1][len 2 1];

  //赋值初始值,步骤b。

  for(int a=0;a=len1a ) {

  dif[a][0]=a;

  }

  for(int a=0;a=len2a ) {

  dif[0][a]=a;

  }

  //计算两个字符是否相同,计算左上值。

  内部温度;

  for(int I=1;i=len1i ) {

  for(int j=1;j=len2j ) {

  if(str 1 . charat(I-1)==str 2 . charat(j-1)){

  temp=0;

  }否则{

  temp=1;

  }

  //取三个值中的最小值

  dif[I][j]=min(dif[I-1][j-1]temp,dif[i][j - 1] 1,

  dif[I-1][j]1);

  }

  }

  /*System.out.println(比较 string \ str1 \ 和\ str 2 \ );

  //取数组右下角的值,相同不同的位置代表不同字符串的比较。

  system . out . println( string str 1 的长度[ str1.length() ]和 str2 的长度[ str 2 . length()]);

  System.out.println(差分步长: dif[len 1][len 2]/ math . max(str 1 . length()、str 2 . length()));

  //计算相似度

  float相似度=1-(float)dif[len 1][len 2]/math . max(str 1 . length()、str 2 . length());

  system . out . println(-(float)1/6);

  System.out.println(使用方法得到的相似度为:相似度);*/

  float相似度=1-(float)dif[len 1][len 2]/math . max(str 1 . length()、str 2 . length());

  system . out . println( string[ str 1 ]和[str2]的相似度为:相似性);

  system . out . println();

  }

  //获取最小值

  私有静态int min(int.是){

  int min=整数。MAX _ VALUE

  for (int i : is) {

  if (min i) {

  min=I;

  }

  }

  返回最小值;

  }输出的结果:

  字符串【汗滴一粒到土】和【汗滴一粒到土】的相似度是:0.83333。

  字符串【汗滴入土】和【汗滴入土】的相似度是:1.0。

  字符串【中午除草】和字符串【大汗淋漓】的相似度是:0.0。

  字符串【我觉得除草日是中午】和【除草日是sag】的相似度是:0.125。

  字符串【我的帅asdasd】和【帅asdasdqeqwe】的相似度为:0.53846157以上是java抓取单词最大相似度的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: