Разработка экспертной системы по подбору кадров на основе нейронной сети

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    530,73 Кб
  • Опубликовано:
    2016-11-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка экспертной системы по подбору кадров на основе нейронной сети

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

"Сибирский государственный аэрокосмический университет имени академика М.Ф. Решетнева"

Институт информатики и телекоммуникаций

Кафедра информатики и вычислительной техники

Курсовой проект

по дисциплине: Интеллектуальные системы и технологии

на тему: "Разработка экспертной системы по подбору кадров на основе нейронной сети"


Выполнил: ст-т гр. БИСЗУ 13-01

Бобков А.И.

Проверил: руководитель работы

Дамов М.В.



Красноярск, 2016

Содержание

Введение

1. Описание экспертной системы по подбору кадров

1.1 Описание для разработки постановка задачи

1.2 Назначение разработки

1.3 Требования к надежности

1.4 Требования к программе

1.5 Требование к функциональным характеристикам

1.6 Требование к составу и параметрам технических средств ЭВМ

2. Разработка экспертной системы по подбору кадров

2.1 Структура входных данных

2.2 Руководство программиста

2.3 Руководство пользователя

2.4 Тестирование программного средства

Заключение

Список используемой литературы

Приложение

Введение


Все чаще речь идет не о точечном, индивидуальном отборе, а о массовом рекрутменте, когда нужно за короткий срок подобрать множество кандидатов одновременно. И сделать это не только быстро, но и максимально эффективно (да еще и с минимальными затратами). Представьте, сколько трудностей необходимо преодолеть, чтобы реализовать такой большой проект. Речь об управлении огромным объемом информации, множеством ресурсов и каналов. Не каждой компании, кадровой службе по плечу такая задача. И не каждая система, программное обеспечение по подбору персонала справится с этим. Зачастую у кадровиков просто нет необходимого инструментария, опыта и знаний для осуществления подобного рода проектов.

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

Для этого необходимо разработать программное средство, то есть "Экспертную систему по подбору кадров с использованием нейронной сети".

Целью данной курсовой работы является изучение системы работы с кадровым учетом по отбору кандидатов на ту или иную должность.

Выгоды и преимущества автоматизации подбора сотрудников с помощью "Экспертной системы":

·              Сокращение трудозатрат, связанных с вводом информации;

·              Убыстрение поиска и привлечения кандидатов.

·              Постоянный рост базы.

·              Упрощенный учет, исключение потери данных.

подбор кадр экспертная система

·              Качественная, полноценная проработка информации о требованиях на вакансию.

1. Описание экспертной системы по подбору кадров


1.1 Описание для разработки постановка задачи


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

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

Основанием разработки программы является выполнение курсовой работы по дисциплине "Интеллектуальные системы и технологии" на примере "Экспертной системы по подбору персонала с использованием нейронной сети". Программа должна быть разработана для оптимизации подбора кадров.

1.2 Назначение разработки


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

1.3 Требования к надежности


Надежность системы в целом зависит от надежности используемой операционной системы.

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

1.4 Требования к программе


Основным требованием к "Экспертной системе по подбору персонала на основе нейронной сети" является функция по подбору персонала с помощью фактора.

1.5 Требование к функциональным характеристикам


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

·        Изменять характеристика объекта и сам объект;

·        Добавлять/изменять, удалять характеристики объекта и сам объект;

·        Сохранять/загружать базу хранения информации об объекте;

·        Осуществлять обучение сети;

·        Выполнение вопроса по подбору кадров.

1.6 Требование к составу и параметрам технических средств ЭВМ


В качестве компьютера должен использоваться компьютер с характеристиками, не ниже следующих:

·        процессор Intel Pentium 1000 МГц;

·        объем оперативной памяти - 512 Мб;

·        объем HDD - 30 Гб.

В качестве операционных систем может использоваться:

·        Microsoft Windows XP и выше.

2. Разработка экспертной системы по подбору кадров


2.1 Структура входных данных


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

Что подразумевается под словом желаемый результат? Это факт, введенный во время обучения нейронной сети "Экспертной системы".

Если мы задали значение факт, что высшее образование, и знание языков программирования. С++, Delphi, 1C: Предприятие, C# - это программист, то это значит, что единицы сигнала падают на входы, закрепленные за признаками "высшее образование" и "знание языков программирования. С++, Delphi, 1C: Предприятие, C#" и нули на остальные входы, а желаемый результат реакции будет равен 1. Если для данных свойств имеется факт, что это не наш объект - то желаемый результат реакции будет равен 0.

В программном средстве "Экспертная система по подбору персонала с помощью нейронной сети" для каждого объекта предусмотрен свой нейрон. Например, когда вы добавляете новый объект, создается новый экземпляр класса RecognizableObject, а в нем создается и экземпляр класса Neuron.

Для реализации программного средства "Экспертная система по подбору кадров на основе нейронной сети" была спроектирована нейронная сеть, которая имеет два параметра:

-       характеристика объекта;

-       наименование объекта.

Ниже изображено окно ввода признака (свойства) объекта.


Используемый класс нейросети изображен ниже:

// / Объявление класса нейрона

[Serializable]class Neuron

// / Входные данные нейросети

public List<double> inputs;

Ниже изображен рисунок 2, на котором видно окно ввода имени объекта при вводе и редактировании.

Рисунок 2 - Ввод имени объекта

2.2 Руководство программиста


Программа состоит из файлов следующих типов:

·        ExpertSystemKadru. exs - файл базы данных экспертной системы;

·        Neuron. cs - модуль нейронной сети;

·        FuncTranc. cs - передаточная функция;

·        ExpertSystemKadru. csproj - главный файл проекта;

После запуска файла ExpertSystem. exe на экране появится окно главного проекта.

Рисунок 3 - Окно программы "Экспертная система по подбору кадров на основе нейронной сети"

Ниже изображен рисунок 4, вопрос "Экспертной системе по подбору кадров" далее необходимо выбрать признак объекта который необходимо идентифицировать.

Рисунок 4 - Окно вопроса "Экспертная система по подбору кадров на основе нейронной сети"

Ниже изображен рисунок 5, вывод ответа на вопрос "Экспертной системе по подбору кадров" с помощью нейронной сети мы подали на вход два значения получили ответ, на определенную должность имеющий этот признак в данном случае "Специалист по подбору персонала" содержит характеристику "Высшее образование, Знание 1С: Предприятие Зарплата и кадры государственного учреждения редакция 2-3". Ответ на выходе нейронной сети подал верный сигнал.

Рисунок 5 - Окно вывода результата с помощью нейронной сети "Экспертная система по подбору кадров на основе нейронной сети"

Основная задача экспертной системы - по заданному набору признаков распознать объект.

2.3 Руководство пользователя


В ходе курсового проектирования была разработана "Экспертная система по подбору персонала на основе нейронной сети". Руководство пользователя по работе с данным программным средством представлено в таблице 1.

Таблица 1 - Действия пользователя при работе с программой.

Операция

Действия пользователя

Действие программы

Запуск программы

ExpertSystem. exe

Появится главное окно программы

Выбор раздела - Файл

Нажатие на кнопку - Загрузить

Необходимо указать файл сохраненной базы "Экспертной системы по подбору персонала"


Нажатие на кнопку - Сохранить

Необходимо указать имя файла "Экспертной системы по подбору персонала" для сохранения базовой информации


Нажать на кнопку - Выход

Выход из программы "Экспертной системы по подбору персонала"

Категория - Свойства

Нажать на кнопку-Добавить свойство

Добавляет в список поля свойства для объектов


Нажатие на кнопку - Редактировать свойство

Редактирует выбранное свойство


Нажатие на кнопку - Удалить свойство

Удаляет в том, случае если нет списка объектов, иначе запрет на удаление свойства

Категория - Объекты

Нажать на кнопку - добавить объект

Добавляет в список поля объект


Нажать на кнопку - редактировать объект

Редактирует выбранный объект


Нажатие на кнопку - удалить объект

Удаляет данный объект

Продолжение таблицы 1 - Действия пользователя при работе с программой.

1

2

3

Произвести обучение по сети

Нажатие на кнопку - Ввод факторов о кадрах

Выбор объекта в качестве входного параметра и создание фактора для этого объекта с выбором свойства для подбора персонала

Выполнить вопрос

Нажатие на кнопку - Выполнить вопрос

Экспертная система находит объект по совокупности признаков

О программе

Нажать кнопку - об Авторе

Высвечивается информация о разработчике


Когда пользователь выполняет (задает) вопрос Экспертной системе, выбирая нужные признаки, на соответствующие входы подаются сигналы 1, а на остальные, невыбранные - 0. При чем у каждого нейрона. Если выходной сигнал будет равен 1 - это наш объект (должность наша), если 0 то нет (не знает объект или должность). Может быть и так, что заданным признакам соответствует несколько объектов. Программа сообщит об этом, может произойти так, что и ни одного. Тогда "Экспертная система" ответит: "Я не знаю, что это за вакансия".

2.4 Тестирование программного средства


В целом "Экспертная система по подбору кадрового" работает хорошо, хотя возможны и ложные срабатывания. Выход решения с такими ложными срабатываниями заключатся в том, что бы в процессе обучения задать экспертной системе больше фактов, особенно, касающихся факта, что "Это не тот объект". Например, наряду с фактами что "Высшее образование и знание 1С - это Бухгалтер" полезно задать факты, что "стаж вождения 3 года и высшее образование - это Бухгалтер", "знание языков программирования С++, С# - это не огурец" кислый и оранжевый - это не Бухгалтер".

Рисунок 6 - Окно вывода факта "Экспертная система по подбору кадров на основе нейронной сети"

Ниже изображен рисунок 7 выполнение вопроса в "Экспертной системе".

Рисунок 7 - Окно вывода факта "Экспертная система по подбору кадров на основе нейронной сети"

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

Заключение


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

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

В качестве программной системы реализации экспертной системы выбрана система Visual Studio Professional 2010 в качестве языка программирования C#.

Данная система выбрана как наиболее подходящая с точки зрения реализации принципов объектно-ориентированного программирования. Была создана структура классов, разработаны формы и их программные модули.

Разработанная система может быть использована в качестве системы по подбору персонала и др.

Список используемой литературы


1.      Агуров П.В. C#. Сборник рецептов. 2007, 429 стр. djvu;

2.      Ишкова Э.А. Самоучитель C#. Начала программирования 2013 год;

.        Уотсон Карли и др. C# 2008 Базовый курс. 2009, 1211 стр. djvu;

.        Как построить свою экспертную систему: Нейлор К. 1991 год;

.        Хайкин С. Нейронные сети: Полный курс 2006 год.

Приложение


Приложение А

ЛИСТИНГ ПРОГРАММЫ

Модуль - Neuron

using System;System. Collections. Generic;ExpertSystem

{

// / Объявление класса нейрона

[Serializable]class Neuron

{

// / Генератор случайных чиселstatic Random rnd = new Random ();

// / Входные данные нейросети

public List<double> inputs;

// / Выходной результат нейросети

public double output;

// / Весовые коэффициенты нейросетиList<double> weights;

// / Передатчоная функцияFuncTranc trans;

// / Коэффициент обучения нейронной сети

public double mu;

// / Конструктор по количеству весов

// /Количество весов

// /Передаточная функцияNeuron (int a_count, FuncTranc a_trans)

{= new List<double> ();= new List<double> ();(int i = 0; i < a_count; i++)

{. Add (0);. Add (rnd. NextDouble () * 2 - 1);

}= a_trans;

}

// / Рассчитать нейронvoid compute ()

{res = 0;(int i = 0; i < weights. Count; i++)

{+= (weights [i] * inputs [i]);

}= trans.compute (res);

}

// / Обучение нейрона

// / Желаемая реакция

// / Входной векторvoid study (double t, List<double> a_inputs)

{y = output;dty = t - y;. study (mu, dty);(int i = 0; i < weights. Count; i++)

{[i] = weights [i] + mu * dty * a_inputs [i];

}

}

// / Установить входные параметры

// /

// / Список чиселvoid set_incomes (List<double> a_incomes)

{(a_incomes. Count! = inputs. Count) throw new Exception ("Neuron: set_incomes: Указано неверное число входных параметров!");cn = a_incomes. Count;(int i = 0; i < cn; i++)

{[i] = a_incomes [i];

}

}

}

}

Модуль - передаточной функции FuncTranc

namespace ExpertSystem

{ // / Класс констант кодов передаточной функцииstatic class TransFuncConstId

{

// / Пороговое значениеconst int ThresholdId = 1;

// / Трехуровневая передаточная функцияconst int ThreeLevelsId = 2;

// / Сигмоидная передаточная функцияconst int SignFuncId = 3;

// / Линейная функция с насыщениемconst int LinearSaturationId = 4;

// / Гаусоовская передаточная функцияconst int GaussFuncId = 5;

// / Передаточная функция "Как есть" const int AsisId = 6;

// / Количество видов передаточных функций

public const int TransFuctionCount = 6;

}

{

// / Проверить эквивалентность передаточной функции

// / Другой объект передаточной функции

// / true - эквивалентны, false - разные

bool is_equal (FuncTranc a_func);

// / Рассчитать передатчоную функцию

// / Передаваемое значение

// / Результат расчета

double compute (double a_income);

// / Создать самостятельную копию передаточной функции

// / Самостоятельная копия

FuncTranc clone ();

// / Идентифкационный код передаточной функции

int id {get; }

// /Проверка корректности передаточной функции

// /true - корректная, false - некорректная</returns>

bool valid (double min, double max);

// / Обучение передаточной функции

// / Коэффицент обучения

// / Разница между желаемым и реальным исходом

void study (double mu, double dty);

}}

Похожие работы на - Разработка экспертной системы по подбору кадров на основе нейронной сети

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!