2009-07-20 5 views
0

Je voudrais passer au crible le texte (en particulier, les messages Twitter) pour voir si elles se rapportent à un sujet particulier. Avez-vous été sur cette route? Si oui, j'aimerais savoir quelle approche vous utiliseriez.Détection de texte sur un sujet?

Pour mon cas, la simple recherche de mots-clés de sujet me permet d'obtenir du texte utile dans environ 7% des cas; les mots-clés ont plusieurs significations, dont certaines ne sont pas sur le sujet. Pour mon utilisation, le filtrage automatique n'a pas besoin d'être parfait; Je serais heureux si les messages extraits liés au sujet 80% du temps. Je suis également prêt à perdre 10-30% des messages sur le sujet.

En effectuant un premier passage à la main, certaines caractéristiques rendent les messages plus susceptibles d'être bons, comme certaines phrases en anglais. D'autres caractéristiques donnent une forte probabilité de rejet, comme les URL, plusieurs balises de hachage et d'autres expressions. D'autres sont plus difficiles à évaluer.

Je pourrais faire manuellement un paquet de regex et de poids associés, et ajuster les choses à la main jusqu'à ce que j'obtienne une sortie que j'aimais. Cela pourrait bien fonctionner. Mais je peux citer plusieurs autres approches possibles, et je me demande avec quels lecteurs de Stack Overflow ont eu de la chance.

Merci!

Répondre

1

C'est un champ entier en soi! Je recommande de faire des recherches dans la littérature sur le traitement du langage naturel.

Il existe des façons ad hoc de le faire, mais ces méthodes seraient très sujettes aux erreurs: de nombreux faux positifs et faux négatifs. Ce peut être un bon début cependant.

  1. Si vous utilisez un mot-clé, vous pouvez tenter de désambiguïser le sens du mot-clé (si elle a des significations multiples) en utilisant les mots autour du mot-clé en question. Mais, pour ce faire, la désambiguïsation nécessiterait un corpus traité (groupe de documents) pour pouvoir déterminer quels mots apparaissent le plus souvent ensemble, et peut signifier la même chose.

  2. Vous pouvez mesurer la distance entre le texte que vous analysez et un document connu pour être similaire. Vous devez utiliser le nombre de mots des deux sources de texte, puis comparer les vecteurs de terme/document. Recherchez "modèle de document vectoriel" pour un traitement plus approfondi.

C'est un bon projet sur lequel travailler, mais ce n'est pas simple.

+0

Merci, Ryan. Je vais jeter un coup d'oeil à ceux-ci. Quelle que soit la route, il semblerait qu'un grand nombre d'exemples pré-classifiés sera utile. Donc, je vais d'abord mettre en place un travail Mechanical Turk. En ce qui concerne l'option 1, qui vous semble prometteuse, avez-vous des liens ou des phrases utiles qui me mèneraient dans la bonne direction? Le «modèle de vecteur de document» m'obtient amplement pour le numéro 2, mais j'ai du mal à en trouver plus sur # 1. Merci encore! –

+0

Pour le n ° 1, vous pouvez utiliser le mot "désambiguïsation de sens" comme expression avec "utiliser des mots voisins" comme mots-clés. Il y a probablement de meilleures façons de le faire que # 1 (les chaînes lexicales sont à sens unique), mais cela est venu à l'esprit le plus rapidement. Jetez un coup d'oeil ici: http://www.scholarpedia.org/article/Word_sense_disambiguation –

Questions connexes