2010-07-08 6 views
1

J'ai la recherche d'une solution opensource pour suggérer une catégorie donnée une question ou texte.Suggérer une catégorie pour un morceau de texte

Par exemple, "qui est Lady Gaga?" retournerait probablement « Entertainment », « Musique » ou « Celebrity ».

"Combien frappent-ils pour le baseball?" me donnerait «Baseball», ou «Sport».

La catégorisation ne doit pas être parfaite, mais devrait être quelque peu proche.

Aussi est-il partout où je peux obtenir une liste de catégories populaires?

Répondre

0

Pas grand-chose d'une réponse, mais peut-être ce dictionnaire catégorisé aiderait:

http://www.provalisresearch.com/wordstat/WordNet.html

Je suppose que vous pouvez extraire les mots rares de la chaîne, les chercher dans le dictionnaire classés, et renvoyer le les catégories qui obtiennent le plus de correspondances selon vos termes. Il sera difficile de faire face à des références de la culture pop comme "Lady Gaga", cependant ... peut-être que vous pourriez faire une recherche Google et analyser les résultats de cela.

3

Ceci est un document classification problem - votre "document" est simplement la requête ou le texte.

Vous devez d'abord décider de la liste des catégories possibles. "Qui est Lady Gaga?" Il peut s'agir de Divertissement, de Célébrité, de Questions en anglais, de Biographie, de Personnes, etc. Ensuite, vous appliquerez un cadre de décision pour attribuer un score pour chaque catégorie au texte. Le score le plus élevé est sa catégorie - tant qu'il est au-dessus d'un seuil de bruit et qu'il n'y a pas de catégorie de seconde place trop proche pour se différencier. Les cadres de décision peuvent inclure des approches telles qu'un réseau bayésien ou un ensemble de règles personnalisées.

Certains projets open source qui mettent en œuvre les classificateurs comprennent:

0

D'autres ont fait un peu de travail en votre nom, alors je suggère d'utiliser som ething comme le OpenCalais API. Il y a un wrapper python à l'API au http://code.google.com/p/python-calais/.

"Qui est Lady Gaga?" semble être un texte trop court pour leur donner une réponse décente. Cependant, si vous avez pris la peine de faire un processus en deux étapes et de récupérer le premier paragraphe de wikipedia pour Lady Gaga, et que vous fournissez ensuite l'API OpenCalais, vous obtiendrez de très bons résultats.

Vous pouvez le vérifier rapidement en copiant simplement le premier paragraphe de wikipedia dans le OpenCalais viewer. Le résultat est une classification dans le thème "Culture de divertissement" avec une estimation de confiance de 100%.

De même, l'exemple de base-ball retourne « sports » comme le sujet avec d'autres variables sociales de « loisirs », « baseball », etc.

Modifier Voici une autre pensée provoquée par l'utilisation de Calais de balises sociales: envoi l'url wikipedia pour Lady Gaga à l'API délicieux avec

curl -k https://user:[email protected]/v1/posts/suggest?url=http://en 
.wikipedia.org/wiki/Lady_gaga 

retours <?xml version="1.0" encoding="UTF-8"?> <suggest> <recommended>music</recommended> <recommended>wikipedia</recommended> <recommended>wiki</recommended> <recommended>people</recommended> <recommended>bio</recommended> <recommended>cool</recommended> <recommended>facts</recommended> <popular>music</popular> <popular>gaga</popular> <popular>ladygaga</popular> <popular>wikipedia</popular> <popular>lady</popular>

etc. devrait être assez facile à igno re les entrées de type wikipedia/wiki.

Questions connexes