Email or username:

Password:

Forgot your password?
Mark

@rf @tech
Публикую скрипт своего бота для Mastodon.
В данный момент он парсит страницы пользователей и создает для каждого файла Markdown страничку.
gitea.com/MarkVobl/MastodonBot

Когда #парсинг завершен, я открываю папку с Markdown-файлами в #обсидиан и получаю красивый #socialgraph . Такой граф позволяет "анализировать" данные и посмотреть на карту своих связей.

Сейчас я не могу заниматься этим проектом. Будет круто если кто-то превратит его в более полезный инструмент.

16 comments
Mark

В Данный момент у меня есть проблемы с отрисовкой графа с более 1тыс пользователей. Obsidian начинает лагать и.т.п.

Какие еще есть программы с аналогичным функционалом(построение графа)?
Я уже попробовал написать свою с D3, но проблема аналогична. Есть что-то более производительное?

И как можно сгенерировать список тем из постов? Я просто заметил, что далеко не все используют хештеги... . Было бы классно сделать классификацию по темам (Опыта в Natural Language Processing немного...) .

iliazeus

@MarkVobl

> Какие еще есть программы с аналогичным функционалом(построение графа)?

Gephi. Тут недавно @vsv делал на ней похожую штуку

> Я уже попробовал написать свою с D3, но проблема аналогична.

Если будешь, бери лучше Cytoscape.js. Тут недавно я сам делал на ней подобную штуку :)

Mark

@iliazeus Спасибо за подсказку.

Stas

@iliazeus @MarkVobl могу ошибаться, но фундаментально у js будут всегда проблемы с отрисовкой графа, когда у нас тысячи узлов. Возможно что-то может улучшится с использованием webassembly и webGL? Но вроде как-то не особо это направление идёт.

Stas

@iliazeus @MarkVobl
Что касается графов, то вроде на R есть какая-то библиотека, которая после gephi с наиболее богатым функционалом, но отрисовка понятное дело каким-нибудь plotly

Stas

@MarkVobl @iliazeus да, возможно. Смотрю и для python она есть

iliazeus

@vsv cytoscape.js как раз не делает отдельные хтмл-элементы под каждую ноду, а отрисовывает их сама, с ускорением. Поэтому она быстрая и вывозит большие графы. На js.cytoscape.org есть демки, можно посмотреть.
@MarkVobl

Stas

@iliazeus @MarkVobl
Переварить большое количество нод – это одна задача, вполне допускаю, что есть какое-то количество инструментов, которое это может сделать.
Другой момент, что если нам нужно кластеризовать в этом графе что-то, то нам нужна имплементация ForceAtlas2.
Возможно есть что-то новое для кластеризации огромных графов, но мне не попадалось пока.
Вот научная статья по этому алгоритму:

medialab.sciencespo.fr/publica

@iliazeus @MarkVobl
Переварить большое количество нод – это одна задача, вполне допускаю, что есть какое-то количество инструментов, которое это может сделать.
Другой момент, что если нам нужно кластеризовать в этом графе что-то, то нам нужна имплементация ForceAtlas2.
Возможно есть что-то новое для кластеризации огромных графов, но мне не попадалось пока.
Вот научная статья по этому алгоритму:

iliazeus

@vsv конкретно ForceAtlas2 нет, но алгоритмов укладки много, в том числе и force-directed: js.cytoscape.org/#extensions/l

@MarkVobl

iliazeus

@vsv хотя не спорю, что с прям огромными графы cytoscape работает хуже, чем та же gephy.

@MarkVobl

Stas

@iliazeus @MarkVobl ну, его большой плюс, что можно это делать это в браузере. И вообще завернуть в какой-то сервис.
Кстати, ForceAtlas2 как раз и отностится force-directed алгоритмам, нужно глянуть, что за настройки есть в cytoscape

Stas

@MarkVobl как-то давно делал для тиндера (1) и для твиттера (2), для твиттера был ограниченный набор данных с определённых акков, на вхождение корня "слав":

Mark

@vsv Это было просто выделение ключевых слов или что-то сложнее?

Stas

@MarkVobl не, тут без NLP всякого

Horhik

@MarkVobl org-roam-ui

Ге знаю как он по поерфомансу в сравнении с обсидианом, но может...

Go Up