3.4 Preprocessing - NerimanK/Cloud-Computing-Technology---Google-Home GitHub Wiki
In diesem Abschnitt wird das Preprocessing thematisiert. Damit Texte und Sprachen verarbeitet und mathematische Operationen ausgeführt werden können, ist zunächst ein Prozess von Nöten, Daten in einer geeigneten und einheitlichen Struktur zu transformieren und bereitzustellen. Die Datenaufbereitung wird als Preprocessing definiert. Ein Text hat in seiner Grundfassung viele irrelevante und störende Faktoren, welche durch das Preprocessing bereinigt wird. So werden Wörtergruppen hinsichtlich ihrer Grundform gruppiert, Entitäten bestimmt oder Wörter hinsichtlich ihrer Bedeutung klassifiziert. Nachdem der Prozess durchlau-fen ist, können Texte im späteren Verlauf in einem Vektorraum dargestellt werden, sodass mathematische Operationen ausgeführt werden. Das Preprocessing besteht auf folgende Phasen (Vgl. Bird/Klein/Loper, 2009, www.nltk.org/book/ch07.html).
Der erste Schritt eines Preprocessing ist die Tokenisierung. Die Tokenisierung beschäftigt sich mit den Aufteilungen von Texten in Sequenzen (Phrasen), Sätze oder Wörter. In der gängigen Praxis erfolgt dies auf der granularen Ebene -der Austeilung in Wörter. In unserem Beispiel erhalten wir einen Satz als Input, welcher in seine elementaren Terme zerlegt wird. So ist. Eine einfache Methode im englischen Sprachgebrauch ist es nach jedem Leerzeichen den einzelnen Term bestimmt ist. Ein Problem der Methode liegt jedoch darin, dass bei Terme wie „aren` t“ nicht genau unterschieden werden kann, ob er diese in „aren“ und „t“ zerteilt. Unterschiedliche Bibliotheken wie die NLP- Bibliothek sind darauf trainiert und sind relativ zuverlässig, diese Probleme zu lösen. So wird ein Dokument d nach der Tokenisierung wie folgt beschrieben d= w_1+w_2+w_3+⋯+wn (Vgl. Russell/Norvig, 2012).
Nachdem die Tokensierung erfolgt, wird in der nächsten Phase „Normalisierung“ ähnliche Wortgruppen identifiziert. Ein Beispiel um die Bedeutung der Normalisierung zu verdeutlichen sind z.B. konjugierte Verben oder Pluralformen. In der Normalisierung werden somit unerwünschte Abweichungen bereinigt, diese helfen später für einen effizienter und effektiveren Ablauf. Wie solch eine Normalisierung stattfindet werden zwei unterschiedliche Techniken erläutert- das Stemming und die Lemmatization. Im Stemming werden morphologische Variationen mittels eines Algorithmus entfernt. Einer der bekanntesten und Algorithmus ist der Proter Stemmer Algorithmus (Porter's).
So werden bestimmte Suffixe erkannt und entfernt. So sind Pluralformen im englischen einfacher zu normalisieren als im lateinischem. So identifizieren Suffixe wie „s“ oder „es“, dass es sich um Pluralformen handeln. Diese werden mit dem Algorithmus entfernt. Es werden Regeln definiert, die der Proter Algorithmus ausführt. Eine andere Methode zur Normalisierung ist die Lemmatization, diese mit Hilfe eines Wörterbuchs die korrekte Root Wörter erfasst. So werden Wortformen auf Ihre Grundformen, durch das Nachschlagen eines Wörterbuchs bestimmt. Diese werden mit morphorischen Regeln auf die potentielle Grundform reduziert. Ein Nachteil liegt darin, dass dies ein umfangreiches Wörterbruch erfordert. Die Erstellung und Wartung eins Wörterbuches ist grundlegend sehr aufwendig und be-nötigt sehr viel Zeit. Nachdem die Stammwörter ermittelt sind, werden im nächsten Schritt den Wörtern eine Syntaktische Bedeutung gegeben. Die Terme erhalten sogenannte Tags, die mit Hilfe eines „Part-Of-Speech Tagger“ bestimmt werden. Tags könnten dabei Wortarten wie Substantive, Verben, Adjektiven oder Präpositionen sein. Dieser Arbeitsschritt ermöglicht eine Selektion von Wortarten, die für den weiteren Prozess dienen. So haben Adverbien, Interjektionen eine weniger wichtige Bedeutung als Substantive, die für eine Wortklassifizierung oder Doku-mentklassifizierung von Relevanz dienen. Ein Problem dabei, dass vor allem Mehrdeutigkeiten zu bestimmen sind. Es werden mittels probabilistischen Modelle wie dem Markov Modell ein bestimmter Textkorpus definiert. So kann ermittelt werden, ob ein Wort mit einer gewissen Wahrscheinlichkeit zu einer Wortklasse handelt. Das Einteilen von Wortarten wird im englischen als „part to speech tag-ging" bezeichnet. Die Bestimmung einer Wortart hat ein großer Einfluss darauf, welcher Wörter im Satz ausgehen und folgen. Darüber hinaus ist die Wortart beim „Stemming“ sehr hilfreich, da der bestimmte Wortstamm bestimmt werden kann. Im „Part to Speech tagging“ liegt die große Herausforderung darin, dass die Mehrdeutigkeit abhängig der Sprache ist. Nachdem einzelne Wörter mit einer Wortart markiert sind, folgt das Chunking. Im Chunking können bestimmte Phrasen gebildet werden. Phrasen können sich grammatikalisch wie ein Wort verhalten wie z.B. „das alte Haus“. Typische bekannte Phrasen sind Noun Phrasen, die aus einem Artikel und einem Nomen bestehen oder Verb Phrasen, welche aus einem Verb bestehen. Dies hilft vor allem, dass z.B. eine Verbphrase sich immer auf eine Noun Phrase bezieht, welches für den Kontext relevant ist (Vgl. Bird/Klein/Loper, 2009, www.nltk.org/book/ch07.html).
Damit ein Zusammenhang zwischen Wortarten bestimmt werden kann, ist es wichtig Entitäten zu bestimmen. Entitäten definieren einen spezifischen Typ wie z.B. Organisation, Person oder Datum. Mit Hilfe von Entitäten müssen nicht komplette Informationen untersucht werden, sondern nur die relevanten Passagen, welche mit dieser Entität einen Zusammenhang haben. So werden bei Fragen wie „Wer ist der Dozent der Hochschule Stuttgart?“ Möglich bestimmte Sätze und Phrasen können somit in einem Text ignoriert werden, die keinen Zusammenhang mit der Entität Personen und Organisation zu tun haben. Es stellt sich jedoch, zu-nächst die Frage wie man Entitäten erfasst. Entitäten können auf einen Textkorpus trainiert werden und implizierte Semantik und Syntax Informationen erlangen. So gibt es zu Entitäten wie Ort oder Datum eine einfachere Lösung, als bei Organisation oder Namen. Nachdem die Entitäten bestimmt sind, ist es wichtig eine Beziehung zwischen den Entitäten zu ermitteln. Die Beziehungsextraktion zwischen Verwendung von regelbasierten Systemen, die ein bestimmtes Muster in Texten aufzeigen und die dazwischen liegenden Wörter zwischen Entitäten verbindet ist mittels des Textkorpus zu ermitteln (Vgl. Bird/Klein/Loper, 2009, www.nltk.org/book/ch07.html).