我是靠谱客的博主 聪慧绿茶,最近开发中收集的这篇文章主要介绍Java回炉重造(三)使用Apache Commons Text库计算文本相似性:jaccard相似系数、余弦相似度,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Java回炉重造(三)使用Apache Commons Text库计算文本相似性:jaccard相似系数、余弦相似度
运行结果
代码图片
code
https://code.csdn.net/u012995856/apache-commons-learn/tree/master
maven依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.1</version>
</dependency>
代码
TextSimilaryTest.java
package cn.pangpython.acl.text;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.text.similarity.CosineSimilarity;
import org.apache.commons.text.similarity.JaccardSimilarity;
/**
* @Project ApacheCommonsLearn
* @Package cn.pangpython.acl.text
* @Author pangPython
* @Time 下午10:53:59
*/
public class TextSimilaryTest {
public static void main(String[] args) {
//计算jaccard相似系数
JaccardSimilarity jaccardSimilarity = new JaccardSimilarity();
double jcdsimilary1 = jaccardSimilarity.apply("hello", "hell");
System.out.println("jcdsimilary1:"+jcdsimilary1);
double jcdsimilary2 = jaccardSimilarity.apply("this is an apple", "this is an app");
System.out.println("jcdsimilary2:"+jcdsimilary2);
//计算余弦相似度
CosineSimilarity cosineSimilarity = new CosineSimilarity();
Map<CharSequence, Integer> leftVector = new HashMap<>();
Map<CharSequence, Integer> rightVector = new HashMap<>();
leftVector.put("a", 1);
leftVector.put("b", 0);
leftVector.put("c", 1);
rightVector.put("a", 1);
rightVector.put("b", 1);
rightVector.put("c", 0);
double cosSimilary = cosineSimilarity.cosineSimilarity(leftVector, rightVector);
System.out.println("cosSimilary:"+cosSimilary);
}
}
最后
以上就是聪慧绿茶为你收集整理的Java回炉重造(三)使用Apache Commons Text库计算文本相似性:jaccard相似系数、余弦相似度的全部内容,希望文章能够帮你解决Java回炉重造(三)使用Apache Commons Text库计算文本相似性:jaccard相似系数、余弦相似度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复