NLU - Natural Language Understanding mit PyTorch und Fastai
Wie du mit künstlicher Intelligenz Texte und Sprache automatisch verstehen und analysieren kannst.
Description
Natural Language Understanding (die Verarbeitung natürlicher Sprache) ist ein Teilbereich der künstlichen Intelligenz (Artificial Intelligence), der darauf aufbaut, menschliche Sprache zu verstehen und zu manipulieren.
Die Techniken aus NLU (Natural Language Understanding) bzw. NLP (Natural Language Processing) zielen darauf ab, die Lücken zwischen menschlicher Kommunikation und den Sprachverarbeitungsfähigkeiten von Computersystemen zu schließen. Dafür setzt man eine große Anzahl verschiedener Disziplinen ein, wie unter anderem Informatik oder auch Linguistik.
Diesen Kurs solltest du buchen, wenn du:
selbst Texte automatisiert analysieren möchtest
Systeme mit künstlicher Intelligenz entwickeln möchtest, die Texte klassifizieren können
endlich verstehen willst, was sich hinter den Bezeichnungen LSTM (Long Short Term Memory) und auch RNN (Recurrent Neural Networks) verbirgt
selbst erkennen willst, was es bedeutet, wenn die Gradienten eines neuronalen Netzes explodieren (exploding gradients) oder verschwinden (vanishing gradients).
einen Klassifizierer für Bewertungen von Kinofilmen implementieren möchtest, der selbständig positive von negativen Reviews unterscheiden kann.
Weitere Themen, die wir in diesem Kurs betrachten werden sind:
Tokenization, Numericalisation, Backpropagation in Time (bppt), Sub Batches, Multilayer RNNs, u.v.m.
Die Verarbeitung natürlicher Sprache ist eine Technologie, die sich in den letzten Jahren aufgrund von immer größeren Datenmengen und höheren Rechenleistungen, enorm weiterentwickelt hat. Anwendungsgebiete für NLU (Natural Language Understanding) sind Analyse und Klassifizierung von Texten (automatische Bewertung von Produkt-Reviews), automatisierte Übersetzung von einer Sprache in eine andere (machine translation). Denn Menschen kommunizieren (schriftlich, wie mündlich) in unterschiedlichen Sprachen. Mithilfe von automatisierten Übersetzungen (machine translation) verringern die Grenzen zwischen Menschen. Doch auch hinsichtlich der Kommunikation zwischen Computersystemen und Menschen ist ein großer Anwendungsbereich von natural language understanding. Die Sprache der Computer ist Maschinencode oder Maschinensprache - für die allermeisten der Menschen beinahe unverständlich. Doch auf der untersten Schicht besteht Kommunikation zwischen Computersystemen nicht aus Worten, sondern nur auf binären Werten (also 0 oder 1). Aus diesem Muster werden logische Aktivitäten abgeleitet.
Aus diesem Grund muss Sprache auch in diese Binärsprache übersetzt werden. Ein Computer kann sprachliche Befehle, "Alexa, sag mir wie das Wetter morgen wird" nicht direkt verstehen. So ein Befehl muss in die Sprache der Computer übersetzt werden. Dies funktioniert aber nicht mithilfe von einzelnen Anwendungen. Solche Sprachbefehle und Sprachsteuerungen gibt schon seit Jahrzehnten, doch diese mussten ganz genau auf das System abgestimmt werden. Erst der Einsatz von deep learning Technologien (neuronale Netze) ermöglichte Computersystemen mithilfe von künstlicher Intelligenz, tatsächlich sprachliche Befehle von unterschiedlichen Sprechern zu verstehen.
Dafür ist es jedoch erforderlich, dass aus solchen sprachlichen Befehlen zuerst die Struktur der Sprache herausgelöst wird. Was ist die gewünschte Handlung? Wer ist der Adressat der geplanten Handlung? Künstliche Intelligenz und Machine Learning hat es mit Techniken aus Natural Language Understanding ermöglicht, diese Strukturanalyse innerhalb von wenigen Sekunden durchzuführen und die dafür erforderliche Handlung in Maschinencode umzuwandeln.
Warum ist NLP / NLU ein so wichtige Disziplin im Bereich der künstlichen Intelligenz so wichtig?
Erst die Anwendung von NLP / NLU Techniken versetzen Computer in die Lage, interaktiv mit menschlichen Anwendern in deren Sprache zu kommunizieren. So können Computer durch Natural Language Processing Texte lesen und generieren, gesprochene Sprach interpretieren, ein Sentiment über einen Text berechnen, Texte automatisiert zusammenfassen.
Textverarbeitung mittels Natural Language Understanding ist deshalb eine derart wichtige Disziplin innerhalb von künstlicher Intelligenz, weil unstrukturierte Daten in Form von Text inzwischen global die größte Datenmenge repräsentiert. Im Bereich NLU sind Systeme künstlicher Intelligenz inzwischen in der Lage, selbständig Informationen zu korrekter Rechtschreibung, Grammatik und Syntaxregeln aus diesen unstrukturierten Informationen zu extrahieren. Hier kann Natural Language Understanding von unsupervised und semi-supervised learning Techniken profitieren.
Anwendungsgebiete für Natural Language Understanding
Themenerfassung und Themenmodellierung: Künstliche Intelligenz kann die Kernaussage von Texten zusammenfassen und extrahieren und so die unstrukturierten Texte in Gruppen zusammenfassen.
Kontextuelle Analyse: Aus unstrukturiertem Text wird mithilfe künstlicher Intelligenz die innere Struktur eines Textes erfasst.
Kategorisierung von Inhalt: Unstrukturierte Texte werden mithilfe künstlicher Intelligenz klassifiziert und bestimmten Kategorien zugewiesen - ähnlich wie die Klassifizierung von Bildern.
Speech-to-Text und Text-to-Speech: Konvertierung von gesprochenem Wort zu schriftlichen Text und umgekehrt - mithilfe künstlicher Intelligenz
Machinelle Übersetzung (machine translation): Ein KI-System kann so auch in Echtzeit gesprochenes Wort oder Text von einer Sprache in eine anderen übersetzen.
Zusammenfassung von Texten: Mithilfe von Natural Language Processing können Kernphrasen oder Sätze aus Texten extrahiert werden, aber auch automatisch neue Zusammenfassungen in einer bestimmten Länge auf Basis von bestehenden Dokumenten generiert werden.
Natural Language Understanding im Alltagskontext
Die Techniken von Natural Language Understanding finden wir bereits in einer Vielzahl von Anwendungen und Situationen im täglichen Umgang mit Computern.
Die Textinhalte von E-Mails werden mithilfe von Bayesschen Spam Filtern analysiert und klassifiziert. - Ist Ihnen auch schon aufgefallen, dass die Anzahl an zugestellten Spam-Mails in den vergangenen Jahren zurückgegangen ist? Ein Triumph von Natural Language Understanding Einsatz.
Sie können sich Sprachnachrichten von Ihrer Mobilbox direkt als Textnachricht oder E-Mail zusenden lassen. Hier ist NLU aus diem Bereich Speech-to-Text im Einsatz.
Wurden Sie auf einer Webseite bei der Navigation automatisch unterstützt, indem relevante Inhalte automatisch vorgeschlagen wurden? Ja, mithilfe von Natural Language Understanding wurden die Themen und Inhalte automatisch extrahiert und mit den von Ihnen bereits angesehenen Dokumenten abgeglichen.
Das korrekte Verständnis für Sprache und Texte ist also nicht nur für den menschlichen Anwender ein wichtiges Element zur erfolgreichen Kommunikation. Natural Language Understanding (NLU) bzw. Natural Language Processing (NLP). Die Techniken von NLU gehen über das reine Verständnis der Struktur von Sprache hinaus, es sollen Mehrdeutigkeiten aufgelöst werden, Wörter in den gesamten Kontext gesetzt werden. Künstliche Intelligenz auf Basis von NLU-Algorithmen bearbeiten außerordentlich komplexe Themenstellungen wie semantische Interpretation von Text, die beabsichtigte Bedeutung vom geschriebenem oder gesprochenem Wort. NLU ermöglicht das Erkennen von kontextabhängiger Interpretation von Dokumenten und Rückschlüssen, wie wir die sprachliche Artikulation von Menschen verstehen können.
Die Weiterentwicklung von NLP zu NLU hat bereits eine Menge an positiven Effekten für Verbraucher und Unternehmen gebracht. Ein Algorithmus auf Basis künstlicher Intelligenz, die in der Lage ist, Nuancen und Bedeutungen der Intonation menschlicher Sprache in verschiedensten Bereichen wie Medizin, Rechtswesen, Bildung, Technik, etc. verstehen und interpretieren kann bringt enorme Fortschritte hinsichtlich der Mensch-Maschine-Kommunikation mit sich. Vor allem auch deshalb, weil unstrukturierte Texte inzwischen die größte Menge an Daten weltweit darstellen und weiter exponentiell wachsen.
Mit Natural Language Understanding haben wir ein Werkzeug an der Hand, diese riesige Datenmenge sinnvoll zu analysieren und für unsere Anwendungen künstlicher Intelligenz zu nutzen.
What You Will Learn!
- Lerne, wie künstliche Intelligenz eingesetzt werden kann, um Text zu verstehen
- Wie kann ein neuronales Netz Texte verstehen?
- Wie kannst du mithilfe von deep learning ein Sprachmodell aufbauen?
- Implementiere RNNs (Recurrent Neural Networks) mit PyTorch und fastai
- Programmiere Multi-Layer Recurrent Neural Networks und optimiere so dein RNN Netzwerk
- Programmiere LSTMs (Long Short Term Memory Cells) mit PyTorch und fastai
- Lerne, wie du mit einem neuronale Netz Texte generieren lassen kannst!
- Lerne, was Tokenization bedeutet und warum du dieses Konzept für NLP verstehen solltest
- Lerne, was Vanishing Gradients bedeutet und wie du das Problem beheben kannst
- Programmiere dein eigenes Sprachmodell für Deutsch auf Basis von Wikipediatexten
- Erstellen deinen eigenen Klassifizierer für deutsche Twitter Postings
Who Should Attend!
- Python-Entwickler
- Entwickler, die Systeme zur automatisierten Verarbeitung von geschriebenem Text programmieren wollen