Semantic core extraction on graphs using Ant Colony Optimization
Project description
Intelliant Core: Графовый алгоритм поиска семантических ядер
Intelliant Core - это специализированный алгоритм машинного обучения, основанный на метаэвристике муравьиной колонии (Ant Colony Optimization, ACO).
В отличие от классических методов, алгоритм не пытается очертить математические границы кластеров в гиперпространстве. Он переводит многомерные данные (например, эмбеддинги языковых моделей) в формат графа ближайших соседей (KNN) и использует роевой интеллект для поиска самых плотных семантических центров (ядер).
Алгоритм оптимизирован через Numba и разреженные матрицы (Sparse CSR), что позволяет ему обрабатывать сотни тысяч
объектов за несколько секунд на обычных CPU, обходя ограничения памяти (OOM), свойственные индустриальным стандартам
вроде HDBSCAN.
Основные возможности и особенности
- Независимость от размерности: Работает с графом связей (cosine, euclidean), а не с сырыми координатами. Отлично подходит как для 2D/3D пространств, так и для 384D+ эмбеддингов.
- Min-Max Ant System (MMAS): Защита от стагнации феромонов, предотвращающая коллапс графа в "черную дыру" одного хаба.
- Elitist Ants (Элитные муравьи): Ускоренное формирование ядер за счет жадного поведения выделенной группы агентов.
- Node Density (Гравитация узлов): Опциональная эвристика, позволяющая муравьям оценивать локальную плотность целевой точки, ускоряя сходимость алгоритма в 2 раза.
- Noise Absorption: Встроенный модуль абсорбции для перераспределения пограничных точек (шума) по найденным ядрам через взвешенный KNN.
Требования и технологии
Для обеспечения максимальной производительности и воспроизводимости проект опирается на современный стек Python:
- Python:
>= 3.14 - Пакетный менеджер:
uv(обеспечивает сверхбыстрое разрешение зависимостей) - Аппаратное ускорение: Поддержка CUDA (NVIDIA) и MPS (Apple Silicon) для генерации эмбеддингов через PyTorch.
- Необходима настройка токена Hugging Face для загрузки тестовых датасетов.
Установка и запуск
-
Клонируйте репозиторий:
git clone https://github.com/yourdisenchantment/intelliant-core.git cd intelliant-core
-
Создайте файл
.envв корне проекта: Добавьте в него ваш токен от Hugging Face для загрузки датасетов (например,AG_NEWS):HF_API_TOKEN=hf_ваша_строка_токена
-
Установите все зависимости проекта: Используйте менеджер
uvдля установки всех зависимостей (базовые, ML, Dev + Optional):uv sync --all-groups --all-extras
Примечание:
--all-groupsустанавливает базовые зависимости, ML и dev-пакеты (включаяpre-commit), а--all-extrasдобавляет опциональные пакеты (включаяruffдля линтинга).
Структура тестов
(Секция в процессе заполнения. Вскоре здесь появятся описания тестовых блокнотов, демонстрирующих работу алгоритма на синтетических данных и сравнение с HDBSCAN).
План развития
Проект находится в стадии активного полишинга. Запланированные нововведения:
- Разработка адаптивного (динамического)
cutoffна основе анализа графика распределения феромонов (отказ от жестко заданного процентиля). - Очистка кодовой базы, упаковка класса
IntelliantCoreExtractorи вспомогательных утилит в полноценную open-source Python-библиотеку (с последующей публикацией на PyPI). - Внедрение системы автокалибровки гиперпараметров (число муравьев, длина пути, испарение) на основе метрик связности входящего KNN-графа.
- Проведение экспериментов на эмбеддингах различной размерности: сравнение легковесных моделей с тяжеловесными (например, использование
google/embeddinggemma-300mдля генерации векторов разной размерности) для проверки аппаратной устойчивости алгоритма.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file intelliant_core-0.1.0-py3-none-any.whl.
File metadata
- Download URL: intelliant_core-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a5b85130216614620153504af489d78840aa1a62a8ce388a3b46b39d00010fb
|
|
| MD5 |
77c7dfd7c39cd136ed4ede30713cf7fe
|
|
| BLAKE2b-256 |
3c70c1f9110397c5715d872b1c0a81a6a49f45071fcd79952ed431ed96f93f53
|