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