Question

Je suis très nouveau à la science des données en général, et ont été chargés d'un grand défi.

Mon organisation a beaucoup de documents qui sont tous triés sur le type de document (format non binaire, mais un type subjectivement attribué en fonction du contenu, par exemple « Contrat », « Réception », « Déclaration », etc ...).

D'une manière générale l'affectation de ces types se fait lors de la réception des documents, et n'est pas un défi, mais nous voudrions enlever l'élément humain de cette catégorisation. De même, il y a des moments où il y a des attributs spéciaux que nous aimerions identifier, comme « Déclaration montrant l'utilisation. » Jusqu'à présent, cela est tout à fait par l'intervention humaine.

Je suis un programmeur de python, et ont été à la recherche à outils pour extraire le texte de ces documents (tous les fichiers PDF, tous OCR'ed et recherche) et l'analyse de fonctionner. La recherche m'a conduit à regarder les bibliothèques standard comme NLTK, scikit-learn et gensim. Mais je me bats pour identifier ce qui serait la meilleure méthode pour catégoriser les nouveaux documents reçus.

Mes recherches me mènent quelques pistes ... on crée un modèle vectoriel Tf IdF sur la base d'un échantillon de Corpa en cours et puis en créant un modèle pour un corpus de documents entrants et de faire une analyse de Bayes naïve par rapport aux modèles existants discerner quelle catégorie le document entrant appartient en fonction de probabilité la plus élevée. Question 1: est-ce droit? Dans ce cas la question 2 devient quelle est la bonne méthode programmatique pour y parvenir?

La raison pour laquelle je soulève cette question du tout parce que la plupart des tutoriels que je trouve semblent se pencher vers un discernement binaire de texte Corpa (positif vs négatif, le spam vs jambon). Je ne vois scikit-learn a des informations sur la classification multi-étiquette, mais je ne suis pas sûr que je vais sur la bonne voie avec elle. Le mot « classification » semble avoir un sens différent dans l'analyse des documents que ce que je veux dire à.

Si cette question est trop vague laissez-moi savoir et je peux le modifier pour être plus précis.

Était-ce utile?

La solution

À l'exception de la partie OCR, le faisceau droit serait pandas et sklearn.

Vous pouvez vérifier ce portable ipython qui utilise TfidfVectorizer et SVC classificateur.

Ce classificateur peut faire un contre-un ou un contre-la-repos prédictions multiclassent, et si vous utilisez la méthode predict_proba au lieu de predict, vous auriez le niveau de confiance de chaque catégorie.

Si vous cherchez des performances et vous n'avez pas besoin de niveaux de confiance de prédiction, vous devez utiliser LinearSVC ce qui est beaucoup plus rapide.

Sklearn est très bien documenté et vous trouverez tout ce dont vous avez besoin pour la classification de texte.

Licencié sous: CC-BY-SA avec attribution
scroll top