Files
sbert_pq/README.md
ModelHub XC 72822799da 初始化项目,由ModelHub XC社区提供模型
Model: inkoziev/sbert_pq
Source: Original Platform
2026-08-03 07:25:18 +08:00

68 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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
}
```