Какой недостаток LDA для коротких текстов?

Я пытаюсь понять, почему Latent Dirichlet Allocation (LDA) плохо работает в коротких текстовых средах, таких как Twitter. Я читал тему темы для более короткого текста, однако я до сих пор не понимаю "разреженности словосочетаний".

С моей точки зрения, поколение LDA является разумным для любых текстов, но причиной неудачных результатов в коротких текстах является процедура отбора проб. Я предполагаю, что LDA отображает тему для слова, основанного на двух частях: (1) темы других слов в одном и том же документе (2) задание тем из других вхождений этого слова. Поскольку (1) часть короткого текста не может отражать истинное его распределение, это вызывает неудовлетворительное назначение темы для каждого слова.

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

Ответ 1

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

Теперь рассмотрим проблему LDA над короткими текстами. LDA моделирует документ как смесь тем, а затем каждое слово берется из одной из его тем. Вы можете себе представить, что в "черном ящике" есть тонны слов, созданных из такой модели. Теперь вы видели короткий документ с несколькими словами. Наблюдений слишком мало, чтобы вывести параметры. Это проблема разрешений данных, о которой мы упоминали.

На самом деле, помимо отсутствия наблюдений, проблема также связана с чрезмерной сложностью модели. Обычно более гибкая модель требует большего количества наблюдений. Biterm Topic Model пытается облегчить процесс вывода темы, уменьшив сложность модели. Во-первых, он моделирует весь корпус как смесь тем. Поскольку вывод этой темы над корпусом проще, чем выведение тематической смеси по короткому документу. Во-вторых, он предполагает, что каждый битмер - это рисование из темы. Вывод темы из битрейма также проще, чем вывод темы одного слова в LDA, поскольку добавлен дополнительный контекст.

Я надеюсь, что объяснение имеет смысл для вас. Спасибо за упоминание нашей статьи.

Ответ 2

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

Я подозреваю, что две причины LDA не работают хорошо для коротких документов.

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

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

Например, рассмотрим мой собственный твиты, потому что я верю в бесстыдную саморекламу:

Progressbar.py is a fun little package, though I don't get 
a chance to use it too often. it even does ETAs for you 
https://pypi.python.org/pypi/progressbar …

From a capitalist perspective, the social sciences exist so 
idiot engineers don't waste money on building **** no one needs.

Abstract enough to be reusable, specific enough to be useful.

В первую очередь речь идет о Python. Если вы разобрали URL-адреса, вы получите это - и .py тоже даст его вам. Однако в более выразительной среде я, вероятно, поставил бы слово "Python" где-нибудь. Второе - это также связанное с программированием, но немного больше на стороне бизнеса. Однако ни разу он не упоминает ничего особенного для программирования. Последнее тоже связано с программированием, но более тесно связано с искусством программирования, выражающим во время кодирования своего рода лицо с двойным связыванием. Это так сложно, как второе, особенное.

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

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