2017-06-26 1 views
0

J'ai des milliers de documents avec des informations d'étiquette associées. Cependant j'ai aussi beaucoup de documents sans étiquettes.suggestion d'étiquette supervisée pour les documents

Je veux former un modèle sur les documents avec des balises, puis appliquer le classificateur formé aux documents non balisés; le classificateur proposera alors les balises les plus appropriées pour chaque document sans tag.

Je l'ai fait beaucoup de recherche et il ne semble pas être une mise en œuvre SUPERVISÉ pour documenter la classification de l'étiquette.

Je sais NLTK, gensim, word2vec et d'autres bibliothèques seront utiles à ce problème.

Je vais coder le projet en Python.

Toute aide serait grandement appréciée.

+1

marquage de documents est supervisée pas particulièrement rare, mais il est généralement appelé « étiquetage multiclassent ». Pour de nombreuses méthodes, c'est la même chose que l'étiquetage unique, mais vous choisissez les meilleurs résultats. Voir ici un exemple de scikit sur des données inventées: http://scikit-learn.org/stable/auto_examples/plot_multilabel.html – polm23

Répondre

1

En fonction de votre cas d'utilisation réelle, vous pourriez opter pour la méthode plus complexe, mais pour le modèle de travail minimum faire:

1) Prepocessing des documents: tokenize, enrichir le vocabulaire (NLTK a des outils pour cela)

2) Est-ce que le codage bag-of-words par document

3) Former un modèle d'apprentissage de la machine avec le codage onehot pour les sorties. Partir de la forêt aléatoire de sklearn, régression logistique, SVM.

+0

merci, j'ai un modèle de travail minimum; Incliner la représentation du texte d'un document avec un modèle d'apprentissage SVM. Des conseils pour aller plus loin? plus de pré-traitement (stemming ect ...). Je pensais à utiliser WMD pour regrouper des documents étiquetés, puis appliquer le modèle à des documents non étiquetés qui trouveraient alors le type de documents le plus similaire, vous donnant ainsi votre étiquette. – pwhc

+0

De là, il commencera à dépendre de votre cas d'utilisation réel. Mais fondamentalement ma réponse est en trois parties. 1) prétraitement 2) encodage 3) modèle de formation. Selon votre cas d'utilisation et vos données, la hiérarchisation sera différente. Par exemple. Si vous avez des documents de 100mln, vous n'avez pas besoin de vous soucier du travail de calcul avec les réseaux de neurones pour améliorer le modèle. Si vous disposez de peu de données, vous pouvez vous intéresser à un meilleur prétraitement/encodage. –

0

Je travaille actuellement sur quelque chose de similaire, en plus de ce que @Joonatan Samuel a suggéré que je vous encourage à faire un prétraitement minutieux et des considérations.

  1. Si vous voulez deux étiquettes ou plus pour les documents, vous pouvez former plusieurs modèles: un modèle par étiquette. Vous devez considérer s'il y aura suffisamment de cas pour chaque modèle (tag)
  2. Si vous avez beaucoup de balises, vous pouvez exécuter un problème avec des cas comme document tag ci-dessus.
  3. Tenez-vous en à la prédiction la plus commune des marques, n'essayez pas de prédire toutes les étiquettes.