УДК 004.62 А. Ю. Тимонин
ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ФИЛЬТРАЦИИ ИСХОДНЫХ ДАННЫХ СОЦИАЛЬНОГО ПРОФИЛЯ
Аннотация. Посвящено вопросам фильтрации исходных данных социального профиля от бессмысленной информации в системе, которая делит необработанные данные на статическую информационную карту и динамический контент. Динамические данные разпределяются по своему типу и требуют применения различных подходов к обработке. Охватывается проблема обеспечения конфиденциальности персональных данных. Результаты исследования позволят разработать наиболее оптимизированные подсистемы анализа и представления данных социального профиля, а также заложат необходимую теоретическую основу для дальнейшего изучения конкретных шагов фильтрации данных.
Ключевые слова: персональный социальный профиль, анализ данных, неструктурированные данные, открытые источники данных, социальные медиа, сбор данных, фильтрация данных, Big Data, Data Mining.
Введение
В последние годы рост информатизации общества стал особенно заметен. Значительно вырос процент появления новой информации в сети Интернет. Однако возможности традиционных средств по обработке данных оказались ограниченными, поэтому на замену им пришла технология Big Data. Эта концепция предоставляет новые возможности для сбора и анализа гетерогенных персональных данных людей из открытых источников.
Социальный профиль - это множество, состоящее из любой информации, которая способна тем или иным образом охарактеризовать социальные свойства человека, причем эта информация должна быть наглядно структурирована - как для удобства человеческого восприятия, так и для последующей автоматизированной обработки [1]. Социальный профиль человека основывается на данных из открытых источников сети Интернет. Возможное применение социальных профилей охватывает многие сферы человеческой деятельности, начиная с прикладных целей контекстной передачи информации и заканчивая исследованиями в областях искусственного интеллекта и социума.
Задача построения социального профиля изначально сводится к созданию математической модели и выбору структуры данных для хранения персонализированной информации. Основополагающим этапом построения социального профиля является сбор исходных данных для последующего выявления, анализа и представления значимой информации. На данном шаге нужно обеспечить не только достаточность и полноту собираемых данных для создания цельной картины, но и повысить их непротиворечивость, а также уменьшить количество посторонней бесполезной информации. Для этих целей служит подсистема фильтрации данных, о которой и пойдет речь в текущей статье.
Идентификация человека в подсистеме сбора исходных данных
Источниками информации для социального профиля могут быть как персональные аккаунты (блоги, социальных сети, электронные порталы, форумы и т.п.), так и сторонние ресурсы, где исследуемый человек может упоминаться в каких-либо контекстах. В большинстве случаев поиск человека в Интернете начинается с ввода одного или совокупности уникальных критериев: имя, e-mail, возраст, ID аккаунта; иногда из-за непол-
ноты или противоречивости критериев поиск проводится по косвенным признакам: род деятельности, авторский контент, популярные посты.
Чаще всего встречается привязка учетной записи к конкретному адресу электронной почты или номеру телефона. Тогда поиск аккаунтов также достаточно прост и будет производиться по вхождениям заданной почты/телефона на страницах профильной информации. Но как быть при наличии у идентифицируемого человека нескольких почтовых адресов? В данном случае проверяются на совпадения их логины и совокупность профильных данных, например, список контактов/друзей. Также бывает полезной проверка времени и местоположения входа, в случае нахождения закономерностей (например, повторяющийся одновременный доступ с одного IP-адреса) можно сделать вывод о принадлежности аккаунтов одному человеку или близко связанным людям. Многие крупные интернет-сервисы таким образом ищут мульти- и фальшивые аккаунты [2].
Для удобства хранения и использования все исходные данные социального профиля делятся на две большие категории: статическую и динамическую. Статическая часть состоит из информации, которая уникально идентифицирует человека и не изменяется во времени. Она содержится в описании учетных записей идентифицируемого человека и образует информационную карту, предоставляющую аналитику основу из разрозненных данных для дальнейшей разработки социального профиля. Данные такого типа легко обнаружить с помощью традиционных средств, не прибегая к решениям Big Data, ввиду их малого числа, доступности, непротиворечивости и постоянной актуальности. Их можно хранить в реляционной базе данных (MySQL и PostgreSQL) или электронной таблице JSON/CSV [1]. Для связи с другими сущностями используется специальное поле-идентификатор.
При заполнении информационной карты можно обойтись простым поисковым роботом с возможностью добавления составных запросов и фильтрации результатов, наподобие VisualWebSpider. Примерное представление таких данных показано в табл. 1.
Таблица 1
Структура информационной карты
id Имя (основное) Дата рождения Место рождения Корневая учетная запись Наиболее известные признаки
Также существует динамический контент, зависящий от времени и других факторов (комментарии, контакты, никнеймы, подписки, оценки). Из-за сложной природы, количества и неструктурированности этих данных классических средств для взаимодействия с ними недостаточно. Для их сбора и обработки обязательно использование решений на основе Big Data и средств аналитики социальных медиа. Поиск проводится по полям информационной карты и привязывается к ним. Затем результаты разбираются средствами аналитики социальных медиа, в качестве которых выступают готовые решения или самостоятельно написанные программные модули Hadoop, на предмет соответствия рассматриваемому лицу и распределяются по виду: накапливающиеся и редактируемые. Общая структура подсистемы сбора исходных данных социального профиля показана на рис. 1.
Накапливающиеся элементы экономнее всего содержать в хранилищах, не предусматривающих модификацию и удаление данных, таких как HBase. Для редактируемых данных такое хранилище не подходит, поэтому необходимо пользоваться более совершенными базами данных NoSQL (MongoDB, CouchDB). Для удобства представления социальных данных и геоданных, а также их последующего анализа рекомендуется использовать графовые хранилища (Neo4J, iBase).
Рис. 1. Структура подсистемы сбора данных [1]
Постановка проблемы фильтрации исходных данных социального профиля
При сборе исходных данных социального профиля аналитик может столкнуться с рядом проблем: полученная информация фрагментирована, повторяется, содержит противоречия или искажена. Если устранение фрагментированности и логических нестыковок данных решается за счет усовершенствования аппарата сбора данных (добавление поисковых критериев, осуществление более глубокого поиска) и средствами аналитики, то для устранения бессмысленной информации, повторов, искажений, приведения данных к общему формату требуется наличие специального набора инструментов фильтрации. Наибольшее влияние это оказывает на информационную карту, т.к. она является ядром социального профиля и должна содержать безусловные факты. Однако и динамический контент требует очистки от бесполезных данных, таких как дубли и вспомогательная поисковая информация.
Помимо этого может возникнуть ситуация, что в выборку попадает конфиденциальная информация, не предназначенная для третьих лиц, или совокупность полученных данных, которые сами по себе безопасны, нарушает чьи-то личные права. Эта проблема требует незамедлительного решения и консультации со специалистами ввиду того, что затрагивается тема этики и права. Без преодоления данного вопроса невозможно осуществлять главную задачу исследования - построение и последующий анализ социального профиля.
Исходя из вышесказанного, задача фильтрации входных данных социального профиля сводится к удалению бессмысленной информации, замене дублей на ссылки, выбору изображений с наибольшим разрешением, вычеркиванию из рассмотрения источников с информацией, не предназначенной третьим лицам.
Разработка методов решения проблемы фильтрации данных
Первоначально необходимо решить вопрос конфиденциальности. Простейшим вариантом является создание пополняемого черного списка источников, исключаемых из рассмотрения еще при сборе данных. Также должна существовать возможность игнорировать конкретные части контента. Черный список оформляется в виде текстового файла, содержащего блокируемые адреса/элементы страницы и пометки, указывающие причину запрета сбора. Помимо этого важно организовать обратную связь со специалистами, проверяющими данные на пригодность и выдающими задокументированное предписание на использование той или иной информации для своевременного редактирования критериев фильтрации и уже собранных данных, а также людьми, непосредственно имеющими отношение к собираемой информации для получения разрешения на обработку их персональных данных.
Приведение всей текстовой информации к единой кодировке (Unicode) проводится автоматизированно во время сбора данных путем выставления соответствующего параметра в настройках поискового робота либо запроса к полученному множеству непосредственно после завершения сбора. Общее представление подсистемы фильтрации исходных данных показано на рис. 2.
Рис. 2. Структурная схема подсистемы фильтрации данных
Фильтрация данных информационной карты от бессмысленной информации осуществляется за счет встроенных механизмов поискового робота (TeleportVLX, VisualWeb-
Spider) [3] или запросов к базе данных. Также возможно написание пользовательского скрипта, в котором указываются необходимые критерии: непечатные символы, повторяющиеся знаки табуляции, пустые строки. Удаление фрагментов разметки страницы и HTML-кода производится путем орфографического и синтаксического анализа текста: как правило, в нем наличествуют ошибки, незакрытые конструкции. Реальные примеры программного кода обычно имеют соответствующее форматирование, не располагаются в начале или конце страницы, а также не разбивают слова или предложения.
Фильтрация динамического контента аналогичным образом с информационной картой недостаточно эффективна и даже может повредить, т.к. ценность таких данных -в их первоначальном состоянии. Допустимо избавиться от посторонней информации наподобие рекламных вставок и вспомогательной поисковой информации: код возвращаемой страницы, сокращенный URL, ключевые слова, теги. Собираемый динамический контент должен проверяться на предмет соответствия элементам информационной карты: чем больше совпадающих значений, тем выше вероятность того, что эти данные окажутся полезными. Отсутствие совпадений внутри содержимого страницы говорит о том, что либо полученные данные не относятся к рассматриваемой персоне и должны быть исключены, либо информационная карта составлена некорректно.
Дальнейшая фильтрация сводится к типу собранных данных: текст или мультимедиа. В случае с текстом для упрощения последующего анализа важнее всего обнаружить и пометить дублируемую информацию. Средствами Big Data сделать это довольно просто: множество исходных данных сортируется по возрастанию размера и обрабатывается MapReduce в параллельном режиме. После нахождения совпадений в специальном поле указывается ссылка на источник и процентное соотношение совпадений в тексте. Наиболее подробные данные будут иметь приоритет в дальнейшем анализе, в то время как на тексты с содержанием повторений более 90 % будут выдаваться ссылки.
Поиск графической информации высокого разрешения достигается за счет использования свободных специализированных web-сервисов (например, Google.Картинки, FindFace для лиц) или реже собственного алгоритма, основанного на сжатии возможных высококачественных аналогов до размеров исходного образца и последующего попик-сельного сравнения. Так же, как и в случае текстовой оптимизации, для дублей мультимедиа указывается ссылка на источник и процентное соотношение совпадений. Возможен поиск среди уже собранных данных или по ресурсам сети Интернет. Второй вариант дает возможность расширить область поиска динамического контента [4]. В особых случаях мультимедиа-объект, выступающий критерием поиска, становится частью информационной карты.
Заключение
Проблема фильтрации исходных данных социального профиля требует комплексных средств. Во-первых, необходимо разрешить проблему конфиденциальности собираемых данных за счет внедрения черного списка источников информации и организации обратной связи с ее владельцами и регулирующими лицами. Во-вторых, вся текстовая информация должна быть приведена к единому формату, после чего из информационной карты удаляется вся нерелевантная информация, а динамический контент проверяется на наличие повторений и оптимизируется. В последнюю очередь проверяется мультимедиа информация (например, изображения) на предмет уникальности и наличия более качественных экземпляров. Отфильтрованная информация поступает на вход аналитической подсистемы. Действия, проведенные на данном шаге, позволяют повысить эффективность и точность построения социального профиля.
Список литературы
1. Бождай, А. С. Исследование процесса идентификации человека и сбора данных социального профиля на основе технологий Big Data / А. С. Бождай, А. Ю. Тимонин // Модели, системы, сети в экономике, технике, природе и обществе. - 2016. - № 2 (18).
2. Микоян, А. Боты в социальных сетях - как распознать мертвые души? / А. Микоян. - URL: http://mediastancia.com/articles/3811/ (дата обращения: 12.02.2016).
3. Тимонин, А. Ю. Разработка социального профиля на основе имеющихся инструментальных средств / А. Ю. Тимонин // Новые информационные технологии и системы : сб. науч. ст. XII Междунар. науч.-техн. конф. - Пенза : Изд-во ПГУ, 2015. - С. 221-224.
4. Бершадский, А. М. Разработка и моделирование гетерогенных инфраструктур для беспроводного информационного обеспечения процессов мониторинга / А. М. Бершадский, А. Г. Финоге-ев, А. С. Бождай // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2010. - № 1. - С. 36-46.
Тимонин Алексей Юрьевич
аспирант,
Пензенский государственный университет
E-mail: [email protected]
УДК 004.62
Тимонин, А. Ю.
Исследование и разработка методов фильтрации исходных данных социального профиля /
А. Ю. Тимонин // Вестник Пензенского государственного университета. - 2016. - № 3 (15). - C. 60-65.
Timonin Aleksey Yur'evich
postgraduate student, Penza State University