File size: 2,618 Bytes
faccfc2
8213f08
 
 
 
 
 
 
faccfc2
8213f08
 
 
2f3f02b
faccfc2
8213f08
 
 
 
 
 
2f3f02b
8213f08
 
 
 
 
2f3f02b
 
8213f08
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---
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
}
```