2011-11-02 4 views
1

Je travaille actuellement sur un projet qui nécessite une base de données catégorisant les sites Web (par exemple, cnn.com = news). Nous ne demandons que des classifications générales - nous n'avons pas besoin de toutes les URL classées individuellement. Nous parlons aux vendeurs habituels de ces bases de données, mais la plupart des citations que nous avons eues sont assez coûteuses et souvent elles imposent des exigences ennuyeuses - comme devoir utiliser leurs SDKs pour interroger la base de données.Pertinence du classificateur Naive Bayes dans Mahout pour la classification des sites Web

En attendant, j'ai également étudié la possibilité de créer moi-même une telle base de données. Je réalise que ce n'est pas un travail de 5 minutes, donc je fais beaucoup de recherches. A la lecture de divers articles sur le sujet, il semble qu'un classificateur Naive Bayes soit généralement l'approche standard pour ce faire. Cependant, de nombreux articles suggèrent des améliorations pour améliorer la précision de la classification Web, notamment en utilisant d'autres informations contextuelles, telles que des hyperliens, des entêtes, des phrases multi-mots, l'URL, la fréquence des mots, etc. J'ai expérimenté le classificateur Naive Bayes de Mahout par rapport à l'ensemble de données de test 20 Newsgroup, et je peux voir son applicabilité à la classification de site Web, mais je suis préoccupé par sa précision pour mon cas d'utilisation.

Quelqu'un est-il au courant de la possibilité d'étendre le classificateur Bayes dans Mahout pour prendre en compte des attributs supplémentaires? Tout point de départ pour savoir où commencer serait très apprécié.

Sinon, si j'aboie complètement le mauvais arbre s'il vous plaît faites le moi savoir!

Répondre

0

Vous pouvez contrôler l'entrée autant que vous le souhaitez. À la fin, l'entrée est juste un vecteur de caractéristiques. Les fonctionnalités du vecteur de fonctionnalité peuvent être des mots ou des bigrammes, mais ils peuvent aussi être ce que vous voulez. Donc, oui, vous pouvez injecter de nouvelles fonctionnalités en modifiant l'entrée comme vous le souhaitez.

La meilleure manière de tisser ces fonctions est un autre sujet entièrement - il n'y a pas de meilleure façon de les convertir en nombres. Mahout in Action couvre assez bien ce FWIW.

+0

Merci, j'ai vu ce livre mentionné précédemment, je peux tenter le coup. Si je comprends bien votre réponse, vous dites que je pourrais manipuler l'entrée pour gérer des fonctionnalités supplémentaires en créant un encodage pour eux. par exemple. un corps de lien hypertexte peut être traité comme une chaîne codée par un corps. Ce qui n'est toujours pas clair pour moi, c'est comment je dirais au classificateur de peser certaines fonctionnalités d'entrée différemment des autres. D'autres conseils seraient appréciés. –

+0

En fin de compte c'est un nombre dans un vecteur. Oui, c'est une façon de tirer parti du tokenizer pour y arriver. Demandez à [email protected], c'est une bonne question et l'auteur original peut vous en dire plus. –

Questions connexes