Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
similarity: Text similarity calculation Toolkit for Java. 文本相似度计算工具包,java编写,可用于文本相似度计算、情感分析等任务,开箱即用。
| Date | Stars |
|---|---|
| 2026-07-24 | 1584 |
| 2026-07-25 | 1584 |
| 2026-07-28 | 1584 |
| 2026-07-30 | 1584 |
| 2026-08-06 | 1584 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
[](https://jitpack.io/#shibing624/similarity)
[](https://github.com/shibing624/similarity)
[](LICENSE)
[](https://github.com/shibing624/similarity/issues)
[](#Contact)
# Similarity
similarity, compute similarity score between text strings, Java written.
similarity,相似度计算工具包,可用于文本相似度计算、情感倾向分析等,Java编写。
**similarity**是由一系列算法组成的Java版相似度计算工具包,目标是传播自然语言处理中相似度计算方法。**similarity**具备工具实用、性能高效、架构清晰、语料时新、可自定义的特点。
# Feature
**similarity**提供下列功能:
- 词语相似度计算
* **词林编码法相似度[推荐]**
* 汉语语义法相似度
* 知网词语相似度
* 字面编辑距离法
- 短语相似度计算
* **简单短语相似度[推荐]**
- 句子相似度计算
* **词性和词序结合法[推荐]**
* 编辑距离算法
* Gregor编辑距离法
* 优化编辑距离法
- 段落相似度计算
* **余弦相似度[推荐]**
* 编辑距离
* 欧几里得距离
* Jaccard相似性系数
* Jaro距离
* Jaro–Winkler距离
* 曼哈顿距离
* SimHash + 汉明距离
* Sørensen–Dice系数
- 知网义原
* 词语义原树
- 情感分析
* 正面倾向程度
* 负面倾向程度
* 情感倾向性
- 近似词
* word2vec
在提供丰富功能的同时,**similarity**内部模块坚持低耦合、模型坚持惰性加载、词典坚持明文发布,使用方便,帮助用户训练自己的语料。
# Usage
引入Jar包
### Maven
```xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
```
```xml
<dependency>
<groupId>com.github.shibing624</groupId>
<artifactId>similarity</artifactId>
<version>1.1.6</version>
</dependency>
```
### Gradle
gradle的引入:[](https://jitpack.io/#shibing624/similarity)
### 使用示例
```java
import org.xm.Similarity;
import org.xm.tendency.word.HownetWordTendency;
public class demo {
public static void main(String[] args) {
double result = Similarity.cilinSimilarity("电动车", "自行车");
System.out.println(result);
String word = "混蛋";
HownetWordTendency hownetWordTendency = new HownetWordTendency();
result = hownetWordTendency.getTendency(word);
System.out.println(word + " 词语情感趋势值:" + result);
}
}
```
## 功能演示
### 1. 词语相似度计算
文本长度:词语粒度
**推荐**使用词林相似度:`org.xm.Similarity.cilinSimilarity`,是基于[同义词词林](https://blog.csdn.net/sinat_33741547/article/details/80016713)的相似度计算方法
example: [src/test/java/org.xm/WordSimilarityDemo.java](src/test/java/org/xm/WordSimilarityDemo.java)
```java
package org.xm;
public class WordSimilarityDemo {
public static void main(String[] args) {
String word1 = "教师";
String word2 = "教授";
double cilinSimilarityResult = Similarity.cilinSimilarity(word1, word2);
double pinyinSimilarityResult = Similarity.pinyinSimilarity(word1, word2);
double conceptSimilarityResult = Similarity.conceptSimilarity(word1, word2);
double charBasedSimilarityResult = Similarity.charBasedSimilarity(word1, word2);
System.out.println(word1 + " vs " + word2 + " 词林相似度值:" + cilinSimilarityResult);
System.out.println(word1 + " vs " + word2 + " 拼音相似度值:" + pinyinSimilarityResult);
System.out.println(word1 + " vs " + word2 + " 概念相似度值:" + conceptSimilarityResult);
System.out.println(word1 + " vs " + word2 + " 字面相似度值:" + charBasedSimilarityResult);
}
}
```
* result:

### 2. 短语相似度计算
文本长度:短语粒度
**推荐**使用短语相似度:`org.xm.Similarity.phraseSimilarity`,本质是通过两个短语具有的相同字符,和相同字符的位置计算其相似度的方法
example: [src/test/java/org.xm/PhraseSimilarityDemo.java](src/test/java/org/xm/PhraseSimilarityDemo.java)
```java
public static void main(String[] args) {
String phrase1 = "继续努力";
String phrase2 = "持续发展";
double result = Similarity.phraseSimilarity(phrase1, phrase2);
System.out.println(phrase1 + " vs " + phrase2 + " 短语相似度值:" + result);
}
```
* result:

### 3. 句子相似度计算
文本长度:句子粒度
**推荐**使用词形词序Excerpt of 9,263 characters
Read on GitHubMing Xu (徐明) · @tencent · China
85
4
Jonathan Leitschuh · @braze-inc · Morocco
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:2bfe23c066a6e814, topic:nlp