# 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
}
```
{"language": ["ru"], "license": "mit", "pipeline_tag": "text-classification", "widget": [{"text": "\u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 QR-\u043a\u043e\u0434"}, {"text": "\u043a\u043e\u0433\u0434\u0430 \u0434\u0435\u043d\u044c\u0433\u0438 \u043f\u0440\u0438\u0434\u0443\u0442 \u0437\u0430 \u043c\u043d\u043e\u0439"}, {"text": "\u043f\u043e\u0447\u0435\u043c\u0443 \u0434\u0435\u0432\u0443\u0448\u043a\u0438 \u043c\u043d\u0435 \u043d\u0435 \u0434\u0430\u044e\u0442"}]}
transformers pytorch bert text-classification ru license:mit autotrain_compatible endpoints_compatible region:us
TAGS
#transformers #pytorch #bert #text-classification #ru #license-mit #autotrain_compatible #endpoints_compatible #region-us 

# Den4ikAI/ruBert-tiny-questions-classifier
Модель классифицирует вопрос на два класса:

1. Точный вопрос (exact_question) - вопрос требующий четкого, фактологичного ответа.
2. Неточный вопрос (innacurate_question) - вопрос допускающий рассуждения, философские вопросы.

# Использование


# Den4ikAI/ruBert-tiny-questions-classifier
Модель классифицирует вопрос на два класса:

1. Точный вопрос (exact_question) - вопрос требующий четкого, фактологичного ответа.
2. Неточный вопрос (innacurate_question) - вопрос допускающий рассуждения, философские вопросы. # Использование
TAGS
#transformers #pytorch #bert #text-classification #ru #license-mit #autotrain_compatible #endpoints_compatible #region-us 
 # Den4ikAI/ruBert-tiny-questions-classifier
Модель классифицирует вопрос на два класса:

1. Точный вопрос (exact_question) - вопрос требующий четкого, фактологичного ответа.
2. Неточный вопрос (innacurate_question) - вопрос допускающий рассуждения, философские вопросы. # Использование