Существующие реализации наивного Байеса
Возможно, вам было бы лучше использовать только один из существующих пакетов, который поддерживает классификацию документов с использованием наивного байесовского алгоритма, например ::
Python - Для этого используется основанный на Python Набор естественных языков (NLTK) , см. Классификация документов раздел в свободном доступе NLTK book .
Ruby - Если Ruby больше подходит для вас, вы можете использовать Classifier gem. Вот пример кода, который определяет , являются ли цитаты Family Guy смешными или не смешными .
Perl - Perl имеет модуль Algorithm :: NaiveBayes , в комплекте с примером фрагмента использования в пакете синопсис .
C # - программисты C # могут использовать nBayes . На домашней странице проекта приведен пример кода для простого классификатора спама / не спама.
Java - у людей на Java есть Classifier4J . Вы можете увидеть фрагмент кода обучения и оценки здесь .
Классификация начальной загрузки по ключевым словам
Звучит так, как будто вы хотите начать с набора ключевых слов, которые известны для определенных тем , а затем использовать эти ключевые слова для загрузки классификатора ,
Это довольно умная идея. Взгляните на статью Классификация текста по начальной загрузке с ключевыми словами, EM и усадкой , написанную McCallum and Nigam (1999). Следуя этому подходу, они смогли повысить точность классификации с 45%, которые они получили, используя только жестко закодированные ключевые слова, до 66%, используя загрузочный классификатор Наивного Байеса. По их данным, последнее близко к человеческому уровню согласия, так как люди соглашались друг с другом в отношении ярлыков документов в 72% случаев.