Frage

Wir extrahieren verschiedene Informationen von E-Mails - Flüge, Mietwagen, Hotels und vieles mehr. das Verfahren ist, den Körper der E-Mail, in der Regel in HTML-Form zu extrahieren, aber irgendwann ist es Text oder wir verwenden, um die Informationen in einer PDF / Word / RTF-Anlage. Wir wenden dann reguläre Ausdrücke (manchmal in mehreren Schritten), um Informationen zu erhalten, die in tabellarischer Form zur Verfügung gestellt wird (können Sie sich vorstellen einen Flug Tisch, Hotel Tisch, etc.). Nachricht, obwohl wir HTML analysieren, ist dies nicht Screen Scraping.

Zur Zeit verwenden wir WebQL Motors QL2, aber wir suchen es aus geschäftlichen Gründen zu ersetzen. Können Sie auf einem anderen Motor empfehlen? Es muss auf Linux laufen und von Java zugänglich sein (eine Java-API die das Beste wäre, aber Web-Services sind eine gute Lösung als auch). Es muss auch nur reguläre Ausdrücke für Textextraktion und nicht basierend auf der HTML-Struktur unterstützen.

War es hilfreich?

Lösung 3

Ich wollte nur aktualisieren - unsere endgültige Entscheidung war die Analyse in groovy zu implementieren, und einige hinzufügen erforderliche Funktionalität (hTML zu Text, pDF zu Text, sauber Leerzeichen, etc.) entweder im Java ot indem sie sich auf 3rd-Party-Bibliotheken zu implementieren.

Andere Tipps

Ich empfehle, dass Sie einen Blick auf R . Es verfügt über eine umfangreiche Anzahl von Text-Mining-Pakete: haben einen Blick auf die Natural Language Processing anzuzeigen . Insbesondere sehen Sie die tm Paket. Hier sind einige relevante Links:

Darüber hinaus bietet R viele Tools für HTML oder XML-Parsing. Haben mit die RCurl und XML Pakete .

Edit: Sie können integrieren R mit Java mit JRI . Es ist ein sehr weit verbreitetes Paket, mit vielen Beispielen. Sie können auch diese Fragen sehen .

Haben Sie einen Blick auf:

  • LingPipe - LingPipe ist eine Suite von Java-Bibliotheken für die linguistische Analyse der menschlichen Sprache.
  • Lucene - Apache Lucene ist eine leistungsstarke, voll funktionsfähige Textsuchmaschine Bibliothek komplett in Java geschrieben.

Ich verwende einen benutzerdefinierten Parser gemacht mit Flex und C ++ für ähnliche Zwecke. Ich würde vorschlagen, dass Sie einen Blick auf Parser-Generatoren in Java nehmen (JavaCC .jj Dateien) javacc-faq Nutch tut es auf diese Weise. (NutchAnalysis.jj)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top