Подтвердить что ты не робот

Наивный байесовский для определения темы с использованием подхода "Мешок слов"

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

Кроме того, я пытаюсь улучшить словарь, поскольку я иду. Первоначально у меня есть куча слов, которые отображаются на темы (жестко закодированные). В зависимости от появления слов, отличных от тех, которые уже сопоставлены. И в зависимости от появления этих слов я хочу добавить их в сопоставления, следовательно, улучшая и узнавая о новых словах, которые относятся к теме. А также изменение вероятностей слов.

Как я должен это делать? Является ли мой подход правильным?

Какой язык программирования лучше всего подходит для реализации?

4b9b3361

Ответ 1

Существующие реализации Naive Bayes

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

Python. Для этого используйте Python на основе Инструментарий Natural Language Toolkit (NLTK), см. раздел Классификация документов в свободно доступном Книга NLTK.

Ruby. Если Ruby больше подходит вам, вы можете использовать Classifier драгоценный камень. Здесь пример кода, который определяет ли цитаты Family Guy забавными или не смешными.

Perl. Perl имеет модуль Algorithm:: NaiveBayes в комплекте с пример использования фрагмента в пакете synopsis.

С# - программисты на С# могут использовать nBayes. На домашней странице проекта есть образец кода для простого классификатора спама и не-спама.

Java. Java-люди имеют Classifier4J. Вы можете увидеть фрагмент кода обучения и подсчета очков здесь.

Классификация начальной загрузки из ключевых слов

Похоже, вы хотите начать с набора ключевых слов, которые известны для создания определенных тем, а затем использовать эти ключевые слова для bootstrap классификатор.

Это разумная идея. Взгляните на статью Классификация текста путем начальной загрузки с помощью ключевых слов, EM и усадки МакКаллум и Нигам (1999). Следуя этому подходу, они смогли улучшить точность классификации с 45%, полученной ими, используя только жестко закодированные ключевые слова до 66%, используя загрузочный классификатор Naive Bayes. По их данным, последний близок к человеческому уровню согласия, так как люди соглашались друг с другом в отношении меток документов в 72% случаев.