Word2vec

Was ist Word2vec?

Word2vec ist ein neuronales Netz, welches zur Textanalyse mittels Worteinbettung (im Englischen Word Embedding) genutzt wird. Dafür wandelt Word2vec die Wörter eines Textes in numerische Vektoren um und kann mithilfe dieser Zahlen Zusammenhänge und den Kontext der Wörter zueinander mathematisch berechnen und erkennen. Durch überwachtes Lernen (Supervised Learning) steigert Word2vec seine Fähigkeit, Zusammenhänge zu erkennen und aus zugegeben, wie zum Beispiel:

Die „Sonne“ ist für den „Tag“, was der „Mond“ für die „Nacht“ ist.

oder

„Berlin“ ist für „Deutschland“, was „Tokyo“ für „Japan“ ist.

Zudem werden Zugehörigkeiten, wie beispielsweise „Löffel“, „Gabel“ und „Messer“ erkannt und diese Wörter gemeinsam gruppiert.

Eingeführt wurde Word2vec 2013 von einem Forscherteam von Google unter der Leitung von Tomas Mikolov. Die Forschungsarbeit mit dem Titel „Efficient Estimation of Word Representations in Vector Space“ beschreibt zwei mögliche Methoden zum Erlernen des Kontextes:

Continuous Bag-of-Words-Modell (CBOW)

Das Zielwort wird basierend auf den angrenzenden Kontextwörtern vorausgesagt. Der Kontext besteht aus einigen Wörtern vor und nach dem gesuchten (mittleren) Wort. Es wird Bag-of-Words-Modell genannt, da die Reihenfolge der Wörter im Kontext nicht relevant ist. Das CBOW-Modell ist besonders gut darin, syntaktische Beziehungen zwischen zwei Wörtern zu erfassen.

Continuous Skip-Gram-Modell

Bei diesem Modell werden mehrere Kontextwörter basierend auf einem Eingabewort herausgegeben. Es funktioniert im Prinzip genau andersherum wie das CBOW-Modell. Das Continuous Skip-Gram-Modell ist besser darin, semantische Beziehungen zwischen zwei Wörtern herauszugeben, als das CBOW-Modell.

Ein Beispiel anhand des Wortes „Fisch“

Das CBOW-Modell gibt als nächsten Vektor den Plural „Fische“ aus. Das Skip-Gram-Modell hingegen wird ein unabhängiges, aber semantisch relevantes, Wort wie „Angel“ finden.

Durch diesen Unterschied ist das Skip-Gram-Modell das beliebtere von beiden, da es für die meisten Anwendungen einen größeren Nutzen hat.

Was sind die Anwendungen von Word2vec?

Word2vec kann, wie auch andere Word Embeddings, für viele Online-Anwendungen genutzt werden. Es bildet die Grundlage für Vorschläge bei Suchmaschinen und Empfehlungen in Onlineshops. Durch die Kontextanalyse können dabei optimierte Vorschläge für den Nutzer gemacht werden, um bestmögliche Ergebnisse auszugeben. Somit ist Word2vec essentiell für Bereiche wie E-Commerce und Customer-Relationship-Management. Aber auch zum Erstellen von Content oder für wissenschaftliche Forschungen ist es sehr hilfreich.

Word2vec in Python

Zur Nutzung von Word2vec in Python werden die beiden Module gensim und nltk benötigt.

Gensim ist eine Open-Source-Library in Python und wird für semantischen Textanalysen und Dokumentenvergleiche genutzt. Die Abkürzung nltk steht für „Natural Language Toolkit“ und umfasst Bibliotheken und Programme der Computerlinguistik für Python.

Es ist möglich, das Continuous Bag-of-Words-Modell oder das Continuous Skip-Gram-Modell zum Training des Kontextes zu nutzen. Auch sind online schon viele bereits trainierte Modelle zu finden.

Wissensbasierte Systeme

Was sind wissensbasierte Systeme?

Wissensbasierte Systeme, welche auch oft mit WBS abgekürzt werden, stellen den Oberbegriff für intelligente Informationssysteme dar, die Wissen mit Methoden wie der Wissensrepräsentation und / oder der Wissensmodellierung auswerten und nutzbar machen. Sie gelten als Teilgebiet der KI-Forschung. Anwendung finden sie immer dort, wo Aufgaben vorliegen, die menschliche Intelligenz voraussetzen.

Um Probleme zu lösen, nutzen solche Systeme sowohl Faktenwissen als auch mit Unsicherheiten behaftete Wissensbausteine, welche oftmals auch als subjektives Wissen bezeichnet werden. Unter wissensbasierte Systeme fallen auch Expertensysteme, Software-Agenten ebenso wie regelbasierte Systeme.

Wie sind diese aufgebaut?

Wissensbasierte Systeme bestehen aus verschiedenen Kernkomponenten, die hier eine komplexe Struktur bilden. Die Wissensbasis bildet hier die Grundlage. Unter dieser Komponente werden Fakten, Regeln, fallspezifisches Wissen und generisches Wissen gespeichert. Einfach betrachtet, könnte man diesen Bereich auch als Wissensdatenbank bezeichnen.

Der zweite Kernpunkt ist die Inferenzkomponente. In diesem Abschnitt werden die verschiedenen Informationen, also das Wissen, verarbeitet und neue Regeln sowie Fakten abgeleitet. Die Inferenzkomponente ist in wissensbasierten System also der Arbeitsbereich. Die Benutzerschnittstelle, auch User Interface genannt, stellt die letzte wichtige Komponente dar. Diese dient der allgemeinen Kommunikation mit dem Benutzer.

Handelt es sich um eine komplexe Anwendung, so kommen zwei weitere Komponenten hinzu, die als Nebenkomponente betrachtet werden können. Häufig findet man diese Nebenkomponenten bei Expertensystemen, um hier einmal ein Beispiel zur Anwendung zu geben.

Die Wissenskomponente ist die erste neue Komponente bei dieser erweiterten Form. Diese bietet die Möglichkeit, die Wissensbasis sowohl manuell als auch automatisch zu erweitern. Die Wissenskomponente stellt eine direkte Verbindung zwischen dem User Interface und der Wissensbasis her. Über diesen Weg kann die Wissensbasis stetig mit neuen oder veränderten Informationen versorgt werden.

Als zweite Komponente gilt hier die Erklärungskomponente. Über diese werden dem Benutzer Auskünfte über die Lösungsfindung mitgeteilt, damit diese besser nachvollzogen werden können. Kurz ausgedrückt werden hier die Antworten auf die Benutzerfragen des Wie und warum gegeben bzw. übermittelt.

Was sind Anwendungsbeispiele in der Praxis?

Wissensbasierte Systeme können sehr flexibel eingesetzt werden und finden somit sowohl in der Überwachung, in der allgemeinen Planung, wie aber auch in der Dateninterpretation ihre Anwendung. Ein typisches Beispiel für den Einsatz wissensbasierter Systeme stellt darüber hinaus auch die medizinische Informatik dar. Hierbei werden besagte Systeme genutzt, um mithilfe von Patientendaten eine Problemlösung zu entwickeln. Dadurch kann eine Diagnose sowie mögliche Therapieform abgeleitet werden, die dann auf den Patienten angewendet wird.

Wie werden wissensbasierte Systeme in der Künstlichen Intelligenz genutzt?

Wissensbasierte Systeme sind Programme, die in der Künstlichen Intelligenz als Wissenschaftsdisziplin aufgeführt sind. Diese Programme nutzen anwendungsspezifisches Wissen, um verschiedene Lösungsansätze zu erarbeiten. Dabei wirken sie völlig eigenständig und getrennt vom Rest des Systems.

Die Aufgabe solcher Systeme besteht jedoch nicht nur darin, eine Verarbeitung der spezifischen Daten durchzuführen, sondern auch eine Beseitigung der oftmals schlecht strukturierten Wissensgebiete zu erzielen. Hierzu wird eine systematische Bestandsaufnahme durchgeführt, die mithilfe des zur Verfügung stehenden Fachwissens eine neue Struktur aufbaut. Auf diese Weise können Wissenslücken erkannt und gegebenenfalls geschlossen werden.

Diese neue Struktur kann anschließend zur Entwicklung neuer Theorien und Modelle genutzt werden. Durch dieses Prinzip können Lösungswege für die jeweiligen Aufgaben erstellt werden, die rein basierend auf dem anfangs zur Verfügung gestellten Fachwissen nicht hätten entstehen können. Solche Systeme sind in der Forschung der KI somit nicht nur als mögliche Hilfe für die Lösung von Problemen anzusehen, sondern bieten aufgrund ihres Aufbaus ganz neue technische Möglichkeiten. Die rechnerischen Fähigkeiten werden hier mit menschlichen Denkweisen kombiniert, welches zu ganz neuen Möglichkeiten und Lösungsansätzen führt.

Wissensmodellierung

Was ist Wissensmodellierung?

Wissensmodellierung befasst sich mit der Darstellung von Wissen in sowohl für den Menschen als auch für Maschinen interpretierbarer Form und kommt in wissensbasierten Systemen zur Anwendung. Sie ist ein Teilbereich des Wissensmanagements und der Künstlichen Intelligenz.

Um Wissen abbilden zu können, bedarf es mehrerer Schritte. Der erste ist die Wissensakquise, welche sich in explizites, eindeutig durch Sprache und Zeichen dargestelltes Wissen, und implizites Wissen, welches durch eine Aktion sichtbar wird, aufteilt. Im zweiten Schritt, der Wissensrepräsentation, müssen die erworbenen Kenntnisse formalisiert werden. Dies geschieht meist durch den Aufbau einer Wissensdatenbank oder neuen Verknüpfungen im Gehirn. In einem dritten Schritt werden Lösungsansätze für die Probleme gefunden, bevor es im vierten Schritt zur Darstellung des Wissens kommt.

Was sind praktische Beispiele für Wissensmodellierung?

Die Wissensmodellierung findet sich vor allem in der produzierenden Industrie Anwendung, die bereits stark auf maschinelles Lernen bauen. So wird dieses Modell in der Luftfahrt- und Automobilindustrie eingesetzt. Beide Zweige setzen dabei auf die Verarbeitung und Vermittlung von Informationen zur stetigen Optimierung von Prozessen und Produkten. Darunter fallen unter anderem der Design-, Fertigungs- und Innovationsprozess.

Unter Zuhilfenahme von wissensbasierter Systemtechnologie, dem knowledge-based engineering, werden neue Produkte schnell und effizient gefertigt und auf den Markt gebracht. Hierbei können die Firmen auf bereits bestehendes Wissen aus der Produktion zurückgreifen. Dies setzt natürlich ein sehr gutes Wissensmanagement und genaue Wissensmodellierung voraus.

Vieles von diesem Wissen ist allerdings implizit, das heißt, es liegt nicht in formalisierter Form vor und kann entsprechend nur schwer abgerufen und aktualisiert werden. Oft wird es auch stillschweigendes oder personengebundenes Wissen genannt. Hier kommt die Wissensmodellierung zum Einsatz. Mit ihrer Hilfe werden Wissensarten ausgewählt, die für bestimmte Prozesse benötigt werden.
Dazu wird durch verschiedene Verfahren und Methoden das Wissen strukturiert zusammengefasst und eine formalisierte Abbildung ermöglicht. Dadurch entsteht durch Computer und Maschinen ablauffähiges und abrufbares Wissen, das heißt die Wissensbasis. Diese erlaubt dann eine effiziente Umsetzung neuer Prozesse und Arbeitsabläufe.

Worteinbettung

Was ist Worteinbettung?

Die Worteinbettung stellt einen Zusammenhang her, zwischen einem oder mehreren eingegebenen Wörtern und dem Wörterbuch eines neuronalen Netzwerks. Der Begriff Worteinbettung enthält das Wort Einbettung, das seinen Ursprung in der Mathematik hat. – Vereinfacht formuliert, geht es dabei um eine Teilmenge einer größeren Menge. Als Teilbereich des Natural Language Processing (NLP) und des maschinellen Lernens wird diese Form der Abbildung für die Verarbeitung natürlicher Sprache verwendet.

Typische Anwendungsfälle für NLP, und damit auch die Worteinbettung, ist die maschinelle Übersetzung. – Das heißt, es geht um Übersetzer wie Google Translate oder DeepL Translate. Inwiefern Algorithmen Einfluss auf die Qualität des Outputs oder des übersetzten Textes haben, entscheiden die Verfahren, die im Algorithmus verwendet werden.

Welche Formen der Worteinbettung gibts es?

Das einfachste Prinzip des word embeddings ist der Bag-of-Words-Ansatz. In diesem Verfahren wird eine Menge von Wörtern festgelegt, wobei jedes Wort als eine natürliche Zahl dargestellt wird und die Reihenfolge keine Rolle spielt. Wörter können sich wiederholen; Wiederholungen werden gezählt. Ergänzt durch ein statistisches Klassifikationsverfahren kann damit bspw. bestimmt werden, ob eine E-Mail Spam ist oder nicht, indem die Häufigkeit expliziter Wörter analysiert wird.

Die Erweiterung des Bag-of-Words-Ansatzes, Word2Vec genannt, stellt jedes Wort als mehrdimensionalen Wert dar. Diese Darstellung lässt es zu, eine Nähe zu anderen Wörtern in einem dreidimensionalen Raum zu visualisieren. Somit können Zusammenhänge zwischen Wörtern erkannt und der künstlichen Intelligenz beigebracht werden. Das heißt, mithilfe von Word2Vec wird bspw. das am besten passende Wort (mit der höchsten Wahrscheinlichkeit das fehlende Wort zu sein) ermittelt und damit eine Lücke in einem Satz gefüllt. Durch die mehrdimensionale Vektordarstellung können dem neuronalen Netzwerk außerdem neue Wörter beigebracht werden. Dazu wird das fehlende Wort in einem Satz nicht gesucht; stattdessen werden zwei Alternativen angeboten, um die Lücke zu füllen. Das neuronale Netzwerk lernt die neuen Wörter dann anhand sogenannter Features kennen, was sich in der Einbettung im dreidimensionalen Raum bemerkbar macht.

Des Weiteren ist die kontextabhängige Worteinbettung ein wesentlicher Bestandteil des word embeddings. Dabei sollen die unterschiedlichen Bedeutungen von Homonymen erkannt und korrekt dargestellt werden. In der Praxis wird dieses Ziel durch den Long short-term memory (LSTM) realisiert. Dabei handelt es sich um ein Modul, welches ursprünglich die Entwicklung künstlicher Intelligenz verbessern sollte und auch tat. Doch auch der Long short-term memory (LSTM) stieß schnell an neue Grenzen. Neuronale Netze mit ähnlichen sprachliche Formen erfordern sogenannte Aufmerksamkeits-Mechanismen. Um diese parallel und infolgedessen schnell genug betreiben zu können, wurde 2018 Technik BERT veröffentlicht, die auf Transformer basierte. BERT wurde mithilfe der Next Sentence Prediction (NSP) trainiert und kann dank dieses Trainings nun in der Konsequenz auch kontextuelle Einbettungen erlernen.

Mit welchen Technologien wird word embedding umgesetzt?

Für das viel diskutierte Thema maschinelle Übersetzung und machine learning im Allgemeinen gibt es zahlreiche Libraries; dabei basieren die meisten davon auf Python, der bevorzugten Programmiersprache, wenn es um künstliche Intelligenz geht. Dafür gibt es verschiedene Gründe: Erstens ist Python als Hochsprache relativ einfach nachzuvollziehen und niedrigschwellig angelegt, zweitens gibt es neben den Libraries für maschinelles Lernen weitere nützliche Libraries und drittens ist Python sehr flexibel, was sich bspw. darin zeigt, dass der Code auf jeder Plattform ausführbar ist. Geht es um die konkrete Umsetzung, dann sollten zwei Libraries besonders in den Vordergrund gestellt werden: Keras dient als niedrigschwellige API, dank der Anwendungen unkompliziert bereitgestellt werden; als dahinter stehendes Backend bietet sich TensorFlow an, eine Library mit komplexer Architektur. Keras ist demnach lediglich eine Wrapper-Klasse für Backend-Libraries wie Theano, PlaidML oder MXNet.

Waymo

Waymo is a subsidiary of Alphabet Inc, Google’s parent company, which develops autonomous driving technology. It operates a commercial self-driving taxi service in the greater Phoenix, Arizona region, called Waymo One. The company has fully mapped the Chandler area in Arizona. Towards the end of the year 2020, the company went into public service and became the first commercial service to operate self-driving cars without requiring human drivers as a backup.

The company is also developing its technology for use by other vehicles that include delivery vans, logistics vehicles and class 8 tractor-trailers. It also has partnered with leading vehicle manufacturers that include Jaguar Land Rover, Fiat Chrysler, Nissan-Renault, Daimler-AG and Volvo.

Technology

Waymo uses a combination of chips and sensors along with cameras to improve car visibility. It also has wipers to clear the lidar system. „Much of the self-driving hardware used by the company is developed in-house. Part of the hardware included enhanced camera vision system, several sensors, laser-based lidar system and improved radar systems. The sensors are able to give the vehicle a 360-degree view of the objects around them.

On the other hand, lasers can detect objects that are up to 300 metres away. There are also short-range lasers that focus on items close to the vehicle, while the radar can track objects as they move. The interior of the car does not have a steering wheel but a few buttons that include pull over, help, lock and start ride.

Engineers at Waymo have created a simulator program called Carcraft. This program simulates the driving conditions to help its vehicles determine the optimum settings for different driving conditions. This software has helped the vehicles navigate various cities where the company has or intends to start its service. It boasts of over 6 billion miles travelled by the end of 2020.

Are Self-Driving Vehicles Safe?

So far, the self-driving cars have been involved in a few, non-fatal minor collisions. „Most of these accidents were caused by other vehicles flouting some rules or being at fault. Generally, the vehicles are safe to ride in. To show confidence in the technology, the company publishes regular reports on incidents on the road that involve their vehicles. It also keeps testing their technologies on harsher conditions such as winter roads, crowded locations and off-road conditions.

The company expects that self-driving technology will be the new norm in the future. It is a matter of time before the technology becomes available around the world.