Проект "Фейсбук прошлого" (Facebook of the Past) посвящён автоматической обработке корреспонденции, извлечению фактов об участниках переписки и последующему созданию базы данных и графов связей между ними.
- drawing_graphs.py
назначение: создание изображений графов на основе базы данных
input: файл с данными по письмам; формат - csv; кодировка - utf-8 ! обязательно соблюдать установленную последовательность колонок ! output: изображение графа; формат - png
необходимо установить: networkx, matplotlib
functions: build_base_for_graphs(database) - получает на вход файл в формате csv, возвращает частотный словарь всех персоналий в формате {имя:{адресат:количество писем}} build_graph_for_person(database, info) - получает на вход базу данных в формате csv и имя одного человека, возвращает граф со всеми связями этого человека (сохраняет в "templates/") build_graph_for_socium(database) - получает на вход базу данных в формате csv, возвращает граф со связями всего сообщества, описанного во входном файле (сохраняет в "templates/")
описание графов:
- ориентированный мультиграф со взвешенными рёбрами
- размер узла = количество людей, с которыми связан искомый человек / 0.01
- ориентированность обозначается синими концами на рёбрах при соответствии "А пишет В" = "А->В"
- вес ребра = количество писем между двумя людьми
- try_html.py
назначение: drawing_graphs.py с поддержкой во flask'е, демо-реализация сервиса для построения графов
необходимо установить: networkx, matplotlib, flask
functions: build_base_for_graphs(database) build_graph_for_person(database, info) build_graph_for_socium(database) index() - открытие страницы для загрузки файлов с базой данных search() - открытие страницы для выбора типа графа для построения, ввода имени человека в случае центричного графа, вывода результатов