[ЗАСТАВКА] Добрый день! Меня зовут Воронцов Константин. Я профессор кафедры «Интеллектуальные системы» Московского физико-технического института. Этот модуль будет посвящен вероятностному тематическому моделированию – направление, которое развивается в машинном обучении очень активно последние 15 лет. Постоянно появляются новые постановки задач, новые прикладные задачи и новые методы. В этом видео мы начнем с целей и задач тематического моделирования. Это область статистического анализа текстов, и методы призваны ответить на вопрос: чему посвящена большая коллекция текстовых документов? Какие в ней есть темы? И для того чтобы как-то формализовать это, строить какие-то методы, прежде всего необходимо ответить на вопрос: а что такое тема? Интуитивно мы понимаем под темой какую-то специальную терминологию определенной предметной области. Если более точно, то это набор слов или словосочетаний (мы будем их для общности называть «терминами»), которые совместно часто встречаются в документах. Интуиция здесь такая: мы с вами легко отличаем документ по математике от документа по биологии, даже если не разбираемся в этих предметных областях, но термины для нас узнаваемые. Более того, даже если мы случайным образом переставим слова или термины в документе, мы все равно по-прежнему сможем понять он из математики или из биологии по тому, какие слова там встречаются. Ну, если формализовывать эти соображения, переходя к языку теории вероятности и статистики, мы конечно же будем говорить о частотах встречаемости слов во всей коллекции, ну и в каждой теме. И каждая тема характеризуется своим словарем и своими частотами слов. Каждый документ мы будем считать, что тоже может относиться не обязательно к одной теме, а к нескольким темам, как говорят – вероятностной смеси тем. И вот эти вот соображения мы далее формализуем. А тематическая модель должна автоматически выявлять темы, которые находятся в документах. Темы называются латентными, потому что мы их не видим, мы только можем предполагать о том, что автор, когда писал тот или иной документ, думал о той или иной теме, но мы видим только слова, которые появились из этих тем. Давайте немножечко поговорим о целях тематического моделирования. Это хороший статистический инструмент для автоматического анализа текстов, который позволяет решать многие задачи. Ну, например, задачи жанровой классификации документов или категоризации документов. Когда у нас есть поток текстов или большая коллекция документов, нам их нужно разложить по папкам, по тематикам, и конечно же нам могут помогать частоты слов, специальных терминов, и обычно так и делается, но тематическое моделирование отличается вот этой вот особенностью, что оно позволяет документу относиться одновременно ко многим темам, то есть относить его сразу к нескольким рубрикам. Еще класс задач связан с аннотированием документов, когда по документу нужно выдернуть наиболее важные фразы и составить краткое резуме или реферат. Эта работа тоже должна делаться автоматически, а тематическое моделирование может помочь тем, что, выделив тематику документа, к каким темам он относится, дальше можно выделить наиболее тематичные фразы в этих документах и сделать такую выборку фраз из документов, чтобы они покрывали все те же темы, которые имеются в этом документе. Задачи суммаризации очень похожи, но отличаются тем, что вместо того чтобы делать краткое резюме одного документа, здесь мы делаем уже саммари большого числа документов, для какой-то части коллекции, для какой-то рубрики и так далее. Есть еще задача тематической сегментации и здесь тоже помогает тематическое моделирование. Сегментация, например, нужна для того, когда мы занимаемся поиском и хотим найти, а какой именно фрагмент длинного документа был посвящен той или иной теме и здесь нам, конечно, нужно длинный документ уметь разбивать на тематические однородные фрагменты или сегменты. Во всех этих задачах есть общая идея решения, что вот это самое распределение тем в каждом документе, оно становится фактически признаковым описанием этого документа, сжатым признаковым описанием. Часто в анализе текстов используют модели, векторные модели, когда каждое слово, каждый термин дает свой признак и частота этого слова есть признак, но здесь беда в том, что признаков получается слишком много – столько, сколько терминов в словаре, а тематическая модель позволяет перейти к сжатому признаковому описанию, например, можно задать 100 тем или 500 тем и иметь вот такие вот фиксированные размерности признаков описания документов. Следующий большой пункт задач связан с новыми видами информационного поиска, которые нужны людям, особенно людям, которые постоянно занимаются самообразованием, пополняют свои знания. Им нужны инструменты, которые позволят искать новое знание в новых предметных областях и быстро разбираться с той или иной новой предметной областью. Как структурировать эти общие представления о том, как область устроена, как она делится на подтемы? Вот для этих целей тоже очень хорошо использовать тематическое моделирование. О таком виде поиска говорят, что это разведочный поиск или семантический поиск, название пока что еще не устоялось, потому что это новые задачи. И здесь очень важно визуализировать тематическую структуру коллекции. Важно представлять как темы развивались во времени, если к каждому документу привязана метка времени. Для пользователей таких инструментов поиска очень важно иметь средства мониторинга новых поступлений документов в электронную коллекцию, чтобы не приходилось искать тематически важные документы каждый раз заново, а чтобы они автоматически приходили как только где-то они появляются в Интернете или в какой-то внешней электронной библиотеке. И, конечно, рекомендательные сервисы для тех пользователей, которые пользуются вот такими поисковиками, большими электронными библиотеками. Если хранить информацию о том, какие документы читал/ скачивал каждый пользователь, какие пользователи на него похожи, то мы уже можем строить рекомендательную систему, где завязаны сразу многие сущности: и документы, и слова, и пользователи. И слова распространяют смысл и семантику, и в документах она проявляется, и в пользователях тоже. Это все возможности строить рекомендательные системы для рекомендаций текстового контента. Ну и, если кратко перечислить приложения, то это, конечно, поиск научной информации, поиск в потентных базах, поиск в том огромном объеме статей и публикаций, которые пополняются ежегодно по разным оценкам примерно на 10 миллионов документов. Дальше, это автоматизация деятельности экспертных советов, когда поступает огромное количество заявок на инновационные проекты, на научные гранты, необходимо быстро подобрать экспертов и распределить пришедшую коллекцию документов на экспертизы. Агрегирование новостных потоков – это задача, с которой сталкиваются многие компании, которые занимаются и социологическими исследованиями; и аналитические компании; и информационные агентства. Необходимо приходящий поток новостей из разных источников разбирать как-то по темам, убирать дубликаты и отслеживать каждую тему во времени. Чтобы автоматизировать эту деятельность и иметь возможно делать это меньшим количеством сотрудников, тоже вот и средства тематического поиска и визуализации и моделирования – они очень хорошо подходят. Есть приложения, их появляется все больше и больше, которые связаны не с текстовой аналитикой, а с тем, что примерно такие же методы можно применять и для совершенно другого типа данных, например аннотирование и поиск изображений. Если у нас имеются уже процедуры, которые умеют выделять на изображениях те или иные элементы, мы можем считать изображения такими документами, в которых вот эти вот элементы, они либо есть, либо нет, либо они повторяются там какое-то число раз, то есть, это своего рода слова, поэтому элементы изображения становятся для нас такого рода словами, и если изображение сопровождается текстом, то у нас появляется такое вот представление изображения с одной стороны своими графическими элементами, с другой стороны – текстами. Тексты могут распространять семантику и на элементы изображения и на изображение. И построение тематических моделей внутри таких вот многомодальных коллекций позволяет выполнять многие интересные функции: искать тексты по изображениям, изображения по текстам, аннотировать изображения и так далее. Сейчас это распространяется и на видеопоследовательности и на другие задачи, в которых, ну вот как в задачах биоинформатики, вроде бы там тоже тексты, это ДНК и белки, они представимы в виде символьных последовательностей, однако появляются все больше и больше задачи, где исходный сигнал был вещественный, он как-то дискретизировался, выявляются какие-то события Типа того, что значение сигнала превосходит какой-то порог, значит ненормально. И после дискретизации исходный вещественный сигнал опять-таки может быть представлен в виде символьной последовательности и проанализирован вот методами вычислительной лингвистики, машинного обучения, тематического моделирования. Такие приложения появляются всё чаще и чаще. Примеры того, что же всё-таки такое темы, как они выглядят. Вот здесь представлен пример решения задачи, когда тематизировалась «Википедия», причём модель строилась сразу и на русской, и на английской «Википедии». И вот видно, что модель сама, без помощи человека, эксперта смогла собрать темы на обоих языках. И они оказались, во-первых, интерпретируемые (вот есть темы про университеты, темы про футбол), а во-вторых, видно, что и русские, и английские слова, они примерно соответствуют друг другу. Строилось здесь 400 тем. Но вдруг я подобрал две хорошие темы? Нет, они все хорошие. Более того, когда эту модель оценил эксперт, оказалось, что плохих тем всего было 4 из 400. То есть на таких достаточно больших коллекциях тематическая модель способна сама вытянуть вполне интерпретируемые темы. Ещё один пример. Оказывается, что интерпретируемость тем, понятность для человека резко возрастает, если в качестве терминов использовать не отдельные слова, а словосочетания. Например, мы строили тематическую модель для коллекции научных статей. Это статьи конференций «Математические методы распознавания образов» и «Интеллектуализация обработки информации» на русском языке. Так вот, если темы состояли из отдельных слов, понять тему можно, она интерпретируема. Но понять, что это была за научная школа, какие авторы, глядя просто на список слов в теме, не получается. А вот если строить биграммную модель, где входами словаря являются пары слов, то там оказывается, что смотришь на тему и, уже разбираясь в тематике конференции, можно даже догадаться, какие авторы стояли за этой темой. Ещё один пример построения тематической модели, теперь уже в области социология — это поддержка социологических исследований в области межэтничных отношений. Задача заключалась в том, чтобы выделить во всём потоке текстов из социальной сети только те тексты, которые относятся к обсуждению межнациональных, межэтнических отношений. И это уже задача фактически разведочного поиска, когда запросом выступают вообще все слова, которые так или иначе называют какие-то национальности. Такие слова называются этнонимами. И их было создано, заведено заранее несколько сотен, здесь потрудились специалисты. Но дальше задача тематического моделирования заключалась в том, чтобы выделить в коллекции все тексты, которые относятся вот к обсуждению подобного рода тем. И поделить вот этот выделенный контент (его не так уж много в социальной сети, меньше 1 %), а вот его нужно тщательно оттематизировать и понять, какие есть темы. Ну вот примеры тем, и опять-таки без всякого участия экспертов, без ручной разметки, а только вот большим словарём этничных слов, которые были заданы заранее, удалось выявить вот такие вот темы. Например, про русских видно, что тема либо связана с историей России, либо она связана с текущей политикой. И вот про сирийцев тема связана с войной в Сирии, тема про таджиков и узбеков связана с трудовой миграцией. А вот про канадцев в нашей социальной сети обсуждают только то, как они играют в хоккей. А про норвежцев обсуждают в основном проблематику ювенальной юстиции. А про китайцев в основном производство и деловые отношения. Ну вот такие примеры построенных тематических моделей, которые показывают, что выявленная тематика позволяет лучше понимать структуру коллекции. Это средство анализа больших текстовых коллекций. И главная задача тематической модели — приняв на входе коллекции текстов, на выходе мы должны получить распределение слов в каждой теме и распределение тем в каждом документе. Существует огромное количество, большое разнообразие разных моделей тематических, которые позволяют учитывать дополнительные данные, внешнелингвистические ресурсы, учитывают разную дополнительную информацию, которая кроме текста может быть. И некоторых из них мы коснёмся в следующих видео.