Форум программистов, компьютерный форум, киберфорум
Python: ИИ, нейросети, ML, агенты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16

Нейросеть для распределения заданий подведомствам

30.09.2018, 10:19. Показов 1465. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть сайт.

На сайте 3800 обращений. Каждое обращение адресуется одному из ответственных лиц (организаций). Обращения содержат текст, адрес, город, и т.д. и т.п.

ответственный, содержит id

Возможно ли обучить нейросеть, которая самостоятельно, на основании входных данных будет определять ответственного?

Добавлено через 10 минут
все данные хранятся в mysql в двух таблицах
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.09.2018, 10:19
Ответы с готовыми решениями:

Софт для распределения заданий
Добрый день, Подскажите пожалуйста, кто знает, есть ли софт для распределения заданий следующим образом: 1.Файл с заданием (у...

Дана функция распределения, несколько заданий, сложно
Дана функция распределения абс. непрер. случ. величины E F(x) = { 0, x <= -2PI sin3x, x c (-2PI;C) ...

Как найти функцию распределения для биномиального распределения и распределения пуассона
Даны некие случайные велечины,распределенные по вышеуказанным законам,требуется найти F(1)!Как это можно сделать?

7
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
30.09.2018, 12:32
Если у вас есть достаточно большой корпус заранее размеченных данных - т.е. примеров того, как ранее пришедшие сообщения были расписаны по исполнителям - то это классическая задача классификации.
(Абсолютно не имеет значение где и как вы эти данные храните)
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
30.09.2018, 12:39  [ТС]
passant, да, около 3700 уже распределены и закрыты, как исполненные
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
30.09.2018, 12:40
Ну так любой стандартный алгоритм классификации вам подойдет. Любой.
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
30.09.2018, 12:44  [ТС]
база обращений:

Кликните здесь для просмотра всего текста

`id` int(11) NOT NULL,
`category_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL DEFAULT '1',
`pubdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`title` varchar(200) NOT NULL,
`description` longtext NOT NULL,
`content` longtext,
`published` tinyint(1) NOT NULL DEFAULT '1',
`hits` int(11) NOT NULL DEFAULT '0',
`meta_desc` text NOT NULL,
`meta_keys` text NOT NULL,
`comments` tinyint(1) NOT NULL DEFAULT '1',
`seolink` varchar(200) NOT NULL,
`user_name` varchar(100) NOT NULL,
`user_phone` varchar(11) NOT NULL,
`user_email` varchar(30) NOT NULL,
`lat` varchar(20) NOT NULL,
`lng` varchar(20) NOT NULL,
`address` varchar(200) NOT NULL,
`forwho` int(6) NOT NULL,
`status` int(1) NOT NULL,
`video` varchar(150) NOT NULL,
`video_code` text NOT NULL,
`map_object_id` int(11) NOT NULL,
`send_emails` int(3) NOT NULL,
`lasteditdate` datetime NOT NULL


Ответственный в колонке forwho в виде id
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
30.09.2018, 12:49
Ну, если надо делать назначение и по описанию (словесному?), и по видео и по content (??) - тогда придется делать внутренний разбор, "осмысление". И это будет "встроенная" задача в общую задачу классификации. Это конечно более сложная задача. И для нее 3700 образцов может оказаться и мало.
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
30.09.2018, 13:08  [ТС]
passant, как пример, я нашел в сети вариант (как мне показалось, того, что нужно)

вот он

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import sys
import numpy as np
import pickle
import re
import nltk.stem as Stemmer
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import Pipeline
from sklearn.metrics import accuracy_score
 
 
def train_test_split(data, validation_split=0.1):
    """
    Обучение нейросети
    :param data:
    :param validation_split:
    :return:
    """
    sz = len(data['text'])
    indices = np.arange(sz)
    np.random.shuffle(indices)
 
    X = [data['text'][i] for i in indices]
    Y = [data['tag'][i] for i in indices]
    nb_validation_samples = int(validation_split * sz)
 
    return {
        'train': {'x': X[:-nb_validation_samples], 'y': Y[:-nb_validation_samples]},
        'test': {'x': X[-nb_validation_samples:], 'y': Y[-nb_validation_samples:]}
    }
 
 
# - - - - - - - - - - - - - - - - - - - -
def openai():
    data = load_data()
    D = train_test_split(data)
    text_clf = Pipeline([
        ('tfidf', TfidfVectorizer()),
        ('clf', SGDClassifier(loss='hinge')),
    ])
    text_clf.fit(D['train']['x'], D['train']['y'])
    predicted = text_clf.predict(D['train']['x'])
 
    # Начало тестирования программы
 
    z = input("Введите вопрос без знака вопроса на конце: \n")
    zz = []
    zz.append(z)
 
    predicted = text_clf.predict(zz)
 
    print(predicted[0])
    return
Только есть моменты:

1. Программа должна работать на python3

2. Должна получать на вход список таблиц в базе, для анализа

3. Подключаться к базе данных, анализируя все данные из указанных таблиц, должна обучаться
и затем, вместо

Python
1
2
3
    z = input("Введите вопрос без знака вопроса на конце: \n")
    zz = []
    zz.append(z)
обращаться к базе, и заменять forwho = 0 на "рекомендуемый" id

Добавлено через 1 минуту
passant, нужно так, чтобы задать нейросети задачу - сконцентрироваться на forwho id
и научиться определять его только на основании данных из текущей (анализируемой) записи (которая содержит всю необходимую информацию, включая координаты, адрес, кто оставил заявку, что в тексте и т.п.)

Добавлено через 2 минуты
теоретически, программа должна запоминать свой выбор (свое решение)
и затем, сравнивать при следующем проходе с имеющимся

ведь оператор может изменить выбор, и программа должна корректировать, но не заменять, а создавать набор (и затем выдавать наиболее вероятное решение) - но это уже позже

Добавлено через 9 минут
* * *

какой алгоритм может быть более оптимальным при данных условиях?
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
30.09.2018, 13:21
какой алгоритм может быть более оптимальным при данных условиях?
- а кто его знает, надо экспериментировать.
Лично я бы не использовал бы тут нейросети хотя-бы потому, что у вас реально мало данных.
Я бы задачу разбил бы на несколько частей - 1. предварительная кластеризация текстовой части информации (про видео - вообще молчу - тут данных не то что мало, ничтожно мало). 2- после того, как такая кластеризация выполнена и вы можете ввести метрику между текстовыми данными - классификция.
Ну по крайней мере 3700 данных тут может оказаться не то что много, но по крайней мере - достаточно.


теоретически, программа должна запоминать свой выбор (свое решение)
ведь оператор может изменить выбор, и программа должна корректировать,
-
ну значит в таких случаях должна выполняться коррекция классификатора. (Кстати, что гораздо "приятнее" чем переобучение нейросети).
обращаться к базе
--
Обращение к MySQL - см. mysqlclient- библиотеку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2018, 13:21
Помогаю со студенческими работами здесь

Закон распределения , полигон распределения функция распределения для Пуасона
Завод отправляет на базу 500 изделий. Вероятность повреждения изделия при перевозке равна 0,002. Случайная величина X - число поврежденных...

Построить графики интегральной и дифференциальной функции распределения для нормального закона распределения для ВЫБОРОК 90, 300, 1200
Помогите, пожалуйста, построить графики интегральной и дифференциальной функции распределения для нормального закона распределения для...

Найти: законы распределения для Х и У; закон распределения для двумерной величины (Х;У); основные характеристики
В ящике 1 белый и 2 чёрных шара. Наугад взяли 2 шара. Случайные величины: Х - число чёрных шаров, У- число белых шаров среди выбранных....

Найти ряд распределения и функцию распределения для случайной величины Z=X+Y
2)найти ряд распределения X:| x| 1| 3 |p| 0,2| 0,8 Y:|y| 2| 4 |p| 0,3| 0,7 X и Y независимы и функцию распределения...

Для данной функции плотности распределения найти параметр, мат. ожидание и функцию распределения
Плотность f(x)=a*(e-λ*|x|/λ). Найти a, мат. ожидание и функцию распределения.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru