Введение
Современные проектные процессы в строительстве и производстве основаны на использовании множества CAD, BIM, CAE и расчётных систем, каждая из которых оперирует собственными форматами данных. На практике это приводит к необходимости регулярной конвертации проектных файлов (DWG, DXF, PDF, IFC, STEP и др.), что часто сопровождается потерей информации, ошибками экспорта / импорта, ухудшению качества проектов и снижению скорости их выполнения.
Есть возможность объективно оценить общую ситуацию и самые критичные проблемы на профессиональных форумах проектировщиков. Данные, собранные с форумов, не имеют разметки и структурированного представления. Таким образом, для сбора и анализа данных требуется использование парсинга, векторизации и ансамблевых методов кластеризации, для максимально точного анализа и определения самых проблемных вопросов.
Целью данной работы является применение методов анализа текстов и обучения без учителя для выявления и интерпретации основных типов проблем, возникающих при конвертации и передаче проектных данных между различными CAD/BIM-системами и другими приложениями и форматами, которые используются при проектировании и в строительных проектах.
Обзор существующих методов
Анализ тематической структуры текстовых данных традиционно выполняется с использованием методов тематического моделирования (LDA), кластеризации в TF-IDF пространстве или понижения размерности (LSA, SVD).
Классические методы тематического моделирования часто дают трудно интерпретируемые результаты на небольших объёмах текстовых данных и плохо учитывают устойчивые технические словосочетания. Актуально применяются методы линейного факторного анализа (Truncated SVD) в сочетании с различными алгоритмами кластеризации, что позволяет получать более стабильные и интерпретируемые результаты.
Альтернативы методам TF-IDF, Truncated SVD, KMeans, GMM и DBSCAN для анализа неразмеченных данных
Одним из базовых способов представления текстов является модель Bag-of-Words, в которой документы описываются векторами частот слов без учёта их порядка. Такой подход отличается простотой реализации и высокой интерпретируемостью признаков, однако не учитывает различную значимость терминов в корпусе и чувствителен к шуму, связанному с часто встречающимися словами. По этой причине Bag-of-Words чаще используется как отправная точка или в задачах с небольшим словарём.
Более продвинутыми альтернативами являются методы распределённого представления слов, такие как Word2Vec и FastText. Эти модели формируют плотные векторные представления слов на основе их контекстов, обучаясь предсказывать слова по окружению или наоборот. Документы в таком случае могут представляться как усреднение или взвешенная комбинация векторов слов. Данный подход позволяет учитывать семантическую близость терминов и существенно снижает размерность признакового пространства, однако приводит к потере прямой интерпретируемости компонент и требует достаточно большого корпуса текстов для стабильного обучения.
Расширением данной идеи является метод Doc2Vec, в котором векторные представления формируются непосредственно для документов. Это позволяет напрямую сравнивать тексты между собой, однако на небольших корпусах такие модели часто демонстрируют нестабильность, а полученные векторы сложно интерпретировать с точки зрения конкретных тематических признаков.
Современным направлением являются методы, основанные на трансформерных архитектурах, таких как BERT и Sentence-BERT. Эти модели формируют контекстно-зависимые эмбеддинги предложений и документов, обеспечивая высокое качество семантического представления и корректную работу с синонимами и контекстом. Вместе с тем такие подходы отличаются высокой вычислительной сложностью и ограниченной интерпретируемостью, что затрудняет их применение в задачах анализа технических форумов, где важна явная связь между терминами и выявляемыми темами.
Для понижения размерности текстовых признаков, помимо Truncated SVD, может применяться метод главных компонент (PCA), который максимизирует дисперсию данных. Однако PCA требует плотных матриц признаков и плохо работает напрямую с разреженными представлениями TF-IDF, что ограничивает его применение без предварительных преобразований.
Другим распространённым методом является неотрицательная матричная факторизация (NMF), при которой исходная матрица раскладывается на неотрицательные компоненты. Такой подход часто используется для тематического моделирования, так как полученные компоненты легко интерпретируются как темы. Недостатками NMF являются необходимость подбора числа компонент и меньшая устойчивость к шуму по сравнению с SVD.
Вероятностным подходом к тематическому моделированию является Latent Dirichlet Allocation, в котором документ рассматривается как смесь тем, а тема — как распределение слов. Несмотря на широкое распространение, LDA плохо масштабируется, требует сложной настройки гиперпараметров и часто демонстрирует менее устойчивые результаты на технических текстах с большим количеством специфических терминов.
В задачах кластеризации альтернативами KMeans, GMM и DBSCAN являются иерархические методы, такие как агломеративная кластеризация, формирующая дерево объединений документов. Этот подход не требует заранее фиксировать число кластеров и позволяет анализировать иерархию тем, однако отличается высокой вычислительной сложностью.
Спектральная кластеризация использует собственные векторы матрицы сходства и эффективно работает с кластерами сложной формы, но требует построения матрицы сходства и плохо масштабируется на больших корпусах.
Расширением плотностных методов является алгоритм HDBSCAN, который автоматически определяет плотности и позволяет более надёжно выделять шум и редкие темы по сравнению с DBSCAN. Вместе с тем он менее интерпретируем и чувствителен к выбору метрики расстояния.
Отдельное направление составляют методы тематической кластеризации в пространстве эмбеддингов, где сначала формируются контекстные векторы документов (например, с помощью BERT), а затем применяется кластеризация KMeans или HDBSCAN. Такие подходы демонстрируют высокое качество тематического разделения, однако требуют значительных вычислительных ресурсов и затрудняют интерпретацию результатов.
Таблица 1.
Сравнение методов кластеризации
| Метод | Тип представления | Основные преимущества | Основные ограничения | Типичные области применения |
| Bag-of-Words | Разреженные частотные векторы | Простота, высокая интерпретируемость | Не учитывает контекст и важность слов, чувствителен к шуму | Базовый анализ, малые словари |
| TF-IDF | Взвешенные частотные векторы | Снижает влияние частых слов, прост в реализации | Не учитывает семантику и устойчивые выражения | Кластеризация, поиск, классификация |
| Truncated SVD (LSA) | Латентные факторы | Устойчив к шуму, работает с разреженными матрицами | Ограниченная интерпретируемость компонент | Тематический анализ, кластеризация |
| PCA | Главные компоненты | Максимизация дисперсии, простая интерпретация | Требует плотных данных, плохо подходит для TF-IDF | Анализ плотных признаков |
| NMF | Неотрицательные компоненты | Компоненты легко интерпретируются как темы | Чувствителен к шуму, требуется подбор числа тем | Тематическое моделирование |
| LDA | Вероятностная модель тем | Теоретически обоснованная модель тем | Сложная настройка, нестабильность на техтекстах | Анализ больших текстовых корпусов |
| Word2Vec | Эмбеддинги слов | Учитывает семантическую близость слов | Требует больших корпусов, слабая интерпретация | Семантический анализ |
| FastText | Эмбеддинги слов с n-граммами | Хорошо работает с редкими и морфологически сложными словами | Усложнение модели, снижение интерпретируемости | Технические и специализированные тексты |
| Doc2Vec | Эмбеддинги документов | Прямое сравнение документов | Нестабильность на малых выборках | Поиск и кластеризация документов |
| BERT | Контекстные эмбеддинги | Высокое качество семантики | Высокая вычислительная сложность | Семантический поиск, классификация |
| Sentence-BERT | Эмбеддинги предложений/документов | Эффективен для кластеризации текстов | Низкая интерпретируемость | Тематическая кластеризация |
| KMeans | Центроидная кластеризация | Простота, высокая скорость | Требуется число кластеров, сферические кластеры | Базовая кластеризация |
| GMM | Вероятностная кластеризация | Гибкая форма кластеров | Переобучение, чувствительность к шуму | Анализ сложных распределений |
| DBSCAN | Плотностная кластеризация | Выявление шума, не требует числа кластеров | Чувствителен к параметрам | Поиск плотных тем |
| HDBSCAN | Иерархическая плотностная | Устойчив к шуму, автоматический выбор плотностей | Сложность интерпретации | Выделение редких тем |
| Агломеративная кластеризация | Иерархическая | Анализ иерархий тем | Высокая вычислительная сложность | Исследовательский анализ |
| Спектральная кластеризация | Графовая | Хорошо работает с кластерами сложной формы | Плохая масштабируемость | Анализ сложных структур |
| Эмбеддинги + кластеризация | Семантические векторы | Высокое качество тематического разделения | Высокие вычислительные затраты | Современные тематические системы |
Задачи исследования
- Собрать блок текстов обсуждений с профессиональных форумов.
- Выполнить очистку и векторизацию текстовых данных.
- Выявить латентные факторы, характеризующие тематику обсуждений.
- Сгруппировать темы по типам проблем с использованием методов кластеризации.
- Оценить устойчивость и интерпретируемость кластеров.
- Сформулировать практические выводы.
Данные
Объём выборки: 134 темы
Источники: парсинг русскоязычных и англоязычных форумов проектировщиков (AutoCAD, BricsCAD, DWG/DXF, IFC, PDF, расчётные комплексы).
Сайты: forum.bricsys.com, forum.dwg.ru, forum.freecad.org, www.cadtutor.net.
Каждая запись содержит:
заголовок темы;
первые 2-3 поста обсуждения;
метаданные (количество сообщений).
Данные не имеют разметки, что определяет использование методов обучения без учителя.
Предобработка и векторизация
Текстовая предобработка включала:
- приведение текста к нижнему регистру;
- удаление ссылок, чисел, спецсимволов;
- нормализацию пробелов.
Векторизация:
- использован метод TF-IDF;
- униграммы и биграммы;
- итоговая размерность: 10915 признаков.
Это позволило учитывать как отдельные термины (DWG, IFC), так и устойчивые сочетания (экспорт в IFC, из pdf в dwg).
Факторный анализ (SVD)
Explained variance ratio sum ≈ 0.93 при 30 компонентах.
Метод усечённого сингулярного разложения (Truncated SVD) был использован для выявления латентных факторов в высокоразмерном TF-IDF пространстве. Первые 30 компонент объясняют около 93% дисперсии, что свидетельствует о высокой информативности полученного факторного пространства.
Примеры факторов:
Factor 2 Оцифровка и обработка сканов (DPI, DJVU, сканирование)
Factor 4 Конвертация PDF → DWG/DXF
Factor 3 Автоматизация и LISP-скрипты
Factor 5 Восстановление и ошибки файлов AutoCAD
Факторы хорошо интерпретируются и соответствуют реальным вопросам проектировщиков в форумах.
Кластерный анализ
Метод к-средних (K-Means)
Оптимальное число кластеров: ~11–15
Крупнейшие кластеры:
1 22 Общие вопросы конвертации DWG
2 22 Сканирование и перевод документов
5 18 Импорт/экспорт DWG между CAD
3 11 Экспорт IFC
4 8 PDF → DWG/DXF
Цель достигнута: выявлены наиболее часто встречающиеся типы проблем.
GMM
- Оптимальное число компонент: 11 (по BIC)[1]
- Результат близок к KMeans – это подтверждает устойчивость структуры данных и верность результата.
DBSCAN
- Найдено 11 кластеров
- 22 объекта отнесены к шуму (уникальные кейсы)
Это редкие или специализированные проблемы, не образующие устойчивых групп.
Ансамблевый метод (Random Forest)
Ансамблевый метод Random Forest был использован для проверки возможности предсказания «популярности» темы (по числу сообщений) на основе латентных факторов и длины текста.
Точность = 1 объясняется малым объёмом выборки, сильной корреляцией признаков и простотой целевой переменной. Это использовалось просто чтобы показать, как применять ансамбли.
Выводы
Методы кластеризации без учителя позволяют эффективно группировать темы без предварительной разметки.
Разные методы (KMeans, GMM, DBSCAN) дают согласующиеся результаты, что подтверждает правильность выводов и устойчивость результатов работы методов.
DBSCAN позволяет выделять редкие и уникальные треды.
Результаты такого анализа могут быть эффективно использованы для более качественной разработки систем автоматической конвертации проектных данных, улучшения функций экспорта/импорта в CAD/BIM ПО, формировании базы типовых ошибок для техподдержки.
Заключение
Несмотря на наличие большого числа альтернативных методов, связка TF-IDF, Truncated SVD и классических алгоритмов кластеризации остаётся быстрым, эффективным и сбалансированным решением для анализа данных о темах технических форумов и добытых посредством парсинга неструктурированных данных, обеспечивая удачный компромисс между интерпретируемостью, устойчивостью результатов и вычислительной сложностью.
Байесовский информационный критерий (BIC) — статистический критерий, который балансирует между точностью модели и её сложностью. ↑
Список литературы
- 1. Вандер Плас, Дж. Python для сложных задач: наука о данных и машинное обучение / Дж. Вандер Плас. – Санкт-Петербург : Питер, 2018. – 576 с.
- 2. Мишулина, О. А. Лабораторный практикум по курсу «Введение в теорию нейронных сетей» : учебно-методическое пособие / О. А. Мишулина, А. Г. Трофимов, М. В. Щербинина. – Москва : МИФИ, 2007. – 112 с.
- 3. Мюллер, А. Введение в машинное обучение с помощью Python : руководство для специалистов по работе с данными / А. Мюллер, С. Гвидо. – Санкт-Петербург : Питер, 2017. – 480 с. – ISBN 978-5-496-02571-2.
- 4. Осипов, Г. С. Методы искусственного интеллекта : монография / Г. С. Осипов. – Москва : Физматлит, 2011. – 295 с. : ил. – Библиогр.: с. 288–295. – ISBN 978-5-9221-1323-6.
- 5. Траск, Э. Грокаем глубокое обучение / Э. Траск. – Санкт-Петербург : Питер, 2019. – 352 с. : ил. – (Библиотека программиста). – ISBN 978-5-4461-1334-7.
- 6. Шолле, Ф. Глубокое обучение на Python / Ф. Шолле. – Санкт-Петербург : Питер, 2018. – 400 с. : ил. – (Библиотека программиста). – ISBN 978-5-4461-0770-4.


