Автор молодец, просто работа не нужна больше
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Одним из самых популярных направлений в сфере информационных технологий в последнее время стала обработка и анализ больших данных. Современные алгоритмы интеллектуального анализа представляют все необходимые инструменты для анализа больших объемов данных. Обработка информации во всем разрезе позволяет использовать полученные знания для принятия решений или другого рода анализа. В данном дипломном проекте показано, как можно применить современные алгоритмы обработки больших данных для оценки Российских юридических лиц.
ВВЕДЕНИЕ 4
1 ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1 Входные данные и классификация 5
1.2 Используемые технологии 9
1.2.1 Программная платформа Microsoft .NET 9
1.2.2 SQL 13
2 ОБЩИЙ АЛГОРИТМ 17
2.1 Обучение классификатора 17
2.2 Признаки для классификации компаний 18
3 АРХИТЕКТУРА И МОДУЛИ СИСТЕМЫ 20
3.1 Модель классов 22
3.2 Модуль доступа к данным 22
3.3 Модуль обработки данных и представления отчета 22
3.4 Результаты работы 23
ЗАКЛЮЧЕНИЕ 26
CПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 27
Приложение 1 28
Приложение 2 30
Приложение 3 33
Приложение 4 37
1.1 Входные данные и классификация
1.1.1 Входные данные
Первая проблема, которую необходимо решить – это входные данные. В этом вопросе существуют некоторые трудности. Связаны они с тем, что информация о юридических лицах, которая нам необходима, считается открытой и доступной всем, только в удобном для обработки виде её достать практически невозможно. Например, на сайте налоговой службы, есть раздел позволяющий получать информацию о компании в виде pdf файла. Однако, данный ресурс защищен от автоматического сбора информации. К тому же, в отчете содержится лишь общая информация о адресе, учредителях, руководстве и т.д.
Есть некоторые сервисы, например «Контур Фокус»,
«Картотека», которые предоставляют информацию по API.
API доступ – возможность получать информацию в формате xml или json, что удобно для интеграции источника данных в разрабатываемое программное обеспечение.
Данный способ предоставляет полный объем необходимой информации.
...
1.2.1 Программная платформа Microsoft .NET
Программная платформа Microsoft .NET является одной из реализаций стандарта ECMA-335 [13] и является современным инструментом создания клиентских и серверных приложений для операционной системы Windows. Первая общедоступная версия .NET Framework вышла в феврале 2002 года. С тех пор платформа активно эволюционировала и на данный момент было выпущено шесть версии данного продукта. На данный момент номер последней версии .NET Framework — 4.5. Платформа Microsoft .NET была призвана решить некоторые наболевшие проблемы, скопившиеся на момент её выхода, в средствах разработки приложений под Windows. Ниже перечислены некоторые из них [14, с.
...
2.1 Обучение классификатора
шаги:
Алгоритм обучения в общем виде представляет из себя следующие
• Получить обучающую выборку (множество с заранее известными классами)
• Определить признаки объектов, по которым необходимо вести классификацию
• Передать выборку для обучения классификатора
Рисунок 1
В соответствии с выше описанным алгоритмом, у нас имеется обучающая выборка L. Где каждый объект представляет из себя набор признаков – P, и класс, к которому этот объект принадлежит. Это множество передается классификатору для обучения. Где происходит анализ зависимостей между значениями признаков и принадлежности к классам.
В итоге обучения классификатора у нас получается модель классификатор, которая способна классифицировать произвольные объекты с набором признаков P.
Рисунок 2
В результате классификации объектам присваивается тот или иной класс, к которому они относятся или используют вероятность принадлежности к классам.
2.2 Признаки для классификации компаний
Характеристики, по которым будет проходить классификация, называются признаками (features). Для того, чтобы выделить конкретные признаки, сначала необходимо рассмотреть доступную информацию о компаниях. В используемой базе данных доступна следующая информация:
• История наименований
• История адресов
• Количество судебных дел в качестве истца, ответчика и другие
• Количество и сумма исполнительных производств (судебные приставы)
• Размер уставного капитала
• Список учредителей
• История изменения руководителей
• Дата регистрации
История наименований включает в себя список наименований и даты. Довольно важный показатель, поскольку недобросовестные компании, преследуя плохие намерения, могут часто менять наименований.
Также как и наименования, компании могут часто менять адреса, чтобы скрываться от обязанностей.
Правовую деятельность компании описывает ее арбитражная практика.
...
3 АРХИТЕКТУРА И МОДУЛИ СИСТЕМЫ
Разрабатываемое решение может быть представлено в виде 4 отдельных компонентов или модулей. Первый компонент- это сервер баз данных. В нашем случае, это реляционные базы данных MSSQL, в которых хранятся входные данные. Данный компонент может находится на удаленном сервере. Так, в нашем случае, база данных находится на удаленном сервере и доступ к ней осуществляется попротоколу TCP/IP.
Также сервер баз данных может быть развернут локально, что не целесообразно в нашем случае ввиду большого объема данных.
Остальные модули разделены логически, но фактически они представляют собой отдельные классы в одной программе.
Рисунок 4
Модуль доступа к данным представляет собой класс, который использует библиотеку Dapper для получения информации из базы данных. Данный класс требует передачи строки подключения к серверу в качестве параметра конструктора.
Следующий модуль получает данные и совершает необходимые подсчеты и обработку.
...
3.1 Модель классов
Рисунок 5
Модель классов представления информации изображена на Рисунке
1. Главный класс – Company, остальные классы, которые представляют информацию о компании, наследованы от абстрактного класса CompanyInfo. Полное описание классов приведено в Приложении 1.
3.2 Модуль доступа к данным
Логика работы этого класса следующая: конструктор принимает строку подключения, по которой открывается SQL-соединение. Класс содержит единственные общедоступный метод, который принимает ОГРН компании. Данный метод сначала запрашивает идентификатор компании в главной таблице с компаниями. Если такой компании не найдено, генерируется исключение с соответствующим сообщением. Если компания найдена, дальше последовательно собирается информация, которая привязана к идентификатору компании.
Вся информация о компании собирается в объекте класса Company в виде свойств.
3.3 Модуль обработки данных и представления отчета
Эта часть проекта отвечает за взаимодействие в с пользователем, обработку информации и вывод результатов.
Программа ожидает ввода пользователем ОГРН компании в соответствующее поле. Затем после ввода информации и нажатия кнопки, запускается обработка в отдельном потоке, чтобы не блокировать основной поток работы приложения. Поскольку при блокировке основного потока пользовательский интерфейс не отвечает.
Текущий модуль обращается к модулю доступа данных для того, что получить информацию о компании. Модуль доступа к данным представляет из себя класс DataAccess. Затем передает это в классификатор, для оценки вероятности риска.
После завершения процесса обработки информации, начинается генерация отчета. За это отвечает класс ReportGenerator.
ReportGenerator формирует общую информацию о компании в виде html страницы. Данный метод формирования отчета был выбран из-за универсальности.
...
ЗАКЛЮЧЕНИЕ
В представленной работе была рассмотрена проблема оценки рисков сотрудничества с компанией. Работа была разбита на 2 логические части. Первая часть является обзорной, в которой рассматривались проблемы входных данных, классификации и выбора технологий для реализации. Во второй, основываясь на выводах первой части была предложена своя версия реализации.
В рамках этой дипломной работы, были использованы следующие знания и технологии из разных областей: бинарные деревья решений ( Машинное обучение), платформа .NET и язык программирования C#, база данных MS SQL и ORM библиотека Dapper. Получившаяся программа имеет следующие требования для среды: Операционная система Windows XP и следующие версии с установленной платформой .NET Framework версии 4.0.
Важно отметить, в каком направлении можно дальше развивать эту разработку. Во первых, при более полном источнике информации стоит уделить большее внимание построению классификатора.
...
Приложение 1
using System;
using System.Collections.Generic; using System.Linq;
using System.
...
Приложение 2
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.Threading.Tasks;
namespace CheckCompany_
{
public partial class Form1 : Form
{
DataAccess dataAccess = new DataAccess("Data Source=*********;User Id=*****;Password=**************;");
public Form1()
{
InitializeComponent();
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
button1.Text = "Подождите..."; groupBox1.Enabled = false;
Task.Factory.StartNew(() =>
{
try
{
var company = dataAccess.GetCompany(textBox1.Text.Trim());
var report = ReportGenerator.GenerateReport(company);
//webBrowser.Source = new Uri("file:///" +
@"C:\Users\Aydar\OneDrive\Edu\kgeu\diploma\programm\CheckCompany\Ch eckCompany\bin\Debug\test.html");
this.
...
Приложение 3
using System;
using System.Collections.Generic; using System.Linq;
using System.Text; using Dapper;
using System.Data.SqlClient;
namespace CheckCompany_
{
class DataAccess
{
private string ConnectionString;
public DataAccess(string ConnectionString)
{
this.ConnectionString = ConnectionString;
}
public Company GetCompany(string ogrn)
{
try
{
using (SqlConnection sqlConnection = new SqlConnection(ConnectionString))
{
sqlConnection.Open();
var company=sqlConnection.Query
}).FirstOrDefault();
if (company == null)
найдена");
throw new Exception("Компания с таким ОГРН не
company.Names = sqlConnection.Query
• from [MainBase_new].dbo.Names where CompanyId=@companyId", new { companyId = ogrn });
company.Addresses= sqlConnection.Query
...
[1] Джозев Альбахари, Бен Альбахари. C# 5.0 Справочник. Полное описание языка. Вильямс, 2013
[2] Stanford University. Probabilistic Graphical Models [Электронный ресурс].
— Электронные данные. — Режим доступа: https://www. coursera.org/course/pgm. — Дата доступа: 08.05.2013.
[3] Макконнелл, С. Совершенный код. Мастер-класс / Пер. с англ. / С. Макконнелл. — СПб. : Издательско-торговый дом «Русская редакция», 2005. — 896 с.
[4] Рихтер, Джеффри. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C# / Джеффри Рихтер. — 2е изд.
— СПб. : Питер, Русская Редакция, 2007. — 656 с.
[5] SQL - https://ru.wikipedia.org/wiki/SQL
[6] ADO.NET -https://msdn.microsoft.com/ru-ru/dn308572.aspx
[7] Оценка компаний - http://www.garant.ru/article/511892/
[8] Добросовестность партнеров http://sf-sro.ru/raz-yasneniya/kak-ubeditsya- v-dobrosovestnosti-kont
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Одним из самых популярных направлений в сфере информационных технологий в последнее время стала обработка и анализ больших данных. Современные алгоритмы интеллектуального анализа представляют все необходимые инструменты для анализа больших объемов данных. Обработка информации во всем разрезе позволяет использовать полученные знания для принятия решений или другого рода анализа. В данном дипломном проекте показано, как можно применить современные алгоритмы обработки больших данных для оценки Российских юридических лиц.
ВВЕДЕНИЕ 4
1 ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1 Входные данные и классификация 5
1.2 Используемые технологии 9
1.2.1 Программная платформа Microsoft .NET 9
1.2.2 SQL 13
2 ОБЩИЙ АЛГОРИТМ 17
2.1 Обучение классификатора 17
2.2 Признаки для классификации компаний 18
3 АРХИТЕКТУРА И МОДУЛИ СИСТЕМЫ 20
3.1 Модель классов 22
3.2 Модуль доступа к данным 22
3.3 Модуль обработки данных и представления отчета 22
3.4 Результаты работы 23
ЗАКЛЮЧЕНИЕ 26
CПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 27
Приложение 1 28
Приложение 2 30
Приложение 3 33
Приложение 4 37
1.1 Входные данные и классификация
1.1.1 Входные данные
Первая проблема, которую необходимо решить – это входные данные. В этом вопросе существуют некоторые трудности. Связаны они с тем, что информация о юридических лицах, которая нам необходима, считается открытой и доступной всем, только в удобном для обработки виде её достать практически невозможно. Например, на сайте налоговой службы, есть раздел позволяющий получать информацию о компании в виде pdf файла. Однако, данный ресурс защищен от автоматического сбора информации. К тому же, в отчете содержится лишь общая информация о адресе, учредителях, руководстве и т.д.
Есть некоторые сервисы, например «Контур Фокус»,
«Картотека», которые предоставляют информацию по API.
API доступ – возможность получать информацию в формате xml или json, что удобно для интеграции источника данных в разрабатываемое программное обеспечение.
Данный способ предоставляет полный объем необходимой информации.
...
1.2.1 Программная платформа Microsoft .NET
Программная платформа Microsoft .NET является одной из реализаций стандарта ECMA-335 [13] и является современным инструментом создания клиентских и серверных приложений для операционной системы Windows. Первая общедоступная версия .NET Framework вышла в феврале 2002 года. С тех пор платформа активно эволюционировала и на данный момент было выпущено шесть версии данного продукта. На данный момент номер последней версии .NET Framework — 4.5. Платформа Microsoft .NET была призвана решить некоторые наболевшие проблемы, скопившиеся на момент её выхода, в средствах разработки приложений под Windows. Ниже перечислены некоторые из них [14, с.
...
2.1 Обучение классификатора
шаги:
Алгоритм обучения в общем виде представляет из себя следующие
• Получить обучающую выборку (множество с заранее известными классами)
• Определить признаки объектов, по которым необходимо вести классификацию
• Передать выборку для обучения классификатора
Рисунок 1
В соответствии с выше описанным алгоритмом, у нас имеется обучающая выборка L. Где каждый объект представляет из себя набор признаков – P, и класс, к которому этот объект принадлежит. Это множество передается классификатору для обучения. Где происходит анализ зависимостей между значениями признаков и принадлежности к классам.
В итоге обучения классификатора у нас получается модель классификатор, которая способна классифицировать произвольные объекты с набором признаков P.
Рисунок 2
В результате классификации объектам присваивается тот или иной класс, к которому они относятся или используют вероятность принадлежности к классам.
2.2 Признаки для классификации компаний
Характеристики, по которым будет проходить классификация, называются признаками (features). Для того, чтобы выделить конкретные признаки, сначала необходимо рассмотреть доступную информацию о компаниях. В используемой базе данных доступна следующая информация:
• История наименований
• История адресов
• Количество судебных дел в качестве истца, ответчика и другие
• Количество и сумма исполнительных производств (судебные приставы)
• Размер уставного капитала
• Список учредителей
• История изменения руководителей
• Дата регистрации
История наименований включает в себя список наименований и даты. Довольно важный показатель, поскольку недобросовестные компании, преследуя плохие намерения, могут часто менять наименований.
Также как и наименования, компании могут часто менять адреса, чтобы скрываться от обязанностей.
Правовую деятельность компании описывает ее арбитражная практика.
...
3 АРХИТЕКТУРА И МОДУЛИ СИСТЕМЫ
Разрабатываемое решение может быть представлено в виде 4 отдельных компонентов или модулей. Первый компонент- это сервер баз данных. В нашем случае, это реляционные базы данных MSSQL, в которых хранятся входные данные. Данный компонент может находится на удаленном сервере. Так, в нашем случае, база данных находится на удаленном сервере и доступ к ней осуществляется попротоколу TCP/IP.
Также сервер баз данных может быть развернут локально, что не целесообразно в нашем случае ввиду большого объема данных.
Остальные модули разделены логически, но фактически они представляют собой отдельные классы в одной программе.
Рисунок 4
Модуль доступа к данным представляет собой класс, который использует библиотеку Dapper для получения информации из базы данных. Данный класс требует передачи строки подключения к серверу в качестве параметра конструктора.
Следующий модуль получает данные и совершает необходимые подсчеты и обработку.
...
3.1 Модель классов
Рисунок 5
Модель классов представления информации изображена на Рисунке
1. Главный класс – Company, остальные классы, которые представляют информацию о компании, наследованы от абстрактного класса CompanyInfo. Полное описание классов приведено в Приложении 1.
3.2 Модуль доступа к данным
Логика работы этого класса следующая: конструктор принимает строку подключения, по которой открывается SQL-соединение. Класс содержит единственные общедоступный метод, который принимает ОГРН компании. Данный метод сначала запрашивает идентификатор компании в главной таблице с компаниями. Если такой компании не найдено, генерируется исключение с соответствующим сообщением. Если компания найдена, дальше последовательно собирается информация, которая привязана к идентификатору компании.
Вся информация о компании собирается в объекте класса Company в виде свойств.
3.3 Модуль обработки данных и представления отчета
Эта часть проекта отвечает за взаимодействие в с пользователем, обработку информации и вывод результатов.
Программа ожидает ввода пользователем ОГРН компании в соответствующее поле. Затем после ввода информации и нажатия кнопки, запускается обработка в отдельном потоке, чтобы не блокировать основной поток работы приложения. Поскольку при блокировке основного потока пользовательский интерфейс не отвечает.
Текущий модуль обращается к модулю доступа данных для того, что получить информацию о компании. Модуль доступа к данным представляет из себя класс DataAccess. Затем передает это в классификатор, для оценки вероятности риска.
После завершения процесса обработки информации, начинается генерация отчета. За это отвечает класс ReportGenerator.
ReportGenerator формирует общую информацию о компании в виде html страницы. Данный метод формирования отчета был выбран из-за универсальности.
...
ЗАКЛЮЧЕНИЕ
В представленной работе была рассмотрена проблема оценки рисков сотрудничества с компанией. Работа была разбита на 2 логические части. Первая часть является обзорной, в которой рассматривались проблемы входных данных, классификации и выбора технологий для реализации. Во второй, основываясь на выводах первой части была предложена своя версия реализации.
В рамках этой дипломной работы, были использованы следующие знания и технологии из разных областей: бинарные деревья решений ( Машинное обучение), платформа .NET и язык программирования C#, база данных MS SQL и ORM библиотека Dapper. Получившаяся программа имеет следующие требования для среды: Операционная система Windows XP и следующие версии с установленной платформой .NET Framework версии 4.0.
Важно отметить, в каком направлении можно дальше развивать эту разработку. Во первых, при более полном источнике информации стоит уделить большее внимание построению классификатора.
...
Приложение 1
using System;
using System.Collections.Generic; using System.Linq;
using System.
...
Приложение 2
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.Threading.Tasks;
namespace CheckCompany_
{
public partial class Form1 : Form
{
DataAccess dataAccess = new DataAccess("Data Source=*********;User Id=*****;Password=**************;");
public Form1()
{
InitializeComponent();
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
button1.Text = "Подождите..."; groupBox1.Enabled = false;
Task.Factory.StartNew(() =>
{
try
{
var company = dataAccess.GetCompany(textBox1.Text.Trim());
var report = ReportGenerator.GenerateReport(company);
//webBrowser.Source = new Uri("file:///" +
@"C:\Users\Aydar\OneDrive\Edu\kgeu\diploma\programm\CheckCompany\Ch eckCompany\bin\Debug\test.html");
this.
...
Приложение 3
using System;
using System.Collections.Generic; using System.Linq;
using System.Text; using Dapper;
using System.Data.SqlClient;
namespace CheckCompany_
{
class DataAccess
{
private string ConnectionString;
public DataAccess(string ConnectionString)
{
this.ConnectionString = ConnectionString;
}
public Company GetCompany(string ogrn)
{
try
{
using (SqlConnection sqlConnection = new SqlConnection(ConnectionString))
{
sqlConnection.Open();
var company=sqlConnection.Query
}).FirstOrDefault();
if (company == null)
найдена");
throw new Exception("Компания с таким ОГРН не
company.Names = sqlConnection.Query
• from [MainBase_new].dbo.Names where CompanyId=@companyId", new { companyId = ogrn });
company.Addresses= sqlConnection.Query
...
[1] Джозев Альбахари, Бен Альбахари. C# 5.0 Справочник. Полное описание языка. Вильямс, 2013
[2] Stanford University. Probabilistic Graphical Models [Электронный ресурс].
— Электронные данные. — Режим доступа: https://www. coursera.org/course/pgm. — Дата доступа: 08.05.2013.
[3] Макконнелл, С. Совершенный код. Мастер-класс / Пер. с англ. / С. Макконнелл. — СПб. : Издательско-торговый дом «Русская редакция», 2005. — 896 с.
[4] Рихтер, Джеффри. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C# / Джеффри Рихтер. — 2е изд.
— СПб. : Питер, Русская Редакция, 2007. — 656 с.
[5] SQL - https://ru.wikipedia.org/wiki/SQL
[6] ADO.NET -https://msdn.microsoft.com/ru-ru/dn308572.aspx
[7] Оценка компаний - http://www.garant.ru/article/511892/
[8] Добросовестность партнеров http://sf-sro.ru/raz-yasneniya/kak-ubeditsya- v-dobrosovestnosti-kont
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
3000 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55695 Дипломных работ — поможем найти подходящую