shibing624/similarity
similarity: Text similarity calculation Toolkit for Java. 文本相似度计算工具包,java编写,可用于文本相似度计算、情感分析等任务,开箱即用。
해결하는 문제
이 프로젝트는 단일 단어부터 전체 단락에 이르기까지 다양한 입도에 걸쳐 텍스트 문자열 간의 유사도 점수를 계산하기 위한 Java 기반 툴킷을 제공합니다. 또한 감성 분석 및 워드 임베딩을 사용한 근사어 찾기 도구도 제공합니다.
작동 방식
이 라이브러리는 텍스트 길이에 따라 분류된 다양한 알고리즘을 구현합니다:
- 단어: Cilin 인코딩, 중국어 의미론적 방법 및 편집 거리와 같은 메서드를 사용합니다.
- 구: 공유되는 문자와 그 위치를 기반으로 유사도를 계산합니다.
- 문장: 형태소 유사도(품사 및 어순 결합) 및 다양한 편집 거리 알고리즘을 채택합니다.
- 단락: 코사인 유사도(TF-IDF 및 품사 가중치 포함), Jaccard, Euclidean 및 Hamming 거리를 사용한 SimHash를 활용합니다.
- 감성: HowNet 의미 기본 트리(semantic primitive tree)를 기반으로 단어의 극성을 분석합니다.
- 근사어: Word2vec를 통합하여 벡터 기반의 유의어 추천을 수행합니다.
대상
이러한 NLP 알고리즘을 처음부터 구현하지 않고도 텍스트 유사도 측정, 감성 분석 또는 유의어 발견을 애플리케이션에 통합해야 하는 Java 개발자.
주요 특징
- 다중 입도 지원: 단어, 구, 문장 및 단락을 위한 전용 알고리즘.
- 낮은 결합도: 유지 관리를 쉽게 하기 위해 내부 모듈이 느슨하게 결합되도록 설계되었습니다.
- 지연 로딩: 성능 향상을 위해 모델은 필요한 경우에만 로드됩니다.
- 커스터마이징 가능: Word2vec에 대한 사용자 정의 코퍼스 학습을 지원합니다.
- 포괄적인 거리 메트릭: 단락 비교를 위해 Jaro-Winkler, Manhattan 및 Sørensen–Dice 계수를 포함합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트