[БЕЗ_ЗВУКА] В предыдущих
видео мы ввели формальную постановку задачи вероятностного тематического
моделирования; увидели, что в исходной постановке задача некорректно поставлена,
у нее бесконечное множество решений; и ввели общий механизм, который
позволяет получать регуляризованное решение — введение регуляризаторов.
Можно дальше заниматься тем,
что в разных прикладных задачах строить тематические модели с заданными
свойствами, вводя те или иные специальные регуляризаторы,
но есть еще одно важное обобщение, которое тоже очень часто применяется на практике
при построении тематических моделей, а именно аппарат модальностей.
Что такое модальности?
В своем исходном виде тематическая модель берет на
входе коллекцию документов и строит распределение
тем в каждом документе и распределение слов в каждой теме.
Ну, кстати, по формуле Байеса по этому распределению можно легко посчитать и
тематику каждого слова, то есть определить условные вероятности тем в каждом слове.
Но оказывается, что на практике встречаются коллекции документов,
которые содержат не только слова.
Например, каждому документу может быть приписана метка автора,
метка времени или еще какая-то метаинформация,
которая связывает данный документ не только со словами,
а с элементами еще каких-то других конечных множеств.
Вот такие конечные множества мы и будем называть модальностями.
Какие еще модальности бывают?
Ну, например, если в документе имеются изображения, то можно
выделить на изображениях отдельные элементы и тоже считать их модальностями.
То есть изображение — это такой мини-документ,
который состоит вот из таких псевдослов — элементов изображений.
Дальше, между документами могут быть ссылки.
Это могут быть гиперссылки, если речь идет о документах в Интернете,
или это могут быть цитаты, если речь идет, скажем, о научных статьях.
В этом случае множество документов как раз становится модальностью,
потому что если документы ссылаются друг на друга, то получается,
что вот такими псевдословами в документе являются упоминания других документов,
значит, множество всех документов — это еще одна модальность.
Дальше, если мы говорим об интернет-рекламе,
то на странице могут быть рекламные баннеры.
Так вот, оказывается, что множество рекламных баннеров с точки зрения
рекламной сети и системы рекомендации рекламы — это тоже конечное множество,
значит, некоторая модальность.
И мы можем считать, что все баннеры, которые появились на данной
странице в ходе ее жизни, — это тоже такого вот сорта слова.
А если пользователи еще и кликнули на эти баннеры, то это еще один очень важный
тип информации, который тоже можно учесть при построении тематической модели.
Дальше, пользователи, которые эти документы читают, комментируют,
скачивают, лайкают, рейтингуют и вообще еще что там может
быть с ними делают, они тоже становятся своего рода словами в этом документе,
потому что если пользователь сделал какую-то операцию с документом,
информационный след об этом действии остается в системе, и мы можем считать,
что пользователь оставил свою метку, свой идентификатор в этом документе,
то есть документ теперь состоит не только из слов, а еще и содержит в себе всякие
разные другие сущности, в том числе и метки пользователей.
И хотелось бы строить тематические модели, которые увязывают все вот
эти типы информации, все модальности воедино и описывают
появление элементов разных модальностей в документах тем,
что документы имеют определенную тематику.
То есть благодаря тому, что документ относится к тем или иным темам,
в этом документе появляются определенные слова из этой темы,
этот документ читают пользователи, которые любят эту тему,
в этом документе появляются картинки, которые тоже про это тему, ну и так далее.
То есть тематическая модель, которая описывает появление сразу всех
модальностей, она имеет для документа по-прежнему один
и тот же тематический профиль или тематику — столбец матрицы Θ,
и вот этот столбец, он единый для всех остальных модальностей.
Как формализовать вот эту вот постановку задачи?
Как ее превратить в такую оптимизационную задачу,
которую мы тоже могли бы решать EM-алгоритмом?
Оказывается, сделать это очень просто.
Надо для каждой модальности ввести свой отдельный словарь и описать
распределение слов (точнее,
токенов) вот этой модальности в каждой теме своим нормированным распределением.
Можно говорить о том, что словарь всех модальностей — это просто
объединение непересекающихся множеств словарей отдельных модальностей,
и строить тематическую модель, в общем-то, по-прежнему так, как мы ее строили раньше,
но просто теперь вероятностная модель как принцип максимума
правдоподобия расписывается отдельно для каждой модальности.
Замечу, что здесь у каждого документа, независимо от того,
какие модальности в нем содержатся, тематика,
условное распределение темы в этом документе
или столбец матрицы Θ — он единый, общий для всех модальностей.
А вот столбец матрицы Φ для каждой модальности свой,
и для каждой модальности можно выписать свой принцип максимума правдоподобия.
Получается та же ситуация, которая у нас была с регуляризаторами.
Есть много разных критериев, которые нам хочется максимизировать одновременно.
Что делать?
Сложить их с некоторыми весами.
И поэтому появляются веса модальности — τm мы их будем обозначать.
И можем добавить еще какие-то регуляризаторы,
которые нам позволят наделить модель нужными нам свойствами.
Вот такая постановка задачи оказывается ненамного сложнее той, которую мы уже
ранее рассматривали, и для нее легко выписывается модифицированные EM-алгоритм.
Единственная модификация (точнее, две модификации) здесь заключаются в том,
что, во-первых, частота слова в документе ndw домножается
на вес соответствующей модальности этого слова.
Это первая модификация.
Вторая модификация: при вычислении матрицы Φ она нормируется
для каждой модальности по отдельности.
Других модификаций нет.
То есть очень простое расширение модели, тематической модели,
но зато какая свобода появляется в решении разнообразных прикладных задач,
где бывает много разных модальностей, и документы,
конечно, на практике состоят отнюдь не только из слов.
Итак, резюмируя, во-первых, модальности — это очень мощный инструмент,
но он легко добавляется в общую схему регуляризации.
Каждая модальность задается своим словарем — конечным множеством элементов,
или токенов, а документ рассматривается как некий универсальный контейнер,
к котором содержатся токены разных модальностей.
Вот модальности имеют много разных нетривиальных применений.
В частности, мы уже поговорили о пользователях.
Но вот если у нас имеется параллельная коллекция, то есть коллекция,
где есть тексты и переводы этих же текстов на другие языки,
то тогда модальностями становятся языки.
И если мы их учитываем в одной общей тематической модели, то это
открывает возможности делать, например, кросс-язычный поиск, мультиязычный поиск,
то есть запрос задавать на одном языке, а ответы получать на другом.
Например, по тексту русскоязычному научной статьи ищем в коллекции,
большой коллекции англоязычных текстов то, что еще есть по этой тематике.
Ну и n-граммы или словосочетания, если мы умеем выделять термины
в текстах или просто все подряд биграммы, то появляется возможность вот эти самые
биграммы задать в качестве второго словаря и рассматривать как вторую модальность,
и тем самым стоить вот те самые хорошо интерпретируемые модели,
примеры которых были показаны в первом видео, где было видно,
насколько лучше интерпретируется тема, если она построена на словаре биграмм.
Также можно учитывать время, авторов и другие модальности.
А можно учитывать все их вместе, то есть строить модели, которые мало того что
на биграммах и многоязычные, да еще и распределены во времени,
и документам приписаны авторы, и все это сразу, потому что все это
описывается единой системой уравнения и решается одним EM-алгоритмом.