Приложение для поиска людей по интересам на основе информации из социальных сетей

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.12.2019
Размер файла 2,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

1) Запрос на список идентификаторов друзей профиля

Изначально у узла, объекта структуры данных «Друг» запрашивается список идентификаторов друзей профиля. Но запрашиваемое количество друзей больше, чем введенная пользователем ширина графа. Это делается по нескольким причинам:

- встречаются удаленные, заблокированные или закрытые профили;

- встречаются профили, уже инициированные в графе;

- API социальных сетей имеют количественное ограничение на запросы в единицу времени (обычно, на сутки);

- API социальных сетей имеют ограничение на частоту отправления запросов, что влияет на общее время построения графа.

2) Повторный запрос на список идентификаторов друзей профиля со сдвигом.

Если количество полученных в итоге идентификаторов друзей профиля (после удаления идентификаторов уже инициированных друзей или идентификаторов профилей, недоступных для просмотра и встречавшихся ранее) меньше, чем ширина графа, то делается повторный запрос для получения нового списка идентификаторов, но уже со сдвигом на число проверенных ранее.

3) Проверка профилей с найденными идентификаторами

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

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

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

- имеют поле “is_closed” = true;

- имеют поле “deactivated” = deleted;

- имеют поле “deactivated” = banned.

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

В табл. 11 представлены данные по количеству недоступных и использованных профилей одного узла при разной глубине и ширине графа. В столбце «удаленные в итоге» находится сумма недоступных и использованных идентификаторов. Количество отступов - это количество запросов, отправленных для одного узла. Полученные id - это полное количество полученных идентификаторов, его можно вычислить как произведение ширины и отступа. В последнем столбце находится коэффициент, на который нужно умножить изначальное количество запрашиваемых идентификаторов для того, чтобы избежать отправления дополнительного запроса.

Таблица 11

Инициация дочерних элементов узла дерева друзей

ID

Ши-рина

Недоступ-ные

Использован-ные

Удаленные в итоге

Отступ

Кол-во полученных id

k

Глубина графа = 2

34030987

3

0

0

0

1

3

1,00

4697186

0

0

0

1

3

1,00

5963852

2

0

2

2

6

1,33

6325949

0

0

0

1

3

1,00

34030987

5

0

0

0

1

5

1,00

37827

2

0

2

2

10

1,20

434681

4

0

4

2

10

1,40

1103969

0

3

3

2

10

1,30

1146805

0

0

0

1

5

1,00

1211775

7

0

7

3

15

1,47

34030987

10

0

0

0

1

10

1

2041766

3

0

3

2

20

1,15

2256851

0

0

0

1

10

1

2438066

3

0

3

2

20

1,15

2450909

5

0

5

2

20

1,25

2685175

2

0

2

2

20

1,1

3016483

0

0

0

1

10

1

3213037

0

0

0

1

10

1

3859502

2

0

2

2

20

1,1

3875408

2

0

2

2

20

1,1

4614103

2

0

2

2

20

1,1

ID

Ши-рина

Недоступ-ные

Использован-ные

Удаленные в итоге

Отступ

Кол-во полученных id

k

Глубина графа = 3

34030987

5

0

0

0

1

5

1

2041766

0

0

0

1

5

1

100905

0

0

0

1

5

1

108259

0

0

0

1

5

1

137448

0

0

0

1

5

1

139986

1

0

1

2

10

1,1

142498

1

0

1

2

10

1,1

2256851

0

0

0

1

5

1

132192

3

0

3

2

10

1,3

139455

3

0

3

2

10

1,3

145849

1

0

1

2

10

1,1

147706

0

0

0

1

5

1

148924

1

0

1

2

10

1,1

2438066

1

0

1

2

10

1,1

197744

4

0

4

2

10

1,4

216473

0

0

0

1

5

1

256242

4

0

4

2

10

1,4

260596

1

1

2

2

10

1,2

334660

3

0

3

2

10

1,3

2450909

2

0

2

2

10

1,2

97622

2

0

2

2

10

1,2

111325

0

0

0

1

5

1

117423

0

0

0

1

5

1

119259

1

0

1

2

10

1,1

123684

2

0

2

2

10

1,2

2685175

1

0

1

2

10

1,1

61110

0

0

0

1

5

1

63337

2

0

2

2

10

1,2

65146

1

0

1

2

10

1,1

66481

3

0

3

2

10

1,3

82132

1

0

1

2

10

1,1

Размещено на http://www.allbest.ru/

78

Приведенные в таблице 11 данные и примеры инициирования дочерних узлов при глубине 2 и 3 показывают, что часто приходится отправлять второй или третий повторные запросы (в основном из-за недоступности профиля), чтобы заполнить граф без повторяющихся и пустых узлов. Чтобы этого избежать, изначально берется идентификаторов на 50% больше количества введенных пользователем необходимых дочерних узлов в дереве, то есть ширины графа. Таким образом, при запросе списка идентификаторов друзей профиля отправляется запрос на 1,5*n идентификаторов, где n - это ширина графа, что снижает количество отправляемых к API социальной сети запросов и уменьшает время, затраченное на построение графа программой.

В табл. 12 приведены данные для сравнения показателей количества отправляемых запросов и времени, которое затрачивается на построение графа друзей.

Таблица 12

Инициация дочерних элементов при разных количествах запрашиваемых друзей.

ID

Глубина/ширина

Недоступные

Использованные

Удаленные в итоге

Отступ

Кол-во полученных id

коэффициент = 1

34030987

2/13

0

0

0

1

13

37827

4

0

4

2

26

434681

6

1

7

2

26

1103969

2

6

8

2

26

1146805

0

0

0

1

13

1211775

8

0

8

2

26

1519389

4

2

6

2

26

1896605

0

0

0

1

13

1946612

5

2

7

2

26

1957007

5

1

6

2

26

2009523

6

1

7

2

26

2041766

4

1

5

2

26

2256851

0

0

0

1

13

2438066

6

0

6

2

26

Количество запросов

24

Время

01:17:880

коэффициент = 1,5

34030987

2/13

0

0

0

1

20

37827

3

0

3

1

20

434681

5

1

6

1

20

1103969

5

6

11

2

40

1146805

0

0

0

1

20

1211775

15

0

15

2

40

1519389

3

2

5

1

20

1896605

1

0

1

1

20

1946612

5

2

7

1

20

1957007

4

1

5

1

20

2009523

4

1

5

1

20

2041766

2

1

3

1

20

2256851

0

0

0

1

20

2438066

4

0

4

1

20

Количество запросов

26

Время

01:08:807

3.3.2 Описание обхода графа друзей для поиска совпадений

После того, как дерево друзей было построено и все узлы дерева инициализированы, у пользователя запрашивается список ключевых слов-интересов, по которым необходимо производить поиск в графе. Также запрашиваются приоритеты на разделы в социальной сети, по которым необходимо искать. Для ВКонтакте это разделы Интересы, «О себе», Карьера, Стена. Для Facebook это разделы Книги, Цитаты, Музыка и Стена. Выбор именно этих разделов связан с доступом к ним со стороны API социальных сетей.

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

1) Разделение текста на слова

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

2) Приведение слова к начальной форме

После получения списка отдельных слов каждое слово приводится в начальную форму с помощью библиотеки JMorfSDK 2.0. В начальную форму приводятся ключевые слова, слова из текстов в разделах профиля социальной сети, а также слова, полученные после распознавания изображений на странице профиля социальной сети в разделе Стена.

3) Проверка опечаток

В случае, если какое-то слово не нашлось в морфологическом словаре и его не удалось привести в начальную форму, данное слово проверяется на наличие опечаток с помощью запроса к API Яндекс Спеллер. После возвращения всех возможных вариантов исправлений в формате JSON (или после возвращения пустого поля в случае, если слово не нашлось в словаре Яндекс Спеллер) все полученные исправленные варианты, если они есть, прибавляются к тексту. Также учитывается и первоначальный вариант слова. Запрос отправляется один на целый раздел, либо, если это раздел Стена, то на каждую публикацию в отдельности с использованием метода CheckText Яндекс Спеллера.

4) Распознавание изображений

Для обнаружения объектов на изображениях со Стены профиля социальной сети используются обращения к Computer Vision API. Данное API позволяет отправлять только одно изображение в одном запросе, что занимает больше всего времени при обработке конкретного узла дерева друзей. Т.к. в одной публикации профиля может быть до 10 изображений, программа посылает любые 2 из них, т.к. обычно все изображения из одной публикации принадлежат одной тематике, а проверка всех 10 изображений занимает много времени. Список объектов возвращается в формате JSON на английском языке.

5) Перевод слов с английского на русский язык

Т.к. список распознанных на изображении объектов возвращается на английском языке, эти объекты необходимо перевести на русский язык. Это делается с помощью отправления запроса к API Яндекс Переводчик. После возвращения перевод записывается в строку для дальнейшей проверки в качестве текста. Запрос отправляется один на публикацию на Стене профиля.

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

3.3.3 Время выполнения алгоритмов

3.3.3.1 Построение графа друзей

В табл. 13 приведены данные о времени, которое затрачивается при построении графа друзей с разными параметрами глубины и ширины графа в социальной сети ВКонтакте.

Таблица 13

Время выполнения алгоритма построения графа ВКонтакте

Глубина

Ширина

Время

мм:сс:ссс

1

1

00:00:231

1

2

00:00:334

1

3

00:00:487

1

4

00:00:441

1

5

00:00:506

1

6

00:00:674

Глубина

Ширина

Время

мм:сс:ссс

1

7

00:00:606

1

8

00:03:904

1

9

00:03:13

1

10

00:03:229

1

11

00:03:204

1

12

00:03:308

1

18

00:05:860

1

19

00:06:119

1

20

00:06:982

2

1

00:03:306

2

2

00:03:588

2

3

00:07:972

2

4

00:09:590

2

5

00:15:260

2

6

00:20:821

2

7

00:24:390

2

8

00:32:844

2

9

00:44:131

2

10

00:48:31

3

1

00:02:389

3

2

00:09:422

3

3

00:20:689

3

4

00:46:485

3

5

01:15:156

3

6

02:14:416

3

7

03:17:693

3

8

04:36:851

4

1

00:02:493

4

2

00:21:976

4

3

01:11:702

4

4

03:14:114

4

5

06:40:382

5

1

00:02:604

5

2

00:52:417

5

3

03:59:954

5

4

13:46:115

5

5

35:54:20

Исходя из данных таблицы, на создание одного узла в социальной сети ВКонтакте отводится около 0,69 секунды.

3.3.3.2 Обход графа друзей

В табл. 14 приведены данные об обходе графа друзей с параметрами глубины 3 и ширины 5 (всего 155 проверяемых узлов) и проверкой различных разделов.

Таблица 14

Время выполнения алгоритма обхода друзей по различным разделам

Раздел

Время (мм:сс:000)

Время на 1 узел

Интересы

00:04:397

00:00:28

О себе

00:03:988

00:00:257

Карьера

00:00:13

00:00:008

Стена

23:00:519

00:08:907

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

3.4 Реализация интерфейса приложения

Интерфейс веб-приложения реализован с помощью инструмента Bootstrap, который имеет большое количество необходимых элементов, содержит готовые наборы стилей страниц и имеет возможность просто настраивать масштабирование экрана, чтобы на разных устройствах содержание страниц отображалось корректно. Также Bootstrap использует сетчатую (Grid) систему для позиционирования компонентов на экране, что позволяет однозначно настроить внешний вид страницы. Grid-система делит экран на 12 колонок col и может адаптироваться под разные размеры устройств, если это указано в описании элемента (sm - small: 768px; md - medium: 970px). Также имеется возможность настройки отступов в несколько колонок с помощью col-offset- (рис. 18).

Рисунок 18. Grid-система

Кроме расположения у элементов также есть свой стиль. Для стилизации элементов использовался как стандартный набор стилей Bootstrap 3 (bootstrap.min.css), так и созданный специально для данного веб-приложения main.css (рис. 19).

Рисунок 19. Часть стилизации. Стилизация заголовков

Также использовались стандартные bootstrap-tagsinput.css стили для реализации input-элемента для введения тегов (ключевых слов/интересов).

Кроме css-файлов для стилизации используются также js-файлы, описывающие поведение компонентов на странице. Например, стандартный файл bootstrap-tagsinput.js отвечает за обертку введенного в поле слова в форму тега, возможность удаления тега и запрет повторений внутри элемента tagsinput. Wow.min.js описывает анимацию на странице (в данном случае плавное последовательное появление элементов). Чтобы добавить действие js на страницу, необходимо внутри файла прописать скрипты, которые позволят определить различное возможное поведение элементов внутри этой страницы (рис. 20).

Рисунок 20. Добавление скриптов на страницу

Основная часть страницы - это HTML, который описывает внешний вид страницы и имеет формы для отправки java-сервлету различных введенных пользователем данных в качестве параметров. Но кроме статических элементов используются также динамические jsp-элементы, наример cкриплетные элементы, которые позволяют указать код внутри jsp-страницы (рис. 21). Такая динамическая часть всегда заключается в "<% %>".

Рисунок 21. Создание и использование объектов классов FBConnection и VKConnection внутри jsp-страницы

Приложение имеет несколько страниц с разной функциональностью.

1) Стартовая страница

На стартовой странице (рис. 22) находится краткое описание приложения, а также активная кнопка с надписью «Искать». После нажатия на кнопку на странице появляется предложение войти через социальную сеть (рис. 23) и две кнопки: «Facebook» и «ВКонтакте».

2) Ввод параметров

После входа в социальную сеть пользователю предлагается ввести параметры желаемой глубины и ширины графа друзей (рис. 24) в специальные формы ввода.

Рисунок 22. Стартовая страница приложения

3) Ввод ключевых слов

После нажатия кнопки «Готово» на странице с параметрами графа друзей приложение начинает строить граф, и после его построения открывает новую страницу, где можно ввести ключевые слова-интересы (рис. 25), с помощью которых приложение будет искать совпадения в профилях социальных сетей. На этой же странице можно выбрать приоритеты разделов поиска по социальной сети на шкале от «неважно» до «очень важно». После нажатия кнопки «Найти» приложение начнет обход графа друзей и будет искать совпадения в профилях с введенными ключевыми словами.

4) Просмотр найденных друзей

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

5) Просмотр анкеты

Если нажать на поле, в котором написаны Имя/Фамилия найденного друга, откроется страница с анкетой выбранного профиля (рис. 27), где можно посмотреть основную информацию о найденном друге, а также цепочку друзей, связывающую его и авторизованного пользователя.

Рисунок 27. Анкета друга

Были также использованы плагины JQuery - библиотеки, позволяющей связывать JavaScript и HTML для анимации страниц и правильного отображения некоторых элементов.

3.5 Направления дальнейшего развития

Задача быстрого поиска людей по каким-либо критериям/интересам/волнующим вопросам является очень актуальной, поэтому приложение может использоваться широким кругом пользователей и служить удобным инструментом для поиска потенциальных собеседников, экспертов в какой-либо области или просто товарищей.

У приложения есть несколько направлений дальнейшего развития.

1) Расширение набора поддерживаемых социальных сетей

Люди пользуются различными социальными сетями, предпочитают разный контент. Например, кто-то пользуется только социальными сетями общего характера (например, ВКонтакте), кто-то социальными сетями с профессиональным уклоном (LinkedIn), а кто-то предпочитает такие медиа-сети, как Instagram. Соответственно, разным людям удобнее искать другие профили в чаще всего используемой ими социальной сети. Поэтому в будущем необходимо добавить возможность выбора из большего набора социальных сетей для поиска подходящих людей. Планируется добавить поддержку работы с сетями Одноклассники, Twitter, VSCO, LinkedIn, Instagram, Printerest.

2) Частичное решение проблемы омонимии при поиске по текстовым данным

Иногда при анализе текста встречаются слова, которые имеют два или больше различных значений. Например, слово «замок» имеет 2 абсолютно разных значения, а слово «мыло» может использоваться как в качестве существительного, так и в качестве глагола. Необходимо определять (например, по контексту), какое из значений имеется ввиду при использовании такого слова, чтобы сделать поиск более точным.

3) Учет тональности текстов

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

4) Учет словосочетаний

На данный момент учитываются только слова из текста. Весь блок текста делится на слова с помощью регулярного выражения, исключающего пробелы. Но словосочетания тоже несут в себе большой смысл. Например, «олимпиада» и «математическая олимпиада» - это разные понятия: в словосочетание вкладывается более детальный смысл. В будущем планируется использовать алгоритм, который сможет различать словосочетания в тексте и использовать их при дальнейшей проверке друзей на совпадения с ключевыми словами-интересами.

5) Реализация поддержки дополнительных языков

Сейчас приложение FriendFinder анализ текста с учетом морфологии только для русского языка. Соответственно, например, английские слова нельзя на данный момент приводить к начальной форме и сравнивать с введенными пользователем ключевыми словами. В дальнейшем планируется расширить набор возможных для морфологического анализа языков для более точного поиска.

6) Реализация кэширования промежуточных и окончательных результатов поиска

Для ускорения поиска может быть использовано кэширование данных, как результатов поиска, так и в особенности загруженных данных в результате обхода графа друзей. Это позволит снизить нагрузку и расход вычислительных ресурсов сервера и существенно ускорить работу приложения для пользователей, которые часто его используют.

7) Сохранение результатов поиска

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

3.6 Выводы

1) Описаны инструменты разработки приложения для писка людей по интересам, которые включают в себя инструменты разработки серверной и клиентской части, а также инструменты ведения разработки такие как Git, Github и SourceTree.

2) Рассмотрены принципы API социальных сетей ВКонтакте и Facebook: шаблоны запросов для извлечения информации и примеры запросов.

3) Реализованы алгоритмы аутентификации и авторизации пользователя через социальные сети ВКонтакте и Facebook с помощью протокола авторизации Oauth 2.0 и способа авторизации для приложений с серверной частью: получение параметра code, затем получение ключа доступа access token.

4) Реализовано взаимодействие с Яндекс.Спеллер API для исправления опечаток, свойственных Интернет-тексту, а именно приведены шаблоны запросов и примеры HTTP-запросов с использованием JSON-интерфейса и соответствующие им JSON-ответы с исправлениями ошибок в исходном тексте.

5) Реализовано взаимодействие с Computer Vision API и приведены шаблоны и примеры отправления запросов к API с типом возвращающейся информации «Теги», которые подробно описывают содержание анализируемого изображения.

6) Реализовано взаимодействие с Яндекс.Переводчик API для перевода возвращенных тегов с английского языка на русский язык для дальнейшей обработки текста на поиск совпадений с введенными авторизованным пользователем ключевыми словами.

7) Реализовано построение графа друзей и инициализации узлов в дереве с учетом того, что дерево не содержит пустых узлов или узлов с информацией об одном и том же профилей социальной сети.

8) Разработан интерфейс с помощью инструмента Bootstrap и плагинов JQuery для плавного переключения между страницами и анимации.

9) Рассмотрены дальнейшие пути развития приложения: возможно расширение выбора социальных сетей, частично решить проблему омонимии при поиске по тексту, учет тональность и настроение текстов, учитывать не только отдельные слова, но и словосочетания, а также сохранять результаты поиска в личном кабинете авторизованного пользователя.

Заключение

В результате выполнения выпускной квалифицированной работы было разработано приложение FriendFinder, которое позволяет находить людей по различным критериям-интересам в социальных сетях Facebook и ВКонтакте. Это решает проблему поиска необходимых людей с возможностью проверки достоверности информации профилей социальных сетей через цепочку друзей до найденного человека.

Таким образом, в процессе выполнения выпускной квалифицированной работы были решены следующие задачи:

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

2) Сделан обзор основных направлений в анализе социальных сетей.

3) Реализован алгоритм аутентификации и авторизации в приложении посредством использования аутентификации и авторизации через социальные сети ВКонтакте и Facebook с использованием протокола авторизации OAuth 2.0.

4) Реализован алгоритм построения графа друзей пользователя на основе введенных пользователем параметров глубины и ширины желаемого графа с учетом того, что дерево не содержит пустых узлов или узлов с информацией об одном и том же профилей социальной сети.

5) Реализован алгоритм расчета весовых коэффициентов найденных друзей в зависимости от уровня узла найденного профиля в дереве друзей; вес разделов, в которых найдено совпадение; общего количества найденных ключевых слов и количества уникальных найденных ключевых слов; типа данных, в которых найдено совпадение.

6) Реализовано взаимодействие с Яндекс.Спеллер API для исправления опечаток.

7) Реализовано взаимодействие с Computer Vision API для подробного описания содержания анализируемого изображения.

8) Реализовано взаимодействие с Яндекс.Переводчик API для перевода возвращенных тегов с английского языка на русский язык для дальнейшей обработки текста на поиск совпадений с введенными авторизованным пользователем ключевыми словами.

9) Разработан интерфейс с помощью инструмента Bootstrap и плагинов JQuery для плавного переключения между страницами и анимации.

10) Проведено ручное тестирование приложения.

11) Разработана техническая документация.

Дальнейшее развитие приложения может быть связано с расширением выбора социальных сетей, частичного решения проблемы омонимии при поиске по тексту, анализ тональности и настроения текстов, рассмотрение не только отдельных слов, но и словосочетаний, а также сохранение результатов поиска в личном кабинете авторизованного пользователя.

Список использованных источников

1. Андреев А. Социальная сеть знакомств Badoo [Электронный ресурс] / Badoo. 2006. URL: https://badoo.com/ (дата обращения 12.10.2018).

2. Барков И. VK.BARKOV.NET [Электронный ресурс] / Vk.Barkov.net. 2014. URL: https://vk.barkov.net (дата обращения 10.03.2019).

3. Батура Т. В. Методы анализа компьютерных социальных сетей //Вестник Новосибирского государственного университета. Серия: Информационные технологии. - 2012. - Т. 10. - №. 4. - С. 13-22.

4. Волжанкин А. Socparcing [Электронный ресурс]: Поиск клиентов в социальных сетях. / Socparcing. 2015. URL: https://socparsing.ru/ (дата обращения 13.02.2019).

5. Волож А., Сегалович И. Яндекс [Электронный ресурс] / Яндекс. 23.09.1997. URL: http://www.yandex.ru/ (дата обращения 20.01.2019).

6. Воронкин А. С. Социальные сети: эволюция, структура, анализ //Образовательные технологии и общество. - 2014. - Т. 17. - №. 1.

7. Горчинская О., Ривкин А. Анализ данных социальных сетей //Открытые системы. СУБД. - 2015. - №. 3. - С. 17-23.

8. Гусарова Н. Ф. Анализ социальных сетей. Основные понятия и метрики //СПб.: Университет ИТМО. - 2016.

9. Домнин, Л.Н. Элементы теории графов //Издательство Пенинского. государственного университета. - 2007.

10. Дуров П. Социальная сеть Вконтакте [Электронный ресурс] / Вконтакте 10.10.2006 URL: http://vk.com/ (дата обращения 12.10.2018).

11. Исследование влияния авторизации через социальные сети на конверсию сайта [Электронный ресурс] /Forbes. 2015. URL: http://rebill.me/showthread.php?t=4031 (дата обращения 28.03.2019).

12. Кальченко Д. Древовидный форум vs плоский форум [Электронный ресурс] / 2019. URL: http://inmotion.live/notes/forums-types/ (дата обращения 12.04.2019).

13. Коршунов А. Анализ социальных сетей: методы и приложения [Электронный ресурс] / А. Коршунов, И. Белобородов, Н. Бузун и др. // Труды ИСП РАН. 2014. №-1. URL: http://cyberleninka.ru/article/n/analiz-sotsialnyh-setey-metody-i-prilozheniya (дата обращения 29.12.2018).

14. Кривенков А. Mail.ru [Электронный ресурс] / Mail.ru Group. 1998. URL: https://mail.ru/ (дата обращения 20.12.2018).

15. Кухаренко А.И. Технология распознавания лиц FindFace [Электронный ресурс] / NtechLab. 18.02.2016. URL: https://findface.ru/ (дата обращения 20.12.2018).

16. Митина О. В., Евдокименко А. С. Методы анализа текста: методологические основания и программная реализация //Вестник Южно-Уральского государственного университета. Серия: Психология. - 2010. - №. 40 (216).

17. Михайлова В. LinkedIn потеряла 40% пользователей в России за год блокировки [Электронный ресурс] / Vc.ru. 2017. URL: https://vc.ru/flood/29184-linkedin-poteryala-40-polzovateley-v-rossii-za-god-blokirovki (дата обращения 20.02.2019).

18. Молька И. LinkYou [Электронный ресурс] / LinkYou. 2016. URL: https://linkyou.ru/ (дата обращения 20.12.2018).

19. Ноутон П. Герберт Шилдт. Java 2. Наиболее полное руководство: Пер. с англ //Спб.: BHV Питербург. - 2007.

20. Попков А. Социальная сеть Одноклассники [Электронный ресурс] / Mail.ru Group. 26.03.2006. URL: http://ok.ru/ (дата обращения 12.10.2018).

21. Рейтинг форумов Рунета, Уанета и Байнета [Электронныи? ресурс] / Forum Rate. URL: http://forumrate.ru/80 (дата обращения: 23.12.18).

22. Роббинс Д. HTML5, CSS3 и JavaScript. Исчерпывающее руководство //М.: Эксмо. - 2014.

23. Сергеева Ю. Социальные сети в 2018 году: глобальное исследование [Электронный ресурс] / WebCanape. 20.03.2018. URL: https://www.web-canape.ru/business/socialnye-seti-v-2018-godu-globalnoe-issledovanie/ (дата обращения 10.12.2018).

24. Сурепин С. Facebook использует новый искусственный интеллект [Электронный ресурс]//LIVE.12.09.2018.URL:https://life.ru/t/игры/1151469/facebook_ispolzuiet_novyi_iskusstviennyi_intielliekt_on_ponimaiet_tiekst_na_vidieo (дата обращения 20.12.2018).

25. Фомина Ю.В. Извлечение информации из социальных сетей / Кацюк Е.Ю., Городищева // Стратегические коммуникации в современном мире. - Красноярск, 2014.

26. Хорстманн К. С. Корнелл Гари. Java 2. Библиотека профессионала, том 1. Основы. 8-е издание: Пер. с англ. - М.: ООО «ИД Вильямс. - 2009.

27. Чураков А. Н. Анализ социальных сетей // СоцИс. 2001. № 1. С. 109-121.

28. Яндекс Люди [Электронный ресурс] / Яндекс. 20.02.2012. URL: https://yandex.ru/people/ (дата обращения 10.12.2018).

29. Aggarwal C.C. Social Network Data Analytics / Springer Science Business Media // LLC. 2011 - C. 122-151.

30. Bonchi F. Social Network Analysis and Mining for Business Applications / Castillo C., Gionis A. // ACM TIST. 2011 - C. 22-58.

31. Boyd R. Getting started with OAuth 2.0. - O'Reilly Media Inc. 2012. - C. 15-45.

32. Brattel R. WeGoDo [Электронный ресурс] / WeGoDo Inc & Ltd. 2014. URL: http://www.wegodo.com/ (дата обращения 14.01.2019).

33. Brin S., Page L. Google [Электронный ресурс] / Google Inc. 1998. URL: http://www.google.ru/ (дата обращения 20.12.2018).

34. Charu C. A. Social Network Data Analytics. - Kluwer Academic Publisher. 2011. - С. 80-104.

35. CyberForum [Электронный ресурс]: Форум программистов и сисадминов / vBulletin Solutions Inc. 2017. URL: http://www.cyberforum.ru/ (дата обращения 20.10.2018)

36. Drom.ru [Электронный ресурс]: Автомобильный портал в России / Drom.ru. 2001. URL: https://forums.drom.ru/ (дата обращения 13.12.2018).

37. Equestrian Cupid [Электронный ресурс]: dating site for equestrian friends & single horse lovers / Equestrian Cupid. 2001. URL: https://www.equestriancupid.com/ (дата обращения: 20.12.2018).

38. Feuer S. Smacktive [Электронный ресурс] / Smacktive. 2014. URL: https://itunes.apple.com/ru/app/smacktive/ (дата обращения 20.01.2019).

39. Frind, M. Plentyoffish [Электронный ресурс] / PlentyOfFish Media Inc. 2003. URL: https://www.pof.com/ (дата обращения 15.01.2019).

40. Hallikainen P. Why People Use Social Media Platforms: Exploring the Motivations and Consequences of Use, in From Information to Smart Society: Environment, Politics and Economics // L.Mola, F. Pennarola, S.Za, Eds. - Sydney, Australia. 2016. - C. 9-17.

41. Hanneman R.A., M. Riddle, Introduction to social network methods [Электронный ресурс] // Riverside, CA. University of California. - 2005. URL: http://faculty.ucr.edu/~hanneman/ (дата обращения 10.03.2019).

42. Heard M. MEETin group [Электронный ресурс] / MEETin.org. 14.03.2003. URL:https://meetin.org/ (дата обращения 05.01.2019).

43. Heiferman S. MeetUp [Электронный ресурс] / WeWork. 12.06.2002. URL: https://www.meetup.com/ (дата обращения 06.01.2019).

44. Hoffman R. LinkedIn [Электронный ресурс] / Blue A., Guericke K., Ly E., Vaillnt J. // LinkedIn Inc. 2002. URL: https://ru.linkedin.com/ (дата обращения 20.12.2018).

45. Kershaw J. Social search mobile app Bristlr [Электронный ресурс] / M14 Industries Ltd. 2014. - URL: http://www.bristlr.com/ (дата обращения 13.10.2018).

46. Leiba B. Oauth web authorization protocol // IEEE Internet Computing. 2012.- С. 15-.

47. Lysakov S., Kryukov D. Rambler [Электронный ресурс] / Rambler Media Group.1996. URL: http://www.rambler.ru/ (дата обращения 20.01.2019).

48. Mayer O. Sizzl. A dating app for bacon lovers [Электронный ресурс] / Uncrate LLC. 2005. URL: https://itunes.apple.com/us/app/sizzl/ (дата обращения 25.01.2019).

49. Miller J. FarmersOnly [Электронный ресурс] / FarmersOnly Media Inc. 2005. URL: https://www.farmersonly.com.

50. Muller J. Tindog [Электронный ресурс] / Holidog.2015. URL: http://www.tindog.com (дата обращения 03.01.2019).

51. Prell C. Social network analysis: History, theory and methodology. - Los Angeles, Sage Publications Ltd. - 2012.

52. Rad S., Jonathan B. Tinder [Электронный ресурс] / Mateen J., Munoz J., Mateen A., Moorjani D. // Tinder. 12.09.2012. URL: https://tinder.com/ (дата обращения 09.12.2018).

53. Reppaport D. HAPPN [Электронный ресурс] / FRW&Co. 2014. URL: https://itunes.apple.com/ru/app/happn-приложение- / знакомств (дата обращения 20.12.2018).

54. Sapountzi A., Psannis K. E. Social networking data analysis tools & challenges // Future Generation Computer Systems. - 2018.- С. 890-912.

55. TallFriends [Электронный ресурс] / TallFriends. 2001. URL: https://www.tallfriends.com/ (дата обращения 20.02.2019).

56. Tschofenig H., Hunt P. Oauth 2.0 security: Going beyond bearer tokens. - Oracle Corporation. - Finland, Espoo. 06.09.2012. - C 5-12.

57. Tussy, K.A. NameTag [Электронный ресурс] / NameTag Inc. 2014. URL: http://www.nametag.ws/ (дата обращения 02.01.2019).

58. Wilson T. WingMan [Электронный ресурс] / WingMan Inc. 2017. URL: http://getwingman.com (дата обращения 15.01.2019).

59. Young A., Langer D. GroupSpaces [Электронный ресурс]: Free group website / GroupSpaves Inc. 2007. URL: http://groupspaces.com/ (дата обращения 20.12.2018).

60. Zuckerberg M.E. Social network Facebook [Электронный ресурс] / Facebook Inc. 4.02.2004. URL: https://www.facebook.com/ (дата обращения 20.12.2018)

Приложение А. Таблица аналогов приложения

Размещено на Allbest.ru


Подобные документы

  • Обзор рынка мобильных приложений, социальных сетей, аналогов. Обзор инструментов разработки: Android Studio, Microsoft visual С# 2012, PostgreeSQL, API Открытых данных Вологодской области, API Социальных сетей. Программный код, разработка интерфейса.

    дипломная работа [2,6 M], добавлен 10.07.2017

  • Методика интеграции аутентификации на web-сайте через социальные сети. Проектирование интерфейсов основных классов программ, осуществляющих взаимодействие между библиотеками OAuth социальных сетей Facebook и Twitter с использованием шифрования SSL.

    дипломная работа [3,0 M], добавлен 08.01.2014

  • Методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня. Программирование алгоритмов сортировки и поиска в рамках создаваемого программного средства на языке Delphi. Создание руководства пользователя.

    курсовая работа [1,7 M], добавлен 16.04.2012

  • Объектно-ориентированное программирование как новый подход к созданию приложений. Разработка Windows-приложения для поиска информации в хэш-таблице. Анализ использования хеширования для поиска данных и линейного зондирования для разрешения конфликтов.

    курсовая работа [915,5 K], добавлен 06.03.2016

  • Средства поиска информации в сети Интернет. Основные требования и методика поиска информации. Структура и характеристика поисковых сервисов. Глобальные поисковые машины WWW (World Wide Web). Планирование поиска и сбора информации в сети Интернет.

    реферат [32,2 K], добавлен 02.11.2010

  • Теоретические сведения об алгоритмах поиска подстроки в строке. Глобализация информации в сети Internet. Интеллектуальный поиск. Алгоритм последовательного (прямого) поиска, Рабина и их применение. Анализ алгоритмов. Реализация программного кода.

    курсовая работа [230,8 K], добавлен 12.02.2009

  • Виды социальных медиа. Критерии эффективности продвижения аккаунта в социальных сетях. Программная реализация алгоритма моделирования распространения информации в социальной сети "Twitter". Разработка клиентского приложения. Апробация интерфейса системы.

    дипломная работа [5,4 M], добавлен 08.02.2016

  • Изучение понятия социальных сетей. Классификация социальных сетей по тематике и по форме общения их аудитории: общетематические, специализированные, глобальные, мультимедийные, блоги, микроблоги. Facebook - одна из самых популярных социальных сетей.

    презентация [405,6 K], добавлен 05.06.2013

  • Проект экспериментального программного комплекса индексирования и поиска неструктурированной текстовой информации в многоязычной среде, состоящего из математических моделей, алгоритмов и программных средств. Исследование характеристик его эффективности.

    автореферат [296,5 K], добавлен 31.01.2012

  • Количество социальных сетей в Интернете и численность их участников. Форумы и блоги как наиболее распространенные формы общения с помощью Web-технологий. Регистрация пользователей, учетные данные, сеанс работы в среде сети. Виды поиска информации.

    реферат [10,0 K], добавлен 13.02.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.