写一下文本相似度 java代码
时间: 2023-12-15 17:48:51 浏览: 78
下面是一个简单的 Java 代码示例,用于计算两个文本之间的相似度:
```
import java.util.Arrays;
public class TextSimilarity {
public static void main(String[] args) {
String text1 = "This is a sample text";
String text2 = "This is another sample text";
double similarity = calculateSimilarity(text1, text2);
System.out.println("Similarity: " + similarity);
}
public static double calculateSimilarity(String text1, String text2) {
// 将文本转换为单词数组
String[] words1 = text1.split("\\s+");
String[] words2 = text2.split("\\s+");
// 计算两个文本的交集
int intersection = 0;
for (String word : words1) {
if (Arrays.asList(words2).contains(word)) {
intersection++;
}
}
// 计算两个文本的并集
int union = words1.length + words2.length - intersection;
// 计算相似度
double similarity = (double) intersection / (double) union;
return similarity;
}
}
```
该代码首先将两个文本转换为单词数组,然后计算它们的交集和并集。最后,它将交集除以并集以得出相似度。在这个例子中,两个文本有很多相同的单词,所以它们的相似度应该很高。
阅读全文