Skip to content

Instantly share code, notes, and snippets.

@Koziev
Koziev / find_prefixes.py
Created May 3, 2019 04:15
Скрип для поиска всех префиксов составных прилагательных в русском языке
import io
import collections
import re
import ruword2tags
regex1 = re.compile(u'[%s ]+' % re.escape(u'"«».,:;!?=()\t\u00a0\u202F\u2060\u200A\s'))
@Koziev
Koziev / nn_answer_generator.py
Created May 12, 2019 11:04
экспериментальная нейросетевая модель для генерации ответа
# -*- coding: utf-8 -*-
'''
Тренировка модели, которая посимвольно в режиме teacher forcing учится генерировать
ответ для заданной предпосылки и вопроса.
В качестве классификационного движка для выбора символов используется нейросетка
За один запуск модели выбирается один новый символ, который добавляется к ранее сгенерированной
цепочке символов ответа (см. функцию generate_answer). Генерация через повторные запуски продолжается
до появления специального маркера конца цепочки END_CHAR.
@Koziev
Koziev / gist:06795638e9b9931292dd25dafaa55e11
Created September 6, 2019 07:57
Классификатор интентов для чатбота на базе BERT
# coding: utf-8
"""
Тренер классификатора интентов для чатбота - нейросетка поверх BERT.
13.07.2019 первая реализация
13.07.2019 сделан gridsearch для подбора параметров сетки
20.07.2019 переделка для прямого использования nlu.md
26.07.2019 в кач-ве метрики кроссвалидации используется f1_weighted
"""
from __future__ import print_function
@Koziev
Koziev / train_intent_classifier_elmo.py
Created September 6, 2019 08:03
Intent classifier using ELMo embeddings
# coding: utf-8
"""
Тренер классификатора интентов для чатбота - нейросетка поверх ELMO.
05.09.2019 первая реализация, за основу взят код train_intent_classifier_bert.py
"""
from __future__ import print_function
import numpy as np
import argparse
import platform
@Koziev
Koziev / synonymy_model_pytorch.py
Created February 22, 2020 15:42
Модель детектора синонимичности двух фраз: сиамская рекуррентная сетка на PyTorch
""" Тренировка модели детектора синонимичности двух фраз (сиамская рекуррентная сетка) на PyTorch """
import io
import pandas as pd
import numpy as np
import itertools
import random
import tqdm
from sklearn.model_selection import train_test_split
@Koziev
Koziev / synonymy_model_bert.py
Created March 13, 2020 10:32
Реализация модели детектора перефразировок с BERT в pytorch transformers
"""
Тренировка модели детектора синонимичности двух фраз с использованием претренированной модели BERT на PyTorch
09.03.2020 Добавлен расчет метрики MRR (mean reciprocal rank)
"""
import pandas as pd
import numpy as np
import random
@Koziev
Koziev / synonymy_detector_via_bert3.py
Created March 13, 2020 11:00
Бинарный классификатор на Keras с BERT для определения перефразировок
# coding: utf-8
import pandas as pd
import os
import numpy as np
import logging
import gc
from sklearn.metrics import f1_score, accuracy_score, precision_score, recall_score
@Koziev
Koziev / test_chat_output.0.0.2.15.txt
Created July 12, 2020 06:15
Тестовые вопросы и ответы чатбота в релизе 0.0.2.15
B: День добрый
H: кто ты?
B: я чатбот
B: Скажи, пожалуйста, кто ты?
H: ты чатбот?
B: ведь , честно говоря , я тоже являюсь чатботом !
H: ты человек?
@Koziev
Koziev / chatbot_tester.dialogues.txt
Created July 23, 2020 08:14
Тестовые диалоги ботов
========== dialog_id=1 ==========
B: Привет, давай поболтаем?
H: горячо приветствую
B: что будем обсуждать?
H: давай тебя
B: Я готова отвечать на вопросы о себе.
H: ты кто?
B: я чатбот
B: Скажи, пожалуйста, кто ты?
@Koziev
Koziev / train_bert.py
Created June 11, 2021 04:11
Training BERT from the scratch using keras-bert
# -*- coding: utf-8 -*-
"""
Тренировка BERT с заданной конфигурацией на небольшом корпусе
"""
import numpy as np
import keras
import os
import collections
import pickle