Система сбора, распознавания и обработки текстовых данных на примере рынка ветеринарных услуг

Основные подходы к сбору и обработке текстовых данных. Подходы к очистке табличных текстовых данных. Скрапинг веб-сайтов и работа с API. Реализация алгоритмов обработки данных ветеринарных сайтов. Сбор источников данных по рынку ветеринарных услуг Москвы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.12.2019
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Федеральное государственное автономное образовательное учреждение высшего образования

"Национальный исследовательский университет

"Высшая школа экономики""

Факультет коммуникаций, медиа и дизайна

Выпускная квалификационная работа

по направлению 42.04.02 Журналистика

Система сбора, распознавания и обработки текстовых данных на примере рынка ветеринарных услуг

Панкратова Анна Сергеевна

Москва 2019

Оглавление

Введение

Глава 1. Основные подходы к сбору и обработке текстовых данных

1.1 Теория баз данных

1.2 Скрапинг веб-сайтов и работа с API

1.3 Подходы к очистке табличных текстовых данных

Глава 2. Реализация алгоритмов обработки данных ветеринарных сайтов

2.1 Сбор источников данных по рынку ветеринарных услуг Москвы

2.2 Извлечение структурированных и неструктурированных данных

2.3 Обработка и создание единой базы данных

Заключение

  • Список использованной литературы
  • Введение

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

В соответствии с целью исследования, ставятся следующие задачи:

1. Описать текущее состояние исследуемой сферы (теория баз данных, различные методы скрапинга и парсинга веб-сайтов, методология OCR, очистка и обработка данных, работа с API);

2. Реализовать примеры работающих инструментов для сбора данных с сайтов ветеринарных клиник Москвы;

3. Создать прототип базы структурированных данных;

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

Объектом исследования является концепция скрапинга веб-сайтов и проектирования базы данных.

Предметом исследования является представление структурированной текстовой информации о ветеринарных услугах в формате открытых данных (на материалах, размещенных в открытом доступе на сайтах ветеринарных клиник Москвы).

Актуальность работы связана с распространением в мире концепции оптимизации рабочего процесса, применения машинного обучения взамен "ручному" труду.

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

Структура работы

Работа состоит из двух частей: теоретической и практической.

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

Во второй главе описывается процесс веб-скрапинга текстовых данных на примере нескольких ветеринарных клиник Москвы. Также показывается пример создания прототипа базы структурированных данных.

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

Глава 1. Основные подходы к сбору и обработке текстовых данных

1.1 Теория баз данных

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

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

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

· разделение и изоляция данных;

· дублирование данных;

· зависимость от данных;

· несовместимость файлов;

· фиксированные запросы/быстрое увеличение количества приложений.

Для повышения эффективности работы и решения вышеперечисленных проблем хранения данных в файловой системе было необходимо ввести новый подход к хранению и работе с данными - базу данных и систему управления базами данных (СУБД).

Обращаясь к теме баз данных, следует начать с определения данного понятия. Авторы книги "Базы данных. Проектирование, реализация и сопровождение. Теория и практика" Томас Коннолли и Каролина Бегг определяют базу данных как "совместно используемый набор логически связанных данных, предназначенный для удовлетворения информационных потребностей организации" Коннолли Т., Бегг К., Страчан А. Базы данных: Проектирование, Реализация и сопровождение. Теория и практика. - 3-е изд. Издательский дом "Вильяме", 2003.. Совместное использование данных подразумевает то, что база не принадлежит одному человеку, а является общим ресурсом. Также отмечается, что база хранит не только данные, но и их описание, называемое системным каталогом (system catalog), или словарем данных (data dictionary), а сами элементы описания принято называть метаданными ("данными о данных").

На сайте энциклопедии britannica.com база данных определяется как "любой набор данных или информации, которая специально организована для быстрого машинного поиска". Базы данных структурированы для облегчения хранения, поиска, изменения и удаления информации в сочетании с различными операциями обработки данных. Система управления базами данных (СУБД) извлекает информацию из базы данных в ответ на запросы Database // https://www.britannica.com URL: https://www.britannica.com/technology/database (дата обращения: 01.05.2019)..

Автор книги "Энциклопедия технологий баз данных" Когаловский М.Р. определяет базу данных как организованную в соответствии с определенными правилами и поддерживаемую в памяти компьютера совокупность данных, характеризующую актуальное состояние некоторой предметной области и использующую для удовлетворения информационных потребностей пользователей Когаловский М.Р. Энциклопедия технологий баз данных. - М.: Финансы и статистика, 2002..

В глоссарии IEEE по терминологии разработки программного обеспечения база данных определяется как совокупность взаимосвязанных данных, совместно хранимых в одном или нескольких компьютерных файлах 610.12-1990 - IEEE Standard Glossary of Software Engineering Terminology // https://ieeexplore.ieee.org URL: https://ieeexplore.ieee.org/document/159342 (дата обращения: 05.05.2019)..

По ГОСТ Р ИСО/МЭК ТО 10032-2007 под базой данных понимается совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняется в соответствии с правилами средств моделирования данных ГОСТ Р ИСО МЭК ТО 10032-2007. Эталонная модель управления данными (идентичен ISO/IEC TR 10032:2003 Information technology Reference model of data management). Введ. 01.09.2008..

Авторы учебного пособия "Базы данных" Голицына О.Л., Максимов Н.В., Попов И.И. понимают под базой данных совокупность данных, отражающую состояние объектов и их отношение к рассматриваемой области. Характерной чертой баз данных авторы выделяют постоянство: "данные постоянно накапливаются и используются; состав и структура данных обычно постоянны и стабильны во времени; отдельные или все элементы данных могут меняться - но и это есть проявление постоянства" Голицына О.Л., Максимов Н.В., Попов И.И. Базы данных. - 3-е изд. - М.: Форум, Инфра-М, 2009..

В книге "Введение в реляционные базы данных" под авторством Кириллова В.В. база данных определяется как "файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД" Кириллов В.В Введение в реляционные базы данных. - СПб.: БХВ-Петербург, 2009..

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

1. любая база данных хранится и обрабатывается в вычислительной системе;

2. база данных является структурированной системой;

3. база данных включает схему данных или метаданные;

4. база данных управляется и поддерживается с помощью СУБД Мирошниченко Е.А. К формальному определению понятия "база данных": канд. техн. наук - Томск, 2011..

В большинстве определений особое внимание уделяется такому понятию как система управления базы данных (СУБД). Согласно определению Томаса Коннолли и Каролины Бегг СУБД называют программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ Коннолли Т., Бегг К., Страчан А. Базы данных: Проектирование, Реализация и сопровождение. Теория и практика. - 3-е изд. Издательский дом "Вильяме", 2003.. СУБД включает в себя следующий функционал:

1. Создание базы данных;

2. Обновления, добавления, удаления и извлечения информации из базы данных при помощи языка запросов SQL (Structured Query Language), который в настоящее время является обязательным языком для любых реляционных СУБД;

3. Предоставление контролируемого доступа к базе данных.

Стоит отметить, что среди преимуществ подхода, основанного на использовании баз данных и СУБД, можно выделить следующие:

· контроль за избыточностью данных,

· непротиворечивостью данных,

· совместное использование данных,

· повышенную безопасность данных,

· целостность и стандартизацию данных.

Среди недостатков можно указать сложность, достаточно высокую стоимость поддержания работы СУБД, а также серьезные проблемы при выходе системы или одного компонента системы из строя.

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

1. Первый этап - концептуальное проектирование базы данных.

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

2. Второй этап - логическое проектирование.

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

3. Третий этап - физическое проектирование.

На последнем этапе осуществляется перенос логической модели данных в среду целевой СУБД, а также анализируются все технические аспекты, необходимые для работы базы данных.

Далее рассмотрим все этапы проектирование базы данных с краткими примерами процесса разработки БД для агрегатора ветеринарных услуг Москвы.

Концептуальное проектирование

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

Концептуальное проектирование базы данных осуществляется на основе модели "сущность-связь" (Entity-Relationship model, ER-модель) и состоит из следующих процессов:

1. выявление сущностей (entities) и связей (relationships) между данными.

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

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

2. указание атрибутов (attributes).

Атрибутами называют отдельные свойства сущностей. Отдельные атрибуты сущности могут являться ключами значений. Ключи подразделяются на:

· Первичный {Primary key / PK}. В документации SQL от Microsoft первичным ключом называют столбец или сочетание столбцов, содержащих значения, уникально определяющие каждую строку таблицы. Первичный ключ обеспечивает целостность сущности таблицы.

· Внешний {Foreign key / FK}. В документации SQL от Microsoft внешний ключ есть столбец или сочетание нескольких столбцов, которое применяется для принудительного установления связи между данными в двух таблицах. Внешние ключи обеспечивают контроль данных, которые могут храниться в таблице внешнего ключа Ограничения первичных и внешних ключей // https://docs.microsoft.com URL: https://docs.microsoft.com/ru-ru/sql/relational-databases/tables/primary-and-foreign-key-constraints?view=sql-server-2017#PKeys (дата обращения: 05.05.2019)..

· Составной. Ключ из двух и более атрибутов.

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

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

· Таблицы-связки для отношений "много ко многим". В данных таблицах естественным ключом является вся запись целиком - нет причин создавать отдельный суррогатный ключ.

· Использование отношений в базе данных для дополнительной проверки целостности Стоит ли делать составной первичный ключ? // https://ru.stackoverflow.com URL: https://ru.stackoverflow.com/questions/405909/Стоит-ли-делать-составной-первичный-ключ (дата обращения: 05.05.2019)..

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

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

1. Исследование связей "один к одному" (1:1).

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

2. Удаление избыточных связей.

Связь называют избыточной, если в ней содержится информация, которая может быть получена с помощью других связей. Для минимизации модели данных необходимо удалить избыточные связи Коннолли Т., Бегг К., Страчан А. Базы данных: Проектирование, Реализация и сопровождение. Теория и практика. - 3-е изд. Издательский дом "Вильяме", 2003..

Логическое проектирование

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

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

Процесс нормализации осуществляется в виде нескольких этапов, каждый из которых соответствует своей нормальной форме, обладающей определенными свойствами. Авторы книги "Базы данных. Проектирование, реализация и сопровождение. Теория и практика" Томас Коннолли и Анна Страчан считают, что выполнение требований первой нормальной формы (1НФ) является обязательным для создания отношений приемлемого качества Коннолли Т., Бегг К., Страчан А. Базы данных: Проектирование, Реализация и сопровождение. Теория и практика. - 3-е изд. Издательский дом "Вильяме", 2003.. Остальные четыре формы могут быть использованы по желанию проектировщика. Но во избежание проблем с аномалиями обновлений нормализацию обычно выполняют до третьей нормальной формы (ЗНФ) Игнатюк В.А, Сторожок Е.А. Логическое проектирование реляционной базы данных на основе принципов нормализации: наук: "Автоматика. Вычислительная техника". 2011.. Кратко рассмотрим первые три из пяти нормальных форм.

1. Первая нормальная форма (1НФ).

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

2. Вторая нормальная форма (2НФ).

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

3. Третья нормальная форма (3НФ).

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

На завершающей стадии процесса логического проектирования БД для каждой локальной логической модели необходимо подготовить ER-диаграмму, реляционную схему, системный каталог (словарь данных), сопроводительную документацию с описанием ограничений на модель. На этапе логического построения все перечисленные компоненты используются для выявления аналогий и различий между локальными логическими моделями данных. В небольших системах из пары пользовательских представлений с малым числом типов сущностей и связей, задача сравнения локальных моделей с последующим слиянием и устранением любых возможных противоречий является относительно простым процессом. Однако в крупных системах необходимо использовать более систематизированный подход, состоящий из нескольких этапов (например, анализ имен и содержимого сущностей потенциальных и внешних ключей, проверка внешних ключей, проверка ограничений целостности и т.д.) Коннолли Т., Бегг К., Страчан А. Базы данных: Проектирование, Реализация и сопровождение. Теория и практика. - 3-е изд. Издательский дом "Вильяме", 2003..

Физическое проектирование

На этапе физического проектирования происходит процесс подготовки описания реализации базы данных на внешних запоминающих устройствах. Это описание структуры хранения данных и эффективного метода доступа к ним. Если на этапах логического и концептуального проектирования можно получить ответ на вопрос "что надо сделать?", то на этапе физического - "как именно это сделать?". То есть основной целью физического проектирования базы данных является описание способа физической реализации логического проекта базы данных. Более подробного этап физического проектирования будет рассмотрен в практической части данной работе на реальном примере с БД агрегатора ветеринарных услуг.

1.2 Скрапинг веб-сайтов и работа с API

На сегодняшний день часть информации передается в сеть с помощью формального структурированного набора данных, который легко поддается машинной обработке. Однако Интернет также переполнен неструктурированными и полуструктурированными данными. Такие данные не могут быть рассмотрены в качестве формального набора данных: многие веб-страницы содержат текстовое содержимое, которое читается человеком, но с трудом читается машиной. Процесс веб-скрапинга может устранить этот пробел и дать возможность автоматически извлечь структурированные наборы данных (любые категории данных: текст, контактные данные, изображения, видео, файлы и т.д.) из нужного контента Geoff Boeing, Paul Waddell New Insights into Rental Housing Markets across the United States: Web Scraping and Analyzing Craigslist Rental Listings: - Journal of Planning Education and Research, 2016..

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

Обращаясь к теме веб-скрапинга, следует начать с определения данного понятия. Наиболее точное определение для данного термина дает автор книги "Скрапинг веб-сайтов с помощью Python" Райан Митчелл - под веб-скрапингом понимается процесс сбора данных с помощью любых средств, кроме программ, использующих API. Веб-скрапинг осуществляется с помощью программы, которая автоматически запрашивает веб-сервер, запрашивает данные (например, html), выполняет парсинг этих данных для извлечения необходимой информации. Стоит разделять скрапинг и парсинг данных, где под парсингом понимается синтаксический анализ, разбор текста в синтаксическое дерево в соответствии с формальной грамматикой В чем разница между парсингом(parsing) и скрейпингом(Web Scraping)? // https://ru.stackoverflow.com URL: https://ru.stackoverflow.com/questions/590888/В-чем-разница-между-парсингомparsing-и-скрейпингомweb-scraping (дата обращения: 01.05.2019)..

В данной работе рассмотрен наиболее универсальный вариант скрапинга с помощью высокоуровневого языка программирования Python. Для дальнейшего описания различных подходов к сбору данных условно разделим веб-скрапинг на работу со сбором статического и динамического контента. В части "статического контента" дано краткое описание для html парсинга, работа с API, краулинга сайтов, использующих веб-формы. В части "динамического контента" - краткая методология скрапинг JavaScript кода.

Парсинг HTML

На сегодняшний html (HyperText Markup Language) является основным языком, с помощью которого создается большинство веб-сайтов HTML // Википедия URL: https://ru.wikipedia.org/wiki/HTML (дата обращения: 01.05.2019).. Любая страница на языке html представляет из себя набор элементов, где начало элемента обозначается открывающим тэгом, а конец - закрывающимся.

Структура html-страницы представляет из себя родственные связи из элементов-потомков, родительских, дочерних и сестринских элементов, находящихся внутри корневого элемента <html>:

· Потомок - элемент, расположенный внутри одного или более типов элементов.

· Родительский элемент - элемент, связанный с другими элементами более низкого уровня, и находящийся на дереве выше их.

· Дочерний элемент - элемент, непосредственно подчиненный другому элементу более высокого уровня.

· Сестринский элемент - элемент, имеющий общий родительский элемент с рассматриваемым, так называемые элементы одного уровня.

Стоит отметить, что дочерние и сестринские тэги всегда на уровень ниже родительского тэга, в то время как тэги-потомки могут быть ниже родительского, располагаясь на любом уровне Райан Митчелл Скрапинг веб-сайтов с помощью Python. Сбор данных из современного интернета. ДМК-Пресс, 2016..

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

· тэги верхнего уровня;

· блочные элементы;

· тэги заголовка документа;

· строчные элементы;

· универсальные элементы;

· списки;

· таблицы;

· фреймы Типы тегов // http://htmlbook.ru URL: http://htmlbook.ru/samhtml/tipy-tegov (дата обращения: 08.05.2019)..

Для полноты контента внутри тэга могут содержаться различные атрибуты (глобальные и собственные), позволяющие дополнять и управлять настройками отображения информации на веб-странице. Каждый атрибут тэга относится к определенному типу (например: изображение, ссылка, текст, путь к файлу), который обязательно должен учитываться при написании атрибута. К примеру, рассмотрим тэг <img>, который добавляет на страницу рисунок, а его атрибут height определяет высоту изображения в пикселях. Если поставить не число, а текст, то произойдет игнорирование информации и возникнет ошибка при валидации документа Атрибуты тегов // http://htmlbook.ru URL: http://htmlbook.ru/samhtml/tegi/atributy-tegov (дата обращения: 08.05.2019)..

Методология парсинга и извлечения информации из html-страниц можно кратко описать следующими процессами:

1. поиск необходимых атрибутов, классов и идентификаторов (например, опцией инспектора в вашем веб-браузере);

2. загрузка веб-страницы, например, с помощью модуля requests Requests: HTTP for Humans // https://2.python-requests.org URL: https://2.python-requests.org//en/master/ (дата обращения: 08.05.2019). (один из вариантов - запросы типа get и post).

В веб-среде существует большое количество некорректно написанных html-страниц (не по стандарту html). Однако, обработка даже не вполне корректного html-кода возможна, если воспользоваться подходящими инструментами. Для этих целей можно воспользоваться библиотеками Python.

3. обработка веб-страниц с помощью библиотек Python;

4. поиск нужной информации внутри тэгов, поиск по атрибутам;

5. сбор данных, последующая обработка.

Как было сказано выше, для получения релевантной и более качественной информации с html-страницы необходима обработка с помощью библиотек Python. Основными библиотеками для разбора html-разметки страниц являются:

· Библиотека LXML - многофункциональная, быстрая, нативная библиотека для обработки XML и html на языке Python lxml - XML and HTML with Python // https://lxml.de URL: https://lxml.de/index.html#introduction (дата обращения: 09.05.2019)..

· Библиотека GRAB. Среди функционала данной библиотеки стоит выделить следующие: извлечение данных с веб-сайтов, работа с API, автоматизация работы с веб-сайтами Grab // Викиучебник URL: https://ru.wikibooks.org/wiki/Grab (дата обращения: 07.03.2019)..

· Библиотека BeautifulSoup - представляет из себя парсер для синтаксического разбора файлов html/xml. Многие практики утверждают, что данная библиотека уступает LXML в скорости обработки больших данных, а то же время отмечая у BeautifulSoup хорошее качество обработки невалидного html-кода Beautiful Soup Documentation // www.crummy.com URL: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ (дата обращения: 07.05.2019)..

· Библиотека для извлечения данных Scrapy. Помимо извлечения html, данный пакет может осуществлять экспорт данных в различные форматы, создавать логи-файлов и т.д. Данный инструмент также можно использовать для извлечения данных с помощью API Руководство по вэб-скрепингу на Python: приёмы и хитрости // https://techrocks.ru URL: https://techrocks.ru/2018/03/22/web-scraping-python-tutorial/ (дата обращения: 08.05.2019)..

Работа с API

Обращаясь к теме работы с API, следует начать с определения данного понятия. API веб-приложения (application programming interface) - интерфейс прикладного программирования, предоставляющий удобные способы для обмена информацией между различными приложениями API // ru.wikipedia.org // URL: https://ru.wikipedia.org/wiki/API/ (дата обращения: 07.05.2109).. Как правило, запрос к API выполняется с помощью http, чтобы получить некий тип данных, а API возвращает эти данные в виде XML (eXtensible Markup Language) или JSON (JavaScript Object Notation). Часть специалистов не считает применение API веб-скрапингом, однако оба способа используют одинаковые методы (http-запросы) и получают аналогичные результаты (сбор данных).

В работе с API можно выделить четыре способа отправки http-запроса к веб серверу:

1. GET

2. POST

3. PUT

4. DELETE

Часть API до сих пор не применяют практику аутентификации для выполнения операций, однако все больше современных API требуют ее. На сегодняшний день аутентификацию можно разделить на платную (например, ежемесячная подписка) и ограниченную по доступу (ограничения по количеству запросов в минуту, час, сутки - пример, API Google, Яндекс, Twitter). Кроме того, некоторые API могут собираться информацию о пользователе и совершаемых ими действиях на сайте для использования в рекламных и маркетинговых целях. Большая часть методов аутентификации построена на использовании определенного токена, который передается на веб-сервер с каждым новым вызовом API.

Как уже было сказано выше, в ответ на запросы API возвращает хорошо структурированные ответы в формате XML или JSON. Автор книги "Скрапинг веб-сайтов с помощью Python" Райан Митчелл утверждает, что уже сегодня JSON популярнее XML. Причина данного тренда заключается в том, что файлы JSON меньше по размеру чем файлы XML с тщательно разработанной структурой Райан Митчелл Скрапинг веб-сайтов с помощью Python. Сбор данных из современного интернета. ДМК-Пресс, 2016.. Для парсинга JSON-данных используется стандартная библиотека, зашитая в Python. Стоит отметить, что Python превращает JSON-объекты в словари, JSON-массивы - в списки, а JSON-строки оставляет строками. Данный факт упрощает работу и позволяет сразу переходить к различным операциям с данной информацией.

Скрапинг JavaScript

На сегодняшний JavaScript является самым распространенным и наиболее хорошо поддерживаемым скриптовым языком в Интернете. Согласно ежегодной статистике, предоставленной Github, ведущей платформой для размещения программного обеспечения с открытым исходным кодом, JavaScript является самым активным языком программирования с 2014 по 2018 год The State of the Octoverse 2017 // https://github.com URL: https://octoverse.github.com/2017/ (дата обращения: 05.03.2019).. С момента своего первоначального выпуска в 1995 году JavaScript превратился из простого языка сценариев, в основном используемого для взаимодействия с веб-страницами, в сложный и универсальный язык программирования, используемый для разработки как клиентских, так и серверных приложений Thodoris Sotiropoulos, Benjamin Livshits Static Analysis for Asynchronous JavaScript Programs: 11.01.2019.. Сегодня даже обманчиво простые на вид веб-страницы могут содержать куски JavaScript-кода (их можно увидеть внутри тэгов <script> в исходном коде страницы).

Для понимания процессов вэб-скрапинга JavaScript кода необходимо привести примеры основных библиотек JavaScript. На сегодняшний день jQuery является наиболее распространенной библиотекой. JQuery используется для динамического создания html-контента, который появляется только после выполнения JavaScript. Если производить скрапинг, используя традиционные методы (http-запросы), будет извлечена только предварительная загруженная страница, которая появляется перед тем, как JavaScript создаст реальное содержимое страницы. С данной проблемой может справиться технология Ajax (Asynchronous Javascript and XML), которая используется для передачи информации на сервер и получения от него ответа без выполнения отдельного запроса страницы. Стоит отметить, что помимо Ajax может использоваться и другая технология - DHTML или динамический HTML. DHTML - это сочетание html-кода, CSS и клиентского скриптового языка, которое используется для изменения html-элементов страницы Райан Митчелл Скрапинг веб-сайтов с помощью Python. Сбор данных из современного интернета. ДМК-Пресс, 2016..

В ситуациях, когда прежде чем получить данные с сайта необходимо залогиниться на своем аккаунте или перейти с одной страницы на другую - необходимо обратиться к эмуляторам действий с браузером, например, таким как Selenium. Изначально Selenium разрабатывался как инструмент для тестирования веб-сайтов. Однако, Selenium также подходит, если необходимо "посмотреть" как сайт отображается в браузере. Selenium состоит из нескольких программных продуктов с открытым исходным кодом (open source):

· Selenium WebDriver,

· Selenium RC,

· Selenium Server,

· Selenium Grid,

· Selenium IDE.

Selenium WebDriver (или просто WebDriver) - программная библиотека для управления браузерами, именно ее чаще всего используют для веб-скрапинга. Кроме того, WebDriver является основным продуктом, разрабатываемым в рамках проекта Selenium Что такое Selenium? // habr.com URL: http://habrahabr.ru/post/152653/ (дата обращения: 10.04.2019)..

Краулинг веб-форм

Современный веб все больше направлен в сторону интерактивности, социальных сетей и пользовательского контента, а значит и веб-форм. Райан Митчелл, автор книги "Скрапинг веб-сайтов с помощью Python", говорит о том, что процесс краулинга (процесс сканирования веб-страниц поисковыми системами с целью получить нужную информацию) веб-формы можно осуществлять с помощью стандартных библиотек Python, однако если есть необходимость отправить что-то более сложное чем get-запрос, то лучше воспользоваться библиотекой requests.

В качестве примера рассмотрим обработку простой веб-формы с кнопкой отправки (например, "загрузить файл"). В большинстве случаев при написании кода под данную задачу стоит учитывать основные два момента:

· имя поля/полей, которое используется при отправке данных;

· атрибут action (страница, где происходит обработка формы).

Так как главной задачей html-форм является помощь посетителям правильно отформатировать запросы к странице, где происходит реальная обработка. Если нет необходимости форматировать сам запрос, то можно не беспокоиться относительно адреса страницы, где происходит обработка формы Райан Митчелл Скрапинг веб-сайтов с помощью Python. Сбор данных из современного интернета. ДМК-Пресс, 2016..

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

Обработка изображений и распознавание текста

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

На сегодняшний день на сайтах можно встретить документы, отсканированные с бумажных носителей и размещенных в сети. Если нет возможности распознать текст, то единственный доступный вариант для работы - набрать документ вручную. Для дальнейшего понимания темы необходимо дать определение оптическому распознаванию текста, которое поможет справиться с расшифровкой оцифрованных текстов. Согласно свободной энциклопедии "Википедия" OCR (optical character recognition) или оптическое распознавание символов - это электронный перевод изображений рукописного, машинописного или печатного текста в текстовые данные Оптическое распознавание символов // Свободная энциклопедия Википедия URL: https://ru.wikipedia.org/wiki/Оптическое_распознавание_символов (дата обращения: 11.05.2019).. Существует несколько крупных библиотек, способных выполнить OCR. Остановимся на библиотеках Python и дадим им краткие характеристики:

1. Pillow

Библиотека Pillow хорошо подходит для проведения предварительной обработки изображений, приводя изображения в более машиночитаемый вид. Кроме того, данная библиотека осуществляет и другие функции: форматирование изображений из одного формата в другой; правка изображений (наложение фильтров, масштабирование, рисование) и т.д.

2. Tesseract

Прежде всего стоит сказать, что Tesseract разрабатывался Hewlett-Packard, а следовательно для пользователей Windows установка будет существеннее проще, чем для пользователей Mac. Tesseract можно обучить распознавать новые символы, а также использовать при веб-скрапинге.

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

· написание текста одним шрифтом;

· отсканированные тексты не имеют тонких черных линий и других артефактов;

· текст выровнен, отсутствуют наклонные буквы;

· текст не расположен на "краях" изображения Райан Митчелл Скрапинг веб-сайтов с помощью Python. Сбор данных из современного интернета. ДМК-Пресс, 2016..

1.3 Подходы к очистке табличных текстовых данных

Для наилучшего результата любой работы необходимо работать с наиболее качественными и "чистыми" данными. Качество данных (data quality) - критерий, определяющий полноту, точность, своевременность и возможность интерпретации данных. Данные могут быть:

- высокого качества (полные, точные, своевременные данные, поддающиеся интерпретации);

- "грязные" данные низкого качества (отсутствующие, неточные, не соответствующие формату).

Классифицируем наиболее распространенные виды грязных данных:

1. пропущенные значения;

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

2. фиктивные значения

Такие данные обычно не имеют смысла и никак не связанны с описываемым ими процессом.

3. дубликаты данных;

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

4. закодированные значения;

К ним относятся: сокращения, аббревиатуры, замена наименований числовыми кодами.

5. орфографические ошибки;

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

6. составные значения;

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

7. шумы и выбросы (резко отличающиеся объекты в наборе данных).

Под выбросами понимаются резко отличающиеся объекты или наблюдения в наборе данных Паклин Н.Б., Орешков В.И. Бизнес-аналитика: от данных к знаниям. СПб.: Питер, 2013..

Один из методов борьбы с "грязными" данными можно назвать процесс очистки данных. Обращаясь к данной теме необходимо ввести понятие "очистки данных".

Согласно свободной энциклопедии "Википедия" под очисткой данных (data cleansing) понимается процесс выявления и исправления ошибок, несоответствий данных с целью улучшения их качества Очистка данных // Свободная энциклопедия Википедия URL: https://ru.wikipedia.org/wiki/Очистка_данных (дата обращения: 13.05.2019).. Авторы книги "Бизнес-аналитика: от данных к знаниям" Орешков В.И., Паклин Н.Б. определяют процесс очистки данных как комплекс "методов, направленных на устранение причин, мешающих корректной обработке: аномалий, пропусков, дубликатов, противоречий, шумов" Паклин Н.Б., Орешков В.И. Бизнес-аналитика: от данных к знаниям. СПб.: Питер, 2013.. Как можно увидеть из вышеперечисленных определений, основная задача очистки данных - исправление ошибок, мешающих обработке данных.

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

Процесс очистки данных состоит из следующих этапов:

1. Анализ данных.

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

2. Определение порядка и правил преобразования данных.

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

3. Подтверждение.

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

4. Преобразования.

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

5. Противоток очищенных данных.

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

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

Глава 2. Реализация алгоритмов обработки данных ветеринарных сайтов

2.1 Сбор источников данных по рынку ветеринарных услуг Москвы

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

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

Для сбора информации использовался язык программирования Python в среде Jupiter Notebook. Согласно свободной энциклопедии "Википедия" Python является высокоуровневым языком программирования общего назначения, ориентированным на повышение читаемости кода.

Как было сказано выше, источником для сбора информации выступил портал открытых данных Правительства Москвы data.mos.ru. На сегодняшний день на портале открытых данных Правительства Москвы опубликовано более 970 тематических наборов данных и справочников, в которых хранится информация более чем о 1 900 000 объектах городской инфраструктуры. Разработчики сайта утверждают, что информация на данном портале постоянно модерируется и актуализируется, согласно замечаниям и запросам пользователей. Важно уточнить, что публикация и актуализация данных происходит на основе сведений информационных систем органов исполнительной власти Москвы посредством интегрированной с ними ЕГАС ОДОПМ (Единая городская автоматизированная система обеспечения поддержки деятельности Открытого правительства города Москвы) О портале // Портал открытых данных Правительства Москвы URL: https://data.mos.ru/about (дата обращения: 11.05.2019).. Следовательно, данный источник является официальным поставщиком информации по всем ветеринарным клиникам города Москвы, в отличии от различных агрегаторов (например, zoon.ru), не несущих ответственность за качество и достоверность данных.

Рассмотрим пример сбора информации по государственным ветеринарным учреждениям г. Москвы с сайта data.mos.ru с использованием API (рис. 1). Ссылка на данную таблицу: https://data.mos.ru/datasets/1193.

Рис. 1

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

? Полное название клиники;

? Короткое название клиники;

? Адрес;

? Район;

? Округ;

? Телефон;

? Часы работы.

Для извлечения данных необходимо импортировать библиотеки requests и pandas (рис. 2).

Рис. 2

Далее создаем пустой лист, куда будет записываться скачанная информация. После необходимо изучить документацию API портала открытых данных, зарегистрироваться для получения персонального ключа, который передается в строке запроса в формате - ?api_key=<ваш ключ> API Портал открытых данных URL: https://apidata.mos.ru/Docs (дата обращения: 10.05.2019).. Используя пакет requests скачиваем страницу со списком программ (рис. 3).

Рис. 3

Просмотрев полученную информацию можно увидеть, что вся содержательная информация хранится по ключу "properties". А уже внутри есть ключ "Attributes" значением которого является список всех категорий (рис. 4). Каждая категория отображается в виде словаря, записями которого являются параметры категории:

? Полное название клиники = "FullName";

? Короткое название клиники = "ShortName";

? Адрес = "Address";

? Район = "District";

? Округ = "AdmArea";

? Телефон = "PublicPhone";

? Часы работы = "WorkingHours".

Рис. 4

Записываем полученные данные в пустой лист. Далее с помощью библиотеки pandas записываем лист в DataFrame и переименовываем колонки (рис. 5 и 6).

Рис. 5

Рис. 6

На сайте data.mos.ru также можно найти данные по негосударственным клиникам Москвы в количестве 349 клиник Реестр негосударственных клиник, имеющих соглашение с Комитетом ветеринарии города Москвы на проведение профилактической иммунизации животных // Портал открытых данных Правительства Москвы URL: https://data.mos.ru/opendata/7725570674-reestr-negosudarstvennyh-klinik-imeyushchih-soglashenie-s-komitetom-veterinarii-goroda-moskvy-na-provedenie-profilakticheskoy-immunizatsii-jivotnyh?pageNumber=35&versionNumber=1&releaseNumber=1 (дата обращения: 10.05.2019).. Подход к сбору данных аналогичен.

2.2 Извлечение структурированных и неструктурированных данных

Ниже предлагается рассмотреть скрапинг структурированных данных на примере сбора данных со страницы со стоимостью и наименованием услуг ветеринарной клиники "Белый клык" www.bkvet.ru.

Рис. 7

По аналогии со сбором данных с сайта data.mos.ru необходимо импортировать библиотеки requests, pandas, а также пакет BeautifulSoup, помогающий извлечению данных из html. Далее найдем на сайте клиники страницу со стоимостью и видами услуг, скопируем ее адрес. Используя пакет requests скачиваем страницу. Создаем переменную page, в которой будет храниться содержимое скачанной страницы. После содержимое проходит обработку пакетом BeautifulSoup с применением html-парсера.

Рис. 8

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

? название отделений - тэг "div", с классом "bigbutton";

? списки цен для каждого отделения хранятся внутри тэга "table" с классом "bordedtable".

Рис. 9

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

Рис. 10

Далее генерируем DataFrame из трех столбцов для дальнейшей записи в БД. Стоит отметить, что в данных оказались "мусорные" строки, и самый простой способ их убрать - это провести фильтрацию по длине строки (рис. 11).

Рис. 11

На выходе получаем готовый DataFrame с названиями отделений, видами услуг и ценами.

Рис. 12

Аналогичным образом можно реализовать сбор информации с других html-страниц ветеринарных клиник г. Москвы.

Далее рассмотрим извлечение неструктурированных данных на примере скачивания и парсинга файлов в PDF-формате с сайта ветеринарных центра "21 век" http://vetcentromsk.ru.

Рис. 13

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

? сбор PDF-файлов;

? распознавание текста;

...

Подобные документы

  • Обработка текстовых данных, хранящихся в файле. Задачи и алгоритмы обработки больших массивов действительных и натуральных чисел. Практические задачи по алгоритмам обработки данных. Решение задачи о пяти ферзях. Программа, которая реализует сортировку Шел

    курсовая работа [29,2 K], добавлен 09.02.2011

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

    реферат [22,5 K], добавлен 05.02.2011

  • Перспективные направления анализа данных: анализ текстовой информации, интеллектуальный анализ данных. Анализ структурированной информации, хранящейся в базах данных. Процесс анализа текстовых документов. Особенности предварительной обработки данных.

    реферат [443,2 K], добавлен 13.02.2014

  • Концепции хранилищ данных для анализа и их составляющие: интеграции и согласования данных из различных источников, разделения наборов данных для систем обработки транзакций и поддержки принятия решений. Архитектура баз для хранилищ и витрины данных.

    реферат [1,3 M], добавлен 25.03.2013

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

    презентация [4,3 M], добавлен 12.11.2010

  • Рассмотрение понятия и методов обработки данных; единицы их представления. Сущность информации; ее основные свойства - объективность, достоверность, доступность и актуальность. Принципы кодирования целых и действительных чисел, а также текстовых данных.

    контрольная работа [432,2 K], добавлен 10.02.2012

  • Создание и редактирование электронных баз данных. Обработка электронных таблиц. Операции изменения формата документа. Основные функции текстовых процессоров. Деловая графика. Построение рисунков, диаграмм, гистограмм различных типов в программе Excel.

    презентация [773,1 K], добавлен 23.12.2013

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

    контрольная работа [65,8 K], добавлен 14.11.2010

  • Формы представляемой информации. Основные типы используемой модели данных. Уровни информационных процессов. Поиск информации и поиск данных. Сетевое хранилище данных. Проблемы разработки и сопровождения хранилищ данных. Технологии обработки данных.

    лекция [15,5 K], добавлен 19.08.2013

  • Автоматизация сбора и обработки данных. Основы, таблицы и средства для работы с базами данных. Инструментальные средства и компоненты. Технология создания приложения. Работа с псевдонимами и со связанными таблицами. Система управления базами данных.

    методичка [1,5 M], добавлен 06.07.2009

  • Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.

    презентация [17,1 K], добавлен 19.08.2013

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

    контрольная работа [16,0 K], добавлен 19.03.2015

  • Модели информационного процесса обработки данных. Классификация баз данных. Сеть архитектуры и технология клиент-сервер. Создание запросов к реляционным базам данных на SQL. Работа с электронными таблицами MS Excel: форматирование данных, вычисления.

    контрольная работа [17,8 K], добавлен 17.01.2010

  • Рассмотрение общей характеристики данных. Исследование особенностей и назначения линейных, табличных и иерархических структур данных, анализ процесса их упорядочения. Рассмотрение основных режимов обработки данных. Описание алгоритма решения задачи.

    реферат [27,4 K], добавлен 20.04.2019

  • Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.

    лекция [169,7 K], добавлен 19.08.2013

  • Построение информационно-логической модели базы данных. Корректировка данных средствами запросов. Проектирование алгоритмов обработки данных. Реализация пользовательского интерфейса средствами форм. Разработка запросов для корректировки и выборки данных.

    курсовая работа [680,9 K], добавлен 19.10.2010

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

    дипломная работа [1,0 M], добавлен 19.06.2015

  • Функциональные зависимости и нормализация отношений. Ограничения целостности данных. Описание таблиц на языке SQL. Интерфейс пользователя и надёжность программ обработки данных. Обработка данных с помощью запросов. Работа с данными из внешних источников.

    дипломная работа [1,6 M], добавлен 25.04.2015

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

    курсовая работа [383,0 K], добавлен 25.04.2013

  • Процессы обработки информации. Эффективность автоматизированной информационной системы. Система управления базой данных. Локальная и распределенная система банков и баз данных. Этапы проектирования базы данных. Различие уровней представления данных.

    контрольная работа [75,7 K], добавлен 07.07.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.