2009-05-09 5 views
1

Meine Anwendung ermöglicht es dem Benutzer, PDF-Dateien hochzuladen und sie auf dem Webserver zur späteren Ansicht zu speichern. Ich speichere den Namen der Datei, Ort, Größe, Upload-Datum, Benutzername usw. in einer SQL-Server-Datenbank.Schlüsselwörter automatisch aus einem PDF generieren

Ich möchte in der Lage sein, programmatisch, direkt nach dem Hochladen einer Datei, eine Liste von Schlüsselwörtern (vielleicht alles außer allgemeine Wörter) zu generieren und sie auch in der SQL-Datenbank zu speichern, damit nachfolgende Benutzer Stichwortsuchen durchführen können ...

Vorschläge zur Vorgehensweise? Gibt es diese Art von Routine bereits?

EDIT: Nur um meine Anforderungen zu klären, würde ich nicht mit OCR befassen, ich kenne nicht die Innenseiten von PDFs, aber ich verstehe, dass wenn es von einer App, wie Word-> generiert wurde PDF Print, der Text des Dokuments ist durchsuchbar ... also wirklich meine erste Aufgabe, und die Absicht meiner Frage ist, wie greife ich auf den Text einer PDF-Datei von einer asp.net App aus? OCR auf gescannten PDFs ist zu diesem Zeitpunkt wahrscheinlich über meine Anforderungen hinaus.

+0

Eine Sache, die Sie beachten sollten, ist, dass viele PDFs tatsächlich Scans sind, mit Bildern von Text, aber nicht tatsächlichen Strings. Möchten Sie in solchen Fällen OCR durchführen? Nur etwas zu beachten. –

Antwort

2

Als ersten Schritt legen Sie den gesamten Text aus dem PDF extrahieren soll. ghostscript und pdftotext kann dies tun, die PDFBox ist eine andere Option. Es gibt sicherlich auch andere Werkzeuge.

Dann können Sie alle Stoppwörter und Duplikate entfernen und in die Datenbank schreiben.

Ich wurde erwähnt, dass dies für gescannte PDF-Dokumente nicht funktioniert, aber das ist nur die halbe Wahrheit. Auf der einen Seite gibt es viele gescannte PDFs, die Text zusätzlich eingebettet haben, denn das ist, was einige Scanner-Treiber tun (Canon CanoScan-Treiber führt OCR durch und erzeugt durchsuchbare PDFs).Auf der anderen Seite geben mit LaTeX erzeugte Dokumente, die Nicht-ASCCII-Zeichen enthalten, nach meiner Erfahrung Müll zurück (selbst wenn ich Acrobat kopiere und einfüge).

+0

Was ich gesagt habe ist, dass es PDF-Scans ohne Text gibt. Ich habe nie gesagt/alle/PDF-Scans fehlten Text. –

+0

Matthew Flaschen, du hast Recht. Mein Kommentar sollte nicht widersprüchlich sein, sondern zusätzlich. Die eine Hälfte der Wahrheit ist, dass es PDF-Scans ohne Text gibt, die andere, dass Textextraktion nicht unbedingt mit gesetzten PDFs funktioniert. –

0

Das einzige Problem, das ich vorhersehe, jedes nicht geläufige Wort zu ergreifen, ist, dass Sie Ihre Suchresultate verdünnen und die DB für mehr pdfs abfragen müssen. Eine Website zum Betrachten ist Scribd, die etwas ähnlich zu dem, was Sie gerade tun, tun mit Benutzern hochladen von Dateien und Menschen in der Lage, sie online über eine Flash-App zu sehen.

0

Das ist ein sehr interessantes Thema. Die Frage ist, wie viele Keywords Sie zum Definieren einer PDF benötigen. Wenn Sie sagen:

  • 3 um 10 - I Methoden der Textkategorisierung wie oder K-NN (diese Methode wird Gruppe von PDF-Dateien in Cluster, die ähnlich sind) Bayes-Klassifikator überprüfen würde. Ich weiß, dass ähnliche Algorithmen zum Filtern von Spam verwendet werden. Aber es ist ein System, das Eingabe benötigt, zum Beispiel, wenn Sie Schlüsselwörter zu 100 PDF hinzufügen, wird dieses System die Schemas lernen. Ich bin kein Experte, aber das ist eine Möglichkeit, es zu tun.

  • mehr als 10 - dann würde ich rohe Gewalt vorschlagen -> häufige Wörter filtern -> häufigste Wörter für ein bestimmtes Dokument erhalten.

Ich würde erste Option erkunden. Sie müssen sicherlich solche Methoden wie "Text Kategorisierung", "Auto Tagging", "Text Mining", "automatische Schlüsselwort Extraktion" überprüfen.

Einige Links:

http://en.wikipedia.org/wiki/Naive_Bayes_classifier

Keyword Extraction Using Naive Bayes

0

Wenn Sie PDF-Dokumente indexieren möchten, sollten Sie eine spezielle Textsuchmaschine wie Lucene verwenden. Lucene bietet Funktionen, die nur mit SQL und einer relationalen Datenbank schwer zu implementieren sind. Sie müssen den Text dennoch aus den PDF-Dokumenten extrahieren, müssen sich jedoch keine Sorgen darüber machen, gängige Wörter herauszufiltern. Durch das Herausfiltern häufiger Wörter verlieren Sie die Fähigkeit, Phrasensuchen durchzuführen.

Verwandte Themen