Comment faire une classification de texte à une classe?

14

Je dois faire face à un problème de classification de texte. Un robot d'indexation analyse des pages Web d'un certain domaine et pour chaque page Web, je veux savoir si elle appartient à une seule classe spécifique ou non. Autrement dit, si j'appelle cette classe positive , chaque page Web analysée appartient à la classe positive ou à la classe non positive .

J'ai déjà un grand ensemble de pages Web de formation pour la classe Positive . Mais comment créer un ensemble de formation pour la classe Non Positive qui soit le plus représentatif possible? Je veux dire, je pourrais essentiellement utiliser chacun et tout pour cette classe. Puis-je simplement collecter des pages arbitraires qui n'appartiennent certainement pas à la classe Positive ? Je suis sûr que les performances d'un algorithme de classification de texte (je préfère utiliser un algorithme Naive Bayes) dépendent fortement des pages Web que je choisis pour la classe Non positif .

Alors, que dois-je faire? Quelqu'un peut-il me donner un conseil? Merci beaucoup!

pemistahl
la source
Il s'agit en fait d'un clustering à deux classes puisque vous avez deux classes. Pour une classe, vous n'auriez qu'une seule classe et seriez intéressé à évaluer dans quelle mesure vos observations correspondent aux données (c.-à-d. Détecter les valeurs aberrantes).
Tim
Ce problème d'apprentissage a un nom - apprentissage PU. Ceci est naturellement à utiliser si les exemples positifs sont faciles ou naturels à obtenir, mais les négatifs sont fondamentalement tout le reste (difficile à obtenir). En principe, vous voulez apprendre un classificateur standard à deux classes mais avec des critères différents - optimiser la zone sous la courbe PR. Ce progiciel vous permet de former un tel classificateur code.google.com/p/sofia-ml
Vladislavs Dovgalecs

Réponses:

5

L' algorithme Spy EM résout exactement ce problème.

S-EM est un système d'apprentissage de texte ou de classification qui apprend à partir d'un ensemble d'exemples positifs et sans étiquette (pas d'exemples négatifs). Il est basé sur une technique "d'espionnage", des Bayes naïfs et un algorithme EM.

L'idée de base est de combiner votre ensemble positif avec tout un tas de documents analysés de manière aléatoire. Vous traitez initialement tous les documents analysés comme la classe négative et apprenez un classificateur bayésien naïf sur cet ensemble. Maintenant, certains de ces documents analysés seront en fait positifs, et vous pouvez ré-étiqueter de manière conservatrice tous les documents dont le score est plus élevé que le vrai document positif. Ensuite, vous répétez ce processus jusqu'à ce qu'il se stabilise.

rrenaud
la source
Merci beaucoup, cela semble assez prometteur. Je vais y jeter un œil.
pemistahl
6

Voici une bonne thèse sur la classification d'une classe:

  • Tax, DM: One-class classification - Concept-learning in the absence of counter-examples , thèse de doctorat, Technische Universiteit Delft, 2001. ( pdf )

Cette thèse présente la méthode de prise en charge de la description des données vectorielles (SVDD), une machine à vecteur de support à classe unique qui trouve une hypersphère minimale autour des données plutôt qu'un hyperplan qui sépare les données.

La thèse passe également en revue d'autres classificateurs d'une classe.

essentiel
la source
Bienvenue sur le site, @nub. Nous espérons construire un référentiel permanent d'informations statistiques, en tant que tel, nous nous inquiétons de la possibilité de linkrot. Pourriez-vous donner un résumé des informations contenues dans cette thèse au cas où le lien disparaîtrait?
gung - Réintégrer Monica
Merci d'avoir résumé. Veuillez vous inscrire et fusionner vos comptes (vous pouvez le savoir dans la section Mon compte de notre centre d'aide ), vous pourrez alors modifier et commenter vos propres messages.
gung - Rétablir Monica
@gung Merci pour l'accueil. Je suis ravi d'avoir reçu le badge "Yearling" sur StackOverflow lui-même, alors maintenant je peux commenter partout.
JosiahYoder-deactive sauf ..
@JosiahYoder, si vous êtes l'OP ici, veuillez fusionner vos comptes. Vous pouvez découvrir comment dans la section Mon compte de notre centre d'aide .
gung - Rétablir Monica
Je ne suis pas l'OP. Juste un utilisateur SO aléatoire qui est tombé sur cette question.
JosiahYoder-deactive sauf ..
1

Une bonne formation nécessite des données qui fournissent de bonnes estimations des probabilités de classe individuelle. Chaque problème de classification implique au moins deux classes. Dans votre cas, la deuxième classe est toute personne qui n'est pas dans la classe positive. Pour former une bonne limite de décision en utilisant Bayes ou toute autre bonne méthode, il est préférable de faire autant de données d'entraînement sélectionnées au hasard dans la classe. Si vous effectuez une sélection non aléatoire, vous pourriez obtenir un échantillon qui ne représente pas vraiment la forme des densités / distributions conditionnelles de classe et pourrait conduire à un mauvais choix de la frontière de décision.

Michael R. Chernick
la source
1
Tu as raison, c'est exactement ce qui me dérange. Comment sélectionner un échantillon d'échantillons non positifs qui mène à une bonne limite de décision? La sélection aléatoire est-elle la meilleure que je puisse faire?
pemistahl
0

Je suis d'accord avec Michael.

Concernant votre question sur la sélection aléatoire; oui: vous devez sélectionner au hasard dans l'ensemble complémentaire de vos «positifs». S'il y a une confusion selon laquelle il est possible que vos `` positifs '' ne soient pas entièrement définis comme `` purement positifs '', si je peux utiliser cette expression, vous pouvez également essayer au moins une sorte de définition appariée pour les positifs afin que vous puissiez contrôle sur les variables qui génèrent potentiellement une certaine contamination sur la définition de «positif». Dans ce cas, vous devez également faire correspondre les mêmes variables du côté «non positif».

crmportals
la source
0

Un article qui peut être intéressant est:

"Classification de centroïdes rétrécie la plus proche étendue: une nouvelle méthode pour l'attribution d'auteur ouvert de textes de tailles différentes", Schaalje, Fields, Roper et Snow. Informatique littéraire et linguistique, vol. 26, n ° 1, 2011.

Ce qui prend une méthode pour attribuer un texte à un ensemble d'auteurs et l'étend pour utiliser la possibilité que le véritable auteur ne soit pas dans l'ensemble candidat. Même si vous n'utilisez pas la méthode NSC, les idées contenues dans le document peuvent être utiles pour réfléchir à la façon de procéder.

Greg Snow
la source