Кластеризация Текстовых Документов По Семантическим Признакам (Часть Вторая: Описание Моделей)



Модели Word2Vec Как было упомянуто в первой части публикации , модели получаются из классов — представление текстового результата word2vec в виде ассоциативно-семантических классов путем сглаживания распределений.

Идея сглаживания заключается в следующем.

  1. Получаем частотный словарь учебного материала, где каждому слову присвоена его частота встречаемости в документах (т.е.

    в скольких документах встречается данная лексема).

  2. На основе этого частотного распределения для каждого слова в классе рассчитывается его стандартное отклонение (или дисперсия, в данном случае не имеет принципиального значения).

  3. Для каждого класса вычисляем среднее значение всех отклонений его составляющих.

  4. Из каждого класса убираем «выбросы» — слова с большим стандартным отклонением:


Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Где SDw — стандартное отклонение каждого слова, avr(SDcl) — среднее значение класса, k — коэффициент сглаживания.

Очевидно, что результат будет зависеть от коэффициента k. Его выбор — эмпирическая задача; это зависит от языка, размера обучающей выборки, ее однородности и т. д. Но все же попробуем выделить некоторые общие вещи.



Создание и тестирование моделей

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

Английский текст содержал около 170 миллионов словоформ, русский – чуть менее миллиарда.

Диапазон количества классов составлял от 250 до 5000 классов с шагом 250. Остальные параметры использовались по умолчанию.

Тестирование проводилось на русскоязычном и англоязычном материале.

Вкратце методика тестирования такова: мы взяли для классификации эталонные тестовые примеры и прогнали их по моделям кластеризации с различными параметрами: изменяя количество классов и коэффициент сглаживания, мы можем продемонстрировать динамику изменения результата, , следовательно, качество модели.

Английский пять корпусов взят из Открытый исходный код :

  • 20NG-TEST-ALL-TERMS – 20 тем (10555K)
  • МИНИ20-ТЕСТ – 20 тем (816К)
  • R52-TEST-ALL-TERMS – 52 темы (1487 тыс.

    )

  • R8-TEST-ALL-TERMS – 8 тем (1167 тыс.

    )

  • WEBKB-TEST-STEMMED – 4 темы (1271 тыс.

    )

Пришлось использовать российские корпуса из закрытых разработок, так как открытых исходников найти не удалось:
  • Ру1 – Корпус коротких сообщений – 13 тем (76 тыс.

    )

  • Ру2 – Новостной блок – 10 тем (577К)
При тестировании использовался самый простой метод сравнения, без использования каких-либо сложных метрик.

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

То есть интересен был не сам результат, а его динамика.

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

Такие тесты показали, что результаты на моделях с ассоциативно-семантическими классами почти так же хороши, как и на униграммах: наблюдалось небольшое ухудшение качества от 1 до 10% в зависимости от корпуса тестов.

Это говорит о конкурентоспособности полученных моделей кластеризации, учитывая, что они изначально не были «заточены» под тематику.



Зависимость качества модели от количества классов

Тестирование проводилось со всеми корпусами с разным количеством смысловых классов: от 250 до 5000 с шагом 250 классов.

Рисунки 1 и 2 демонстрируют зависимость точности классификации от количества классов модели для русского и английского языков.



Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Рисунок 1. Зависимость точности классификации от количества семантических классов word2vec для русскоязычных корпусов.

По оси абсцисс — количество классов, по оси ординат — значения точности.



Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Рис.

2. Зависимость точности классификации от количества семантических классов word2vec для корпусов английского языка.

По оси абсцисс указано количество классов, по оси ординат — точность классификации.

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

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



Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Рис.

3. Среднее значение зависимости точности классификации от количества семантических классов word2vec для русскоязычных корпусов.

По оси абсцисс — количество классов, по оси ординат — значения точности.

Добавлена полиномиальная линия тренда (6-й степени).



Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Рис.

4. Средняя зависимость точности классификации от количества семантических классов word2vec для корпусов английского языка.

По оси абсцисс — количество классов, по оси ординат — значения точности.

Добавлена полиномиальная линия тренда (6-й степени).

Из рисунков 3 и 4 уже видно, что качество результата в среднем возрастает с увеличением количества занятий в диапазоне от 4 до 5 тысяч.

Что, вообще говоря, неудивительно: более тонкое разделение пространства приводит к его конкретизации.

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

А это уже приводит к падению точности, потому что классы перестают «связываться»: одному и тому же смыслу будут соответствовать разные семантические классы.

Это наблюдается по мере приближения к 5 тысячам классов как по русскому, так и по английскому языку.

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

Из полученных результатов можно сделать вывод, что все-таки более оптимальное разбиение может быть где-то между 4 и 5 тысячами классов.

Зависимость качества модели от коэффициента сглаживания.

На рис.

5 показано изменение точности классификации корпуса R8 при разных коэффициентах сглаживания (для 1500 классов).

Частота смены любого количества классов внутри одного здания одинакова.

Подобные графики наблюдаются для всех случаев.



Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Рис.

5. Изменение точности классификации корпуса R8 при разных значениях коэффициента сглаживания.

Справа указаны значения коэффициента сглаживания.

Для выявления основных тенденций построим графики средних значений точности коэффициента сглаживания для всех корпусов английского и русского языков.



Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)



Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Рисунок 6. Зависимость изменения точности классификации (по вертикали) от значений коэффициентов сглаживания (по горизонтали), усредненные данные по корпусам: слева - для английского языка, справа - для русского языка.

Из графиков, представленных на рис.

6, следует, что коэффициент сглаживания зависит от языка: если для английского языка стабильность имеет место где-то около значения 0,22, то для русского она составляет около 0,12. Видимо, это должно быть как-то связано со сложностью языка, его запутанностью.

Трудно сказать, чем объясняется пик точности в начале (0,07) для английского языка.

Его наличие обусловлено поведением корпуса R8 и, возможно, лексическим наполнением самого корпуса.

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

Поэтому вводить стоп-листы нет смысла: эта лексика либо фильтруется, либо образует отдельный ассоциативно-семантический класс с достаточно малым весом.

Зависимость изменчивости коэффициента сглаживания от числа классов очень мало влияет на изменение точности.

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



выводы

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

Кроме того, сглаживание можно сделать гораздо более хитрыми способами.

Тем не менее, этот метод позволяет быстро и эффективно строить модели и получать хорошие результаты кластеризации на больших объемах информации.

Приведем пример использования кластеризации на русскоязычном материале.



Пример

Кластеризация потока сообщений социальных сетей по поисковому запросу «Сбербанк».

Количество сообщений – 10 тысяч.

Это примерно 10 МБ текста или 5-6 часов потока сообщений на тему Сбербанка.

В результате получилось 285 кластеров, откуда сразу видны основные события, касающиеся Сбербанка.

Вот, например, первые десять кластеров (заголовки первых сообщений):

  1. Клиенты Сбербанка пожаловались на сбои в онлайн-сервисе — похожих 327 сообщений
  2. Евреи хотят приватизировать Сбербанк в ближайшие 3 года – 77 сообщений
  3. Сбербанк отвечает, типа: здравствуйте, к сожалению, на данный момент действительно есть перебои в работе.

    — 74 сообщения

  4. Сбербанк проведет испытание высокотехнологичной квантовой передачи информации в 2017 году – 73 сообщения
  5. В год своего 175-летия Сбербанк дарит бесплатный вход в художественные музеи – 71 сообщение
  6. узнайте о преимуществах дебетовой карты Молодёжная виза Сбербанка и как купить свитшот за n рублей – 57 сообщений
  7. Минэкономразвития предложило включить Сбербанк в план приватизации – 58 сообщений
  8. Сбербанк сообщил о сбоях в работе своих систем – 60 сообщений
  9. Владимир Путин принял участие в конференции «Вперед к будущей роли и месту России» – 61 сообщение (также принял участие Сбербанк);
  10. Греф опроверг информацию о приватизации Сбербанка - 64 сообщения
Скорее всего, 1-й и 8-й кластеры можно объединить в макрокластеры на основе дополнительной информации, например, использования геотегов, источников сообщений, предикативных связей между объектами и т. д. Но это уже другая задача, о которой мы еще поговорим.

в следующий раз .

Вы можете ознакомиться с примерами и демо-реализацией алгоритма.

здесь .

Теги: #word2vec #кластеризация #обработка текста #Семантика #Интеллектуальный анализ данных #Машинное обучение

Вместе с данным постом часто просматривают: