Big Data verspricht den Unternehmen die 360°-Sicht auf ihre Kunden, indem die Analyse von Daten aus verschiedensten Kanälen möglich werden soll. Insbesondere in den sozialen Medien entstehen große Mengen an Text, Video und Audio. Doch wie lassen sich aus diesen "Unstructured Data" verwertbare Informationen gewinnen? Apache UIMA ist ein Framework zur Verarbeitung und inhaltlichen Analyse unstrukturierter Daten, insbesondere Text.
Dieser Vortrag bietet eine Einführung in Apache UIMA und seine Architektur. Am Beispiel wird erklärt, welche Annotationskomponenten zur Verfügung stehen und wie diese zu Pipelines kombiniert werden können. Außerdem wird eine Integration von UIMA mit Hadoop gezeigt.
Speaker: Hans-Peter Zorn
ist Big Data Scientist bei der inovex GmbH. Zuvor beschäftigte er sich am UKP Labder TU Darmstadt mit der Analyse großer Textmengen mit Hadoop.
Mehr Vorträge: https://www.inovex.de/de/content-pool/vortraege/
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Textanalyse mit UIMA und Hadoop
1. Textanalyse mit UIMA und Hadoop
!
!
Hans-Peter Zorn
data2day, Karlsruhe, 27.11.2014
2. 2
Über mich
‣ seit 2014: Big Data Scientist @ Inovex
‣ 2011-2013: TU Darmstadt, UKP Lab
‣ Etablierung der Hadoop-Infrastruktur
‣ Unterstützung der Forscher bei Textanalyse auf großen Datenmengen
‣ Entwicklung dkpro-bigdata zur Ausführung von UIMA auf Hadoop
‣ 2005-2011: European Media Lab, Heidelberg
‣ u.a. Entwicklung eines Frameworks für Speech Analytics (Textanalyse auf
den Ergebnissen von automatischer Spracherkennung)
3. 3
Die drei V’s in heutigen BigData Architekturen
Volume Hadoop, NoSQL,
HDFS,…
Velocity Storm, Spark, Kafka,
…
Variety
Clickstream, Clickstream,
Clickstream ?
7. 7
Welche Mail möchte ich sehen?
The health test result for
NAME_NODE_WEB_METRIC_COLLECTION has become bad: The
Cloudera Manager Agent is not able to communicate with this role's
web server.
Dear Sir,
!
I am requesting for your help, to assist me in getting £42,000,000.00 to
your account. please do indicate your interest for more information's.
!
Yours Truly,
!
From Daniel Klimowicz
10. ‣ Entwickelt von IBM
‣ Der Apache Foundation gespendet
(in 2006)
‣ OASIS Standard
‣ Technologie „DeepQA“ hinter IBM’s
Watson („Jeopardy“)
10
Apache UIMA
11. TypeSystem
11
UIMA Komponenten
Collection Reader
Analysis Engine
CAS Consumer
• Typesystem
• Interoperabilität
• CAS
• Common Annotation
Structure
• Collection Reader
• XML, PDF etc
• Analysis Engine
• Chunker
• Parser
• Sentiment-Analyse
• CAS Consumer
• File
• Webservice
• Datenbank
CAS
CAS
12. ‣ Konfiguration von Komponenten
‣ Per XML: Component Descriptor
!
!
!
!
!
‣ Programmatisch: UIMAFit
‣ nutzt z.t. Spring
‣ Automatische Erzeugung von
Deskriptoren aus Java-
Annotationen.
12
von Komponenten zur Pipeline
JCas jCas = JCasFactory.createJCas();
jCas.setDocumentText("some text");
AnalysisEngine tokenizer =
createEngine(MyTokenizer.class);
!
AnalysisEngine tagger =
createEngine(MyTagger.class);
!
runPipeline(jCas, tokenizer, tagger);
!
for(Token token : iterate(jCas, Token.class))
System.out.println(token.getTag());
13. 13
Skalierung: UIMA on Hadoop
Collection Reader
Corpus
Writer
Results
NLP Pipeline
Workstation
UIMA
HDFS
Collection Reader
with
HDFSResourceLocator
Corpus
HDFSWriter
Results
NLP Pipeline
Workstation
19. ‣ NLTK
‣ Python
!
‣ Lucene
‣ besitzt einige Analyzer, wird
beispielsweise von Mahout
genutzt
!
‣ GATE
‣ Ähnlich zu UIMA
‣ Eher akademisches Umfeld
19
Alternativen
20. ‣ Multiword-Extraction
!
‣ Beispielsweise für automatische
Vervollständigung von Suchbegriffen
!
!
‣ Statistische Signifikanz einer des
paarweisen Auftretens
!
‣ Word-count, mittels Map/Reduce,
Hive, Spark
!
‣ Normalisierung, z.b.
Tippfehlernormalisierung, Umlaute ist
Vorverarbeitung
20
Anwendungsfall: Mehrwort-Ausdrücke
21. ‣ Einfach anfangen!
‣ Regelbasiert, Lexikonbasiert
‣ Wenn ML, vorgefertigte und einfache Algorithmen
‣ Domäne eingrenzen
‣ Offene Domäne (Watson) extrem schwierig, Forschungsgebiet!
‣ Wenige Klassen (Spam/Kein Spam)
‣ Datenanalyse/Annotationsexperiment
‣ Können Menschen diese Aufgabe überhaupt konsistent lösen?
!
‣ Trotzdem: steep learning curve, sicher kein Wochenendprojekt.
21
Was ist realistisch? Kann ich das selbst?
22. • Was möchte ich wissen?
!
!
• Kenne ich meine Zielklassen?
• Habe ich Trainingsdaten?
!
• Wie kann ich evaluieren?
!
!
• In welchem Format liegen meine Eingangsdaten vor?
!
!
• Wie schnell brauche ich die Resultate?
22
Schritt für Schritt zur Textanalyse
23. 23
Zusammenfassung
• Auch unstrukturierte Daten sind erschließbar
• Textanalyse ist oft Maschinelles Lernen
• Vorgefertigte Komponenten existieren
• Apache UIMA bietet eine Platform um solche
Komponenten zu einer Applikation zu kombinieren
• UIMA und Hadoop sind gut integrierbar.
25. 25
Vielen Dank für Ihre Aufmerksamkeit
Kontakt
!
Hans-Peter Zorn
Big Data Solutions
!
inovex GmbH
Office Karlsruhe
Ludwig-Erhard-Allee 6
D-76131 Karlsruhe
!
hzorn@inovex.de
!
!
!
!
!