Skip to content

Instantly share code, notes, and snippets.

@Koziev
Koziev / gist:06795638e9b9931292dd25dafaa55e11
Created Sep 6, 2019
Классификатор интентов для чатбота на базе BERT
View gist:06795638e9b9931292dd25dafaa55e11
# 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 / nn_answer_generator.py
Created May 12, 2019
экспериментальная нейросетевая модель для генерации ответа
View nn_answer_generator.py
# -*- coding: utf-8 -*-
'''
Тренировка модели, которая посимвольно в режиме teacher forcing учится генерировать
ответ для заданной предпосылки и вопроса.
В качестве классификационного движка для выбора символов используется нейросетка
За один запуск модели выбирается один новый символ, который добавляется к ранее сгенерированной
цепочке символов ответа (см. функцию generate_answer). Генерация через повторные запуски продолжается
до появления специального маркера конца цепочки END_CHAR.
@Koziev
Koziev / find_prefixes.py
Created May 3, 2019
Скрип для поиска всех префиксов составных прилагательных в русском языке
View find_prefixes.py
import io
import collections
import re
import ruword2tags
regex1 = re.compile(u'[%s ]+' % re.escape(u'"«».,:;!?=()\t\u00a0\u202F\u2060\u200A\s'))
@Koziev
Koziev / generate_invalid_syntax_samples3.py
Created Apr 22, 2019
Использование ruword2tags.RuFlexer (а также rulemma, rupostagger, rutokenizer) для полуавтоматической генерации NLP датасета
View generate_invalid_syntax_samples3.py
# -*- coding: utf-8 -*-
"""
Подбор сырья для формирования датасета для тренировки валидатора синтаксиса.
Берем фразы с правильным синтаксисом и заменяем в них предлоги на рандомные,
при необходимости пересогласуя подчиненные существительные и прилагательные.
"""
from __future__ import division # for python2 compatibility
from __future__ import print_function
View linreg(keras).py
# -*- coding: utf-8 -*-
"""
Решение задачи линейно регрессии по МНК с помощью Keras.
"""
from __future__ import print_function
import random
import numpy as np
View linreg3(autograd).py
# -*- coding: utf-8 -*-
"""
Использование автоматического дифференцирования autograd (https://github.com/HIPS/autograd)
для решения линейной регрессии МНК.
"""
from __future__ import print_function
import autograd.numpy as np
View linreg2(autograd).py
# -*- coding: utf-8 -*-
"""
Использование автоматического дифференцирования autograd (https://github.com/HIPS/autograd)
для решения линейной регрессии МНК.
Код может решать только задачу линейно регрессии, так как
в нем отдельно выписывается градиентный спуск по каждому из двух
компонентов решения через частные производные.
"""
@Koziev
Koziev / Program.cs
Last active Oct 25, 2018
Проверка либы NNSharp: использование в .NET моделей, обученных в Python+Keras
View Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NNSharp.DataTypes;
namespace sample1
{
class Program
@Koziev
Koziev / Program.cs
Created Oct 25, 2018
Тест библиотеки NNSharp: тренировка Keras-модели в питоне, загрузка и использование в C#
View Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NNSharp.DataTypes;
namespace sample1
{
class Program
@Koziev
Koziev / w2v.py
Created Sep 28, 2018
Генерация файла w2v.CBOW=1_WIN=5_DIM=32.bin, используемого в чатботе
View w2v.py
# -*- coding: utf-8 -*-
'''
Генерация word2vector моделей для слов.
Используется готовый корпус, в котором каждое слово отделено пробелами, и каждое
предложение находится на отдельной строке.
'''
from __future__ import print_function
from gensim.models import word2vec
import logging