Natural Language Processing: Wie Computer verstehen lernen

Inhaltsübersicht:

Das Natural Language Processing (NLP) umfasst die maschinelle Verarbeitung der natürlichen Sprache, welche mit Hilfe von automatisierten Techniken und Methoden realisiert wird. Essentielle Methoden der Sprachwissenschaften werden dabei mit einer wachsenden Zahl an Möglichkeiten kombiniert – sie stehen im Kontext der Künstlichen Intelligenz sowie der maschinellen Textverarbeitung zur Verfügung. Ultimatives Ziel ist die Kommunikation zwischen Mensch und Computer auf Basis der natürlichen Sprache.

Als essentielle Datenquellen dienen sogenannte qualitative Informationen, wie Zeitungsartikel, Audioaufnahmen, Blog-Beiträge etc.. Diese müssen im Gegensatz zu quantitativen Informationen zunächst verarbeitet werden, sodass hieraus spezifische Textstrukturen maschinell erkannt sowie verstanden werden. Für die effiziente Verarbeitung von qualitativen Datenquellen werden unterschiedliche Disziplinen aus dem Big-Data Umfeld hinzugezogen – allgemein bekannt als Text Mining.

Im Kontext meiner Master-Thesis mit dem Titel „Sharing Geschäftsmodelle – Textanalytische Entwicklung eines Modellierungsansatzes“ habe ich essentielle Methoden des NLP sowie des Text Minings genutzt. Als NLP-Tool habe ich dabei das Natural Language Toolkit (NLTK) verwendet – ein auf der Programmiersprache Python basierendes Toolkit.

Ziel war die Konzeption einer Modellierungstechnik und -sprache zur Darstellung von Geschäftsmodellen für sämtliche Sharing-Anbieter (wie bspw. Uber und Airbnb). In diesem Beitrag liegt der Fokus auf den einzelnen Steps, die ich für meine maschinelle Textverarbeitung genutzt habe.

Die maschinelle Textverarbeitung kann grundsätzlich in folgende Steps unterteilt werden:

1. Textextraktion und -aufbereitung

Durch Crawling können unterschiedliche Textinformationen automatisiert extrahiert werden. Bei einem Crawler handelt es sich um Software-Lösungen, die iterativ (textuelle) Informationen sammeln und diese nach ausgewählten Mustern bündeln.

2. Korpusaufbereitung und -erstellung

Nachdem die Textinformationen gesammelt wurden, müssen diese entsprechend verarbeitet werden. Die verarbeiteten Textinformationen bilden im Anschluss das sogenannte Textkorpus. Das Textkorpus stellt die primäre Datenbasis dar. Wesentliche Schritte bei der Korpusaufbereitung sind u.a.:

  • Textsegmentierung (Sentence Segmentation): Automatisierte Segmentierung von Sätzen, indem Satzanfänge und -enden erkannt, markiert und segmentiert werden
  • Tokenisierung: Erstellung von Wortlisten, indem die einzelnen Worte automatisiert erkannt und voneinander segmentiert werden
  • Korpusbereinigung: Bereinigung des Textkorpus durch das Entfernen von sogenannten Stopwords (Wörter mit syntaktischen Funktionen, wie bspw. Artikel, Satzeinleitungen und Präpositionen)
  • Linguistische Annotation und Normalisierung: Mit Hilfe sogenannter Tagger werden die einzelnen Tokens (Wörter im Textkorpus) mit den zugehörigen Wortarten annotiert.

Im Kontext meiner Master-Thesis entstand hieraus ein Textkorpus bestehend aus insgesamt 559.360 Wörtern.