Автор молодец выполнил работу раньше срока. Спасибо
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
ВВЕДЕНИЕ
Системы рекомендаций занимают все больше и больше места в нашей жизни. Сегодня рекомендательные системы используются в различных областях: от электронной коммерции — например, покупателям предлагается посетить страницы сайта, которые их могут заинтересовать, до онлайнрекламы — пользователи видят только «правильный» контент, то есть рекламу, которая может заинтересовать и соответствует их предпочтениям. Рекомендательные системы действительно важны во многих отраслях, потому что они могут является источником огромного дохода, в случае если они эффективны, а также быть способом значительно выделиться среди конкурентов.
Системы рекомендаций — это программы, которые решают задачу прогноза того, какие продукты, например, фильмы, новостные статьи или товары в онлайн-магазине, понравятся пользователям. Исходные данные для таких программ — определенная информация о профиле пользователя, в первую очередь о его предпочтениях в данном продукте и социальнодемографических характеристиках, а также характеристики самого продукта [1, с. 187].
Системы рекомендаций реализуются с помощью алгоритмов, основанных на машинном обучении. Ранее разработка моделей машинного обучения была возможна только с помощью таких популярных языков программирования как Python и R. Однако по ряду причин иногда разработчики не могут использовать данные языки, например, если у них есть уже готовая кодовая база на другом языке или отсутствие опыта работы с Python или R. В то же время одним из самых популярных языков сегодня является C#, который используется для разработки многих типов программного обеспечения. Чтобы использовать возможности машинного обучения C#, недавно компания Microsoft реализовала платформу ML.NET. Это среда с открытым исходным кодом, разработанная для обучения, создания и оценки моделей машинного обучения [2].
Боты — это программы, предназначенные для решения задач пользователя и использующие удобный для них интерфейс. При этом все действия выполняются по некоторому заранее заданному алгоритму. Ключевое отличие ботов от других программ заключается в своеобразной имитации действий людей, будь то голос, или текстовые сообщения, так что пользователю иногда не сразу удается понять, что он общается не с человеком, а всего лишь с программой. Боты могут быть использованы для переноса простых, повторяющихся задач, таких как сбор профильной информации, на автоматизированные системы, и это больше не будет требовать непосредственного участия человека. Людям свойственно уставать от монотонных действий, при этом теряется острота реакции и нарушается концентрация на деталях, в то время как бот не устает и выполняет те же задачи быстрее и точнее. Пользователи могут общаться с ботом, используя текстовые сообщения, интерактивные карточки и речь, при этом взаимодействие с ботом может представлять собой простой диалог с вопросами и быстрыми ответами, или это может быть сложный интеллектуальный разговор, который позволит обеспечить доступ пользователя к различным услугам или службам.
Именно из-за растущей популярности, актуальности и повсеместного использования ботов, для интеграции с ранее разработанной системой рекомендаций было выбрано бот-приложение. Бот-приложения могут быть использованы на сайтах, а также же в пользовательских приложениях, именуемых каналами, — Skype, Telegram, Cortana и других, чтобы всегда быть под рукой. Боты предоставляют помощь пользователю в режиме реального времени, ускоряя путь к достижению цели. Ему достаточно лишь задать вопрос, как если бы пользователь задавал вопрос своему другу, например: «Какой фильм порекомендуешь?», — и мгновенно получить ответ. Бот-приложение с системой рекомендаций может быть интегрировано, например, с веб-сайтом для просмотра фильмов, что позволяет пользователю избежать необходимости листать каталоги и тратить время на сложный выбор: достаточно задать вопрос на естественном языке, и система рекомендаций подберет наиболее подходящие ему кинокартины.
Целью работы является построение модели машинного обучения для рекомендации фильмов пользователям на основе их предпочтений, проектирование и разработка бот-приложения с использованием Cloudтехнологий, умеющего распознавать естественный язык пользователя, и интеграция бот-приложения с системой рекомендаций. Однако не ограничивая общности модель может быть обучена на основе данных из других доменных областей и применена в других сферах. Язык разработки — C#.
Задачами работы являются:
1. Обзор алгоритмов для построения рекомендательных систем и областей их применения.
2. Изучение возможностей платформы ML.NET для разработки моделей машинного обучения и, в частности, систем рекомендаций.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ 8
ГЛАВА 1 ИССЛЕДОВАНИЕ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ СИСТЕМ РЕКОМЕНДАЦИЙ 11
1.1 Обзор существующих систем рекомендаций и их ограничений 11
1.2 Типы систем рекомендаций 13
1.3 Коллаборативная фильтрация 14
1.4 Алгоритмы коллаборативной фильтрации 15
1.5 Метрики качества бинарной классификации 16
ГЛАВА 2 ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ ПЛАТФОРМЫ ML.NET 19
2.1 Задачи машинного обучения в ML.NET 19
2.2 Построение модели и ее использование в ML.NET: обзор архитектуры 20
2.3 Процесс машинного обучения в ML.NET 21
ГЛАВА 3 ПОСТРОЕНИЕ И ТЕСТИРОВАНИЕ МОДЕЛИ СИСТЕМЫ РЕКОМЕНДАЦИЙ 24
3.1 Загрузка данных 24
3.2 Создание и обучение модели 28
3.3 Оценка и сохранение модели 30
ГЛАВА 4 РЕШЕНИЕ ПРОБЛЕМЫ ХОЛОДНОГО СТАРТА В СИСТЕМАХ РЕКОМЕНДАЦИЙ 32
4.1 Определение проблемы холодного старта 32
4.2 Задача нахождения пользователя с похожими предпочтениями 34
4.3 Хранилище таблиц Azure Table storage 35
4.4 Проектирование пользовательского приложения 36
ГЛАВА 5 ТЕХНОЛОГИИ РАЗРАБОТКИ БОТ-ПРИЛОЖЕНИЯ 44
5.1 Обзор бот-приложений 44
5.2 Создание бота с использованием Azure Bot Service и Azure Bot Framework 45
5.3 Возможности Azure Cloud Services для бот-приложений 46
ГЛАВА 6 РАЗРАБОТКА БОТ-ПРИЛОЖЕНИЯ 49
6.1 Проектирование бот-приложения 49
6.2 Принцип работы бота 50
6.3 Библиотека диалогов 51
6.4 Форматированные карточки в сообщениях 52
6.5 Распознавание естественного языка 54
6.6 Взаимодействие приложения с внешними API 59
6.7 Развертывание бота в Azure 59
6.8 Подключение бота к каналу............................................................................60
6.9 Добавление телеметрии в бот 63
ЗАКЛЮЧЕНИЕ 68
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 71
ПРИЛОЖЕНИЕ А 74
ПРИЛОЖЕНИЕ Б 76
ПРИЛОЖЕНИЕ В 78
ПРИЛОЖЕНИЕ Г 81
ПРИЛОЖЕНИЕ Д 82
ПРИЛОЖЕНИЕ Е 85
ПРИЛОЖЕНИЕ Ж 86
ГЛАВА 1 ИССЛЕДОВАНИЕ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ СИСТЕМ РЕКОМЕНДАЦИЙ
1.1 Обзор существующих систем рекомендаций и их ограничений
Чтобы пользователи какого-либо программного продукта наиболее вероятно переходили к финальной стадии потребления, например, покупки товара в онлайн-магазине или просмотра фильма на стриминговом сервисе, важно, чтобы данный продукт предоставлял некоторые сервисы для помощи пользователю в выполнении его запросов. Такой сервис должен понимать предпочтения клиентов и в соответствии с этим рекомендовать им наиболее подходящие варианты товаров/продуктов. Пользователи более вероятно вернутся к тому веб-сайту/программе, с помощью которого они достигают своих целей, прикладывая меньше усилий и тратя меньше времени, что достигается наличием сервиса для предоставления ему помощи в выборе / поиске необходимых продуктов.
Системы рекомендаций решают поставленные выше задачи, поэтому широко используются известными брендами. Например, платформа электронной коммерции Amazon предоставляет такие категории товаров как «Часто покупают вместе» и «Покупатели, которые купили это также купили», после того как пользователь перешел на страничку некоторого товара, что существенно увеличивает прибыль данной организации. Однако такой подход больше используется в сфере коммерции и привычен для онлайн-магазинов. Все рекомендации привязаны к товару, выбранному пользователем в данный момент, у него нет возможности увидеть некоторый единый список товаров, подходящий именно для него, ведь переход на страницу продукта не значит, что пользователю он обязательно понравился, и он хочет видеть похожие рекомендации.
Веб-сайт MovieLens предназначен для рекомендации фильмов. Во время регистрации пользователь должен пройти некоторое предварительное анкетирование и после этого может получить рекомендации. При дальнейшем оценивании фильмов рекомендации уточняются, но после выставления рейтингов, чтобы получить новый список фильмов, необходимо обновить страницу. Пользователю также отображаются и фильмы, которые он смотрел, что может быть неудобно.
Все большую популярность приобретают чат-боты — виртуальные ассистенты, которые предоставляют помощь в режиме реального времени.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Content-Boosted Collaborative Filtering for Improved Recommendations
2. Machine Learning
3. Development of recommender systems using ML.NET
4. Introduction to recommender systems
5. An Intuitive Explanation of Field Aware Factorization Machines
6. E-Commerce Item Recommendation Based on Field-aware Factorization Machinehttps
— Date of access: 04.10.2020.
7. The ultimate guide to binary classification metrics
8. What is ML.NET and how does it work
9. TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems
10. Announcing ML.NET 0.3
11. ONNX Runtime for inferencing machine learning models
12. Unified Modeling Language (UML) | Activity Diagrams
13. MovieLens Latest Full
14. Prepare data for building a model
15. Personality-Based Active Learning for Collaborative Filtering Recommender Systems Mehdi Elahi, Matthias Braunhofer, Francesco Ricci, Marko Tkalcic.
16. The Cold Start Problem for Recommender Systems
17. MachineX: Cosine Similarity for Item-Based Collaborative Filtering
18. What is Azure Table storage
19. 27 Incredible Chatbot Statistics
20. Get started guide for developers on Azure
21. About Azure Bot Service
22. Azure Monitor overview
23. What are Azure Cognitive Services
24. What is Language Understanding (LUIS
25. Connect a bot to channels
26. Using Search in Application Insights
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
ВВЕДЕНИЕ
Системы рекомендаций занимают все больше и больше места в нашей жизни. Сегодня рекомендательные системы используются в различных областях: от электронной коммерции — например, покупателям предлагается посетить страницы сайта, которые их могут заинтересовать, до онлайнрекламы — пользователи видят только «правильный» контент, то есть рекламу, которая может заинтересовать и соответствует их предпочтениям. Рекомендательные системы действительно важны во многих отраслях, потому что они могут является источником огромного дохода, в случае если они эффективны, а также быть способом значительно выделиться среди конкурентов.
Системы рекомендаций — это программы, которые решают задачу прогноза того, какие продукты, например, фильмы, новостные статьи или товары в онлайн-магазине, понравятся пользователям. Исходные данные для таких программ — определенная информация о профиле пользователя, в первую очередь о его предпочтениях в данном продукте и социальнодемографических характеристиках, а также характеристики самого продукта [1, с. 187].
Системы рекомендаций реализуются с помощью алгоритмов, основанных на машинном обучении. Ранее разработка моделей машинного обучения была возможна только с помощью таких популярных языков программирования как Python и R. Однако по ряду причин иногда разработчики не могут использовать данные языки, например, если у них есть уже готовая кодовая база на другом языке или отсутствие опыта работы с Python или R. В то же время одним из самых популярных языков сегодня является C#, который используется для разработки многих типов программного обеспечения. Чтобы использовать возможности машинного обучения C#, недавно компания Microsoft реализовала платформу ML.NET. Это среда с открытым исходным кодом, разработанная для обучения, создания и оценки моделей машинного обучения [2].
Боты — это программы, предназначенные для решения задач пользователя и использующие удобный для них интерфейс. При этом все действия выполняются по некоторому заранее заданному алгоритму. Ключевое отличие ботов от других программ заключается в своеобразной имитации действий людей, будь то голос, или текстовые сообщения, так что пользователю иногда не сразу удается понять, что он общается не с человеком, а всего лишь с программой. Боты могут быть использованы для переноса простых, повторяющихся задач, таких как сбор профильной информации, на автоматизированные системы, и это больше не будет требовать непосредственного участия человека. Людям свойственно уставать от монотонных действий, при этом теряется острота реакции и нарушается концентрация на деталях, в то время как бот не устает и выполняет те же задачи быстрее и точнее. Пользователи могут общаться с ботом, используя текстовые сообщения, интерактивные карточки и речь, при этом взаимодействие с ботом может представлять собой простой диалог с вопросами и быстрыми ответами, или это может быть сложный интеллектуальный разговор, который позволит обеспечить доступ пользователя к различным услугам или службам.
Именно из-за растущей популярности, актуальности и повсеместного использования ботов, для интеграции с ранее разработанной системой рекомендаций было выбрано бот-приложение. Бот-приложения могут быть использованы на сайтах, а также же в пользовательских приложениях, именуемых каналами, — Skype, Telegram, Cortana и других, чтобы всегда быть под рукой. Боты предоставляют помощь пользователю в режиме реального времени, ускоряя путь к достижению цели. Ему достаточно лишь задать вопрос, как если бы пользователь задавал вопрос своему другу, например: «Какой фильм порекомендуешь?», — и мгновенно получить ответ. Бот-приложение с системой рекомендаций может быть интегрировано, например, с веб-сайтом для просмотра фильмов, что позволяет пользователю избежать необходимости листать каталоги и тратить время на сложный выбор: достаточно задать вопрос на естественном языке, и система рекомендаций подберет наиболее подходящие ему кинокартины.
Целью работы является построение модели машинного обучения для рекомендации фильмов пользователям на основе их предпочтений, проектирование и разработка бот-приложения с использованием Cloudтехнологий, умеющего распознавать естественный язык пользователя, и интеграция бот-приложения с системой рекомендаций. Однако не ограничивая общности модель может быть обучена на основе данных из других доменных областей и применена в других сферах. Язык разработки — C#.
Задачами работы являются:
1. Обзор алгоритмов для построения рекомендательных систем и областей их применения.
2. Изучение возможностей платформы ML.NET для разработки моделей машинного обучения и, в частности, систем рекомендаций.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ 8
ГЛАВА 1 ИССЛЕДОВАНИЕ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ СИСТЕМ РЕКОМЕНДАЦИЙ 11
1.1 Обзор существующих систем рекомендаций и их ограничений 11
1.2 Типы систем рекомендаций 13
1.3 Коллаборативная фильтрация 14
1.4 Алгоритмы коллаборативной фильтрации 15
1.5 Метрики качества бинарной классификации 16
ГЛАВА 2 ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ ПЛАТФОРМЫ ML.NET 19
2.1 Задачи машинного обучения в ML.NET 19
2.2 Построение модели и ее использование в ML.NET: обзор архитектуры 20
2.3 Процесс машинного обучения в ML.NET 21
ГЛАВА 3 ПОСТРОЕНИЕ И ТЕСТИРОВАНИЕ МОДЕЛИ СИСТЕМЫ РЕКОМЕНДАЦИЙ 24
3.1 Загрузка данных 24
3.2 Создание и обучение модели 28
3.3 Оценка и сохранение модели 30
ГЛАВА 4 РЕШЕНИЕ ПРОБЛЕМЫ ХОЛОДНОГО СТАРТА В СИСТЕМАХ РЕКОМЕНДАЦИЙ 32
4.1 Определение проблемы холодного старта 32
4.2 Задача нахождения пользователя с похожими предпочтениями 34
4.3 Хранилище таблиц Azure Table storage 35
4.4 Проектирование пользовательского приложения 36
ГЛАВА 5 ТЕХНОЛОГИИ РАЗРАБОТКИ БОТ-ПРИЛОЖЕНИЯ 44
5.1 Обзор бот-приложений 44
5.2 Создание бота с использованием Azure Bot Service и Azure Bot Framework 45
5.3 Возможности Azure Cloud Services для бот-приложений 46
ГЛАВА 6 РАЗРАБОТКА БОТ-ПРИЛОЖЕНИЯ 49
6.1 Проектирование бот-приложения 49
6.2 Принцип работы бота 50
6.3 Библиотека диалогов 51
6.4 Форматированные карточки в сообщениях 52
6.5 Распознавание естественного языка 54
6.6 Взаимодействие приложения с внешними API 59
6.7 Развертывание бота в Azure 59
6.8 Подключение бота к каналу............................................................................60
6.9 Добавление телеметрии в бот 63
ЗАКЛЮЧЕНИЕ 68
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 71
ПРИЛОЖЕНИЕ А 74
ПРИЛОЖЕНИЕ Б 76
ПРИЛОЖЕНИЕ В 78
ПРИЛОЖЕНИЕ Г 81
ПРИЛОЖЕНИЕ Д 82
ПРИЛОЖЕНИЕ Е 85
ПРИЛОЖЕНИЕ Ж 86
ГЛАВА 1 ИССЛЕДОВАНИЕ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ СИСТЕМ РЕКОМЕНДАЦИЙ
1.1 Обзор существующих систем рекомендаций и их ограничений
Чтобы пользователи какого-либо программного продукта наиболее вероятно переходили к финальной стадии потребления, например, покупки товара в онлайн-магазине или просмотра фильма на стриминговом сервисе, важно, чтобы данный продукт предоставлял некоторые сервисы для помощи пользователю в выполнении его запросов. Такой сервис должен понимать предпочтения клиентов и в соответствии с этим рекомендовать им наиболее подходящие варианты товаров/продуктов. Пользователи более вероятно вернутся к тому веб-сайту/программе, с помощью которого они достигают своих целей, прикладывая меньше усилий и тратя меньше времени, что достигается наличием сервиса для предоставления ему помощи в выборе / поиске необходимых продуктов.
Системы рекомендаций решают поставленные выше задачи, поэтому широко используются известными брендами. Например, платформа электронной коммерции Amazon предоставляет такие категории товаров как «Часто покупают вместе» и «Покупатели, которые купили это также купили», после того как пользователь перешел на страничку некоторого товара, что существенно увеличивает прибыль данной организации. Однако такой подход больше используется в сфере коммерции и привычен для онлайн-магазинов. Все рекомендации привязаны к товару, выбранному пользователем в данный момент, у него нет возможности увидеть некоторый единый список товаров, подходящий именно для него, ведь переход на страницу продукта не значит, что пользователю он обязательно понравился, и он хочет видеть похожие рекомендации.
Веб-сайт MovieLens предназначен для рекомендации фильмов. Во время регистрации пользователь должен пройти некоторое предварительное анкетирование и после этого может получить рекомендации. При дальнейшем оценивании фильмов рекомендации уточняются, но после выставления рейтингов, чтобы получить новый список фильмов, необходимо обновить страницу. Пользователю также отображаются и фильмы, которые он смотрел, что может быть неудобно.
Все большую популярность приобретают чат-боты — виртуальные ассистенты, которые предоставляют помощь в режиме реального времени.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Content-Boosted Collaborative Filtering for Improved Recommendations
2. Machine Learning
3. Development of recommender systems using ML.NET
4. Introduction to recommender systems
5. An Intuitive Explanation of Field Aware Factorization Machines
6. E-Commerce Item Recommendation Based on Field-aware Factorization Machinehttps
— Date of access: 04.10.2020.
7. The ultimate guide to binary classification metrics
8. What is ML.NET and how does it work
9. TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems
10. Announcing ML.NET 0.3
11. ONNX Runtime for inferencing machine learning models
12. Unified Modeling Language (UML) | Activity Diagrams
13. MovieLens Latest Full
14. Prepare data for building a model
15. Personality-Based Active Learning for Collaborative Filtering Recommender Systems Mehdi Elahi, Matthias Braunhofer, Francesco Ricci, Marko Tkalcic.
16. The Cold Start Problem for Recommender Systems
17. MachineX: Cosine Similarity for Item-Based Collaborative Filtering
18. What is Azure Table storage
19. 27 Incredible Chatbot Statistics
20. Get started guide for developers on Azure
21. About Azure Bot Service
22. Azure Monitor overview
23. What are Azure Cognitive Services
24. What is Language Understanding (LUIS
25. Connect a bot to channels
26. Using Search in Application Insights
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
3000 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55687 Дипломных работ — поможем найти подходящую