Suchen Sie eine Information Retrieval / Text-Mining-Anwendung oder Bibliothek
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.
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:
- Papier über das Paket im Journal of Statistical Computing: http://www.jstatsoft.org/v25/i05/paper . Das Papier enthält ein gutes Beispiel für eine Analyse des R-Entwick Mailingliste ( https://stat.ethz.ch/pipermail/r-devel/) Beiträge in Newsgroup aus dem Jahr 2006.
- Paket Homepage: http: //cran.r-project. org / web / packages / tm / index.html
- Schauen Sie sich die Einführungs Vignette: http: // cran .r-project.org / web / packages / tm / Vignetten / tm.pdf
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 .
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)