Как разумно преобразовать распределение системы заказов на работу

внешний интерфейс задняя часть
Как разумно преобразовать распределение системы заказов на работу

предисловие

Существует традиционная система заказов на работу, которая не создается самостоятельно. Система рабочих заданий генерирует большое количество рабочих заданий каждый день, что требует большего количества рабочей силы для выполнения работы, связанной с распределением, чтобы распределять рабочие задания среди соответствующего обрабатывающего персонала. Чтобы повысить эффективность работы и сократить трудозатраты, а также высвободить сотрудников для повторной работы, рассмотрите возможность интеллектуальной трансформации.

два аспекта

Поскольку это не самостоятельная система, интеллектуальная трансформация включает два аспекта: автоматизация системы и системный интеллект.

Автоматизация системы

Системная автоматизация, автоматизация может освободить руки, как интеллектуальное вспомогательное средство. Поскольку взаимодействие человека и компьютера в исходной системе заказов на работу осуществляется через браузер, автоматизация системы на самом деле в основном предназначена для реализации автоматической работы и имитации различных функций ручного управления.

Есть два варианта: плагины для браузера и инструменты автоматизированного тестирования. Учитывая, что метод подключаемого модуля браузера более проблематичен, когда речь идет об интеллекте и вызове модели, использование инструментов автоматического тестирования может быть отдано в приоритет. Например, селен.

TIM图片20190416162441

Системный интеллект

Система интеллектуальна и может дать способность принимать решения, что эквивалентно мозгу.После того, как решение принято, система автоматически выполняет операцию. Что касается функции интеллектуального распределения единой системы рабочих заданий, она в основном основана на исторических записях об отправке рабочих заданий и многомерной статистике функций.Более разумно изучить модель для принятия решения об отправке рабочих заданий. определенному сотруднику.

Что необходимо сделать, так это собрать исторические данные рабочего задания и связанного с ним сотрудника (включая атрибуты сотрудника).Объем выборочных данных должен быть гарантирован, а время рабочего задания может включать данные за один год во время выборки, что может лучше обеспечить образец Распределение такое же, как и реальное распределение данных.

При этом для лучшего моделирования можно собрать общие правила отправки заказов фронтовикам.

TIM图片20190416162024

анализ случая

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

Однако, если вы напрямую сегментируете содержимое заголовка заказа на работу и выполняете обработку вектора слов, а затем используете его как функцию нейронной сети, общий эффект также будет очень плохим.

Приведенная выше схема не работает, на самом деле есть очень классический метод обработки, который заключается в вычислении сходства между текстами. Решения принимаются на основе значения сходства, сходства заголовков и сходства содержания.

Частота слов в статистике

В соответствии с историческим порядком работы нам нужно сначала подсчитать частоту слов. Обратите внимание, что здесь нет необходимости использовать обратную частотность документа, и каждый сотрудник фактически имеет свое собственное облако слов, поэтому более соответствует реальной ситуации подсчет частоты слов каждого сотрудника. Например, у разных сотрудников разная частота слов, высокая частота слов означает, что они обычно выполняют работу, связанную с такими словами. Кроме того, частота слов в заголовке и содержании также должна учитываться отдельно, поэтому частота слов на самом деле имеет три измерения: сотрудники, вопросы и содержание.

TIM图片20190416160010

расчет сходства

С частотой слов легко выполнить следующую работу, а частота слов напрямую отображается в вектор. С векторами сходство между текстами можно рассчитать с помощью модели векторного пространства и косинусного сходства. То есть для нового наряда на работу я вычисляю сходство между заголовком и названием исторического наряда на работу, вычисляю сходство между содержимым и содержимым исторического наряда на работу и объединяю их. с наибольшим сходством - это заказ на работу, который вы ищете. Конечно, в реальных ситуациях может быть установлен порог, и сопоставление считается успешным только при превышении порога.

from numpy import dot
from numpy.linalg import norm
if norm(vec1) * norm(vec2) != 0:
    sim = float(dot(vec1, vec2) / (norm(vec1) * norm(vec2)))
else:
    sim = 0

TIM图片20190416163215

проблемы с производительностью

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

Основная идея состоит в том, чтобы проиндексировать заголовок и содержание заказа на работу.При сопоставлении сначала искать соответствующий заголовок контента через поисковую систему, а затем вычислять сходство. Обратите внимание, что, как правило, не используйте полнотекстовые поисковые системы напрямую для расчета сходства, это слишком грубо и не имеет положительного значения. И удобно использовать модельные алгоритмы типа word2vec или bert.Конечно, если вы можете написать движок, вы можете свалить всю работу на поисковик.

TIM图片20190416164221

------------- Рекомендуем прочитать ------------

Краткое изложение моих проектов с открытым исходным кодом (машинное и глубокое обучение, НЛП, сетевой ввод-вывод, AIML, протокол mysql, чат-бот)

Зачем писать «Анализ проектирования ядра Tomcat»

2018 Алгоритмы структуры сводных данных

Сборник статей по машинному обучению за 2018 г.

Сводка статей о глубине Java за 2018 г.

Резюме по обработке естественного языка за 2018 г.

Резюме глубокого обучения за 2018 г.

Сводка статей об исходном коде JDK за 2018 г.

Обзор Java Concurrency Core за 2018 г.

Итоговые чтения за 2018 год


Поговори со мной, задай мне вопросы:

Добро пожаловать, чтобы следовать: