Извлечение знаний из взаимосвязанности документов

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

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

Обзор существующей работы

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

«Анализ семантической сети — это неконтролируемый подход. Это похоже на моделирование темы, но вместо классификации документов на основе общих слов оно классифицирует слова в документе на основе их близости или совпадения. Вход в этом случае — это текст, а выход — сеть слов, сгруппированных в зависимости от их близости. Семантический сетевой анализ считается неконтролируемым подходом, поскольку нет необходимости заранее определять категории, а классификация слов по категориям выполняется автоматически на основе их совпадения в тексте».

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

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

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

Приложения

Некоторые потенциальные приложения этого подхода включают:

  • Обнаружение белых мест во всем пространстве документа. Например, допустим, есть коллекция исследовательских работ по заданной теме, и вы хотели бы изучить идеи, которые остаются недостаточно изученными. Вы можете просмотреть сеть, чтобы определить узлы, которые не имеют высокой степени в различных кластерах. Эти периферийные узлы могут подвергнуть вас потенциальным пробелам в литературе.
  • Идентификация документов, которые являются неотъемлемой частью объединения двух понятий. Скажем, с помощью обнаружения сообщества в семантических узлах вы смогли определить кластеры, представляющие определенные категории или понятия. Изучая взаимосвязи между двумя интересующими кластерами, вы сможете выбрать узлы (документы), имеющие максимальное количество ребер между этими двумя кластерами, которые могут служить потенциальными кандидатами для концепции «моста». (Это может быть особенно полезно при обзоре литературы, где часто использование сетей ограничивается рассмотрением количества ссылок в качестве ребер. Может случиться так, что некоторые статьи получат больше ссылок, которые не полностью связаны с содержанием статьи (см. Хубер, Юрген и М. Иноуа, Сабиу и Кершбамер, Рудольф и Кениг-Керстинг, Кристиан и Палан, Стефан и Смит, Вернон Л., Нобель и новичок: известность автора влияет на экспертную оценку (16 августа 2022 г.). )
  • Устранение проблемы с холодным запуском в рекомендациях. Рекомендации обычно требуют данных о взаимодействии с пользователем, которые недоступны на начальном этапе. Более того, предоставление рекомендаций исключительно по сходству может привести к непредвиденным последствиям. (например, см. «Как алгоритмическое смешение в системах рекомендаций увеличивает однородность и снижает полезность» (2017) Эллисон Дж. Б. Чейни и др.). Чтобы разнообразить ваши рекомендации, можно использовать сети семантического сходства. Допустим, пользователь нажимает на определенную статью. Из сети можно использовать следующий псевдокод:
  1. Определите набор кластеров C, к которым подключен узел (документ).
  2. Используйте пороговое значение в процентах, чтобы отфильтровать наиболее релевантные кластеры (C_filtered) [пример: узел соединен с кластером номер 1 (частью которого он является) 4 ребрами, 3 ребрами с кластером 2 и 2 ребрами с кластера 3 и от 1 до кластера 4 выбирается порог 90%, и 9 из 10 ребер (степеней) приходится на кластеры 1, 2, 3, которые становятся частью C_filtered).
  3. Предварительно определенное количество рекомендаций обслуживается из наиболее похожих узлов (связанных ребер интересующего узла, который может быть узлом любого кластера).
  4. Для остальных рекомендаций из C_filtered выбираются узлы, которые имеют большое количество ребер с кластером интересующего узла, но не связаны с ним. Пусть это множество S.
  5. Чтобы выбрать верхние k узлов из S, можно использовать максимальную предельную релевантность для идентификации узлов, которые различаются набором между собой, но семантически связаны с кластером, частью которого является интересующий нас узел.

Основные проблемы:

Ниже подробно описаны основные проблемы, связанные с использованием сетей семантического подобия:

  • Высококачественные вложения документов, адаптированные к домену
  • Выбор подходящего порога сходства для формирования ребер
  • Выбор алгоритма обнаружения сообщества, ориентированного на сети подобия

Третий требует экспериментов. Мои результаты с обычными алгоритмами обнаружения сообщества, такими как жадная модульность, были не такими хорошими, как с агломеративной кластеризацией с евклидовым расстоянием. Эти кластеры использовались для расчета средних показателей расстояния, которые затем усреднялись для расчета единого порогового значения для краев сети. (Этот порог можно рассматривать как гиперпараметр.) Настройка порога изменит разреженность сети.

Что касается встраивания документов, это быстро развивающаяся область, и ведутся активные исследования для наиболее точного встраивания, адаптированного к предметной области. Для своего эксперимента (подробно описанного ниже) я использовал набор исследовательских работ, для которых наиболее подходящим предварительно обученным преобразователем является ‘allenai/specter’, вложения которого действительно дали достойные результаты. Еще один из моих любимых методов для встраивания, адаптированного к предметной области, — это автоматический кодировщик последовательного шумоподавления на основе Transformer от Reimers et al. Архитектура такова, что она создает узкое место перед декодером, который обеспечивает точное встраивание документа (в отличие от встраивания слов). Это можно обучить на немаркированном наборе данных с последующим обучением на помеченном наборе данных (предпочтительно связанном с интересующей областью).

Эксперименты:

Набор данных категории cs.CL в arxiv был взят за 2018, 2019 и 2020 годы. (В эти годы также наблюдался феноменальный рост обработки естественного языка после использования внутреннего внимания для обучения больших языковых моделей.) Как упоминалось ранее. , вложения документов были получены из модели allenai/spectre без какой-либо тонкой настройки. Эти вложения были введены в агломеративную кластеризацию sklearn, после чего был получен 101 кластер. (Код приведен ниже.)

Кластеры были опрошены. Например, в кластере 3 были некоторые из следующих документов:

  • Новый набор данных для вывода естественного языка из разговоров со смешанным кодом
  • Моделирование межличностного влияния вербального поведения в парной терапии Диадические взаимодействия
  • Многозадачное глубокое обучение для поведенческого кодирования
  • Контролируемое повторяющееся обучение для интерактивного изучения языка
  • Характеристика динамики обучения в повторяющихся эталонных играх
  • Прогнозирование поведения при взаимодействии больного раком пациента и супруга с использованием речи и языка
  • Alquist 3.0: бот Alexa Prize использует диалоговый граф знаний
  • Преобладание смешения кодов в полуформальном общении с пациентами на малоресурсных языках Южной Африки

Точно так же в кластере 10 были некоторые из следующих документов.

  • Может ли доспех проводить электричество? Новый набор данных для ответов на вопросы Open Book
  • Пересмотр семантического представления и поиска по дереву для поиска похожих вопросов
  • Решетчатые CNN для ответов на китайские вопросы на основе сопоставления
  • RuBQ: русский набор данных для ответов на вопросы по Викиданным
  • Quizbowl: аргументы в пользу поэтапных ответов на вопросы
  • Ф1 недостаточно! Модели и оценка ориентированных на пользователя объяснимых ответов на вопросы
  • Обучение метапоследовательности для создания адекватных пар вопрос-ответ
  • Субъективный ответ на вопрос: Расшифровка внутренней работы Трансформеров в сфере субъективности
  • Количественная оценка интерпретации вопросов на естественном языке для систем ответов на вопросы

Беглый взгляд говорит нам, что кластер 3 относится к разговорному НЛП и диалоговым системам, а кластер 10 относится к ответам на вопросы. Чтобы найти периферийные документы в кластере 3, выполняется запрос к графу, и получаются следующие результаты:

  • Возникновение символа как межличностная мультимодальная категоризация
  • Преобладание смешения кодов в полуформальном общении с пациентами на малоресурсных языках Южной Африки
  • Схема аннотации диалога для чата по управлению весом с использованием транстеоретической модели изменения поведения в отношении здоровья
  • Помочь или навредить? Прогнозирование изменений риска членовредительства среди пользователей посредством взаимодействия в онлайн-сообществе
  • Вызывает ли социальная поддержка, выраженная в заголовках сообщений, комментарии на онлайн-форумах по избавлению от наркомании?

Они выглядят как нишевые специализированные темы. Для нахождения «промежуточных документов» (между кластерами 3 и 10) снова запрашивается графовая сеть, и получается следующий результат.

  • Преобразование наборов данных ответов на вопросы в вывод на естественном языке\n Наборы данных

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

(Эксперименты с RecSys будут опубликованы отдельно.)

Семантические сети сходства действительно предлагают другой способ анализа и запроса наших наборов данных. Было бы интересно изучить это с помощью дальнейших экспериментов.