Textanalyse mit UIMA und Hadoop
!
!
Hans-Peter Zorn
data2day, Karlsruhe, 27.11.2014
2
Über mich
‣ seit 2014: Big Data Scientist @ Inovex
‣ 2011-2013: TU Darmstadt, UKP Lab
‣ Etablierung der Hadoop-Infrastru...
3
Die drei V’s in heutigen BigData Architekturen
Volume Hadoop, NoSQL,
HDFS,…
Velocity Storm, Spark, Kafka,
…
Variety
Clic...
4
Mehr als Weblogs:
Strukturiert
Semistrukturiert
Unstrukturiert
Mails
Videoclips
TV
Mitschnitte
Social Media
Web
XMLTrans...
‣ Motivation: Textanalyse & Machine Learning
‣ Pipelines mit Apache UIMA
‣ Skalierung von UIMA Pipelines
‣ Tools
‣ Best Pr...
6
Textanalyse
Klassifikation
Informations-
Extraktion
Exploration
Sentiment Analyse, Spamdetection,
Mailpriorisierung
Vers...
7
Welche Mail möchte ich sehen?
The health test result for
NAME_NODE_WEB_METRIC_COLLECTION has become bad: The
Cloudera Ma...
8
Maschinelles Lernen
Apotheke SPAM
Einladung CLEAN
31
20
billig
SPAM
CLEAN
40
10
CLEAN
SPAM
Apotheke 5CLEAN
35 71
9
Vorverarbeitung
Tokenisierung
Chunking
Stemming
Lemmatis-
ierung
Part-of-
Speech
Satz
Guten Tag
Satz
Mein Name ist
ADJ P...
‣ Entwickelt von IBM
‣ Der Apache Foundation gespendet
(in 2006)
‣ OASIS Standard
‣ Technologie „DeepQA“ hinter IBM’s
Wats...
TypeSystem
11
UIMA Komponenten
Collection Reader
Analysis Engine
CAS Consumer
• Typesystem
• Interoperabilität
• CAS
• Com...
‣ Konfiguration von Komponenten
‣ Per XML: Component Descriptor
!
!
!
!
!
‣ Programmatisch: UIMAFit
‣ nutzt z.t. Spring
‣ ...
13
Skalierung: UIMA on Hadoop
Collection Reader
Corpus
Writer
Results
NLP Pipeline
Workstation
UIMA
HDFS
Collection Reader...
14
Sklalierung: UIMA on Hadoop
Corpus
Collection Reader
NLP
Pipeline
Writer
Mapper
HDFS
NLP
Pipeline
Writer
Mapper
NLP
Pip...
15
Skalierung: UIMA AS/DUCC
POS
Tagger
QA1
Collection
Reader
QA2
!
Verschiedene
Resultate
werden
parallel erzeugt
UIMA AS:...
‣ Ähnlich einer Lambda-Architektur
16
Batch/Realtime kombiniert
Frage UIMA
UIMA
UIMA
Batch
Realtime
Wiki-
pedia
Web
UIMA
U...
17
Verfügbare Komponenten
UIMA Components Dictionary
Annotator, Stemmer,
Chunker
Grundfunktionalität
UIMA Ruta Regelbasier...
18
Tools: CAS Editor und Eclipse Plugin
‣ NLTK
‣ Python
!
‣ Lucene
‣ besitzt einige Analyzer, wird
beispielsweise von Mahout
genutzt
!
‣ GATE
‣ Ähnlich zu UIMA
‣ ...
‣ Multiword-Extraction
!
‣ Beispielsweise für automatische
Vervollständigung von Suchbegriffen
!
!
‣ Statistische Signifik...
‣ Einfach anfangen!
‣ Regelbasiert, Lexikonbasiert
‣ Wenn ML, vorgefertigte und einfache Algorithmen
‣ Domäne eingrenzen
‣...
• Was möchte ich wissen?
!
!
• Kenne ich meine Zielklassen?
• Habe ich Trainingsdaten?
!
• Wie kann ich evaluieren?
!
!
• ...
23
Zusammenfassung
• Auch unstrukturierte Daten sind erschließbar
• Textanalyse ist oft Maschinelles Lernen
• Vorgefertigt...
24
Ressourcen
UIMA: https://uima.apache.org/
OpenNLP: http://opennlp.apache.org/
DKPro Core: https://code.google.com/p/dkp...
25
Vielen Dank für Ihre Aufmerksamkeit
Kontakt
!
Hans-Peter Zorn
Big Data Solutions
!
inovex GmbH
Office Karlsruhe
Ludwig-...
Nächste SlideShare
Wird geladen in …5
×

Textanalyse mit UIMA und Hadoop

974 Aufrufe

Veröffentlicht am

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/

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
974
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
65
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Textanalyse mit UIMA und Hadoop

  1. 1. Textanalyse mit UIMA und Hadoop ! ! Hans-Peter Zorn data2day, Karlsruhe, 27.11.2014
  2. 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. 3 Die drei V’s in heutigen BigData Architekturen Volume Hadoop, NoSQL, HDFS,… Velocity Storm, Spark, Kafka, … Variety Clickstream, Clickstream, Clickstream ?
  4. 4. 4 Mehr als Weblogs: Strukturiert Semistrukturiert Unstrukturiert Mails Videoclips TV Mitschnitte Social Media Web XMLTransaktionale
 Daten Logdaten Stammdaten DWH
  5. 5. ‣ Motivation: Textanalyse & Machine Learning ‣ Pipelines mit Apache UIMA ‣ Skalierung von UIMA Pipelines ‣ Tools ‣ Best Practices und Alternativen 5 Agenda
  6. 6. 6 Textanalyse Klassifikation Informations- Extraktion Exploration Sentiment Analyse, Spamdetection, Mailpriorisierung Verschlagwortung, Zusammenfassung, Zuordnung von Worten zu Konzepten Visualisierung, Suche, Trendanalyse
  7. 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
  8. 8. 8 Maschinelles Lernen Apotheke SPAM Einladung CLEAN 31 20 billig SPAM CLEAN 40 10 CLEAN SPAM Apotheke 5CLEAN 35 71
  9. 9. 9 Vorverarbeitung Tokenisierung Chunking Stemming Lemmatis- ierung Part-of- Speech Satz Guten Tag Satz Mein Name ist ADJ PRP Guten Tag Mein Name ist gut Tag Mein Name sein Guten Tag Mein Name ist N N V
  10. 10. ‣ Entwickelt von IBM ‣ Der Apache Foundation gespendet (in 2006) ‣ OASIS Standard ‣ Technologie „DeepQA“ hinter IBM’s Watson („Jeopardy“) 10 Apache UIMA
  11. 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. 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. 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
  14. 14. 14 Sklalierung: UIMA on Hadoop Corpus Collection Reader NLP Pipeline Writer Mapper HDFS NLP Pipeline Writer Mapper NLP Pipeline Writer Mapper Results Cluster Workstation
  15. 15. 15 Skalierung: UIMA AS/DUCC POS Tagger QA1 Collection Reader QA2 ! Verschiedene Resultate werden parallel erzeugt UIMA AS:
 Asyncronous Scaleout - Verteilt CAS per Message Queue an Workernodes ! DUCC ist ein Cluster-Manager für UIMA AS
  16. 16. ‣ Ähnlich einer Lambda-Architektur 16 Batch/Realtime kombiniert Frage UIMA UIMA UIMA Batch Realtime Wiki- pedia Web UIMA UIMA MR HDFS UIMA MR HDFS UIMA MR HDFS Antwort Cache
  17. 17. 17 Verfügbare Komponenten UIMA Components Dictionary Annotator, Stemmer, Chunker Grundfunktionalität UIMA Ruta Regelbasiert Informations- extraktion DKPro Core Sammlung von NLP Komponenten des UKP Lab der TU Darmstadt Hauptsächlich Vorverarbeitung OpenNLP Sammlung von NLP Komponenten - Apache Projekt
  18. 18. 18 Tools: CAS Editor und Eclipse Plugin
  19. 19. ‣ NLTK ‣ Python ! ‣ Lucene ‣ besitzt einige Analyzer, wird beispielsweise von Mahout genutzt ! ‣ GATE ‣ Ähnlich zu UIMA ‣ Eher akademisches Umfeld 19 Alternativen
  20. 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. 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. 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. 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.
  24. 24. 24 Ressourcen UIMA: https://uima.apache.org/ OpenNLP: http://opennlp.apache.org/ DKPro Core: https://code.google.com/p/dkpro-core-asl/ DKPro BigData: https://code.google.com/p/dkpro-bigdata/
  25. 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 ! ! ! ! !

×