Выявление паттернов поведения пользователей в системах машинного восприятия методами машинного обучения
Машинное обучение для задачи выявления паттернов поведения пользователя в рекомендательных системах. Суть подхода к разработке модели признаков для задачи формирования предсказаний в рекомендательной системе с учетом паттернов поведения пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.08.2020 |
Размер файла | 415,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Факультет бизнеса и менеджмента
Выпускная квалификационная работа
Выявление паттернов поведения пользователей в системах машинного восприятия методами машинного обучения
Репецкая Татьяна Олеговна
Москва 2020
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
ГЛАВА 1. ЧЕЛОВЕК И ЕГО ПАТТЕРНЫ ПОВЕДЕНИЯ
1.1 Поведение личности: основные понятия и аспекты
1.2 Паттерны: что это и какое отношение имеет к поведению человека
1.3 Использование паттернов поведения человека в сфере ИТ
1.4 Человек и его паттерны поведения: выводы
ГЛАВА 2. МАШИННОЕ ОБУЧЕНИЕ В СИСТЕМАХ МАШИННОГО ВОСПРИЯТИЯ
2.1 Системы машинного восприятия
2.2 Машинное обучение: основные принципы применения инструмента
2.3 Машинное обучение для задачи выявления паттернов поведения пользователя в рекомендательных системах
2.4 Машинное обучение в системах машинного восприятия: выводы
ГЛАВА 3. ПОДХОД К РАЗРАБОТКЕ МОДЕЛИ ПРИЗНАКОВ ДЛЯ ЗАДАЧИ ФОРМИРОВАНИЯ ПРЕДСКАЗАНИЙ В РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЕ С УЧЕТОМ ПАТТЕРНОВ ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЯ
3.1 Общая концепция
3.2 Разработка подхода
3.3 Подход к разработке модели признаков для задачи формирования предсказаний в рекомендательной системе с учетом паттернов поведения пользователя: выводы
ГЛАВА 4. ФОРМИРОВАНИЕ ПРЕДСКАЗАНИЙ В РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЕ ПО ПОДБОРУ МУЗЫКАЛЬНЫХ КОМПОЗИЦИЙ С ИСПОЛЬЗОВАНИЕМ ПРЕДЛОЖЕННОГО ПОДХОДА
4.1 Постановка эксперимента
4.2 Средства и инструменты
4.3 Подготовка данных для эксперимента: применение предложенного подхода к разработке признаков
4.4 Построение модели и тестирование гипотезы
4.5 Оценка эффективности и выводы
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ
ВВЕДЕНИЕ
В современном мире информация о пользователе в системе используется повсеместно, начиная от сферы рекламы и заканчивая системами безопасности. Данные такого рода являются особенно популярными в сфере персонализированных информационных систем и систем машинного восприятия, к числу которых, среди прочих, относятся и рекомендательные системы. Производитель стремится сделать продукт максимально удобным с точки зрения человеко-машинного взаимодействия, персонификации - это, разумеется, привлекает как пользователей, поскольку экономит их время: на поиск информации, обучение новому инструменту и другие операции, так и других производителей, поскольку дает им обширные возможности по распространению их товаров и услуг в сети.
В свою очередь, популярным инструментом для решения задач машинного восприятия, в том числе формирования эффективных рекомендаций является машинное обучение. Однако несмотря на обилие подходов и методов, которые машинное обучение предоставляет для решения всевозможных задач, ключевой вопрос любой модели машинного обучения заключается в ее качестве: как и что можно улучшить в модели для того, чтобы усовершенствовать ее? Можно ли повысить качество модели путем включения тех или иных данных о пользователе и как учесть особенность поведения пользователя?
По этой причине в качестве заглавной проблемы данного исследования было определенно изучение возможности выявления паттернов поведения пользователя в системе машинного восприятия методами машинного обучения. Актуальность данной темы обусловлена двумя составляющими. С одной стороны, это естественное развитие пользовательского интерфейса информационных систем в условиях высокого темпа жизни и роста объема информации в мире, которое влечет за собой необходимость поиска новых способов подачи функционала информационных систем, контента информационных источников, в том числе со стороны государства [1]. С другой - это желание любого пользователя быть защищенным в обширной информационной среде, ведь далеко не всегда собранные о пользователе сведения - будь то напрямую или косвенно - используются добросовестно. С какой стороны не посмотри, понимание того, какие существуют подходы к определению паттернов поведения пользователя в информационной системе, является ключом, как к развитию подобных инструментов, так и наоборот - к созданию инструментов защиты против них.
Объектом исследования являются системы машинного восприятия в лице рекомендательных систем. В качестве предмета исследования было выбрано использование паттернов поведения пользователей в системах машинного восприятия методами машинного обучения.
C теоретической точки зрения, данная работа позволит исследовать и, в случае успеха, предложить метод по улучшению рекомендаций в системе за счет выявления паттернов поведения пользователя. С практической точки зрения, применение такого метода позволит усовершенствовать существующие алгоритмы подбора рекомендаций в сервисах, тем самым, повысив уровень персонализации рекомендаций, что повлечет за собой повышение удовлетворенности пользователей качеством сервиса и, как следствие, позволит развивать сервис в сторону увеличения прибыли от продажи сервиса. Стоит отметить, что степень проработки темы использования данных о паттернах поведения пользователя в системе достаточно низкая, особенно в сравнении со степенью изученности применяемых алгоритмов машинного обучения. Таким образом, новизна данного исследования заключается в попытке разработать подход к выявлению и включению данных о паттернах поведения пользователя в системах машинного восприятия в модели машинного обучения, используемые в качестве решения поставленных перед системами машинного восприятия задач.
Из всего вышесказанного следует, что цель данной работы - исследовать возможность выявления паттернов поведения пользователей и сформировать подход к их учету в системах машинного восприятия методами машинного обучения на примере рекомендательных систем. Стоит еще раз подчеркнуть, что ограничением в рамках данной работы является исследование систем машинного восприятия на примере только одного типа систем - рекомендательных. В основу исследования ложится гипотеза о том, что использование данных о паттернах поведения пользователя в рекомендательных системах, которые используют методы машинного обучения для формирования рекомендаций, повышает качество рекомендаций.
Поставленная цель для ее достижения была декомпозирована на следующие задачи:
Изучить существующие подходы к пониманию паттернов поведения у человека;
Исследовать процесс решения задач с использованием инструментов машинного обучения;
Проанализировать существующие решения в области формирования рекомендаций методами машинного обучения с использованием данных о паттернах поведения пользователей и выявить слабые места, требующие более глубокого изучения;
Сформировать подход к выявлению и включению данных о паттернах поведения пользователя в модели машинного обучения, используемые для решения задачи формирования рекомендаций в рекомендательных системах;
Продемонстрировать на практике и оценить эффект от применения сформированного подхода на примере музыкальной рекомендательной системы.
Структура работы соответствует решению поставленных задач. Первая глава «Человек и его паттерны поведения» посвящена исследованию понятия поведение человека и тому, как формируются паттерны поведения, в каких сферах деятельности человека применяются уже сейчас. Во второй главе «Машинное обучение в системах машинного восприятия» приводится обзор таких понятий, как машинное восприятия и машинное обучение, исследуется процесс решения задач методами машинного обучения, а также проводится анализ существующих решений в области рекомендательных систем, которые в той или иной мере используют данные о поведении пользователя. В третьей главе «Подход к разработке модели признаков для задачи формирования предсказаний в рекомендательной системе с учетом паттернов поведения пользователя» представлено описание предлагаемого подхода к выявлению и включению данных о паттернах поведения пользователя в модели машинного обучения для повышения качества формируемых рекомендаций. Наконец, заключительная глава «Формирование предсказаний в рекомендательной системе по подбору музыкальных композиций с использованием предложенного подхода» посвящена практической части работы и представляет собой демонстрацию предлагаемого подхода на практике, а также оценку влияния от его применения на качестве рекомендаций.
В качестве теоретической базы, необходимой для выполнения поставленных задач, являются такие учебные курсы как «Системный анализ и проектирование», «Управление информационными системами», «Управление ИТ-сервисами», «Анализ социальных сетей», «Психология личности», а также различные электронные ресурсы, среди которых библиотеки научных трудов IEEE Xplore, ScienceDirect, Springer и другие.
В качестве методологической базы были определены такие методы, как сравнительный анализ и обобщение (применимы к задачам исследования существующих решений, изучения научной литературы), теоретический анализ, синтез и моделирование (формирование подхода к выявлению и включению данных о паттернах поведения пользователя в модели машинного обучения, оценка эффективности), эксперимент (демонстрация разработанного подхода практике).
ГЛАВА 1. ЧЕЛОВЕК И ЕГО ПАТТЕРНЫ ПОВЕДЕНИЯ
1.1 Поведение личности: основные понятия и аспекты
Каждый живой организм - и человек в этом смысле не является исключением - обладает свойством некоторым сложившимся образом взаимодействовать с окружающей его средой. Этим свойством является не что иное, как поведение [2]. Поведение позволяет человеку (ровно, как и другому живому организму) приспосабливаться к окружающей его действительности, поскольку может меняться в зависимости от воздействующих на него внутренних и внешних факторов.
С точки зрения психологии, в узком смысле слова принято считать, что поведением человека являются только его свободные действия, направленные на себя или общество, т.е. в понятие «поведение» в данном случае не включаются автоматические реакции организма. Само же поведение входит в состав такого более широкого и сложного понятия, как психика - способности мозга получать информацию об окружающей действительности, создавать образ объективного мира и регулировать на этой основе собственное поведение и деятельность [3]. Или попросту говоря, психика человека - это его система субъективных образов реальности, его внутренний мир [3]. Таким образом, с одной стороны, по поведению человека можно делать выводы о его субъективной картине мира, а с другой - зная об особенностях восприятия реальности конкретного человека, можно пытаться предсказать, как он поведет себя в той или иной ситуации.
В свою очередь, существует большое разнообразие классификаций поведения человека: социальное и индивидуальное, внутреннее и внешнее, врожденное и приобретённое, осознанное и неосознанное и др. В рамках данной работы поведение преимущественно рассматривается с точки зрения деления на:
осознанное - сознательные действия человека, и неосознанное - действия человека, которые он совершает, но не отдает себе в этом отчет;
вербальное - словесный аспект действий человека, и невербальное - действия человека, выступающие скрытым маркером личностных характеристик человека [4].
Американский психолог В. МакГвайр, в рамках своей типологии поведения личности, в качестве критериев типизации предложил потребность, цель и ситуацию, в которой находится человек, предполагая, что конечное поведение, воспроизведенное человеком, строится таким образом [5]:
Формирование потребности в контексте ситуации - активной (изнутри) или реактивной (в ответ на внешнее воздействие);
Формирование цели человека в контексте ситуации - направлена на поддержание стабильности или развитие;
Достижение желаемого внутреннего или внешнего эффекта от совершенного в рамках поведения поступка.
Все люди регулярно сталкиваются и сами являются примерами проявления психики человека посредством его поведения: смеются, когда друзья рассказывают смешную шутку, стремятся показать себя хорошими сотрудниками в присутствии начальника, испытывают тревожность, когда читают плохие новости. При этом ценность поведения, как характеристики человека, заключается среди прочего в том, что разные люди могут по-разному реагировать на одинаковые факторы. Например, кто-то сочтет черный юмор неприемлемым, другой же, наоборот - проникнется и от души посмеется, и, таким образом, среди прочего можно говорить о возможности выделения индивидуальных различий через поведение человека.
За ширмой поведения человека, как уже упоминалось ранее, стоит сама его сущность или, как принято называть ее в психологии личности, психика [6]. В рамках термина «психика» обычно выделяют следующую структуру:
психические процессы - все, что касается динамического отражения окружающего мира в представлении человека во всевозможных формах: эмоциональной, волевой или познавательной;
психическое состояние - непосредственно установившаяся в данный момент времени комбинация характеристик, которая определяет текущую активность личности, проявляется в форме эмоциональных (радость, грусть и пр.), тонических (бодрость и угнетенность) и активационных (пассивность и активность) настроений;
психические свойства - индивидуальные, типичные особенности человека, которые определяют его способы взаимодействия с окружающей действительностью (темперамент, жизненная позиция, способности, характер).
Таким образом, можно говорить о том, что выстраиваются следующие взаимосвязи между психикой и поведением человека (рис. 1): личностные особенности психики участвуют в формировании видимого поведения и наоборот по видимым вербальным и невербальным аспектам поведения можно делать вывод об индивидуальных особенностях личности.
Рисунок 1. Взаимосвязь поведения человека и его индивидуальных характеристик
В таблице 1 представлена декомпозиция психики человека до более конкретных проявлений и характеристик, которые можно наблюдать у человека. При составлении таблицы использовались как общие понятия и термины, принятые в психологии личности, так и конкретные классификации и типологии, разработанные различными деятелями этой области. В случае, если требовалось сделать выбор в пользу той или иной общепринятой классификации, предпочтение отдавалось бинарному или более конкретному типу классификации - в случае с психическими процессами, - поскольку в дальнейшем (см. Глава 3) данную таблицу предполагается использовать при выводе предлагаемого подхода [6-8]. По этой же причине, в качестве классификации базовых эмоций выбрана теория эмоций по П. Экману - наиболее часто применяемая на текущий момент и в сфере ИТ [9, 10], для характеристики темперамента выбрана типология по Г. Айзенку [11], а модель характера описывается посредством теории Юнга в современном изложении И. Карнаухом [12].
Таблица 1. Декомпозиция психики человека
Группа психических явлений |
Вид |
Тип |
Проявление и характеристика |
|
Психические процессы |
Познавательные |
Ощущения |
Обоняние, слух, вкус, зрение, осязание |
|
Восприятие |
Субъективность |
|||
Мышление |
Позитивное и негативное |
|||
Речь |
Устная и письменная |
|||
Внимание |
Произвольное и непроизвольное |
|||
Память |
Личный опыт |
|||
Воображение |
Непроизвольное и произвольное. |
|||
Эмоциональные (активные и пассивные) |
Эмоции |
Базовые и вариативные эмоции |
||
Чувства |
Стенические и астенические |
|||
Аффекты |
Положительные и отрицательные |
|||
Волевые |
Решение, действие, усилие и т.п. |
|||
Психическое состояние |
Эмоции |
Базовые |
Радость, печаль, гнев, отвращение, страх (по П. Экману) |
|
Вариативные |
Проявление отличается от человека к человеку в зависимости от ситуации |
|||
Тоника |
Бодрость |
|||
Угнетенность |
||||
Активация |
Активность |
|||
Пассивность |
||||
Психические свойства |
Темперамент (по Г. Айзенку) |
Меланхолик |
Эмоциональная стабильность/ лабильность и интроверсии/ экстраверсии |
|
Сангвиник |
||||
Холерик |
||||
Флегматик |
||||
Жизненная позиция |
Потребности, интересы, идеалы, убеждения |
|||
Активность |
Уровень активности |
|||
Характер (по Юнгу в изложении И. Карнауха) |
Экстраверсия |
Сенсорика (S), интуиция (N), логика (T), этика (F) |
||
Интроверсия |
||||
Способности |
Индивидуальные творческие способности |
1.2 Паттерны: что это и какое отношение имеет к поведению человека
Трудно поспорить с тем, что ежедневно люди сталкиваются с однотипными и повторяющимися явлениями в различных сферах жизни: по дорогам ездят машины одинаковых моделей, кассиры выдают чек при покупке товара, менеджеры проектов планируют очередной спринт в разработке программы, а невесты выходят замуж в белых платьях. Все это является не чем иным, как примером разного рода шаблонов или, иначе говоря, паттернов.
Паттерн - термин, в широком смысле обозначающий повторяющийся шаблон, схему с предсказуемым результатом, применяется в самых разных сферах и научных дисциплинах: информатике, психологии, музыке, дизайне, естественных науках и т.д. - и варьируется в зависимости от области применения [13]. Паттерны хороши тем, что рациональны по своей сути и ведут к повторяемому результату, а значит требуют меньше усилий и времени на их воспроизведение при большей эффективности - это тот случай, когда для получения желаемого действует принцип «не нужно изобретать велосипед».
В психологии паттерном принято считать некоторую готовую совокупность действий и характеристик, которую человек использует для получения некоторого конечного результата неосознанно - путем простого копирования [14]. Паттерны при этом можно выделить в разных процессах жизнедеятельности человека: мышлении, поведении, восприятии и т.д. В рамках данной работы наибольший интерес представляет такое явление, как паттерны поведения.
Собственно паттерны поведения - это шаблонные установки человека по взаимодействию с окружающим миром, воспроизводимые бездумно, т.е., не задумываясь - будь то осознанно или неосознанно [15]. Паттерны поведения наиболее активно вырабатываются у человека в детстве и формируются на протяжении всей жизни. Существует достаточно многочисленная классификация паттернов поведения, однако в рамках данной работы наиболее уместным кажется принятое деление паттернов поведения на личные (или индивидуальные) и социальные (или общепринятые).
Социальные паттерны поведения - это привычная последовательность действий человека в обществе или еще иначе говоря - социальная привычка. К ним относятся массовые паттерны поведения людей типа рукопожатия между мужчинами в знак приветствия, речевые приемы, например, автоматический ответ «Нормально» на вопрос коллеги «Как дела?» и т.д., которые человек перенимает из общества и воспроизводит потому, что так принято. Личные паттерны поведения - более индивидуальное явление и рождается не только и не столько путем слепого копирования тех или иных шаблонов в обществе, семье или кругу друзей, но и путем модифицирования и встраивания в характер человека, в целом в его систему поведения с учетом индивидуальных особенностей. Такие паттерны также могут появляться как неосознанно, так и сознательно, превращаясь затем в автоматику, например, манера и предпочтения в еде, последовательность действий перед отходом ко сну.
Сами по себе паттерны поведения - явление нейтральное и несет свои плюсы и минусы в зависимости от конечной цели их применения, будь то осознанно или нет. Однако, что наиболее интересно в рамках данной работы - то, что наблюдение и изучение паттернов поведения человека позволяет делать выводы о его индивидуальных особенностях - за счет связи поведения с психикой личности человека, описанной ранее, и предугадывать, как человек поведет себя в той или иной ситуации - за счет отработки этого поведения в рамках паттернов.
Таким образом, выстраивается следующая цепочка: воспроизведение паттернов поведения является следствием неосознанного поведения человека, которое в свою очередь отражает индивидуальные черты его психики, а значит делает возможным предсказать последующие действия человека.
1.3 Использование паттернов поведения человека в сфере ИТ
Для человека паттерны поведения являются инструментом, который позволяет относительно легко интегрироваться в окружающую среду и гибко подстраиваться под ее изменения в случае необходимости. Иначе говоря, найти общий язык с объектом взаимодействия куда проще, если имеешь возможность видеть, как он себя ведет в ответ на твои действия и в каком контексте находятся оба. Например, очевидно, что если твой друг просит у тебя совета, какой бы фильм ему посмотреть сегодня вечером, а ты знаешь, что друг сегодня чувствует себя неважно и грустен, так как расстался со своей подругой, то, по меньшей мере, бестактным будет предлагать ему посмотреть романтическую комедию со счастливым концом - скорее всего, что такой совет воспримется негативно, и возможно в следующий раз этот друг десять раз подумает, прежде чем задавать такие вопросы. Другой пример: если в ответ на заданный вопрос собеседник избегает зрительного контакта, а эмоции на лице не соответствуют интонации в голосе, значит, скорее всего, он врет, и доверять ему не стоит.
Приведенные выше примеры наглядно показывают, как контекст и знание привычного поведения объекта влияют на принятие решения в той или иной ситуации. С появлением в жизни людей информационных технологий - сотовой связи, интернета, многообразия информационных систем - человек стал чаще сталкиваться с ситуацией, когда для своего оппонента - будь то работа с информационной системой или общение в интернете - он становится обезличенным (проблема анонимности пользователей в интернете, сбора и обработки данных о пользователе, в том числе правовые и морально-этические стороны этого вопроса представляют собой отдельную большую область исследования и не входят в границы текущей работы). Этот аспект имеет как свои плюсы, так, безусловно, и минусы, однако суть проблемы остается одна: предсказать, как поведет себя пользователь в следующий момент времени, стало трудно, и это особенно сильно выражено во взаимодействии человек - машина [16-18]. Возникает закономерный вопрос, для каких задач может потребоваться выяснить в таком случае личность человека, чем в этом поможет выявление паттернов пользователей и какую форму принимает?
Моделирование профиля пользователя. Внушительный блок современных исследований посвящен вопросам определения профиля пользователя системы, в особенности веб-системы, основываясь на его паттернах поведения [19-24].
Эта задача популярна в самых разных сферах деятельности. Так, подобные задачи возникают, когда необходимо классифицировать пользователей в социальных сетях, новостных порталах (особой популярностью в этой части пользуется Twitter) - для выявления политической принадлежности, идентификации этнической принадлежности, выявления привязанности к конкретному бизнесу; кроме того, это, безусловно, реклама и маркетинг - для выявления интересов пользователей, возрастной категории, социальной группы и других характеристик.
Используя ограниченный набор пользовательских атрибутов, таких как политическая ориентация или этническая принадлежность, пол, возраст, а также набор явных и неявных признаков поведения пользователя в сети (какой контент, информацию читает пользователь, что нравится, что нет, структура связей между отдельными объектами и лингвистические характеристики контента) формируется функция определения класса принадлежности пользователя по заданному признаку. Затем с использованием методов машинного обучения, которые принимают во внимание полный спектр таких функций, формируется предсказание.
Для получения такого рода профилей не обязательно собирать информацию, которую пользователь предоставил в явном виде - ряд исследований показывает, что для получения подобной аналитики достаточно иметь доступ к журналу действий пользователя [19, 21]. В таком случае используются статистические модели машинного обучения, для которых эталоном служит заблаговременно подготовленная база данных журналов доступа.
Информационная безопасность. В современном мире защита информации и данных является очень важным вопросом.
Современные методы аутентификации, начиная с обычного ввода пароля и заканчивая более сложными моделями аутентификации пользователей, как, например, двухфакторная аутентификация, значительно усложняют задачу взлома, но при этом пользователям устройств становится все труднее их использовать. Между тем, знание паттернов поведения того или иного пользователя в системе сравнимо с цифровыми отпечатками пальцев - они также уникальны. Это позволяет проводить аутентификацию пользователя неявным образом - на основе моделей поведения, выявленных с помощью методов машинного обучения [25]. В частности, ряд образовательных платформ использует подобную методику в качестве подтверждения личности: платформа дистанционного обучения Coursera проводит аутентификацию пользователя посредством анализа паттерна машинопечати.
Кроме того, зная паттерны поведения пользователей в системе, благодаря технологии анализа данных в совокупности с методами машинного обучения, становится возможным выявлять несвойственное пользователю поведение - и, тем самым, определять мошенников [26]. Например, подобный подход может быть реализован для определения ложных звонков мошенников по сотовой связи или предотвращения потери данных в крупных компаниях и организациях, основываясь на анализе трафика логов.
Адаптивный пользовательский интерфейс. На текущий момент существует огромное многообразие различных технических устройств. Их эволюция, как и в целом развитие стека информационных технологий, порождает желание человека улучшать человеко-машинное взаимодействие. Адаптивный пользовательский интерфейс обеспечивает персонализированную помощь пользователям в режиме реального времени, регистрируя события и частоты их возникновения в тех или иных частях пользовательского интерфейса, объединяя их в сценарии и автоматически формируя паттерны поведения группы пользователей. Таким образом, можно сократить время на обучение пользователя работе в системе или адаптации к новому устройству, поскольку такой интерфейс способен не только оперировать уже известными данными, но и пытаться предсказать, какое действие понадобиться пользователю в следующий промежуток времени, делая системы и устройства гибкими [27, 28]. Кроме того, такой же подход рассматривается к использованию для улучшения взаимодействия человека и персональных помощников, в том числе в концепции «умного» дома [29, 30].
Рекомендательные системы. Это еще одна насыщенная сфера применения решений подобных задач. Рекомендательные системы используются повсеместно и не в последнюю очередь благодаря бурному развитию рынка электронной коммерции. Это основной инструмент для ускорения перекрестных продаж, повышения лояльности клиентов, таргетинговой рекламы [31-34]. Рекомендательные системы также являются основным инструментом для формирования интеллектуальных подборок начиная от новостей и заканчивая товарами, музыкой и другими объектами [35-36].
Двух существующих распространенных подходов к созданию рекомендательных систем - рекомендации на основе контента и совместной фильтрации уже давно не хватает, поэтому исследователи строят все новые и новые модели, вырабатывают новые подходы [37]. К ним относится и класс подходов, которые отслеживают поведение пользователя на предмет неявных сигналов намерения пользователя, чтобы в ответ предоставить более эффективную рекомендацию. Это, в отличие от предыдущих подходов, которые либо нечувствительны к намерениям пользователя, либо требуют явной, определенной пользователем информации о задаче, безусловно, выигрышная стратегия. Такой подход состоит из двух этапов: анализ непосредственно паттерна поведения пользователя и сама рекомендация. На первом этапе поведение пользователя анализируется динамически, чтобы найти семантически значимые шаблоны поведения, а на втором этапе алгоритм автоматически предлагает альтернативные рекомендации. Результаты исследований также демонстрируют, что такой подход сокращает время выполнения задачи пользователя и снижает частоту появления ошибок в рекомендациях в сравнении с рекомендациями, не зависящими от паттернов поведения. В качестве альтернативной версии предлагается также формировать рекомендации на основе сравнения с другими пользователями, которые имеют схожие паттерны поведения. Именно эта сфера применения рассматривается подробно в данной работе.
На перечисленных выше сферы применения технологий с использованием паттернов поведения пользователя в системе, разумеется, не заканчиваются - здесь представлен краткий обзор лишь нескольких наиболее популярных задач, которые были выявлены в ходе анализа научных исследований последних лет. Однако, что хочется отметить - несмотря на многообразие исследований по этой теме, практически совсем не уделяется внимание такому важному этапу, как подготовка данных, в особенности в контексте существующих подходов к выявлению паттернов поведения человека с точки зрения психологии: какие действия со стороны пользователя нужно принимать во внимание, посредством каких инструментов их можно определить и как в целом должна выглядеть модель данных, чтобы ее можно было адекватно применять впоследствии. Как это будет показано далее в главе 2, качественно подготовленная модель данных позволяет повысить точность работы алгоритма в целом.
1.4 Человек и его паттерны поведения: выводы
Подводя итог, можно сказать, что воспроизведение паттернов поведения является следствием неосознанного поведения человека, которое в свою очередь отражает личностные особенности его психики, а значит делает возможным предсказать последующие действия человека в той или иной ситуации. Анализ тематических исследований показал, что информация о поведении пользователя является важной при построении той или иной технологии, однако же, каким образом должна строиться модель данных и как в ней учитываются те или иные аспекты поведения человека, в рамках исследований не рассматривается.
ГЛАВА 2. МАШИННОЕ ОБУЧЕНИЕ В СИСТЕМАХ МАШИННОГО ВОСПРИЯТИЯ
2.1 Системы машинного восприятия
Информационные технологии развиваются по мере возрастания потребности человечества в получении информации нового уровня на базе данных и сведений, поступающих из окружающей среды. Каждый день эта потребность становится все больше, а задачи, которые с ней связаны - все сложнее, поэтому и требования к информационным технологиям тоже растут. Так свое развитие получил Искусственный Интеллект - комплекс наук, исследующий? проблемы создания и развития интеллектуальных компьютерных программ и систем [38]. В свою очередь, одной из важнейших задач Искусственного Интеллекта является развитие такого свойства как машинное восприятие (Machine Perception) - способности компьютерных систем воспринимать и интерпретировать информацию извне подобно человеку [39]. Развитие машинного восприятия позволит научить машину осознанно принимать сложные решения и при этом построить механизм принятия решения таким образом, чтобы она смогла «объяснить» человеческим языком причину его выбора [40]. К задачам машинного восприятия относится и большой спектр задач, связанный с человеко-машинным взаимодействием и восприятием и анализом окружающей среды в целом - на текущий момент выделяют следующие глобальные области: машинное зрение (Machine Vision), машинный слух (Machine Hearing) и машинное осязание (Machine Touch) [40]. Более подробно сферы применения и задачи, решаемые в рамках каждой из глобальных областей, были рассмотрены в ходе исследования в рамках бакалаврской выпускной квалификационной работы [40].
На сегодняшний день системы машинного восприятия в чистом виде фактически на практике не существуют, поскольку есть масса задач, требующих своего решения прежде, чем такая вещь станет тиражируемой - сейчас же в основном полученные результаты являются заслугой экспериментов и исследований в такой области науки, как робототехника. Яркими примерами достижений в этой области являются эмоциональный человекоподобный робот Sophia от Hanson Robotics, помощник Айко Чихира, созданная японской компанией Toshiba, справочная интеллектуальная машина Semmi на главном вокзале Берлина и российский робот-космонавт FEDOR [41]. Однако несмотря на это, технологии машинного восприятия внедряются в те или иные отдельные задачи информационных систем.
Рекомендательные системы - тот класс информационных систем, который особенно ощущает это на себе, и этому есть ряд причин. Во-первых, по своему функционалу они являются частным случаем систем принятия решений - неотъемлемым атрибутом Искусственного Интеллекта. А во-вторых, рекомендательные системы пользуются большим успехом в решении задач по предложению товаров и услуг, формированию подборок фильмов и музыки, развитию таргетированной рекламы. Поэтому было решено в рамках данной исследовательской работы рассматривать именно рекомендательные системы.
2.2 Машинное обучение: основные принципы применения инструмента
Как уже было сказано ранее, объем данных, окружающих человека, неуклонно растет с каждым днем. Естественно, в таком обилии данных хочется понимать, являются ли они значимыми, какую информацию можно из них извлечь и как можно затем ее использовать? Зачастую для подобных задач не существует точного решения, тогда на помощь приходит машинное обучение, инструменты которого пытаются формировать модели на основе полученных данных и предлагать тем самым человеку готовые схемы для принятия решения.
Существует несколько подходов к определению машинного обучения, поскольку формального определения не существует, однако в контексте данной работы для машинного обучения будет приведена следующая усредненная трактовка: это наука, представляющая собой подраздел Искусственного Интеллекта и изучающая методы и способы построения алгоритмов, которые позволяют выявлять закономерности в ограниченном наборе данных [42, 43].
Задач, которые решаются с помощью инструментов машинного обучения, также очень много, ровно, как и подходов к их типизации. Тем не менее, чаще всего используется следующая классификация:
обучение с учителем (supervised learning): совокупность методов, направленных на решение задач, для которых существует выборка данных с известными ответами, т.е. обучающая выборка, и требуется найти зависимость между описательными признаками и соответствующими ответами - это задачи классификации, регрессии, ранжировании, прогнозирования;
обучение без учителя (unsupervised learning): совокупность методов по решению задач, для которых ответы неизвестны, и выявить закономерности в данных можно только используя описательные признаки - это задачи кластеризации, поиска ассоциативных правил, визуализации и др.
Независимо от того, к какому классу относится задача и методы ее решения, конечной целью машинного обучения является разработка алгоритма (или иначе говоря - модели), который сможет предсказать значение целевой переменной, определенной в рамках поставленной задачи, по существующим данным с заданной точностью. Поэтому важно понимать, как в целом строится процесс разработки модели, чтобы иметь возможность контролировать качество разрабатываемой модели на каждом этапе.
Строго формализованного порядка решения задачи машинного обучения как такового нет, однако большинство исследователей в среднем выделяет следующие этапы в разработке решения (рис. 2) [42-45]:
Рисунок 2. Процесс решения задачи инструментами машинного обучения
Постановка задачи. Название этапа говорит само за себя - его суть заключается в переложении формулировки бизнес-задачи на задачу в терминах машинного обучения: определяется пространство объектов и целевая переменная, значение которой необходимо предсказать.
Разработка модели признаков или feature engineering. Для того, чтобы использовать известные характеристики объектов, обозначенных на этапе постановки задачи, при построении алгоритма, необходимо переложить их на математический язык - такие характеристики называют признаками. Этап разработки признаков классически делят на извлечение признаков (Feature Extraction), преобразование признаков (Feature Transformation) и выбор признаков (Feature Selection). Данный этап считается одним из самых сложных и творческих, поскольку чаще всего сопряжен с исследованием объекта задачи на предмет того, какого рода данные об объекте в целом можно получить из сырых данных, как их можно извлечь и как - описать математически (подробнее этап разработки признаков будет рассмотрен в главе 3) [46, 47].
Формирование выборки. После того, как задача сформулирована и определена модель признаков, необходимо сформировать выборку - конечный набор объектов, некоторым образом выбранный из всего множества объектов. Это может быть случайная выборка или определение оптимальной выборки - в зависимости от входящих условий и требований бизнес-задачи. Кроме того, на этом этапе всю выборку делать на обучающую и тестовую.
Выбор функционала качества (метрики). Для того, чтобы в дальнейшем иметь возможность оценить построенную модель адекватно требуемой исходной задаче, необходимо сформировать метрики качества. Метрика должна соответствовать бизнес-требованиям и учитывать особенности данных. Чаще всего в качестве основной метрики используют среднеквадратичную ошибку.
Предобработка данных. Качество данных играет наиважнейшую роль при построении модели, поэтому прежде, чем приступить непосредственно к построению, может потребоваться дополнительно обработать данные: исключить шумовые признаки, провести нормирование, обработать выбросы в данных и др.
Построение модели. На данном этапе происходит поиск наиболее оптимального алгоритма(-ов) среди различных семейств алгоритмов, разработанных в машинном обучении, в соответствии с определенными ранее задачей и метриками качества.
Оценка качества модели. Построенную модель в заключении необходимо оценить, чтобы понимать, насколько высока точность предсказаний. Чаще всего оценку проводят на тестовой выборке или различными методами кросс-валидации.
Несмотря на то, что с ходу может показаться, что машинное обучение - идеальный универсальный инструмент для решения многих и многих задач, все же - как и у любого инструмента - у машинного обучения тоже есть свои ограничения по применимости [48]. Во-первых, это, конечно, данные - ни одна модель машинного обучения не будет работать корректно на недостоверных данных или если их в целом недостаточно. Во-вторых, машинное обучение не стоит применять для детерминированных задач, решение которых опирается на уже известные закономерности, вроде законов физики - такие задачи более точно и, чаще всего, проще решаются на базе уже полученных знаний об устройстве мира. Кроме того, поскольку машинное обучение - самостоятельная дисциплина и на текущий момент не принимает во внимание физические ограничения, при решении подобных задач есть риск в накоплении ошибки. Наконец, это вопрос интерпретируемости разрабатываемой модели и доверия к модели с этико-нормативной точки зрения - если модель не интерпретируется на языке бизнес-задачи, ее сложно использовать для принятия решения и степень доверия к ней также низкая, поскольку непонятно, как она устроена. В то же время, есть и обратная крайность, когда человек слепо полагается на решения, принимаемые алгоритмом, например, когда пользуется GPS-навигатором - где находится та грань, когда алгоритму можно доверять больше, чем собственным суждениям, и при этом не угодить в кювет?
2.3 Машинное обучение для задачи выявления паттернов поведения пользователя в рекомендательных системах
Исходя из описанных в предыдущем параграфе общих принципов использования инструментов машинного обучения, становится очевидно, что рассматривать применение конкретных методов машинного обучения нужно в контексте поставленной задачи. Поэтому прежде, чем перейти к более подробному разбору предлагаемых методов, остановимся еще раз на формулировке самой задачи.
Как уже упоминалось ранее в главе 1, выявление паттернов поведения пользователя играет большую роль в развитии информационных технологий, в том числе человеко-машинного взаимодействия, которое является неотъемлемой частью систем машинного восприятия. Частным примером систем, использующих технологии машинного восприятия, являются рекомендательные системы - выбор в пользу рекомендательных систем был также подробно обоснован ранее, в параграфе 2.1. Таким образом, приходим к следующей задаче: выявление паттернов поведения пользователя в рекомендательных системах для улучшения формируемых предсказаний. Это и есть первый этап в процессе решения задачи машинного обучения.
Теперь можно перейти к рассмотрению существующих подходов к решению данной задачи.
Для начала стоит отметить, что по мере того, как данных вокруг становилось все больше, а потребность в улучшении качества рекомендаций также росла, появился новый подкласс рекомендательных систем - контекстно-зависимые рекомендательные системы (Context-Aware Recommender Systems, CARS), которые используют контекстную информацию в дополнение к классическим двумерным подходам к формированию рекомендаций, предоставляя более персонализированные рекомендации для пользователей. Такие системы используются в большом количестве сфер деятельности человека: электронной коммерции и рекламе, медиа и развлечениях (особенно популярны исследования рекомендаций музыки и фильмов, а также новостных порталов), туризме, а также образовании [49, 50].
Соответственно, контекстная информация, которую использует система, зависит от той сферы, где она применяется, и не всегда речь идет только о паттернах поведения пользователя - термин «контекст» в данном случае является достаточно гибким и широким. В понятие «контекст» входит довольно много составляющих: это и те действия, которые сам пользователь осуществляет в системе, характеристики окружающей среды, артефакты, которыми оперирует система [49]. В ходе анализа научной литературы было выявлено, что существующие подходы к извлечению данных можно классифицировать следующим образом в зависимости от того, что из себя представляет контекст:
явные;
неявные;
смешанные.
Явные подходы. Такие подходы требуют активного ответа пользователя на действия со стороны системы о своих интересах, как правило, в формате рейтингов (лайки/дизлайки, оценки и др.) или ответов на вопросы, а также путем заполнения информации в профиле пользователя. Такой подход хорош тем, что можно сразу получить данные в нужной интерпретации: если пользователь отмечает контент понравившимся, значит контент ему нравится. Однако минус такого подхода заключается в том, что для того, чтобы получить такие данные, требуется получить ответ на вопрос от пользователя в явном виде - а между тем не каждый пользователь посчитает необходимым тратить на это время или в целом изъявляет желание делиться какой-либо информацией.
Неявные подходы. В то же время неявные подходы используют данные, полученные от пользователя путем, не требующим от пользователя активного ответа. Это могут быть данные о логах системы, геопозиции и других косвенных признаках, по которым можно судить о проявлении интереса к контенту со стороны пользователя, например, время просмотра контента, частота прослушивания композиции или цепочка переходов между страницами в браузере. Безусловный плюс таких подходов заключается в том, что для их получения не требуется получать ответ от пользователя в явном виде (кроме разрешения на сбор данных), а также гибкости - неявные подходы требуют творчества и, как следствие, расширяют границы допустимого. В свою очередь, сложность подобных методов заключается в необходимости проведения дополнительного анализа, поскольку в этом случае нельзя однозначно сказать, что, например, фильм, просмотренный только наполовину, пользователю не нравится - возможно он остался недосмотренным, потому что была глубокая ночь, и пользователь уснул, или появилась необходимость срочно отвлечься на что-то другое, т.е. контекст играет еще более важную роль для формирования корректной рекомендации.
Смешанные подходы. Наиболее популярный среди исследователей, поскольку показывает более высокий результат на выходе, и по сути является результатом сложения явного и неявного подхода.
К построению самой модели на базе собранных данных (как с помощью инструментов машинного обучения, так и посредством других доступных математических инструментов) также выделяют несколько подходов [49]:
Онтологический подход - модель формируется с использованием извлеченных явным, неявным или смешанным путем данных на базе существующих онтологий физико-математических знаний [51];
Граф - модель строится на базе известных связей между данными, полученными от пользователя, затем используется метод случайного блуждания, применяется в случае с явным или смешанным подходом [52];
Логическая модель - извлеченные смешанным путем данные преобразуются в модель контекста как набор условий и ограничений, по которым можно делать выводы о том, что тот или иной факт имеет место быть; Тегирование - модель построения контекста на базе данных, полученных смешанным путем, которая заключается в том, что полученная информация классифицируется и затем используется системой с использованием набора тегов;
Векторная модель - это метод описания входного контекста через набор признаков (явных, неявных или смешанных), является ключевым при построении моделей машинного обучения и является универсальным - с точки зрения используемого инструмента, т.е. не зависит от формулировки поставленной задачи.
По сути, все перечисленные выше подходы являются вторым этапом в процессе решения задачи машинного обучения - разработки модели признаков.
После третьего этапа - формирования выборки данных - следует четвертый этап: выбор метрики качества. Как уже упоминалось ранее, существует большое количество подходов к оценке качества построенной модели - как модели машинного обучения, так и других математических моделей. В таблице 2 представлено сводное описание наиболее часто используемых в различных исследованиях по теме рекомендательных систем метрик качества [49]. Стоит отметить, что поскольку данные метрики используются для непосредственной оценки качества модели в целом, они также являются универсальными вне зависимости от постановки задачи.
Таблица 2. Наиболее популярные метрики качества для оценки модели рекомендаций в системе
Метрика |
Описание |
|
Точность/Precision |
Соотношение рекомендаций, определенных моделью как релевантные, к общему числу: отображает способность системы исключать нерелевантные рекомендации |
|
Полнота/Recall |
Отношение релевантных рекомендаций, определенных моделью, к общему числу релевантных рекомендаций: отображает способность системы находить все релевантные рекомендации |
|
F-мера |
Среднее гармоническое между точностью и полнотой: отображает баланс точности и полноты в системе |
|
MAE (Mean Absolute Error) |
Отображает девиацию рекомендаций относительно пользовательских оценок рекомендаций |
|
RMSE (Root Mean Squared Error) |
Среднеквадратичное отклонение: отображает, насколько отличаются рекомендации, предсказанные моделью, от их истинных значений |
|
Discounted Cumulative Gain (nDCG) |
Отображает качество топ-n рекомендаций в системе |
|
Mean Average Precision (MAP) |
Отображает качество топ-n рекомендаций системы для запроса путем усреднения оценки качества ранжирования каждой из отдельно взятых рекомендаций |
|
Mean Reciprocal Rank (MRR) |
Указывает на позицию первой релевантной рекомендации в рейтинге рекомендаций системы, сформированных в ответ на запрос пользователя |
|
Click Through Rate (CTR) |
Показатель кликабельности: отображает, насколько конечный сформированный список рекомендаций привлекает пользователя |
|
Purchase Rate (PR) |
Показатель покупаемости: отображает, какое количество объектов из предложенных рекомендательной системой было куплено/использовано. |
На этапе 5 - предобработке данных - останавливаться подробно не будем, так как для предварительной обработки данных используются универсальные математические методы: нормализация, заполнение отсутствующих значений, дискретизация и др.
Наконец, идут заключительные этапы - построение и оценка модели - для задачи выявления паттернов пользователей в рекомендательных системах. В ходе анализа научной литературы было выявлено применение различных алгоритмов, чаще всего исследователи отдавали предпочтение таким инструментам как ансамбль, метод K-средних и метод опорных векторов (SVM), байесовский вывод, деревья решений, матричное разложение и метод k-ближайших соседей [53]. При этом стоит отметить, что подавляющее большинство исследований посвящено поиску оптимального алгоритма для рекомендаций, практически не затрагивая проблему выявления и учета в алгоритме паттернов поведения пользователя. Остановимся чуть более подробно на нескольких исследованиях, которые в том или ином виде рассматривают вопрос выявления паттернов поведения пользователей.
В своем исследовании Ning Wang в коллаборации с другими исследователями предлагает модель системы рекомендаций в сфере электронной коммерции, основанную на распознавании паттернов и анализе предпочтений в поведении пользователей [54]. Система рекомендаций при построении рекомендаций ориентируется на профили релевантных пользователей, при этом учитывая в процессе анализа исторические данные о поведении пользователя. В качестве данных о пользователе предполагается использовать логи, хранящиеся на сервере, и заполненную регистрационную форму на ресурсе, и с помощью инструментов анализа данных предсказывать поведение клиента. В качестве инструментов машинного обучения используется ансамбль методов: корреляционный анализ, кластерный анализ и классификация [54].
Еще одна группа исследователей (V. Subramaniyaswamy & R. Logesh) подошла к проблеме персонализации через разработку предметной онтологии, основанной на известных знаниях о предметной области [51]. На базе сформированных онтологий в области рекомендаций фильмов, были разработаны прогнозирующие модели с использованием модифицированного метода k-ближайших соседей (Adaptive KNN) для системы рекомендаций на основе коллаборативной фильтрации. Предложенный метод оценивали на наборе данных MovieLens с помощью таких метрик, как точность, полнота и F-мера. Наконец, в качестве заключительного примера, рассмотрим исследование S. Gu, X. Liu, L.Cai и J. Shen, которые в своей работе предложили модель системы, формирующей предсказания в сфере моды [55]. Они используют традиционную систему рекомендаций, основанную на коллаборативной фильтрации с использованием модели LFM (Latent Factor Model), дополняют ее алгоритмами искусственных нейронных сетей (Denoising Autoencoder), тем самым учитывая как поведение пользователя, так и визуальные особенности рекомендуемых объектов (поскольку речь идет о стиле и моде). Комбинируя эти два метода, они пришли к выводу, что такая система лучше справляется с проблемой холодного старта, нежели чем традиционные методы рекомендательных систем.
Также стоит отдельно выделить исследование L. Wang и др., которое предлагает подход по включению метода сингулярного разложения матрицы высокого порядка (HOSVD) в рекомендательные системы с тем, чтобы можно было точнее учитывать контекст, в котором находится пользователь, и формировать более точные рекомендации, однако, несмотря на то, что данная работа предлагает хороший математический аппарат для автоматической генерации признаков, все же вопрос идентификации паттернов поведения пользователя в ней не затрагивается [56].
...Подобные документы
Исследование приемов объектно-ориентированного проектирования. Описания паттернов поведения, предназначенных для распределения обязанностей между объектами в системе. Признаки применения, использования паттерна "Декоратор". Принцип действия репозитория.
реферат [686,9 K], добавлен 21.09.2013Метод извлечения информации о личностных характеристиках пользователя с помощью технологии распознавания лица. Разработка алгоритма работы рекомендательной системы, основанной на психологическом портрете пользователя, хранилища баз данных и интерфейса.
курсовая работа [815,2 K], добавлен 21.09.2016Выбор и обоснование аппаратного обеспечения. Типы архитектуры веб-приложений. Шаблоны проектирования архитектуры приложения. Разработка инфологической модели базы данных. Подготовка к разработке приложения. Рассмотрение причин возникновения паттернов.
дипломная работа [3,0 M], добавлен 27.11.2022Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.
дипломная работа [917,1 K], добавлен 31.01.2015Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.
реферат [21,5 K], добавлен 19.02.2011Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Разработка информационного обеспечения задачи, определение логической структуры реляционной базы данных. Разработка запросов и отчетов для обработки и отображения информации, интерфейса пользователя. Методика и этапы физического проектирования задачи.
курсовая работа [33,5 K], добавлен 25.07.2012Рассмотрение принципов работы руткита. Изучение особенностей захвата в режиме пользователя. Анализ модификации машинного кода прикладной программы. Оценка механизма работы руткита в режиме ядра. Характеристика методов обнаружения rootkit в системе.
дипломная работа [241,9 K], добавлен 12.05.2019Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.
курсовая работа [1020,6 K], добавлен 30.11.2016Виды машинного обучения, его основные задачи и методы. Подходы к классификации: логистическая регрессия, наивный байесовский классификатор, стохастический градиентный спуск, K-ближайший сосед, дерево решений, случайный лес, метод опорных векторов.
курсовая работа [436,9 K], добавлен 14.12.2022Основные типы шаблонов проектирования. Типы связей, которые могут применяться при объектно-ориентированном программировании. Обзор и реализация порождающих, структурных и поведенческих шаблонов проектирования. Шаблоны "Command", "Front Controller".
курсовая работа [3,1 M], добавлен 01.06.2014Установка привилегий доступа определенного пользователя, виды привилегий и ключевые слова в операторе. Лишение пользователя права назначать привилегии. Структура данных и алгоритм, описание работы программы, имя пользователя, пароль и создание прав.
курсовая работа [207,2 K], добавлен 12.08.2011Системный подход к программированию в операционных системах. Разработка программы, выполняющей запуск программ по расписанию. Понятие интерфейса и его назначение. Создание алгоритма и программы на его базе. Текст программы и руководство пользователя.
курсовая работа [581,0 K], добавлен 13.11.2009Цели, преимущества и проблемы внедрения системы CALS, необходимость и перспективы ее внедрения в России. Объектно-ориентированное моделирование, классификация паттернов и стратегии отображения конструкций языка EXPRESS в реляционную метамодель.
курсовая работа [51,1 K], добавлен 16.12.2009Разработка авторизированной информационной системы оформления кредитов на различные нужды потребителя. Описание особенностей применения паттернов проектирования. Исследование алгоритмов, реализующих бизнес-логику серверной части проектируемой системы.
курсовая работа [924,5 K], добавлен 24.01.2016История автоматизированного перевода. Современные компьютерные программы перевода. Сфера использования машинного перевода. Формы организации взаимодействия человека и ЭВМ в машинном переводе. Интерредактирование и постредактирование машинного перевода.
курсовая работа [30,0 K], добавлен 19.06.2015Раскрытие сущности планирования в программных компонентах. Понятие процесса и потока, их планирование в операционной системе. Категории и задачи алгоритмов планирования в пакетных и интерактивных системах. Планирование в системах реального времени.
контрольная работа [303,5 K], добавлен 24.10.2014История возникновения, эволюция машинного перевода. Основные требования к коммуникативной эквивалентности. Последовательность формальных операций в системе машинного перевода, ее концепции развития. Переводчик для офиса. Преимущества электронных словарей.
презентация [455,3 K], добавлен 22.10.2013Виды алгоритмов как логико-математических средств, характеристика свойств. Корректный вывод алгоритма при решении вычислительной задачи. Механизм реализации алгоритма, его описание. Решение задачи Майхилла при помощи автоматной модели поведения стрелка.
курсовая работа [53,6 K], добавлен 17.07.2014Обзор области генерации сетевого трафика. Описание выбранных методов, моделей, алгоритмов решения задач. Создание модели поведения пользователя, распределение количества посещённых страниц сайта. Выбор средств реализации программного продукта (проекта).
курсовая работа [1,3 M], добавлен 30.06.2017