?? 중국어 | 영어 |
유사성 : 유사성 계산 및 시맨틱 검색을위한 툴킷은 텍스트 및 이미지 계산, 의미 론적 일치하는 검색 툴킷을 지원합니다.
유사성은 텍스트 및 사진에 대한 다양한 유사성 계산 및 시맨틱 매칭 검색 알고리즘을 구현하며 수십억의 데이터 검색, 텍스트 검색 및 사진 검색, Python3 개발, PIP 설치 및 상자 밖에서 지원합니다.
가이드
이미지 검색 데모 : https://huggingface.co/spaces/shibing624/clip-image-search

텍스트 검색 데모 : https://huggingface.co/spaces/shibing624/similarities

pip install torch # conda install pytorch
pip install -U similarities
또는
git clone https://github.com/shibing624/similarities.git
cd similarities
pip install -e .
예 : 예제/text_similarity_demo.py
from similarities import BertSimilarity
m = BertSimilarity ( model_name_or_path = "shibing624/text2vec-base-chinese" )
r = m . similarity ( '如何更换花呗绑定银行卡' , '花呗更改绑定银行卡' )
print ( f"similarity score: { float ( r ) } " ) # similarity score: 0.855146050453186model_name_or_path : 모델 이름 또는 경로는 기본적으로 HF 모델 허브에서 다운로드되며 중국 의미 론적 일치 모델 Shibing624/Text2Vec-Base-Chinese가 필요한 경우 Shibing624/Text2Vec-Base-Multuallengeal 모델, 영어, 일본어, 이탈리아어, 기타 언어로 대체 할 수 있습니다.QA 시나리오에서 유사한 일치 및 텍스트 검색에 종종 사용되는 문서 후보 세트에서 쿼리와 가장 유사한 텍스트를 찾으십시오.
예 : 예제/text_semantic_search_demo.py
예 : 예제/fast_text_semantic_search_demo.py
텍스트 전송 벡터, 인덱싱, 배치 검색, 시작 서비스 : 예/faiss_bert_search_server_demo.py
프론트 엔드 파이썬 호출 : 예/faiss_bert_search_client_demo.py
그것은 Cilin, CNKI Hownet, Wordembedding, TFIDF, Simhash, BM25 등과 같은 동의어에 대한 유사성 계산 및 문자 적 일치 검색을 지원하며 종종 콜드 스타트 일치 텍스트 일치하는 데 사용됩니다.
예 : 예/literal_text_semantic_search_demo.py
이미지 유사성 계산 및 클립, Phash 및 Sift와 같은 알고리즘 검색을 지원합니다. 중국어 클립 모델은 이미지 검색, 텍스트 검색을 지원하며 중국어 및 영어 그래픽 및 텍스트 검색을 지원합니다.
예 : 예제/image_semantic_search_demo.py

이미지 회전 벡터, 인덱싱, 배치 검색, 시작 서비스 : 예/faiss_clip_search_server_demo.py
프론트 엔드 파이썬 호출 : 예/faiss_clip_search_client_demo.py
프론트 엔드 그라디오 호출 : 예/faiss_clip_search_gradio_demo.py

클러스터링은 Community_Detection 알고리즘을 통해 대규모 데이터 세트에서 수행하여 클러스터링 (즉, 유사한 문장 그룹)을 찾을 수 있습니다.
예 : 예제/text_clustering_demo.py
동의어 문장 마이닝 (paraphrase_mining_embeddings) 알고리즘은 많은 수의 문장이나 문서와 비슷한 의미를 가진 문장 쌍을 채굴하는 데 사용될 수 있으며, 이는 중복 그래픽 및 텍스트 감지 및 시맨틱 중복 제거에 사용할 수 있습니다.
코드 : cli.py
> similarities -h
NAME
similarities
SYNOPSIS
similarities COMMAND
COMMANDS
COMMAND is one of the following:
bert_embedding
Compute embeddings for a list of sentences
bert_index
Build indexes from text embeddings using autofaiss
bert_filter
Entry point of bert filter, batch search index
bert_server
Main entry point of bert search backend, start the server
clip_embedding
Embedding text and image with clip model
clip_index
Build indexes from embeddings using autofaiss
clip_filter
Entry point of clip filter, batch search index
clip_server
Main entry point of clip search backend, start the server
달리다:
pip install similarities -U
similarities clip_embedding -h
# example
cd examples
similarities clip_embedding data/toy_clip/bert_embedding 등은 보조 명령이 텍스트 상관 관계로 시작되며 클립은 이미지 상관 관계로 시작합니다.similarities clip_embedding -h 참조하십시오data/toy_clip/ clip_embedding 메소드의 input_dir 매개 변수이며 파일 디렉토리 (필수)를 입력합니다. 
연구에서 유사성을 사용하는 경우 다음 형식으로 인용하십시오.
APA :
Xu, M. Similarities: Compute similarity score for humans (Version 1.0.1) [Computer software]. https://github.com/shibing624/similarities
Bibtex :
@misc{Xu_Similarities_Compute_similarity,
title={Similarities: similarity calculation and semantic search toolkit},
author={Xu Ming},
year={2022},
howpublished={url{https://github.com/shibing624/similarities}},
}
라이센스 계약은 Apache License 2.0으로, 상업적 목적으로 무료로 사용할 수 있습니다. 제품 설명에 링크 및 승인 계약을 첨부하십시오.
프로젝트 코드는 여전히 매우 거칠다.
tests 에 해당 단위 테스트를 추가하십시오python -m pytest 사용하여 모든 단일 테스트가 통과되도록 모든 단위 테스트를 실행하십시오.나중에 PR을 제출할 수 있습니다.
그들의 위대한 일에 감사드립니다!