Содержание, описанное в этой статье, было первоначально опубликовано в выпуске ACM TiiS за октябрь 2017 г. (том 7, выпуск 3).

Помимо научных статей, рекламы и ретвитов, в Интернете много текстового контента, в котором люди выражают свои мысли, мнения и эмоции. Для нас естественно использовать субъективизм в устной и письменной речи. Когда становятся доступными достаточно большие объемы таких данных, как это произошло за последние пять-десять лет, исследователи и практики машинного обучения и обработки естественного языка (НЛП) могут проводить потрясающий автоматический анализ этих текстов.

Например, анализ настроений традиционно применялся к отзывам клиентов с таких платформ, как Amazon, для выявления положительных и отрицательных отзывов о некоторых продуктах. С внедрением социальных сетей этот метод использовался для выявления общих тенденций в общественном мнении или для того, чтобы пользователи могли отслеживать свои настроения с течением времени. Его даже использовали для забавного приложения для автоматического принятия решений о торговле акциями на основе настроений в твитах известного политика.

Хотя совершенствование и применение методов анализа настроений, безусловно, доставляет массу удовольствия исследователям и ценно для промышленности, мы и наши сотрудники интересовались родственным, но немного другим типом анализа, а именно анализом позиции. .

Например, рассмотрим следующее предложение: Что ж, я должен признать, что я не совсем уверен в этом - здесь происходит что-то, что сложно описать в терминах положительных / отрицательных настроений, не так ли? В НЛП задача классификации позиций обычно понимается как автоматическое определение позиции сторонников / противников в отношении определенной темы или мнения в тексте, например, в предложении типа Никто не станет спорить с вашими рассуждениями по вопросам коллегии выборщиков, Джим". В лингвистике принятие позиции обычно определяется шире, чем просто согласие / несогласие, и именно это было целью нашего исследовательского проекта «StaViCTA, чтобы исследовать теорию, лежащую в основе принятия позиции в письменном языке, провести вычислительный анализ для классификации позиций и предоставить средства для исследовательского визуального анализа позиции в текстовых данных. Наши сотрудники в лингвистике составили список из десяти категорий позиций, представляющих интерес, таких как уступка и противоречие и неопределенность, и мы шли к внедрению автоматического классификатора.

Потом мы столкнулись с некоторыми проблемами.

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

Принимая во внимание все эти соображения и особенности, мы решили разработать комплексную среду, которую мы назвали ALVA, чтобы предоставить пользовательский интерфейс для аннотаторов данных, взаимодействовать с классификатором позиций в соответствии с активным обучением. подход и поддерживает визуальный анализ аннотированных данных и других метаданных, созданных в процессе аннотации. Например, наши сотрудники хотели отслеживать статистику о соответствии между несколькими аннотаторами (соглашение между аннотаторами) или одними и теми же аннотаторами между несколькими раундами аннотации (соглашение внутри аннотаторов), а также отслеживать производительность классификатора после каждого активного цикла обучения с использованием данных перекрестной проверки. Кстати, для наших аннотаторов мы привлекли исследователей с лингвистической подготовкой к аннотации данных; мы чувствовали, что специалисты по информатике не всегда были бы идеальным выбором для аннотирования текстовых данных такими категориями, как «Гипотетические» или «Воля» :)

С точки зрения визуализации информации, основная проблема, с которой мы столкнулись, заключалась в визуальном представлении всех аннотаций, которые могли иметь до десяти категорий позиций одновременно. Представьте, что вы хотите использовать цвет для представления результатов классификации тональности для трех категорий, положительных / нейтральных / отрицательных, которые не возникают одновременно. В этом случае вы, вероятно, выберете что-то вроде зеленого, серого и красного цветов для кодирования категорий, поэтому трех уникальных цветов будет достаточно. В нашем случае для десяти неисключительных категорий стоек потребуется 2 ^ 10 цветов, что, очевидно, было невозможно.

Наше решение включало разработку нового визуального представления под названием CatCombos (что означает «комбинации категорий»), которое фокусируется на группах аннотаций данных с одинаковыми наборами категорий, а не на отдельных аннотациях. На скриншоте выше представление CatCombos используется в верхней правой части интерфейса в качестве основного представления. Пользователи могут быстро обнаружить существующие аннотации с несколькими категориями позиций, присутствующими одновременно, и подробно изучить их. Например, на снимке экрана пользователь наведен на аннотацию (выделенную оранжевой точкой в ​​верхней части рисунка) в группе с категориями «Уступка и противоречие», «Гипотетические предположения» и «Потребность / Требование». Оказывается, есть еще одна аннотация, созданная для того же высказывания с другим набором выбранных категорий. Край другого элемента аннотации и сам элемент затем выделяются желтым цветом. Пользователь также щелкнул правой кнопкой мыши элемент аннотации, чтобы запустить обновление в представлении таблицы высказываний, которое находится под основным представлением CatCombos. Здесь пользователь может сосредоточиться на фактическом тексте высказывания, а также увидеть все соответствующие аннотации.

Интерфейс ALVA также поддерживает множество других вариантов визуализации и взаимодействия. Например, на скриншоте выше пользователь щелкнул ячейку в матрице совместной встречаемости категорий в левой нижней части интерфейса, чтобы выделить все аннотации с синим цветом как «Уступка и противоречие», так и «Неопределенность». основной вид CatCombos.

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

Подробнее об этой работе вы можете прочитать в нашей статье в ACM Transactions on Interactive Intelligent Systems. Полная ссылка:

Константин Кучер, Карита Паради, Магнус Сальгрен и Андреас Керрен. 2017. Активное обучение и визуальная аналитика для классификации позиций с ALVA. ACM Trans. Взаимодействовать. Intell. Syst. 7, 3, статья 14 (октябрь 2017 г.), 31 стр. DOI: https://doi.org/10.1145/3132169