pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- feature-extraction
- sentence-similarity
- transformers
language: ru
license: unlicense
widget:
- source_sentence: Кошка ловит мышку.
sentences:
- Кто ловит мышку?
- Где живет кошка?
- Как мышку зовут?
SBERT_PQ
Это sentence-transformers модель, предназначенная для определения релевантности короткого текста (преимущественно одно предложение длиной до 10-15 слов) и вопроса.
Модель вычисляет для текста и вопроса векторы размерностью 312. Косинус угла между этими векторами дает оценку того, содержит ли текст ответ на заданный вопрос. В проекте диалоговой системы она используется для семантического поиска записей в базе фактов по заданному собеседником вопросу.
Скорость и точность
Модель основана на cointegrated/rubert-tiny2. Она имеет очень небольшой размер и быстро выполняет инференс даже на CPU.
Максимальное значение метрики cossim_f1 на тестовой выборке (10% датасета) равно 0.986.
При использовании модели sberbank-ai/ruBert-base в качестве базовой, максимум cossim_f1 составляет 0.992.
Использование с библиотекой (Sentence-Transformers)
Необходимо установить sentence-transformers:
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
}