Telefon: +43(0) 662 834 602 - 0

Machine Learning & Natural Language Processing

Was ist Machine Learning?

Beim Machine Learning (maschinelles Lernen) befasst man sich mit Algorithmen, die durch "Erfahrung" lernen. Die klassischen Probleme, die mittels Machine Learning gelöst werden, sind Klassifikations- und Regressionsprobleme. Bei ersteren geht es darum, für eine Beobachtung entscheiden zu können, welcher von N möglichen Klassen diese zuzuordnen ist. Beispielsweise könnte die Beobachtung aus der Wettervorhersage für morgen bestehen, und der Algorithmus soll entscheiden, ob sich das Wetter zum Golfspielen eignet.

Zur Lösung dieser Probleme müssen genügend vergangene Beobachtungen verfügbar sein, deren Klasse bekannt ist - in unserem Beispiel also Wettervorhersagen zusammen mit der Eignung zum Golfspielen. Regressionsprobleme sind ähnlich, nur wird eine Beobachtung mit einer Zahl in Verbindung gebracht, nicht mit einer Klasse. Um bei dem Beispiel zu bleiben, könnte man mittels Regression die Anzahl der Golfspieler in Abhängigkeit von der Wettervorhersage schätzen. Andere Anwendungsfälle sind solche, in denen die bereits gemachten Beobachtungen durch das Verfahren in Cluster (Haufen) eingeteilt werden sollen, sodass die Beobachtungen innerhalb der Cluster einander besonders ähneln.

In welchen Situationen ist Machine Learning sinnvoll?

Die Anwendung von Computern hat jeden erdenklichen Bereich menschlichen Lebens erreicht. Für viele Problemstellungen ist es ProgrammiererInnen möglich, Programme zu deren Lösung zu entwickeln. Allerdings gibt es einige Problemklassen, für die das nicht gilt[1]:

  • Probleme, für die es keine menschlichen Experten gibt, die geeignete Spezifikationen für die Programmierung erstellen könnten.
  • Probleme, für die es menschliche Experten gibt, die jedoch ihre Herangehensweise nicht erklären können.
  • Probleme, bei denen die beobachtbaren Phänomene sich häufig ändern, und daher programmierte Lösungen ihre Gültigkeit verlieren.
  • Probleme, die für jede BenutzerIn individuell gelöst werden müssen, weil sie mit den individuellen Umständen zusammenhängen.

 

Beispiel: Machine Learning zur Erkennung von Duplikaten

In unserem Projekt Tripwolf Premium war eine der Aufgabenstellungen, das Auffinden von Doubletten in Adressdatenbanken zu automatisieren. Diese konzentrationsbedürftige, im Einzelfall nicht schwierige aber insgesamt doch teure Prozess besteht darin, Datenbankeinträge miteinander zu vergleichen und zu entscheiden, ob es sich bei dem betrachteten Paar um ein Doublettenpaar handelt. Bei dieser Entscheidung spielen die einzelnen Vergleiche von Aspekten wie Name, Adresse (mit ihren verschiedenen möglichen Feldern), Längen- und Breitengrad etc. eine Rolle. Mittels maschinellem Lernen wurde ein System entwickelt, das anhand manuell erstellter Trainingsdaten lernt, wie die Datensätze verglichen werden müssen, um eine Entscheidung fällen zu können.

Was ist Natural Language Processing?

Natural Language Processing (NLP) bezeichnet die Benutzung von Computern zur Verarbeitung geschriebener oder gesprochener Sprache. Diese allgemeine Beschreibung umfasst viele Teilbereiche. In unserem Kontext sind die wichtigsten Problemstellungen die der Informationsextraktion (Named Entity Detection), Textklassifikation und Themenerkennung bei in elektronischer Form vorliegenden Textdaten.

Das Ziel der Informationsextraktion ist es, aus Text bestimmte Informationen zu gewinnen; meist ist hier eine bestimmte Domäne von Interesse, sowohl bezüglich der Texte, als auch bezüglich der Informationen, die extrahiert werden sollen. So könnte beispielsweise für einen Korpus von Sportberichten die Namen von AthletInnen, Stadien, Sportarten etc. identifiziert werden. Textklassifikation und Themenerkennung sind Anwendungen von Machine Learning im Gebiet des Natural Language Processing.

Bei der Textklassifikation soll für ein Dokument entschieden werden, zu welcher von N möglichen Klassen es gehört. Die Merkmale, die dem Klassifikationasalgorithmus zur Verfügung stehen, werden durch gezielte sprachspezifische Vorverarbeitung des Dokuments gewonnen. In unserem Beispiel könnte vor der Informationsextraktion ein Textklassifikationsalgorithmus entscheiden, ob es sich bei den Dokumenten um Sport-, Politik- oder Wirtschaftsberichte handelt, damit der am besten geeignete Extraktionsalgorithmus ausgewählt werden kann.

Zur Themenerkennung werden Clusteringalgorithmen herangezogen, die Ähnlichkeitsbeziehungen zwischen Dokumenten aufgrund ähnlicher Häufigkeiten der verwendeten Wörter (oder anderer Merkmale) finden. Durch diese Ähnlichkeitsbeziehungen kann eine Menge von Dokumenten nach ähnlichen Themen automatisch unterteilt werden. Beispielsweise könnten in den Sportberichte durch Clustering die wichtigen Themen (zb. Sportarten, Bewerbe, oder Großereignisse) erkannt und diese Einteilung zur Darstellung der Inhalte genutzt werden.

In welchen Situation ist NLP sinnvoll?

Viele Organisationen verfügen über Dokumentsammlungen, in denen wichtige Information enthalten ist. Vielfach ist die manuelle Aufarbeitung dieser Dokumente jedoch nicht rentabel, in anderen Fällen ist sie nichtsdestoweniger notwendig und teuer. Insbesondere bei Fällen, in denen kleine Informationseinheiten extrahiert werden sollen, kann die Anwendung von Natural Language Processing die nötige manuelle Arbeit minimieren. Sollen größere Textarchive zugänglich gemacht werden, können mittels Themenerkennung und Informationsextraktion Navigationswerkzeuge entwickelt werden, die BenutzerInnen Anhand von Themen oder wichtigen Personen, Orten, oder anderen "named entities" durch die Datenbank geleiten.

Beispiele

Im Projekt Lyrex wurde mittels NLP ein Navigationswerkzeug für Musiksammlungen entwickelt. Für die Lieder der Sammlung wurden die Liedtexte mittels Themenerkennung in Cluster eingeteilt, sodass die Sammlung nach den Inhalten der Lieder dargestellt werden konnte.

Mit dem Medikamentenauskunftsservice Diagnosia wurde wurde ein NLP-System entwickelt, mit dessen Hilfe aus Arzneimitteldokumentation (z.B. Beipackzetteln) relevante Informationen über Dosierung, Patientengruppen, etc. extrahiert werden.

In einem Forschungsprojekt mit der Tourismuscommunity Tripwolf wurde ein NLP-System entwickelt, mittels dessen die Inhalte der Reiseführer von Footprint in eine strukturierte Form gebracht und für den Re-launch der Footprint-Website, für tripwolf.com sowie für diverse mobile Apps genutzt werden konnte.

Referenzen

1 Machine Learning. Preprint of Thomas G. Dietterich's article in Nature Encyclopedia of Cognitive Science, London: Macmillan, 2003. http://www.cs.orst.edu/~tgd/publications/nature-ecs-machine-learning.ps.gz [25.10.2012]

Telefon: +43(0) 662 834 602 - 0