Frage

Ich bin sehr neu in der Datenwissenschaft im Allgemeinen und wurde mit einer großen Herausforderung beauftragt.

Meine Organisation verfügt über viele Dokumente, die alle im Dokumenttyp sortiert sind (nicht im Binärformat, sondern einen subjektiv zugewiesenen Typ basierend auf Inhalten, z. B. "Vertrag", "Quittung", "Erklärung" usw.).

Im Allgemeinen erfolgt die Zuordnung dieser Typen nach Erhalt der Dokumente und ist keine Herausforderung, obwohl wir das menschliche Element dieser Kategorisierung entfernen möchten. In ähnlicher Weise gibt es Zeiten, in denen wir spezielle Attribute gibt, die wir identifizieren möchten, z. B. "Anweisung anzeigen". Bisher wird dies vollständig durch menschliche Intervention geschehen.

Ich bin ein Python -Programmierer und habe mit Werkzeugen gesucht, um den Text aus diesen Dokumenten (alle PDFs, alle OCR'ed und Suchable) zu extrahieren und eine Analyse auszuführen. Die Forschung hat mich dazu gebracht, Standardbibliotheken wie NLTK, Scikit-Learn und Gensim zu betrachten. Aber ich habe Schwierigkeiten, die beste Methodik zur Kategorisierung neuer erhaltener Dokumente zu ermitteln.

Meine Forschung führt mich auf ein paar Wege ... man erstellt ein TF-IDF-Vektormodell, das auf einer Stichprobe des aktuellen Corpa basiert und dann ein Modell für das Korpus eines ankommenden Dokuments erstellt und eine naive Bayes-Analyse gegen vorhandene Modelle durchgeführt wird, um die zu erkennen, welche Kategorie Das eingehende Dokument gehört zu der höchsten Wahrscheinlichkeit. Frage 1: Ist das richtig? Wenn ja, wird Frage 2 stammt, was ist die richtige programmatische Methodik, um dies zu erreichen?

Der Grund, warum ich dies überhaupt hervorrief, ist, dass die meisten Tutorials, die ich finde, zu einer binären Unterscheidung von Text Corpa (positiv gegen negativ, Spam gegen Ham) zu beantragen scheinen. Ich habe gesehen, wie Scikit-Learn Informationen zur Multi-Label-Klassifizierung hat, aber ich bin mir nicht sicher, ob ich damit die richtige Straße hinunter gehe. Das Wort "Klassifizierung" scheint in der Dokumentanalyse eine andere Bedeutung zu haben als das, was ich möchte.

Wenn diese Frage zu vage ist, lassen Sie es mich wissen und ich kann sie bearbeiten, um genauer zu sein.

War es hilfreich?

Lösung

Mit Ausnahme des OCR -Teils wäre das richtige Bündel pandas und sklearn.

Sie können dies überprüfen Ipython Notebook Dies verwendet TFIDFVectorizer- und SVC -Klassifikator.

Dieser Klassifikator kann machen Ein-VS-eins oder ein-VS-The-REST Multiclas -Vorhersagen und wenn Sie die verwenden predict_proba Methode statt von predict, Sie hätten das Konfidenzniveau jeder Kategorie.

Wenn Sie nach Aufführungen suchen und keine Vorhersage -Vertrauensniveaus benötigen, sollten Sie verwenden LinearSVC Welches ist viel schneller.

Sklearn ist sehr gut dokumentiert und Sie werden alles finden, was Sie für eine Textklassifizierung benötigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top