Точный анализ: моделирование темы LDA и стратифицированная выборка для крипто -препятствий

Точный анализ: моделирование темы LDA и стратифицированная выборка для крипто -препятствий

29 июля 2025 г.

Аннотация и I. Введение

II Связанная работа

Iii. Методология

IV Результаты и обсуждение

V. Угрозы достоверности

VI Выводы, подтверждения и ссылки

Iii. Методология

Сначала мы объясняем процедуру сбора данных, а затем описываем, как мы очищаем данные, и кратко представляем моделирование темы LDA.

А. Извлечение данных

Чтобы собрать связанные с криптовами посты в переполнении стека, мы предположили, что прикрепленные теги к вопросу в основном отражают тему вопроса. Сначала мы использовали тег «криптография», то есть базовый тег, для извлечения связанных с криптором постов, то есть 11 130 сообщений, с помощью платформы проводника данных (обмен стек-обменом). Мы нашли 2 184 тега (теги -кандидаты), которые произошли в постах вместе с тегом «криптография». Однако не все теги кандидатов были связаны с крипто, например, C#.

Чтобы найти соответствующие посты с базовым тегом, мы использовали две метрики, чтобы определить, какой из тегов кандидатов связан исключительно с базовой тегом. Мы представили первую метрику в качестве аффинности, чтобы определить степень, в которой тег -кандидат (T) связан исключительно с базовой тегом (BT). Для каждого T мы использовали функцию постов с тегами, для краткости pwt (), чтобы вычислять количество постов, теги которых содержат как T, так и Bt. Мы использовали pwt () для получения количества постов, теги которых содержат T., учитывая эти два значения, мы вычисляем аффинность (t, bt) = | pwt (t, bt) | / | pwt (t) |, результат которого варьируется от нуля до одного.

Чем меньше значение первой метрики, тем слабее связь между T и Bt. Например, каждая теги «C ++» и «шифрования» появились 639 897 и 29 737 раз соответственно во всем переполнении стека. Тег «C ++» появился вместе с BT 540 раз, а «шифрование» использовалось в 3535 раз с BT. Значение аффинности для тега «C ++» составляет 0,0008 и 0,1188 для тега «шифрования», значения, которые демонстрируют сильное сродство к «шифрованию» и BT.

Тем не менее, более высокие значения аффинности для некоторых тегов -кандидатов не обязательно указывают на теги, которые тесно связаны с криптографией. Например, тег «S60-3-й издания» появился один раз с базовым тегом и в общей сложности 11 раз в переполнении стека. Значение аффинности для этого тега кандидата составляет 0,09, что близко к значению тега «шифрования», даже если он появился только один раз с базовым тегом. Чтобы решить эту проблему, мы представили второй метрику, охват (t, bt) = | pwt (t, bt) | / | pwt (bt) |. Вторая метрика указывает на охват постов BT T., в качестве примера, значение (то есть 0,00008) охвата для тега «S60-3-й издания» доказывает, что метка кандидата не охватывает базовую метку, в то время как тег «C ++» охватывает 0,04 вопросов, связанных с криптографией.

Два автора этой статьи изучали различные комбинации порогов для двух метрик и вручную рассмотрели полученные теги. Мы заметили, что пороговые значения для сбора только крипто-связанных тегов из метков кандидата (то есть 2 184)-это те, которые выше сродства: 0,025 и покрытие: 0,005. Существует 40 крипто-тегов, которые попадают в выбранную пороговую домен. Список связанных с крипто-тегами, а также их частоты доступны в Интернете. [1] Затем мы снова использовали исследователь данных обмена стека, чтобы извлечь сообщения, содержащие каждый из выбранных тегов (то есть 40 тегов), но не базовый тег, и записывал их в файлах CSV, которые доступны в Интернете. [2]

B. Кластеризация данных с помощью тематического моделирования

Мы объединили заголовок и тело сообщения, чтобы создать документ. Мы удалили дублируемые идентификаторы почты в нескольких файлах CSV и, наконец, получили 91 954 уникальных документов, не учитывая, когда были созданы сообщения. Очевидно, каждый из документов содержал большое количество ненужных текстовых элементов, которые могли бы вызвать шум при выводе алгоритма моделирования темы. Мы предварительно обработали документы в следующих шагах: (1) Мы удалили все кодовые блоки, заключенные в «Тэг», (2) Мы удалили все элементы HTML с помощью красивой библиотеки супов, [3] (3) Мы удалили новые линии и не аль-альфаномерные характери Преобразуя слова в их корневые формы, например, игра преобразуется в игру. Мы обнаружили 269 795 слов в общей сложности. Наконец, мы использовали класс CountVectorizer в Scikit-Learn, чтобы преобразовать слова в вектор термина/токенов, чтобы войти в алгоритм машинного обучения.

Мы использовали Scikit-Learn, 4 популярную библиотеку машинного обучения в Python, которая предоставляет ряд контролируемых и неконтролируемых алгоритмов обучения. Странное распределение Dirichlet (LDA) - это неконтролируемый алгоритм обучения, основанный на генеративной вероятностной модели, которая рассматривает каждую тему как набор слов и каждый документ как набор тематических вероятностей [11]. LDA использовался для обнаружения скрытых тем в документах в большом количестве предыдущих исследований [12] [7] [13].

Перед обучением модели LDA требует указания ряда важных параметров. LDA просит фиксированное количество тем, а затем отображает все документы по темам. Альфа-параметр описывает плотность документа-топического, то есть более высокие альфа-означает документы, состоят из большего количества тем, и генерирует более точное распределение темы на документ. Бета-параметр описывает плотность словесного слова, то есть более высокая бета-тему означает, что темы влечет за собой большинство слов и генерирует более конкретное распределение слов на тему.

Оптимальные значения гиперпараметров не могут быть напрямую оценены по данным, и, что более важно, правильный выбор параметров значительно улучшает производительность модели машинного обучения [14]. Поэтому мы использовали функцию GridsearchCV в Scikit-Learn для выполнения настройки гиперпараметра для генерации кандидатов из массива значений для трех вышеупомянутых параметров, то есть альфа, бета и количество тем. Поскольку исследования показали, что выбор надлежащего количества тем не прост в модели, можно использовать итеративный подход [15] для отображения различных моделей с различным количеством тем, и выбирать количество тем, для которых модель имеет наименьшую недоумение. Смущение - это мера, используемая для указания статистической доброты соответствия тематической модели [11]. Поэтому мы определили количество тем от 1 до 25. Мы также использовали условную настройку гиперпараметрического для альфа, что означает, что гиперпараметт может потребоваться настроить в зависимости от значения другого гиперпараметра [16]. Мы устанавливаем альфа = 50 / количество тем и бета = 0,01, следующие рекомендации по предыдущим исследованиям [17].

Оптимизация для недоумения, однако, не всегда может привести к интерпретируемым человеческим темам [18]. Чтобы облегчить ручную интерпретацию тем, мы использовали популярный пакет визуализации под названием Pyldavis [5] в Python. Два автора этой статьи отдельно проверяли полученные ключевые слова тем, то есть от 1 до 25, и связанные визуализации Пидависа, чтобы гарантировать, что заданное количество тем семантически выровняется с человеческим суждением.

C. Анализ данных

Мы вычислили необходимый размер выборки для 91 954 документов с достоверным уровнем 95% и погрешностью 5%, что составляет 383 документа. Затем мы использовали стратифицированную выборку, чтобы разделить всю популяцию на более мелкие группы, называемые стратами. На этом этапе мы рассматривали каждую тему как один слой и случайным образом выбрали документы пропорционально из разных слоев. Затем мы использовали тематический анализ, качественный метод исследования для поиска тем в тексте [19], чтобы извлечь частые темы из документов. Два автора бумаги тщательно рассмотрели заголовок, тело вопроса и отвечают на тело каждого документа. Затем каждый автор улучшал извлеченные темы, итеративно маркировав посты. Затем мы рассчитали каппа Коэна, обычно используемую меру межраторского соглашения [20], между двумя рецензентами. Наконец, два рецензента сравнили свои окончательные результаты маркировки и повторно проанализировали конкретные посты на сессии, где они не согласились, чтобы обсудить и прийти к консенсусу.

Эта статья естьДоступно на ArxivПод CC по лицензии 4.0.


[1] http://185.94.98.132/~crypto/paper_data/tags.csv

[2] http://185.94.98.132/~crypto/paper_data/

[3] https://www.crummy.com/software/beautifulsoup/

[4] https://scikit-learn.org/

[5] https://github.com/bmabey/pyldavis

Авторы:

(1) Мохаммедреза Хазхирпасанд, Оскар Ниерстраш, Университет Берна, Берн, Швейцария;

(2) Мохаммадхоссейн Шабани, Университет Азада, Рашт, Иран;

(3) Мохаммад Гафари, Школа компьютерных наук, Университет Окленда, Окленд, Новая Зеландия.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE