Big Data Textanalyse

Werbung
Big Data Textanalyse
Der Weg von unstrukturierten Daten zu
quantifizierbaren Informationen
Christopher Thomsen
Senior Consultant & Competence Center Big
Data Lead
OPITZ CONSULTING Deutschland GmbH
Hamburg, 22.09.2015
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 1
Agenda
1. Text Extraktion
2. Natural Language Processing (NLP)
3. Volltextsuche
4. Text Klassifikation
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 2
1
Text Extraktion
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 3
Mit unstrukturierten Daten arbeiten
 Keine explizite Struktur
 Implizite Struktur
(Sprachgrammatik) deutlich
komplexer und mit zahlreichen
Ausnahmen
 In Rohform dimensionslos
 Je nach analytischer Betrachtung
vieldimensional
Logdateien, Sensordaten, XML und JSON Dokumente,
Beziehungsgraphen, etc. sind KEINE unstrukturierten Daten!
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 4
Text Extraktion
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 5
Text Extraktion in verschiedenen Technologien
Oracle Text:
CREATE INDEX my_index ON MyDocs(my_text)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS
('FILTER CTXSYS.NULL_FILTER SECTION GROUP CTXSYS.HTML_SECTION_GROUP');
tsearch2:
UPDATE MyDocs my_index = to_tsvector('german', coalesce(my_text, ''));
Apache Lucene:
GermanAnalyzer analyzer = new GermanAnalyzer(LUCENE_VERSION);
new QueryParser(LUCENE_VERSION, "", analyzer).parse(my_text)
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 6
Entwicklungsprozess von Text Extraktoren
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 7
Text Extraktoren & Classifier in echtzeit Streams
Tweety extrahiert und interpretiert Kurznachrichten in Echtzeit.
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 8
2
Natural Language Processing
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 9
Annotation
Beschreibt das Anreichern von Text Tokens mit weiteren
Informationen.
Syntax -- z.B. für den Term "Kindern"
- Wortart: Substantiv
Wörterbücher
- Kasus: Dativ
- Genus: Neutrum
Regex
Part of Speech
Annotation
- Numerus: Plural
Term
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 10
Part-of-Speech
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 11
NLP Funktionalitäten an einem Beispielsatz
Moin! Wie geht’s? Mein Name ist „Christopher“.
Funktionalität
Ausgabe für Beispiel
Sentence Detector
Moin! Wie geht’s?
Mein Name ist „Christopher“.
Tokenizer
Moin!
Name
ist
Wie
geht
„Christopher“
.
's
?
Mein
Christopher
Name Finder
Part-of-Speech Tagger
Moin!_NNP Wie_WRB geht_VBP 's_VBN ?_? Mein_IN Name_NN
ist_VBZ „_“ Christopher_NNP “_“ ._.
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 12
3
Volltextsuche
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 13
Was ist Volltextsuche?
 Was ist der Unterschied zwischen Volltextsuche und einem
String Match (z.B. via Regex)?
1. Lexemerkennung
2. Volltextindizierung
3. Lexikalische Informationen für das Ranking
4. Interpretation von Satzbau und Satzzeichen
Beispiel:
Volltextsuche nach „Neue Informationen schnell gewinnen“
findet in einem Text auch den Abschnitt
„durch schnelle Informationsgewinnung“.
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 14
Volltextindizierung
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 15
Volltextsuche
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 16
Ranking & Wichtung
Beurteilung der Relevanz eines gefundenen Dokuments gemessen
an der FTS-Query.
3 Dimensionen sind hier zu berücksichtigen:
Lexical Information -- Wie häufig kommen Suchbestandteile in
dem Dokument vor (bzw. wie groß ist die Trefferdichte).
Proximity Information -- Wie nahe liegen die Suchbestandteile
beieinander.
Structural Information -- Wie wichtig ist der Teil des Dokuments,
in dem der Suchbegriff vorkommt.
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 17
Demo: OC Expert Search
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 18
4
Text Klassifikation
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 19
Was macht ein Classifier?
 Wichtige von unwichtigen Dokumenten trennen
 Dokumente fachlichen Kategorien zuordnen
 Ähnlichkeiten zwischen Dokumenten bestimmen
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 20
Ein Anwendungsfall: Blogbeiträge klassifizieren
Manuelle
Klassifikation
unvollständig
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 21
Regelbasierte Klassifikation
 Manuelle Klassifikationsregeln für jeden Pfad eines Decision
Trees
ImplementierungsMöglichkeiten:
IF-THEN
Programmierung
(z.B. in PL/SQL)
oder
Regelengine
(z.B. Apache Drools)
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 22
Beispielimplementierung:
Regelbasierte Klassifikation in Oracle Text
Regeln definieren:
insert into news_categories values
(1,'Vereinigte Staaten','Washington or George Bush or Barack Obama');
insert into news_categories values
(2,'Europa','England or Großbritanien or Deutschland');
insert into news_categories values
Regeln
(3,'Mittlerer Osten','Israel or Iran or Palestina');
werden manuell
insert into news_categories values
(4,'Asien','China or Pakistan or Indien or Japan');
verwaltet
insert into news_categories values
(5,'Afrika','Ägypten or Kenia or Nigeria');
insert into news_categories values
(6,'Konflikte','Krieg or Soldaten or Militär or Truppen');
insert into news_categories values
(7,'Finanzen','Profit or Verlust or Börse');
insert into news_categories values
(8,'Technologie','Software or Computer or Oracle or Intel or IBM or Microsoft');
Modellgüte
meist
unzureichend
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 23
Klassifikation mittels überwachtem Lernen
Training
Labels
Trainings
Corpus
Text
Extraktion
DokumentTermMatrix
Klassifikations
Modell
Prediktion
Input
Dokument
Machine
Learning
Algorithmus
Text
Extraktion
Big Data Textanalyse
DokumentTermMatrix
Anwendungs
Plattform
Label
© OPITZ CONSULTING GmbH 2015
Seite 24
Beispiel: Präsidentschaftsreden
Datensatz:
Öentliche Reden von Obama und Romney
Präsidentschaftsreden
Classifier
Document-TermFrequency Matrix
Terme mit höchster normierter Korrelation zu einer Dokumentenklasse
Obama
Romney
Big Data Textanalyse
© OPITZ CONSULTING GmbH 2015
Seite 25
Klassifikation mittels unüberwachtem Lernen
 Beim überwachten Lernen werden die Klassen immernoch
manuell vorgegeben. Beim unüberwachten Lernen wird nur die
Anzahl der Klassen a-priori vorgegeben.
„Clusterbildung“ bei drei Variablen (ktive Daten)
C1
Count Wort Z
Der häufig verwendete KMeans Clusteralgorithmus
hat das Ziel, die
quadratischen Abstände
zwischen allen Punkten
und ihren ClusterZentroiden zu minimieren
C2
C3
Coun
t
Big Data Textanalyse
Wort
Y
Co
X
ort
W
t
un
© OPITZ CONSULTING GmbH 2015
Seite 26
Die Evolution der Textanalyse
Selbstlernende
Suche
Kontextsensitive
Suche
Meta
Suche
Precission
Text
Suche
1990
Big Data Textanalyse
Volltext
Suche
2000
2007
2012
2015+
© OPITZ CONSULTING GmbH 2015
Seite 27
Herunterladen