--- license: mit language: - ru pipeline_tag: text-classification widget: - text: 'что такое QR-код' - text: 'когда деньги придут за мной' - text: 'почему девушки мне не дают' --- # Den4ikAI/ruBert-tiny-questions-classifier Модель классифицирует вопрос на два класса: 1. Точный вопрос (exact_question) - вопрос требующий четкого, фактологичного ответа. 2. Неточный вопрос (innacurate_question) - вопрос допускающий рассуждения, философские вопросы. # Использование ```python import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification class RuBertQuestionClassifier: def __init__(self): self.device = torch.device("cpu") self.tokenizer = AutoTokenizer.from_pretrained("Den4ikAI/ruBert-tiny-questions-classifier") self.model = AutoModelForSequenceClassification.from_pretrained("Den4ikAI/ruBert-tiny-questions-classifier").to( self.device).eval() self.classes = ['exact_question', 'inaccurate_question'] def get_question_type(self, text): text = text.lower().replace(',', '').replace('?', '') inputs = self.tokenizer(text, max_length=512, add_special_tokens=False, truncation=True, return_tensors='pt').to(self.device) with torch.no_grad(): logits = self.model(**inputs).logits probas = list(torch.sigmoid(logits)[0].cpu().detach().numpy()) out = self.classes[probas.index(max(probas))] self.logger.debug('Mode: {}'.format(out)) return out classifier = RuBertQuestionClassifier() print(classifier.get_question_type('когда я найду своего принца')) print(classifier.get_question_type('что такое цианид')) ``` # Citation ``` @MISC{Den4ikAI/ruBert-tiny-questions-classifier, author = {Denis Petrov}, title = {Russian question type classifier model}, url = {https://huggingface.co/Den4ikAI/ruBert-tiny-questions-classifier}, year = 2023 } ```