2010-05-06 2 views
12

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

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

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

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

ответ

26

Существующих Реализации наивных байесовского

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

Python - Для того, чтобы сделать это с помощью на основе Python Natural Language Toolkit (NLTK), см. раздел Document Classification в свободном доступе NLTK book.

Рубин - Если Руби больше ваша вещь, вы можете использовать Classifier камень. Вот пример кода, который определяет whether Family Guy quotes are funny or not-funny.

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

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

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

Бутстрапирование Классификация из Ключевых слов

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

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

+1

Разработчики C# также могут использовать [Accord Framework.NET] (http://accord-framework.net/).Документация Наивного Байеса [здесь] (http://accord-framework.net/docs/html/N_Accord_MachineLearning_Bayes.htm) –

 Смежные вопросы

  • Нет связанных вопросов^_^