File size: 2,838 Bytes
69ce236 1c8d4f5 ee4f669 69ce236 ee4f669 69ce236 1c8d4f5 ee4f669 1c8d4f5 7468ff7 d4be35f 1c8d4f5 7468ff7 1c8d4f5 af5f111 1c8d4f5 7468ff7 1c8d4f5 af5f111 1c8d4f5 7468ff7 1c8d4f5 7468ff7 1c8d4f5 7468ff7 1c8d4f5 7468ff7 1c8d4f5 7468ff7 1c8d4f5 7468ff7 d4be35f 1c8d4f5 7468ff7 1c8d4f5 6aab6f6 |
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 64 65 66 67 68 |
---
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- feature-extraction
- sentence-similarity
- transformers
language: ru
license: unlicense
widget:
- source_sentence: "Кошка ловит мышку."
sentences: ["Кто ловит мышку?", "Где живет кошка?", "Как мышку зовут?"]
---
# SBERT_PQ
Это [sentence-transformers](https://www.SBERT.net) модель, предназначенная
для определения релевантности короткого текста (преимущественно одно предложение длиной до 10-15 слов) и вопроса.
Модель вычисляет для текста и вопроса векторы размерностью 312. Косинус угла между этими векторами
дает оценку того, содержит ли текст ответ на заданный вопрос. В [проекте диалоговой системы](https://github.com/Koziev/chatbot)
она используется для семантического поиска записей в базе фактов по заданному собеседником вопросу.
# Скорость и точность
Модель основана на [cointegrated/rubert-tiny2](https://huggingface.co/cointegrated/rubert-tiny2).
Она имеет очень небольшой размер и быстро выполняет инференс даже на CPU.
Максимальное значение метрики cossim_f1 на тестовой выборке (10% датасета) равно **0.986**.
При использовании модели sberbank-ai/ruBert-base в качестве базовой, максимум cossim_f1 составляет **0.992**.
## Использование с библиотекой (Sentence-Transformers)
Необходимо установить [sentence-transformers](https://www.SBERT.net):
```
pip install -U sentence-transformers
```
Чтобы определить релевантность в одной паре "текст-вопрос", можно использовать такой код:
```
import sentence_transformers
sentences = ["Кошка ловит мышку.", "Чем занята кошка?"]
model = sentence_transformers.SentenceTransformer('inkoziev/sbert_pq')
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 = {Texts & Questions Relevancy Model},
url = {https://huggingface.co/inkoziev/sbert_pq},
year = 2022
}
```
|