diff --git a/tex/12-intro.tex b/tex/12-intro.tex index 69a01b9295ac9846a31745de5557f37cf70a5a30..31e901bcd79a7525a0bc0cdbadaaf23458b149dd 100644 --- a/tex/12-intro.tex +++ b/tex/12-intro.tex @@ -1,8 +1,15 @@ \Introduction -В отчетном периоде (сентябрь 2018 – август 2019) были разработаны методы и модели онтолого-ориентированной поддержки мобильности населения в цифровом информационно-техническом пространстве умного города. Под онтолого-ориентированной поддержкой мобильности в данном случае подразумевается обеспечение транспортной, социальной и информационной мобильности внутри умного города за счет использования онтологий при описании ключевых сущностей информационной системы и использовании разработанных онтологий в информационных сервисах умного города. -В настоящий момент наблюдается активное внедрение методов и технологий извлечения, интерпретации и использования открытых источников информации для управления умным городом и планирования его развития. Такими источниками являются муниципальные и федеральные органы власти, а также устройства, оснащенные сенсорами для сбора данных, входящие в состав умного города и объединенные в городской интернет вещей (IoT). Использование информации о функционировании умного города является актуальной задачей не только для целей городского управления, но и для жителей города, позволяя разработать сервисы для проактивной интеллектуальной поддержки жителей с учетом текущей ситуации. -В данной работе основное внимание уделено разработке методов и моделей сбора, анализа и обработки данных, а также моделей и методов взаимодействия информационных сервисов умного города для обеспечения мобильности жителей. В данной работе рассматриваются следующие типы мобильности: территориальная, социальная и информационная. Под обеспечением территориальной мобильности здесь понимается осуществление информационной поддержки на основе имеющейся транспортной инфраструктуры для обеспечения передвижения жителя в городе. Социальная мобильность определяется как изменение жителем своего места в социальной структуре, достигаемое за счет получения новых компетенций или повышения уровня старых. Информационная мобильность определяется как обеспечение равного доступа к информации с учетом интересов конкретного жителя умного города. В центре обеспечения мобильности жителя умного города лежит концепция цифровой личности, представленная набором сведений в электронном виде, идентифицирующих объект, обладающий определенными атрибутами, описывающими предпочтения и характерные особенности, достаточные для проведения транзакций (операций). Атрибуты приобретаются и содержат информацию о субъекте, такую как медицинская карта, история совершения покупок, баланс банковского счета, возраст и т.д. Предпочтения отражают варианты выбора, такие, как например любимый бренд обуви или предпочитаемая валюта для сбережений. Также можно отметить, что согласно стандарту ISO/IEC 24760-1, цифровую личность можно определить как “набор атрибутов, которые относятся к сущности” [2]. Информация, содержащаяся в цифровой личности, позволяет оценивать и аутентифицировать пользователя, взаимодействующего с системами в Интернете, без участия операторов-людей. -Обеспечение мобильности жителей умного города требует создания методов и моделей для описания параметров цифровой личности, а также для управления всем разнообразием источников информации и сервисов обеспечения информационной поддержки, составляющих экосистему цифровой личности, как на этапе проектирования, так и на этапе функционирования с учетом сложности и динамики, вызванных многообразием типов компонентов системы и изменяющимися условиями окружающей среды. В отчетном периоде были 1) специфицированы требования к обеспечению поддержки мобильности населения в цифровом информационно-техническом пространстве умного города; 2) разработана концептуальная и онтологическая модели цифровой личности жителя умного города; 3) разработана концептуальная модель использования цифровой личности в сервисах умного города; 4) разработана онтологическая модель взаимодействия сервисов в цифровом информационно-техническом пространстве умного города; 5) разработана онтологическая модель типового сервиса умного города; 6) разработан метод использования цифровой личности для персонифицированной поддержки мобильности жителя умного города с использованием персональных вычислительных устройств и сервисов умного города; 7) разработан метод формирования и актуализации параметров онтологической модели сервисов умного города на основе интеллектуального анализа данных; 8) по ряду результатов были разработаны прототипы программных систем. -Требования к обеспечению мобильности жителей умного города главным образом определяются необходимостью персонализации результата, предоставляемого сервисами умного города в процессе вычисления рекомендаций, а также требованиями к информационному взаимодействию ресурсов в информационно-техническом пространстве умного города. +В отчетном периоде (сентябрь 2018 – август 2019) были разработаны методы обеспечения информационной поддержки мобильности населения в цифровом пространстве умного города с использованием семантических приложений. Под семантическими приложениями в настоящем проекте понимаются приложения и сервисы использующие семантику проблемной области для предоставления поддержки в принятии решений при обеспечении мобильноси жителей умного города. + +В настоящее время развитие сетей мобильной связи и сенсоров позволило собирать и накапливать большое количество информации об объектах и явлениях физического мира. Также, наблюдается активное внедрение методов и технологий извлечения, интерпретации и использования открытых источников информации для управления умным городом и планирования его развития. Такими источниками являются муниципальные и федеральные органы власти, а также устройства, оснащенные сенсорами для сбора данных, входящие в состав умного города и объединенные в городской интернет вещей (IoT). Использование накопленной информации для обеспечения персонифицированной мобильности жителей умного города также возможно при формировании цифровой личности жителя, включающей в себя основную информацию о нем. + +В данной работе основное внимание уделено разработке методов, анализа и обработки данных для формирования групп жителей умного города, а также методов рекомендацияя существующих сервисов на основе цировой личности жителя и группы, к которой он принадлежит для обеспечения мобильности. Концепция цифровой личности включает в себя набор сведений в электронном виде, идентифицирующих объект, обладающий определенными атрибутами, описывающими предпочтения и характерные особенности, достаточные для проведения транзакций (операций). Атрибуты приобретаются и содержат информацию о субъекте, такую как медицинская карта, история совершения покупок, баланс банковского счета, возраст и т.д. Предпочтения отражают варианты выбора, такие, как например любимый бренд обуви или предпочитаемая валюта для сбережений. Также можно отметить, что согласно стандарту ISO/IEC 24760-1, цифровую личность можно определить как “набор атрибутов, которые относятся к сущности” [2]. Информация, содержащаяся в цифровой личности, позволяет оценивать и аутентифицировать пользователя, взаимодействующего с системами в Интернете, без участия операторов-людей. + +При выделении групп пользователей на основе их характеристик в настоящей работе используются методы кластерного анализа. Рассматриваются методы, обеспечивающие разделение пользователей на основе вычисления сходства между параметрами, таие как K-средних, иерархическая кластеризация, DBSCAN, учитывающий возмоные выбросы по значению параметров. Для рассморенных методов проводится сравнение с целью определить метод, наиболее подходящий для выделения групп пользователей при решении задачи обеспечения мобильности. Поскольку цифровая личность включает в себя большое количество параметров, описывающих жителя умного города, необходимо выделить из них те, которые вносят максимальный вклад в разделение пользователей по группам. Для снижения размерности первоначально проводится статистический анализ параметров цифровой личности, целью которого является выявление таких параметров. + +Классификация новых пользователей по полученным группам осуществляется при помощи классифицирующей нейронной сети. В работе представлена структура сети, определены обучающая и тестовые выборки. Применение нейронной сети обусловлено необходимостью быстрой классификации новых пользователей при высокой вариативности входных их характеристик. +В отчетном периоде были разработаны: 1) метод анализа истории взаимодействия жителей с системой умного города и разработка семантического сервиса с использованием методов интеллектуального анализа данных и семантической обработки естественного языка; 2) спецификация параметров цифровой личности, по которым осуществляется классификация жителей умного города; 3) метод классификации жителей умного города с учетом специфицированных параметров цифровой личности, на основе методов классификации и нейронной сети с обучением с учителем; 4) метод подбора семантических сервисов для обеспечения мобильности жителей умного города с учетом их предпочтений и семантической обработки запроса; 5) метод подбора персонала в организацию и соответствующего семантического сервиса на основе цифровой личности жителя умного города и требований организации; 6) по ряду результатов были разработаны прототипы программных систем. + +Требования к кластеризации и классификации жителей умного города главным образом определяются необходимостью персонализации результата, предоставляемого семантическими приложениями умного города в процессе вычисления рекомендаций, а также требованиями к рекомендации новых сервисов для пользователей с учетом текущей ситуации. diff --git a/tex/30-digital_identity.tex b/tex/30-digital_identity.tex index 179de18d75331b379fb2f7ffbc129b336894078d..722966fa6faa94698b6da7b30a5aa01ffffc3481 100644 --- a/tex/30-digital_identity.tex +++ b/tex/30-digital_identity.tex @@ -123,6 +123,63 @@ \subsubsection*{\textbf{Обработка исходных профилей п \section{Кластерный анализ цифровых личностей жителей умного города} +Кластеризация (кластерный анализ)~---~типичная задача статистического анализа данных: задача обнаружения и разбиения множества объектов одной природы на группы, +называемые кластерами, так, чтобы объекты одной группы обладали похожим свойством. +Под ``свойством'' понимается близость объектов друг к другу относительно выбранной метрики. + +Цели кластеризации: + +\begin{enumerate} + \item упростить дальнейшую обработку данных, разбить множество объектов на группы схожих объектов чтобы работать с каждой группой в отдельности; + \item выделить нетипичные объекты, которые не подходят ни к одному из кластеров; + \item разработать типологии или классификации объектов; + \item исследовать концептуальные схемы группировки объектов. +\end{enumerate} + +Основная задача~---~кластеризовать полученные контексты использования определенных сервисов конкретными пользователями. +В качестве переменных, по которым будут оцениваться объекты в выборке использовались векторы уверенностей по каждому сервису. +В качестве метода определения меры сходства между объектами было выбрано евклидово расстояние $R(x, y) = \{\sum_i (x_i - y_i)^2\}^{1/2}$, +которое попросту является геометрическим расстоянием в многомерном пространстве. + +В качестве метода кластерного анализа было решено использовать метод К-средних, реализованный в библиотеке scikit-learn\footnote{https://scikit-learn.org/}, +в которой реализовано большое количество алгоритмов машинного обучения. +По сравнению с другими методами метод К-средних является хорошо изученным, имеет приближение, +позволяющее обрабатывать огромное количество примеров (48399 контекстов оказались проблемой для, например, агломеративной кластеризации), +а также позволяет контролировать количество кластеров. + +Кластеризация методом K-средних начинается с выбора k случайно расположенных центроидов (точек, представляющих центр кластера). +Каждому элементу назначается ближайший центроид, евклидово расстояние до которого минимально. +После того как назначение выполнено, каждый центроид перемещается в точку, рассчитываемую как среднее по всем приписанным к нему элементам. +Затем назначение выполняется снова. Эта процедура повторяется до тех пор, пока назначения не прекратят изменяться. + +Существует модификация данного метода под названием Mini-Batch k-Means\footnote{https://www.eecs.tufts.edu/~dsculley/papers/fastkmeans.pdf}. +Основная идея данной модификации заключается в том, что на каждой итерации вместо полного прохода по данным мы работаем с мини-батчами~---~небольшими подмножествами данных. +Чтобы уменьшить влияние шума, создаваемого таким образом, на втором этапе положения кластера заменяются на , где предыдущее положение кластера,~---~центроид точек кластера +(то, на что заменяется положение кластера в оригинальном алгоритме), а обратно пропорционально количеству точек, которое участвовало в вычислении центроидов для данного кластера. + +В дополнение к ранее описанному подходу к кластеризации методом +K-средних (K-Means clustering), также была произведена попытка +применения алгоритма DBSCAN\cite{Ester96}. + +Алгоритм DBSCAN (Density-based spatial clustering of applications with +noise) производит кластеризацию, основываясь на поиске ближайших +соседей. Входными данными для алгоритма являются: + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\item + Набор точек, которые необходимо кластеризировать; +\item + Метрика расстояния между точками; +\item + Радиус, в рамках которого ищутся соседи каждой отдельной точки; +\item + Минимальное количество соседей, необходимое чтобы точка не была частью + шума(noise); +\end{enumerate} + +Выбор применения данного алгоритма исходит из ознакомления с его применением к схожей задаче. В корпоративной системе поддержки принятия решений для банков, именуемой Banksealer\cite{Carminati15}, данный алгоритм применяется для кластеризации пользователей банка в соответствии с их манерой трат. Другими словами, пользователи, чьё поведение схоже, более вероятно оказываются в одном кластере. Если быть более точным, в рамках решения Banksealer используется модификация исходного алгоритма, о которой речь пойдет далее. + \section{Классификация жителей умного города на основе параметров цифровой личности} %%% Local Variables: diff --git a/tex/50-implementation.tex b/tex/50-implementation.tex index 6f65b94ebca1ae2115a828cc5cde9382455af0cf..b593667d0f57efd1b4a434966de831481b506de7 100644 --- a/tex/50-implementation.tex +++ b/tex/50-implementation.tex @@ -32,7 +32,7 @@ \section{Программная реализация компонентов пр \subsection{Сервис управления цифровыми личностями} -Для визуализации большого объема информации о цифровых личностях был разработан web-сервис, при помощи которого можно обозревать цифровые личности, +Для визуализации большого объема информации о цифровых личностях был разработан web-сервис, при помощи которого можно исследовать цифровые личности, просматривать параметры, предпочтения и выявленные сценарии использования сервисов умного города. Web-сервис разбит на две части: backend-часть, которая отвечает за обработку данных о цифровых личностях и frontend-часть, которая отвечает за визуализацию данных и взаимодействие пользователя с backend-частью web-сервиса. @@ -143,43 +143,9 @@ \subsubsection*{\textbf{Предсказание использования се b = arg \; min || \big( \frac{1}{N} \sum^N_{j=1} p_j \big) - \frac{1}{N_s} || \end{equation} -\subsubsection*{\textbf{Кластеризация}} +\subsubsection*{\textbf{Кластеризация методом k-средних}} -Кластеризация (кластерный анализ)~---~типичная задача статистического анализа данных: задача обнаружения и разбиения множества объектов одной природы на группы, -называемые кластерами, так, чтобы объекты одной группы обладали похожим свойством. -Под ``свойством'' понимается близость объектов друг к другу относительно выбранной метрики. - -Цели кластеризации: - -\begin{enumerate} - \item упростить дальнейшую обработку данных, разбить множество объектов на группы схожих объектов чтобы работать с каждой группой в отдельности; - \item выделить нетипичные объекты, которые не подходят ни к одному из кластеров; - \item разработать типологии или классификации объектов; - \item исследовать концептуальные схемы группировки объектов. -\end{enumerate} - -Основная задача~---~кластеризовать полученные контексты использования определенных сервисов конкретными пользователями. -В качестве переменных, по которым будут оцениваться объекты в выборке использовались векторы уверенностей по каждому сервису. -В качестве метода определения меры сходства между объектами было выбрано евклидово расстояние $R(x, y) = \{\sum_i (x_i - y_i)^2\}^{1/2}$, -которое попросту является геометрическим расстоянием в многомерном пространстве. - -В качестве метода кластерного анализа было решено использовать метод К-средних, реализованный в библиотеке scikit-learn\footnote{https://scikit-learn.org/}, -в которой реализовано большое количество алгоритмов машинного обучения. -По сравнению с другими методами метод К-средних является хорошо изученным, имеет приближение, -позволяющее обрабатывать огромное количество примеров (48399 контекстов оказались проблемой для, например, агломеративной кластеризации), -а также позволяет контролировать количество кластеров. - -Кластеризация методом K-средних начинается с выбора k случайно расположенных центроидов (точек, представляющих центр кластера). -Каждому элементу назначается ближайший центроид, евклидово расстояние до которого минимально. -После того как назначение выполнено, каждый центроид перемещается в точку, рассчитываемую как среднее по всем приписанным к нему элементам. -Затем назначение выполняется снова. Эта процедура повторяется до тех пор, пока назначения не прекратят изменяться. - -Существует модификация данного метода под названием Mini-Batch k-Means\footnote{https://www.eecs.tufts.edu/~dsculley/papers/fastkmeans.pdf}. -Основная идея данной модификации заключается в том, что на каждой итерации вместо полного прохода по данным мы работаем с мини-батчами~---~небольшими подмножествами данных. -Чтобы уменьшить влияние шума, создаваемого таким образом, на втором этапе положения кластера заменяются на , где предыдущее положение кластера,~---~центроид точек кластера -(то, на что заменяется положение кластера в оригинальном алгоритме), а обратно пропорционально количеству точек, которое участвовало в вычислении центроидов для данного кластера. - -Для визуализации результата кластеризации получившиеся кластеры были спроецированы на плоскость с помощью алгоритма t-SNE, реализованного в библиотеке openTSNE\footnote{https://github.com/pavlin-policar/openTSNE}, +Для визуализации результата кластеризации методом K-средних, получившиеся кластеры были спроецированы на плоскость с помощью алгоритма t-SNE, реализованного в библиотеке openTSNE\footnote{https://github.com/pavlin-policar/openTSNE}, который является техникой нелинейного снижения размерности, хорошо подходящей для вложения данных высокой размерности для визуализации в пространство низкой размерности (двух- или трехмерное). Результат работы алгоритма представлен на рисунке~\ref{fig:clusterization_result}: @@ -304,35 +270,7 @@ \subsubsection*{\textbf{Кластеризация}} \end{longtable} \end{center} -В дополнение к ранее описанному подходу к кластеризации методом -K-средних (K-Means clustering), также была произведена попытка -применения алгоритма DBSCAN\cite{Ester96}. - -Алгоритм DBSCAN (Density-based spatial clustering of applications with -noise) производит кластеризацию, основываясь на поиске ближайших -соседей. Входными данными для алгоритма являются: - -\begin{enumerate} -\def\labelenumi{\arabic{enumi}.} -\item - Набор точек, которые необходимо кластеризировать; -\item - Метрика расстояния между точками; -\item - Радиус, в рамках которого ищутся соседи каждой отдельной точки; -\item - Минимальное количество соседей, необходимое чтобы точка не была частью - шума(noise); -\end{enumerate} - -Выбор применения данного алгоритма исходит из ознакомления с его -применением к схожей задаче. В корпоративной системе поддержки принятия -решений для банков, именуемой Banksealer\cite{Carminati15}, данный алгоритм -применяется для кластеризации пользователей банка в соответствии с их -манерой трат. Другими словами, пользователи, чьё поведение схоже, более -вероятно оказываются в одном кластере. Если быть более точным, в рамках -решения Banksealer используется модификация исходного алгоритма, о -которой речь пойдет далее. +\subsubsection*{\textbf{Кластеризация методом DBSCAN}} Исходный набор точек был таким же, как и в случае K-Means. Метрикой также послужило Евклидово расстояние.