Пригодность наивного байесовского классификатора в Mahout для классификации веб-сайтов

#bayesian #mahout #classification

#байесовский #mahout #классификация

Вопрос:

В настоящее время я работаю над проектом, для которого требуется база данных, классифицирующая веб-сайты (например cnn.com = новости). Нам нужны только широкие классификации — нам не нужно, чтобы каждый отдельный URL классифицировался индивидуально. Мы разговариваем с обычными поставщиками таких баз данных, но большинство предложений, которые мы получили, довольно дороги, и часто они предъявляют раздражающие требования — например, необходимость использовать их SDK для запроса к базе данных.

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

Из чтения различных статей по этому вопросу кажется, что наивный байесовский классификатор, как правило, является стандартным подходом для этого. Тем не менее, во многих статьях предлагаются усовершенствования для повышения его точности в веб-классификации — обычно за счет использования другой контекстной информации, такой как гиперссылки, теги заголовков, фразы из нескольких слов, URL, частота слов и так далее.

Я экспериментировал с наивным байесовским классификатором Mahout в отношении тестового набора данных 20 Newsgroup, и я вижу его применимость к классификации веб-сайтов, но я обеспокоен его точностью для моего варианта использования.

Кто-нибудь знает о возможности расширения байесовского классификатора в Mahout для учета дополнительных атрибутов? Любые указания относительно того, с чего начать, будут высоко оценены.

В качестве альтернативы, если я лаю совершенно не то дерево, пожалуйста, дайте мне знать!

Ответ №1:

Вы можете управлять вводом столько, сколько захотите. В конце концов, входные данные — это просто вектор объектов. Объектами вектора объектов могут быть слова или биграммы, но они также могут быть любыми, какими вы хотите. Итак, да, вы можете вводить новые функции, изменяя входные данные по своему усмотрению.

Как лучше всего использовать эти функции — это совершенно другая тема — нет ни одного лучшего способа преобразовать их в числа. Mahout в действии достаточно хорошо описывает этот FWIW.

Комментарии:

1. Спасибо, я видел эту книгу, упомянутую ранее, я могу попробовать. Если я правильно понял ваш ответ, вы говорите, что я мог бы манипулировать вводом для обработки дополнительных функций, создав для них некоторую кодировку. например, тело гиперссылки может обрабатываться как-body-[encoded-string] . Что мне все еще неясно, так это то, как я бы сказал классификатору оценивать определенные входные функции по-разному по сравнению с другими. Любые дальнейшие указания будут оценены.

2. В конце концов, это число в векторе. Да, это один из способов использовать токенизатор, чтобы добраться туда. Спросите у пользователя @mahout. apache.org , это хороший вопрос, и автор оригинала может рассказать вам больше.