Java回炉重造(三)使用Apache Commons Text库计算文本相似性:jaccard相似系数、余弦相似度

Java回炉重造(三)使用Apache Commons Text库计算文本相似性:jaccard相似系数、余弦相似度

运行结果


代码图片


code
https://code.csdn.net/u012995856/apache-commons-learn/tree/master

maven依赖
       
            org.apache.commons
            commons-text
            1.1
       

1
2
3
4
5
代码
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 leftVector = new HashMap<>();
        Map 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);
    }
}
————————————————
版权声明:本文为CSDN博主「pangPython」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012995856/article/details/72848573

你可能感兴趣的:(Java回炉重造(三)使用Apache Commons Text库计算文本相似性:jaccard相似系数、余弦相似度)