Сравнение между быстрым текстом и LDA

Привет На прошлой неделе Facebook объявил Fasttext, который позволяет классифицировать слова в ведро. Скрытое распределение Дирихле - еще один способ моделирования темы. Мой вопрос заключается в том, что кто-либо делает сравнение относительно pro и con в этих двух.

Я не пробовал Fasttext, но здесь немного pro и con для LDA, основанных на моем опыте

Pro

  • Итеративная модель, имеющая поддержку искры Apache

  • Принимает содержимое документа и моделирует тему.

  • Не только узнает, о чем идет речь, но и узнает связанные документы

  • Сообщество искры Apache постоянно вносит свой вклад в это. Раньше они работали над mllib сейчас в библиотеках ml.

Con

  • Стоп-слова должны быть хорошо определены. Они должны быть связаны с контекстом документа. Например: "документ" - это слово, которое имеет высокую частоту появления и может возглавлять диаграмму рекомендуемых тем, но может или не может быть релевантным, поэтому нам нужно обновить это слово для

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

Тема:

  • Срок: дисциплина

  • Term: дисциплины

  • Термин: notestable

  • Term: победа

  • Термин: пути

  • Термин: chapterclosingtable

  • Период: метапрограммы

  • Термин: прорывы

  • Термин: различия

  • Term: спасение

Если кто-то провел исследования в Fasttext, можете ли вы обновить свое обучение?

Ответы

Ответ 1

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

Плюсы:

= > Очень легко обучить вашу собственную модель fastText,

$ ./fasttext skipgram -input data.txt -output model

Просто укажите свой файл ввода и вывода, используемую архитектуру и все, но если вы хотите немного настроить свою модель, fastText предоставляет возможность также изменять гиперпараметры.

= > При создании словарных векторов fastText учитывает подчасти слов, называемых символьными n-граммами, так что похожие слова имеют схожие векторы, даже если они происходят в разных контекстах. Например, "контролируемые", "контролирующие" и "супервизор" все назначаются аналогичными векторами.

= > Предварительно подготовленную модель можно использовать для вычисления векторов слов для слов вне словарного запаса. Этот - мой любимый. Даже если словарь вашего тела конечен, вы можете получить вектор для почти любого слова, которое существует в мире.

= > fastText также предоставляет возможность генерировать векторы для абзацев или предложений. Подобные документы можно найти, сравнив векторы документов.

= > Также была включена опция предсказать вероятные метки для фрагмента текста.

= > Предварительно подготовленные векторы слов для примерно 90 языков, обучающихся в Википедии, доступны в официальном репо.

Минусы:

= > Поскольку fastText - это командная строка, я изо всех сил пытался включить это в свой проект, но это может быть не проблемой для других.

= > Нет встроенного метода для поиска похожих слов или абзацев.

Для тех, кто хочет больше узнать, вот ссылки на официальные научные статьи:

1) https://arxiv.org/pdf/1607.04606.pdf

2) https://arxiv.org/pdf/1607.01759.pdf

И ссылка на официальное репо:

https://github.com/facebookresearch/fastText