Sie brauchen einen NLP Berater und/oder möchten, dass wir Ihnen unser Angebot in diesem Umfeld vorstellen?
Bitte hinterlassen Sie uns Ihren Namen und die Kontaktdaten. Dann melden wir uns bei Ihnen.
Natural Language Processing (NLP) ist eine Technologie, die Computern dabei hilft, die menschliche Sprache zu verarbeiten. Die Maschine steht dabei vor einer großen Herausforderung, weil Sprache immer situationsbedingt genutzt wird und eine Aussage je nach Kontext viele verschiedene Bedeutungen haben kann. NLP nutzt maschinelles Lernen und ist damit ein Teil von Künstlicher Intelligenz (KI).
Natural Language Processing ist ein Teilbereich von Künstlicher Intelligenz, welcher bereits in den 1950er-Jahren mit dem Turing-Test erste Ergebnisse messen konnte. Dort kommunizierte ein Mensch per Chat und wusste nicht, ob er mit einer Maschine oder einem anderen Menschen schreibt. Konnte er es auch danach nicht sagen, wurde die Maschine als intelligent eingestuft.
Auch in den Folgejahren gab es weitere Entwicklungen, bis letztendlich Machine Learning und Deep Learning in den 1980er-Jahren durch einen enormen Zuwachs der Rechenpower voranschritten. Heute kann die KI durch die Investitionen von großen Unternehmen (Google, Amazon, Microsoft etc.) bereits Schachweltmeister besiegen oder als persönlicher Sprachassistent – wie bei Alexa oder Siri – dienen. Vor allem bei letzterem kommt Natural Language Processing in großem Ausmaß zum Einsatz. Wenn Sie mehr über die Entwicklungsgeschichte von Künstlicher Intelligenz erfahren wollen, schauen Sie hier vorbei: mindsquare.de/historische-entwicklung-ki/.
Natural Language Processing befasst sich damit, die menschliche Sprache zu verstehen – und genau dort liegt das große Problem. Die Sprache ist nämlich sehr komplex und nicht immer eindeutig. Zusätzlich wird das Auswerten von menschlicher Sprache durch Dinge wie Redewendungen, Ironie oder Wortspiele zusätzlich enorm erschwert.
Es reicht nicht, dass der Computer einzelne Wörter erkennt. Entscheidend sind die Sätze und Zusammenhänge, die die Maschine verstehen muss. Der Mensch hat hierbei den Vorteil, dass er auf seine Lebenserfahrung zurückblicken kann und die Sprache quasi von Geburt an lernt. Daher ist Sprache für den Menschen leicht verständlich und einzuordnen. Der Computer hingegen muss mithilfe von Algorithmen diesen Status erst erlernen.
Die Regeln, nach denen die Sprache ausgewertet wird, können dabei unterschiedlich komplex sein. Beispielsweise ist es relativ einfach durch Wortendungen zu erkennen, ob es sich um Singular oder Plural eines Begriffs handelt. Schwierig wird es hingegen, wenn Sarkasmus verwendet wird, da dieser oftmals nur durch Betonung oder den Kontext deutlich wird.
Das Natural Language Processing bedient sich verschiedener Methoden von Machine Learning. Dazu zählen unter anderem supervised und unsupervised Learning. Durch diese beiden Modelle werden auf der Basis von Statistiken und Vektorraumanalysen Inhalt und Struktur von gesprochener Sprache erkannt. Das heißt, das Lernen der KI kann einerseits durch überwachtes Lernen durchgeführt werden, also mit einem bereits bekannten Ergebnis, um Gesetzmäßigkeiten nachzubilden. Es ist aber andererseits auch möglich, durch unüberwachtes Lernen ohne bekanntes Ergebnis zu arbeiten, bei dem die KI selbst Eingabemuster erkennt. Zum besten Ergebnis führt in den meisten Fällen eine Mischung aus beiden Vorgehensweisen.
Grundsätzlich lässt sich der Prozess in 2 Phasen unterteilen: Die Datenverarbeitung und die Textanalyse. Es beginnt mit der Datenbereitstellung, die erfolgt, indem ein Text vorliegt, der aus mehreren Sätzen besteht. Dieser wird dann in seine einzelnen Teile zerlegt, sodass die einzelnen Wörter für sich stehen und bereits Wortgruppen gebildet werden. Diese Unterteilung nennt man auch Tokenisierung, da der Satz in einzelne Tokens aufgeteilt wird. Im nächsten Schritt der Datenvorbereitung werden die Token dann mit Attributen oder Labels versehen. Das heißt beispielsweise, dass alle Wörter in Nomen, Verben, Adverben etc. aufgeteilt werden.
Nach dieser Aufteilung folgt dann die Textanalyse, also die syntaktische Analyse des Textes. Es wird festgestellt, wie die Bezüge der einzelnen Wörter zueinander sind. Wie der Name schon sagt, wird also der grammatikalische Sinn eines Satzes ermittelt. Als letzter Schritt wird dann eine semantische Analyse vorgenommen, was zum schwierigsten Teil beim NLP gehört. Hier geht es darum, dass der Computer durch Algorithmen den Sinn von Wörtern versteht und Sätze interpretiert. Darunter fällt auch, Entitäten – also Eigennamen von Personen, Orten oder Plätzen – zu erkennen. Das funktioniert durch die sogenannte Named-entity recognition (NER).
Für die Umsetzung gibt es verschiedene Tools und Bibliotheken, die verschiedene Programmiersprachen unterstützen. Eine sehr beliebte NLP-Bibliothek ist das Natural Language Toolkit (NLTK), welche auf der Programmiersprache Python basiert. Es dient als guter Einstieg in Natural Language Processing und ist aufgrund der simplen Programmiersprache leicht zu bedienen. Es ist vor allem für die Bereiche Industrie, Forschung und Bildung geeignet, weil es eine Vielzahl von verschiedenen Algorithmen unterstützt. Das NLTK unterstützt die Tokenisierung, Named-entity recognition und das Stemming, bei dem Wörter auf ihren Wortstamm zurückgeführt werden.
Eine Alternative dazu bietet die NLP-Bibliothek spaCy, die sich ebenfalls hoher Beliebtheit erfreut und auf der Programmiersprache Python basiert. spaCy ist quasi der nächste Schritt vom NLTK und lässt sich für komplexere Fälle nutzen. Außerdem ist es schneller und präziser als das NLTK. Zwar unterstützt es weniger verschiedene Algorithmen, allerdings verfügt es über die größte Vielzahl an europäischen Sprachen und die Zahl steigt stetig.
Für eine Java-basierte NLP-Bibliothek eignet sich vor allem CoreNLP, welches von der University of Stanford entwickelt wurde. Ähnlich wie die NTLK ist CoreNLP für sehr viele verschiedene Bereiche anwendbar. Allerdings können damit eine höhere Anzahl an Daten verarbeitet und komplexere Probleme gelöst werden. Ein Nachteil ist, dass nur wenige Sprachen unterstützt werden, Deutsch zählt allerdings dazu. CoreNLP ist vor allem für den Bereich Social Media und Chatbots geeignet.
Ein Unternehmen, das Natural Language Processing sehr ausgiebig einsetzt, ist Google. Das bekannteste Beispiel ist wohl die klassische Funktion des Google Übersetzers. Zu Beginn wurde diese Funktion noch belächelt. Zwar konnten einzelne Wörter bereits gut übersetzt werden, Sätze und Zusammenhänge ergaben allerdings oft keinen Sinn, da die KI noch nicht weit genug entwickelt war. Heutzutage ist das Programm in der Lage, ganze Texte weitgehend fehlerfrei zu übersetzen und selbst gesprochene Sprache in verschiedenen Sprachen zu verarbeiten.
Doch auch für nicht direkt erkennbare Prozesse nutzt Google NLP. So hat das Unternehmen den Algorithmus „RankBrain“ entwickelt, der Suchanfragen einordnen soll. Bei Google gehen täglich mehrere Milliarden Suchanfragen ein. Etwa 15 Prozent davon sind neu und müssen daher eingeordnet sowie beantwortet werden. „RankBrain“ ist dabei der drittwichtigste Faktor im Ranking einer Suche. Dadurch wird das Ergebnis der einzelnen Suchanfragen optimiert. Das System entwickelt sich durch den Prozess des maschinellen Lernens ebenfalls immer weiter.
In unserem E-Book erfahren Sie die wichtigsten Inhalte rund um das Thema künstliche Intelligenz & wie Sie davon profitieren können!
Ein weiteres praktisches Beispiel, mit dem man häufig in direkte Verbindung tritt, sind Chatbots, die sich auf Internetseiten bereits vollautomatisiert mit Kunden unterhalten. Zum Beispiel bietet Facebook für Unternehmensseiten eine solche Funktion an. Manche Unternehmen haben aber auch auf der eigenen Webseite den First Level Support so eingerichtet, dass Anfragen in einem Chatfenster über einen Chatbot laufen. Diese können übliche Fragen direkt beantworten und müssen den Anwender nur in Ausnahmefällen an einen menschlichen Agenten verweisen.
Als letztes Beispiel sind hier nochmal die heute allgegenwärtigen Sprachassistenten zu nennen: Siri von Apple, Alexa von Amazon und Cortana von Microsoft sind die prominentesten Beispiele. Sie alle nutzen Natural Language Processing, um die eingesprochene Sprache auszuwerten und mittels Text-To-Speech-Verfahren passende Antworten zu formulieren. Das führt inzwischen so weit, dass man sich mit den Geräten unterhalten kann und die Dienste zu persönlichen Assistenten im Alltag werden.
Natural Language Processing ist also eine Technologie, die beim Verständnis von menschlicher Sprache hilft. Es geht dabei sowohl um die syntaktische als auch um die semantische Analyse von Texten. Das geschieht, indem ein Text in seine Einzelteile zerlegt und daraus Zusammenhänge erkannt werden. Es gibt verschiedene Tools mit unterschiedlichen Eigenschaften, die bei der Umsetzung helfen. Für den Nutzer ist das vor allem bei Google sichtbar, die NLP beim Übersetzer und bei der Einordnung von Suchanfragen nutzen.
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen:
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen:
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen:
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen: