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

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

Основной инструментарий - python, Networkx, Numpy, Matplotilb. Исходный код проекта тут.

В моем случае Obsidian это больше система управления личными делами, чем база знаний. Хранилище содержит следующие папки:

  • Блокнот. Тут быстрые заметки (идеи, впечатления, инсайты, а также интересности за пределами размеченной области дел).

  • Календарь. Ежедневные заметки с плановыми задачами.

  • Проекты. Под проектом понимаю дело с конечными сроками, которое не реализовать за один шаг.

  • Встречи. Заметки по итогам встреч, после которых есть, что записать о чём подумать.

  • Люди. Активная часть записной книжки - те, с кем осмысленно взаимодействовал за рассматриваемый период.

  • Заметки. Обработанные заметки (атомизированные, с аккуратно проставленными ссылками и мыслями по их поводу).

  • Шаблоны. Шаблоны для ускорения создания вышеперечисленных заметок.

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

Граф заметок. Размер узла пропорционален значению метрики PageRank
Граф заметок. Размер узла пропорционален значению метрики PageRank

Структурные метрики графа.

За рассматриваемый 2024 год было создано 1759 узлов (заметок) и 2687 ребер (связей между ними). Граф довольно разряженный.

Средняя степень: 3
Максимальная степень: 290
Количество хабов (узлов со степенью > 19.8): 29

Видна сильная неравномерность распределения степеней.

Коэффициент кластеризации: 0.070.
Модулярность: 0.757
Лувенский алгоритм выделяет 58 сообществ.

Высокое значение модулярности (т.е. наличие чётко выраженных сообществ) при низком коэффициенте кластеризации говорит о том, что сообщества имеют "звездообразную" структуру с центральными хабами. Что, вобщем-то, видно и по визуализации графа.

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

Хабы

Итак, структура графа больше иерархическая, чем плоская и ключевую роль в ней играют 29 хабов. В плане тематик они разбиваются на следующие группы:
6 хабов - проф. деятельность на основной работе,
2 хаба - свои коммерческие проекты,
5 хабов - хобби “песни-пляски”,
5 хабов - конкретные люди,
остальные (11) - обучения и повышения квалификации.

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

Хабы имеют значение и как “мосты” между сообществами. При этом число связей через “мосты” быстро убывает: только 5 хабов имеют более 15 связей (которые распределены неравномерно). Еще 12 хабов поддерживает от 10 до 4 связей (в основном ближе к 4). А оставшиеся 13 связывают небольшое число сообществ (2-3)

Опять же имеем централизованную организацию с доминирующим узлом и несколькими уровнями иерархии среди остальных хабов.

Эволюция сообществ

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

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

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

Естественный отбор

Рассмотрим эволюцию состава сообществ в исследуемом графе с шагом в 1 месяц. Будем учитывать только сообщества из 5 узлов и больше. Используем Лувенский алгоритм выделения сообществ.

Результат в графической форме представлен ниже.

Обозначения на рисунке следующие. Сообщество будем считать "родившемся", если оно просуществовало 1 месяц, "умершим", если оно за месяц потеряло более 50% своего состава.
Потенциал роста - высоким, если

  • сообщество растет (тренд восходящий),

  • растет количество внешних связей,

  • стабильность размера s = 1 - \sigma / \bar{N} > 0.7 где \bar{N}-средний размер сообщества за время жизни, \sigma - стандартное отклонение

  • текущий размер превышает минимальный вдвое или больше

Противоположная ситуация (высокий риск исчезновения), если тренды по численности сообщества и внешним связям нисходящие, стабильность s<0.5, размер близок к принятому минимуму (5 узлов). Толщина линии пропорциональна размеру сообщества в данный момент.

Среднее количество сообществ в месяце (округление до целых) составляет 18 ± 2.

Обращает на себя внимание тенденция на снижение числа короткоживущих сообществ и стабилизацию их набора к концу года. Посмотрим на распределение сообществ по времени жизни.

Распределение по времени жизни

Среднее время жизни: 3.1 мес.
Стандартное отклонение: 2.4 мес.
Медиана: 2.0 мес.

На гистограмме наблюдаем три пика - в районе 1, 4 и 9 месяцев. Большая часть (52%) сообществ живет не долго (1-2 мес), сравнимое количество (41%) сообществ просуществует от 3 до 7 мес, и лишь 7% - проживут дольше 8 месяцев.

Актуальная тематика

На конец рассматриваемого периода есть 14 живых сообществ. Из них:

  • Два сообщества долгожителя (11 мес) отражают основную профессиональную тематику.

  • Четыре сообщества "среднего возраста" (5-7 мес) - увлечения.

  • Восьмерых представителей "молодежи" (1-4 мес) не получится классифицировать столь однозначно. По большей части это обучения, но есть примеси из увлечений и работы по своим проектам.

Промежуточный вывод. В среднем в фокусе моего внимания 18 (± 2) крупных тем/направлений. Из них 2 "длинных", 7 "средних", оставшаяся половина - воронка-конструктор.

Анализ активности

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

Ниже приведен на график количества создаваемых узлов от времени. Шаг, как и прежде, - 1 месяц.

Характер графика пилообразный, с тремя своеобразными "зубьями" (резкий пик - медленный спад). Это в целом соответствует характеру моей работы в университете.

  • Первый "зуб" имеет максимум в январе (начало семестра, новые планы, контакты, проекты, обсуждения), затем снижение до марта (и чем дальше от начала, тем меньше "креатива" и заметок, а больше работы по намеченному плану).

  • Второй "зуб" имеет максимум в июне и незначительное снижение к августу. Июнь это сессия, июль и август - летняя практика и свои образовательные проекты.

  • Третий "зуб" бодро стартует с сентября вместе с новым семестром. Опять новые идеи, планы, мысли обсуждения и орг.моменты. К ноябрю снова "все и так понятно".

  • Декабрьский подъем выбивается из описанной картины - конец года все же требует повышенной активности.

Вывод: есть потенциал развития у середины-конца семестров. Имеет смысл почаще поднимать взгляд из рутины.

Дополним картину исторической динамикой среднего значения PageRank узлов графа и диапазона его изменения.

В феврале-мае, мае-августе и августе-ноябре (что с погрешностью в месяц совпадает с границами периодов, выделенных не предыдущей диаграмме) видим на графике следующий паттерн:

  1. рост ширины диапазона PageRank при увеличении числа узлов - что говорит об усилении централизации в сети,

  2. с последующим сужением диапазона и снижением среднего значения PageRank (при снижении темпа прироста узлов) - что говорит о увеличении связности и демократизации сети.

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

Люди

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

На графике ниже показаны изменение размера активного окружения и динамика новых связей в течение года. Датой появления человека в окружении будем считать дату создания заметки встречи, проекта или мероприятия, где впервые пообщались/поработали (заметки-моста между узлами в записной книжке: моим и визави).

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

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

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

Выводы

Что имеем:

  • Структура графа на данный момент имеет преимущественно иерархическую "звездообразную" организацию с выраженными хабами. Это, с учетом динамики развития сети, отражает текущую стратегию работы с информацией:

    • вначале обустроить новые сущности в иерархическую структуру,

    • потом выстраивать горизонтальные связи между элементами.

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

  • В усредненном месяце в фокусе моего внимания 18 крупных тем/направлений. Из них 2 "длинных" (живут около года), 7 "средних" (1-2 квартала), ну и воронка-конструктор из 9 короткоживущих.

  • Набор направлений стабилизируется к концу года.

  • График активности имеет пилообразный характер, коррелирующий с расписанием университета: пики в январе, июне и сентябре

    • Коммуникационная активность заметно выше в первой половине семестров (и зимой и осенью), а к их концу мой девиз "меньше слов, больше дела".

    • Наблюдается количественный баланс между созданием новых и включением старых социальных связей.

    • Самая равномерная работа - летом.

Что улучшить:

  • Увеличить межпроектную интеграцию для повышения связности графа.

  • Активнее работать в глубину тематических направлений.

  • Планировать периоды рефлексии в середине семестров.

  • Учитывать выявленную норму крупных тем в месяц при планировании.

Итог: Анализ графа заметок позволил выявить ключевые паттерны работы с информацией, связать их с жизненными циклами проектов/тем и учебными периодами, а также наметить пути для повышения эффективности системы управления делами (знаниями) в Obsidian.

Комментарии (2)


  1. Furriest
    13.02.2025 05:12

    А сформулируйте выводы так: "После анализа графа я узнал о себе то, чего раньше не знал, а именно:".

    А то вывод "люблю работать, учиться и активно отдыхать" - прямо какое-то "нравится быть здоровым и богатым, а бедным и больным - не нравится".


  1. Andthe
    13.02.2025 05:12

    И зачем все это?