Создание прототипа рекомендательной экспертной системы, реализующей методы коллаборативной фильтрации на языке Python

Автор работы: Пользователь скрыл имя, 18 Июня 2013 в 08:31, курсовая работа

Описание работы

Цель работы: реализация прототипа рекомендательной экспертной информационной системы, основанной на алгоритмах коллаборативной фильтрации.
Объектом исследования данной курсовой работы являются интеллектуальные Интернет технологии анализа клиентских сред.
Предметом исследования выступает рекомендательная экспертная система, реализующая методы коллаборативной фильтрации.
При выполнении работы ее цель определила необходимость решения следующих задач:
Изучить теоретические основы технологии анализа клиентских сред.
Рассмотреть особенности коллаборативной фильтрации.
Описать предметную область с точки зрения применения технологии АКС к построению рекомендательной информационной системы.

Содержание работы

Введение………………………………………………………………………..
3
1. Основные проблемы и технология анализа клиентских сред…………...
5
1.1. Технология анализа клиентских сред …………………………….
5
1.2. Рекомендательные системы………………………………………..
9
1.3. Понятие и особенности коллаборативной фильтрации…………..
12
1.4. Возможности и перспективы языка Python……………………….
15
2. Реализация рекомендательной экспертной системы…………………….
18
2.1. Анализ предметной области……………………………………….
18
2.1.1. Постановка задачи………………………………………….
18
2.1.2. Математическая постановка задачи коллаборативной фильтрации………………………………………………………..

19
2.2. Функциональная модель рекомендательной экспертной
системы.....................................................................................................

21
2.3. Реализация алгоритмов коллаборативной фильтрации с помощью языка Python………………………………………………………

24
2.3.1. Сбор информации………………………………………….
24
2.3.2. Оценка похожести объектов……………………………….
26
2.3.3. Ранжирование объектов……………………………………
33
2.3.4. Рекомендование предметов………………………………..
34
Заключение……………………………………………………………………
42
Список использованной литературы………………………

Файлы: 1 файл

kursovaya_1.doc

— 896.00 Кб (Скачать файл)

 

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

Балашовский институт (филиал)

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

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

«Саратовский государственный  университет имени Н.Г. Чернышевского»

 

 

Кафедра прикладной информатики

 

Создание прототипа  рекомендательной экспертной системы, реализующей методы коллаборативной  фильтрации на языке Python

 

Курсовая работа

По специальности 080801.65 «Прикладная  информатика (в экономике)»

 

                                                             Выполнил:

студент 4 курса 143 группы

факультета  математики, экономики и информатики

Музальков Максим Андреевич

 

Научный руководитель –                                                  кандидат физико-математических и педагогических наук, доцент

Талагаев Юрий Викторович

___________________________

                                         (Подпись)

 

 

 

Балашов 2012

 

Содержание

 

Введение………………………………………………………………………..

3

1. Основные проблемы  и технология анализа клиентских  сред…………...

5

1.1. Технология  анализа клиентских сред …………………………….

5

1.2. Рекомендательные  системы………………………………………..

9

1.3. Понятие и  особенности коллаборативной фильтрации…………..

12

1.4. Возможности  и перспективы языка Python……………………….

15

2. Реализация  рекомендательной экспертной системы…………………….

18

2.1. Анализ предметной  области……………………………………….

18

2.1.1. Постановка задачи………………………………………….

18

2.1.2. Математическая  постановка задачи коллаборативной  фильтрации………………………………………………………..

 

19

2.2. Функциональная  модель рекомендательной экспертной

системы.....................................................................................................

 

21

2.3. Реализация  алгоритмов коллаборативной фильтрации с помощью языка Python………………………………………………………

 

24

2.3.1. Сбор информации………………………………………….

24

2.3.2. Оценка похожести объектов……………………………….

26

2.3.3. Ранжирование объектов……………………………………

33

2.3.4. Рекомендование предметов………………………………..

34

Заключение……………………………………………………………………

42

Список использованной литературы………………………………………...

45

Приложение……………………………………………………………………

47


 

 

Введение

 

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

Актуальной  задачей, решаемой в рамках курсовой работы по дисциплине «Интеллектуальные информационные системы», является разработка прототипа рекомендательной экспертной системы, предсказывающей, какие объекты заинтересуют пользователя, имея определенную информацию о его предпочтениях. При этом удобным средством реализации алгоритмов коллаборативной фильтрации является активно развивающийся динамический язык программирования Python.

Цель работы: реализация прототипа рекомендательной экспертной информационной системы, основанной на алгоритмах коллаборативной фильтрации.

Объектом исследования данной курсовой работы являются интеллектуальные Интернет технологии анализа клиентских сред.

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

При выполнении работы ее цель определила необходимость  решения следующих задач:

  1. Изучить теоретические основы технологии анализа клиентских сред.
  2. Рассмотреть особенности коллаборативной фильтрации.
  3. Описать предметную область с точки зрения применения технологии АКС к построению рекомендательной информационной системы. 
  4. Обосновать целесообразность постановки задачи создания прототипа экспертной системы.
  5. Создать функциональную модель рекомендательной системы.
  6. Реализовать алгоритмы коллаборативной фильтрации для выработки рекомендаций на языке Python.

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

 

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

 

 

1.1. Технология  анализа клиентских сред

 

 

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

Концепция клиентской среды предложена К. В. Рудаковым в конце 90-х. На её основе компания Форексис развивает технологию анализа клиентских сред. Анализ клиентских сред (АКС) – это технология обработки протоколов действий клиентов, позволяющая эффективно вычислять взаимно согласованные оценки сходства клиентов и сервисов, и использовать их для решения таких бизнес-задач, как автоматизация маркетинговых исследований, формирование направленных предложений клиентам, персонализация сервисов, повышение удовлетворённости и лояльности клиентов, более эффективное привлечение клиентов [20]. Конечной целью этой деятельности является повышение качества оказываемых услуг, более эффективное привлечение и удержание клиентов.

Технология  АКС достаточно универсальна и может  применяться в самых разных сферах бизнеса. Можно говорить о клиентских средах торговых сетей, операторов связи, организаторов биржевых торгов, эмитентов пластиковых карт, библиотек, электронных магазинов, интернет-порталов и т.д. Например, в интернет-магазинах книжной, аудио и видео продукции «сервисами» являются товары (книги, диски), «клиентами» выступают постоянные покупатели. Действия клиентов – это либо покупки товаров, либо оценки (рейтинги) товаров. Возможны и такие приложения АКС, в которых сами термины «клиенты» и «сервисы» едва ли применимы, например анализ текстов или анализ результатов парламентских выборов. Однако математические методы обработки данных остаются теми же.

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

В простейших случаях сходство сервисов можно оценить по принципу «сервисы схожи, если ими пользуются одни и те же клиенты; чем больше общих клиентов, тем более схожи сервисы». Известно, например, что большинство пользователей сайта Amazon не упускают возможности узнать, «какие ещё книги покупают клиенты, купившие эту книгу». Однако данный принцип сходства имеет ограниченную сферу применимости, так как он выдвигает чрезмерно жёсткое требование, чтобы схожие сервисы имели одних и тех же общих клиентов, тогда как вполне достаточно, чтобы они имели схожих клиентов. Например, сайты нескольких конкурирующих производителей бытовой техники могут иметь мало общих клиентов, тем не менее, они схожи как по тематике, так и по целевой аудитории. Более адекватные результаты даёт усовершенствованный принцип сходства: «сервисы схожи, если ими пользуются схожие (но не обязательно одни и те же) клиенты; в свою очередь, клиенты схожи, если они пользуются схожими (но не обязательно одинаковыми) сервисами». Этот принцип сложнее с точки зрения анализа данных, так как две меры сходства оказываются зависимыми друг от друга. Эффективная реализация этой идеи возможна путём выявления скрытых профилей и итеративного оценивания сходства.

Основная технологическая  цепочка АКС складывается из следующих  шагов.

  1. Подготовка частотной матрицы. Исходными данными являются протоколы действий клиентов, в которых фиксируется: кто, когда, каким сервисом и в каком объеме воспользовался. По этим протоколам строится частотная матрица, в которую записываются частоты пользования каждого клиента каждым сервисом.
  2. Построение метрик. На основе частотной матрицы строятся две метрики – между клиентами и между сервисами. В технологии АКС эти метрики проходят через дополнительные блоки оптимизации по критериям взаимной согласованности, статистической значимости, устойчивости, и другим. Результатом данного этапа обработки являются матрицы попарных расстояний между клиентами и между сервисами.
  3. Вычисление профилей поведения клиентов. В результате предыдущего этапа анализа каждому клиенту ставится в соответствие его индивидуальный поведенческий профиль – набор сервисов, которыми пользуется данный клиент, а также схожие с ним клиенты.
  4. Сегментация клиентской базы. В маркетинговых исследованиях одна из основных задач – выявление структуры клиентской среды и обнаружение наиболее характерных типов клиентов. Этот вид анализа называют сегментацией клиентской базы. Для сегментации используется три типа информации о клиентах: социально-демографические, поведенческие и статистические характеристики клиента.
  5. Позиционирование услуг. Проведение аналогичного анализа для услуг дает кластерную структуру ассортимента и позволяет решать задачи позиционирования услуг.
  6. Поиск схожих услуг и клиентов. Кластеризация может быть проделана в локальном варианте – относительно заданного клиента или заданной услуги. Карта ближайшей окрестности некоторой услуги дает постоянному клиенту уникальную возможность быстро найти аналогичные или сопутствующие услуги, о которых он, возможно, не знал, но ими пользовались похожие на него клиенты. Карта окрестности всех услуг, которыми пользовался клиент, представляет расширенный спектр услуг, потенциально интересных данному клиенту.
  7. Направленный маркетинг. Поддержка направленного маркетинга – еще одна задача, решаемая с помощью АКС. Для любого конкретного клиента может быть найдено множество схожих с ним клиентов и вычислен набор наиболее востребованных среди них услуг. Если из этих услуг отбросить те, которыми данный клиент уже пользовался, получим персональное предложение, которое с большой вероятностью заинтересует данного клиента. Это и есть адресная реклама, которая, как известно, существенно более эффективна, чем массовая.
  8. Персонализация. Набор услуг, персонально предлагаемых клиенту, может быть ранжирован в соответствии с их популярностью среди схожих клиентов, что заметно упрощает для клиента задачу выбора услуг из представленного, возможно, чрезмерно широкого списка.

Технология  АКС является достаточно универсальной  и позволяет решать задачи персонализации поиска, направленного предложения ресурсов пользователям, поиска схожих ресурсов, визуализации структуры Интернет в виде карт сходства и т.д. Наиболее близкими к АКС направлениями являются коллаборативная фильтрация и анализ соответствий. В данной курсовой работе будет рассмотрено применение АКС к построению рекомендательной экспертной информационной системы (ЭИС).

 

 

1.2. Рекомендательные  системы

 

 

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

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

В последнее  время рекомендательные системы стали удобной альтернативой поисковым алгоритмам, так как позволяют обнаружить объекты, которые не могут быть найденными последними. Более того, рекомендательные системы часто используют поисковые машины для индексации необычных данных. Сейчас существует огромное количество сайтов, использующих рекомендательные системы. Наиболее распространенные из них: Imhonet (фильмы, музыка, литература, фото), Last.fm (музыка), Ozon (книги, диски и прочее), Imdb (фильмы), Software Informer (программное обеспечение), FeedMe (система автоматических рекомендаций веб-страниц) и пр. Например, выбрав на сайте Ozon.ru один из планшетных компьютеров, рекомендательная система сайта тут же предлагает пользователю список похожих товаров и аксессуаров (рисунок 1).

Информация о работе Создание прототипа рекомендательной экспертной системы, реализующей методы коллаборативной фильтрации на языке Python