sbert_synonymy / README.md
koziev ilya
fixing typo in readme
7a2147c
|
raw
history blame
2.64 kB
---
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- feature-extraction
- sentence-similarity
- transformers
language: ru
license: unlicense
widget:
- source_sentence: "Кошка ловит мышку"
sentences: ["Мышка преследуема кошкой", "Кошка гонится за мышью", "Кошка ловит кайф"]
---
# SBERT_SYNONYMY
Это [sentence-transformers](https://www.SBERT.net) модель, предназначенная
для определения синонимичности двух коротких текстов, преимущественно одиночных предложений длиной до 10-15 слов.
Часть обучающего датасета доступна в репозитории [inkoziev/paraphrases](https://huggingface.co/datasets/inkoziev/paraphrases).
Модель вычисляет для текста и вопроса векторы размерностью 312. Косинус угла между этими векторами
дает оценку того, насколько они близки по смыслу. В [проекте диалоговой системы](https://github.com/Koziev/chatbot)
она используется для определения перефразировок высказыванийи и фактов.
Модель основана на [cointegrated/rubert-tiny2](https://huggingface.co/cointegrated/rubert-tiny2).
Она имеет очень небольшой размер и быстро выполняет инференс даже на CPU.
## Использование с библиотекой (Sentence-Transformers)
Для удобства установите [sentence-transformers](https://www.SBERT.net):
```
pip install -U sentence-transformers
```
Чтобы определить синонимичность одной пары предложений, можно использовать такой код:
```
import sentence_transformers
sentences = ["Кошка ловит мышку.", "Мышка преследуема кошкой."]
model = sentence_transformers.SentenceTransformer('inkoziev/sbert_synonymy')
embeddings = model.encode(sentences)
s = sentence_transformers.util.cos_sim(a=embeddings[0], b=embeddings[1])
print('text={} question={} cossim={}'.format(sentences[0], sentences[1], s))
```
## Контакты и цитирование
```
@MISC{rugpt_chitchat,
author = {Ilya Koziev},
title = {Paraphrase Detection Model},
url = {https://huggingface.co/inkoziev/sbert_synonymy},
year = 2022
}
```