readme: ---
  language:
  - ru
  tags:
  - PyTorch
  - Transformers
  license: apache-2.0
  widget:
  - text: "sbert punc case расставляет точки запятые и знаки вопроса вам нравится"
  ---
  
  # SbertPuncCase
  
  SbertPuncCase - модель восстановления пунктуации и регистра для русского языка. Модель способна расставлять точки, запятые и знаки вопроса; 
  определять регистр - слово в нижнем регистре, слово с первой буквой в верхнем регистре, слово в верхнем регистре.
  Модель разработана для восстановления текста после распознавания речи, поэтому работает со строками в нижнем регистре.
  В основу модели легла [sbert_large_nlu_ru](https://huggingface.co/sberbank-ai/sbert_large_nlu_ru). 
  В качестве обучающих данных использованы текстовые расшифровки интервью.
  
  # Как это работает
  
  1. Текст переводится в нижний регистр и разбивается на слова.
  2. Слова разделяются на токены.
  3. Модель (по аналогии с задачей NER) предсказывает класс для каждого токена. Классификация на 12 классов: 3+1 знака препинания * 3 варианта регистра.
  4. Функция декодировки восстанавливает текст соответственно предсказанным классам.
  
  # Как использовать
  
  Код модели находится в файле `sbert-punc-case-ru/sbertpunccase.py`.
  
  Для быстрой установки можно воспользоваться командой:
  
  ```
  pip install git+https://huggingface.co/kontur-ai/sbert_punc_case_ru
  ```
  
  Использование модели:
  ```
  from sbert_punc_case_ru import SbertPuncCase
  model = SbertPuncCase()
  model.punctuate("sbert punc case расставляет точки запятые и знаки вопроса вам нравится")
  ```
  
  # Авторы
  
  [Альмира Муртазина](https://github.com/almiradreamer)
  
  [Александр Абугалиев](https://github.com/Squire-tomsk)