Naive Bayesian для определения темы с использованием подхода «Сумка слов»
-
03-10-2019 - |
Вопрос
Я пытаюсь осуществить наивный байсейский подход, чтобы найти тему данного документа или потока слов. Есть ли наивный байесовский подход, который я мог бы посмотреть на это?
Кроме того, я пытаюсь улучшить свой словарь, когда я иду. Первоначально у меня есть куча слов, которые отображают темы (жестко закодированные). В зависимости от возникновения слов, кроме тех, которые уже отображаются. И в зависимости от вхождений этих слов, я хочу добавить их в сопоставления, отсюда улучшения и изучения новых слов, которые отображаются на тему. А также изменение вероятностей слов.
Как мне делать это делать? Является ли мой подход к правильному?
Какой язык программирования будет лучше всего подходит для реализации?
Решение
Существующие реализации наивных байесов
Вы, вероятно, были бы лучше, просто используя одну из существующих пакетов, которые поддерживают классификацию документов с использованием наивных байев, например:
Питон - сделать это, используя на основе Python Натуральный язык Toolkit (NLTK), см. Классификация документов раздел в свободно доступных НЛТК Книга.
Рубин - Если Ruby больше ваша вещь, вы можете использовать Классификатор драгоценность Вот пример код, который обнаруживает будь то кавычки семьи смешные или не смешно.
Перл - Перл имеет Алгоритм :: Наивебайс Модуль, в комплекте с примером использования фрагмента в упаковке синопсис.
C # - C # программисты могут использовать NBAYES.. Отказ Главная страница проекта имеет пример код для простого классификатора спама / не-спама.
Джава - Джава люди имеют Классификатор4J.. Отказ Вы можете увидеть тренинги и кодовый фрагмент кода здесь.
Классификация загрузки по ключевым словам
Похоже, вы хотите начать с набора ключевых слов, которые известен, что подчиняется определенным темам а затем использовать эти ключевые слова для Bootstrap классификатор.
Это разумно умная идея. Посмотрите на бумагу Текстовая классификация путем начала загрузки с ключевыми словами, EM и усадками MCCALLUM и NIGAM (1999). Следуя по этому подходу, они смогли улучшить точность классификации от 45%, которые они получили, используя жестко закодированные ключевые слова в одиночку до 66%, используя загрузчик Naive Bayes Classifier. Для их данных последнее близко к человеческому уровню соглашения, так как люди согласились друг с другом о документе этикетки 72% времени.