Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Was ist natürliche Sprachverarbeitung?

Viele von euch arbeiten täglich mit numerischen Daten, entweder in einem Tabellenkalkulationsprogramm wie Microsoft Excel oder in einer Programmierumgebung wie Jupyter Notebook. Wenn du mit Zahlen arbeitest, überlässt du das Rechnen dem Computer. Es gibt fast keinen Grund, warum du das nicht tun solltest.

Computer sind schnell und präzise beim Rechnen, während das menschliche Gehirn sich leicht verzettelt. Wenn man ihn bittet, 24 × 36 × 48 zu berechnen, würde er keine Sekunde zögern, einen Taschenrechner oder einen Computer zu zücken und die Maschinen die schwere Arbeit machen zu lassen.

Aber wenn es um die Analyse von Textdaten geht, waren die mächtigen Zahlenmaschinen historisch gesehen nicht so gut. Menschen benutzen Computer, um Zahlen zu berechnen, aber sie verlassen sich auf das menschliche Gehirn, um Dokumente mit Text zu analysieren. Bisher hat diese Unfähigkeit, mit Text zu arbeiten, den Umfang der Arbeit, die Maschinen erledigen können, eingeschränkt.

Das wird sich bald ändern. In vielerlei Hinsicht ist dieser Wandel bereits in vollem Gange. Maschinen sind heute in der Lage, Texte und Audiosignale auf eine Weise zu verarbeiten, die die meisten Menschen noch vor zwei Jahrzehnten für magisch gehalten hätten.

Überleg mal, wie sehr du dich auf Computer verlässt, um Textdaten in deiner täglichen Umgebung zu analysieren und zu verstehen. Hier sind einige Beispiele:

Google-Suche

Durchsuche das gesamte Web und zeige relevante Suchergebnisse an.

Google Gmail

Vervollständige automatisch Sätze, während du E-Mails schreibst.

Google Translate

Konvertiere Text und Audio von einer Sprache in eine andere.

Amazon Alexa, Apple Siri, Google Assistant, Microsoft Cortana

Gib Sprachbefehle und steuere deine Haushaltsgeräte.

Kundenservice Chatbots

Stelle kontobezogene Fragen und erhalte (meist vernünftige) Antworten.

Diese Technologien haben sich so allmählich und nahtlos in unser tägliches Leben eingefügt, dass wir fast vergessen, wie sehr wir sie tagtäglich nutzen. Die Geschichte der Maschinen, die mit Textdaten arbeiten können, fängt gerade erst an. In den letzten Jahren hat es auf diesem Gebiet dramatische Fortschritte gegeben, und mit der Zeit werden Computer immer mehr Aufgaben übernehmen, zu denen früher nur Menschen in der Lage waren.

Warum sollte ich dieses Buch lesen?

Die Verarbeitung natürlicher Sprache (NLP) ist heute eines der heißesten Themen der KI. Nachdem NLP jahrelang hinter anderen Deep-Learning-Feldern wie Computer Vision zurückgeblieben ist, hat es erst kürzlich an Popularität gewonnen. Obwohl Google, Facebook und OpenAI große vortrainierte Sprachmodelle zur Verfügung gestellt haben, um NLP zu vereinfachen, tun sich viele Unternehmen immer noch schwer mit der Entwicklung und Produktion von NLP-Anwendungen. Dieser praktische Leitfaden hilft dir, das Feld schnell zu erlernen.

Was muss ich bereits wissen?

Dieses Buch ist nicht für absolute Anfänger geeignet. Wir gehen davon aus, dass du dich bereits ein wenig mit maschinellem Lernen auskennst und dass du Python und Bibliotheken wie NumPy, pandas und matplotlib bereits verwendet hast.

Mehr über Python erfährst du auf der offiziellen Python-Website und mehr über Jupyter Notebook auf der offiziellen Jupyter-Website. Zur Auffrischung der Kenntnisse in Kalkül, linearer Algebra, Wahrscheinlichkeitsrechnung und Statistik auf College-Niveau, lies Teil I des Lehrbuchs Deep Learning (MIT Press) von Ian Goodfellow, Yoshua Bengio und Aaron Courville. Wenn du dein Wissen über maschinelles Lernen auffrischen möchtest, lies The Elements of Statistical Learning (Springer) von Jerome H. Friedman, Robert Tibshirani und Trevor Hastie.

Worum geht es in diesem Buch?

Wenn du über ein grundlegendes bis mittleres Verständnis von maschinellem Lernen und Programmiererfahrung mit Python verfügst, wirst du lernen, wie du NLP-Anwendungen in deinem Unternehmen erstellen und einsetzen kannst.

Wir führen dich durch den Prozess, ohne dich in der Theorie zu verzetteln.

Nachdem du dieses Buch gelesen und selbst geübt hast, solltest du in der Lage sein, Folgendes zu tun:

  • Verstehe, wie moderne NLP-Modelle funktionieren.

  • Lerne das Handwerkszeug, einschließlich der derzeit beliebtesten Frameworks.

  • Führe NLP-Aufgaben wie Textklassifizierung, semantische Suche undLeseverstehen durch.

  • Löse Probleme mit neuen transformatorischen Modellen und Techniken wie dem Transferlernen.

  • Entwickle NLP-Modelle mit vergleichbarer oder besserer Leistung als Standard-Systeme.

  • Modelle in die Produktion einführen und ihre Leistung überwachen und pflegen

  • Implementiere eine Reihe von NLP-Algorithmen mit Python und PyTorch.

Das Ziel unseres Buches ist es, die Konzepte und Werkzeuge zu beschreiben, die du brauchst, um die nötige Intuition zu entwickeln, um diese Technologie auf alltägliche Probleme anzuwenden, an denen du arbeitest. Mit anderen Worten: Dies ist ein Buch für die Praxis, das es dir ermöglicht, reale Anwendungen zu entwickeln. Dieses Buch wird nicht alle für NLP relevanten Theorien enthalten, und du wirst dein Wissen in diesem Bereich mit der Zeit durch andere Quellen ergänzen müssen, aber wir werden dir einen guten Einstieg in dieses Gebiet ermöglichen.

Das Buch wird einen praktischen Ansatz verfolgen, der zwar einige theoretische Grundlagen vermittelt, sich aber vor allem auf die Anwendung von Techniken der natürlichen Sprache zur Lösung von realen Problemen konzentriert. Die Datensätze und der Code sind online als Jupyter Notebooks auf unserem GitHub-Repositorium verfügbar.

Wie ist dieses Buch gegliedert?

Dieses Buch ist in drei Teile gegliedert.

Teil I (Kapitel1-3)

Diese Kapitel bieten einen umfassenden Überblick über NLP, einschließlich der Geschichte von NLP, der beliebtesten Anwendungen in diesem Bereich und der Verwendung von vortrainierten Modellen, um Transfer Learning durchzuführen und reale Probleme schnell zu lösen.

Teil II (Kapitel 4-8)

In diesen Kapiteln tauchen wir in die Low-Level-Details des NLP ein, wie z. B. die Vorverarbeitung von Text, Tokenisierung und Worteinbettung. Diese Themen sind zwar nicht besonders spannend, aber dennoch grundlegend für das NLP. Dann erforschen wir die effektivsten Modellierungsansätze im NLP, wie Transformatoren, Aufmerksamkeitsmechanismen, rekurrente neuronale Netze, das Langzeitgedächtnis (LSTM) und gated recurrent units (GRUs). Schließlich fassen wir alles zusammen, um das Jahr des Wendepunkts im NLP zu präsentieren - den sogenannten ImageNet-Moment im Jahr 2018, als große, vortrainierte Sprachmodelle frühere Leistungsrekorde brachen und sowohl für Forscher/innen als auch für angewandte Ingenieur/innen allgemein verfügbar wurden.

Teil III (Kapitel 9-11)

Hier geht es um den wichtigsten Aspekt des angewandten NLP - wie man die entwickelten Modelle in die Praxis umsetzt, damit sie für Unternehmen einen greifbaren Nutzen bringen. Wir besprechen die Landschaft der heute verfügbaren Tools und teilen unsere Meinung dazu. Wir gehen auch auf spezielle Themen ein, die streng genommen nichts mit NLP zu tun haben, sich aber auf die Produktion von NLP-Modellen auswirken können.

Wir werden zwar nicht alle NLP-Themen in diesem Buch behandeln können, auch nicht die fortgeschrittenen Themen für erfahrene Veteranen, aber wir werden unsere Community weiterhin mit neuem und aktualisiertem Material (einschließlich Code) online über unsere offizielle Buch-Website und GitHub unterstützen. Bitte halte dich auf dem Laufenden, wenn du dieses Buch gelesen hast!

Am Rande sei erwähnt, dass dieses Buch komplett in Jupyter Notebooks geschrieben wurde. Du findest den Code für dieses Buch in unserem GitHub-Repository. Wir empfehlen dir, die Experimente in den Notebooks während des Lesens durchzuführen, um dich mit der Umsetzung der vorgestellten Ideen in echten Code vertraut zu machen (aber auch, weil wir einige Ergebnisse in diesem Buch aus Platzgründen weggelassen haben).

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Tipp

Dieses Element steht für einen Tipp oder eine Anregung.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.

Code-Beispiele verwenden

Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/nlpbook/nlpbook zum Download bereit .

Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eineGenehmigung erforderlich.

Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Ein Beispiel: "Applied Natural Language Processing in the Enterprise " von Ankur A. Patel und Ajay Uppili Arasanipalai (O'Reilly). Copyright 2021 Human AI Collaboration, Inc. und Taukren, LLC, 978-1-492-06257-8."

Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter kontaktieren

O'Reilly Online Learning

Hinweis

Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.

Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel, Konferenzen und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen findest du unter http://oreilly.com.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Nord
  • Sebastopol, CA 95472
  • 800-998-9938 (in den Vereinigten Staaten oder Kanada)
  • 707-829-0515 (international oder lokal)
  • 707-829-0104 (Fax)

Du kannst die Webseite zu diesem Buch, auf der wir Errata und zusätzliche Informationen auflisten, unter https://oreil.ly/Applied_NLP_in_the_Enterprise aufrufen .

Schreib eine E-Mail an , um Kommentare oder technische Fragen zu diesem Buch zu stellen.

Neuigkeiten und weitere Informationen zu unseren Büchern und Kursen findest du auf unserer Website unter http://www.oreilly.com.

Finde uns auf Facebook: http://facebook.com/oreilly

Folge uns auf Twitter: http://twitter.com/oreillymedia

Schau uns auf YouTube: http://youtube.com/oreillymedia

Danksagungen

Wir möchten dem gesamten Team von O'Reilly dafür danken, dass es dieses Projekt möglich gemacht hat, angefangen bei Jonathan Hassell, der sich für dieses Buch eingesetzt und im Sommer 2019 grünes Licht gegeben hat. Ein großes Lob geht auch an unsere Lektorin Melissa Potter. Sie hat uns geholfen, den Zeitplan für 2020 einzuhalten, trotz aller Herausforderungen der COVID-19.

Ein großes Dankeschön an Jeremy Howard, der uns schon früh wertvolle Ratschläge gegeben und den Quellcode von FastDoc zur Verfügung gestellt hat, einem unglaublichen Tool zur Konvertierung von Jupyter Notebooks in AsciiDoc, das wir während des gesamten Entwicklungsprozesses verwendet haben. Seine Arbeit mit Rachel Thomas, Sylvain Gugger, Zach Mueller, Hamel Husain und vielen fastai-Mitarbeitern, um Deep Learning zugänglich und praktikabel zu machen, war eine große Quelle der Inspiration für dieses Buch.

Unsere Redakteurin Deborah Baker und die Content Services Managerin Kristen Brown haben mit der Hilfe von Kim Cofer, David Futato, Karen Montgomery, Kate Dullea und den Teams von Piper Editorial Consulting, LLC, und nSight, Inc. dem Buch den letzten Schliff gegeben. Sie haben den letzten Abschnitt des Schreibprozesses zu einem Kinderspiel gemacht.

Ein besonderer Dank geht an Artiom Tarasiuk, Victor Borges und Benjamin Muskalla, die unzählige Stunden damit verbracht haben, das Buch zu lesen und zu überprüfen und uns dabei kritisches Feedback gegeben haben. Wir sind so dankbar für ihre Freundschaft und Großzügigkeit, die dieses Projekt zu dem gemacht haben, was es heute ist.

Ajay

Zuallererst möchte ich meinen Eltern, Uppili und Hema, danken, die unermüdlich gearbeitet haben, um mich durch eine wütende Pandemie zu unterstützen, und meiner Schwester Anika, auf die ich die größten Hoffnungen setze.

Es gibt viele andere, denen ich unermesslich viel zu verdanken habe. Gayathri Srinivasan, der mir vor all den Jahren als Mentor zur Seite stand und der so freundlich war, einem zufälligen Highschool-Schüler Zugang zu einem Supercomputer zu gewähren, der mich erstmals auf die Idee brachte, dass Maschinen lernen können. Ganesan Narayanaswamy, für seine Großzügigkeit bei der Bereitstellung der Rechenressourcen und der Infrastruktur, die ich für meine Forschung über die OpenPOWER Foundation benötige. Diganta Misra, Trikay Nalamada, Himanshu Arora und meinen anderen Mitarbeitern bei Landskape, die unzählige Stunden damit verbracht haben, Experimente durchzuführen und nachts um 2 Uhr mit mir über Aufmerksamkeitsmechanismen zu diskutieren, nur weil sie die Leidenschaft für Deep Learning teilen und einen Beitrag für die Forschungsgemeinschaft leisten wollten. Ihre Ermutigung und ihr Enthusiasmus für das Buch und meine Arbeit im Allgemeinen waren ungemein wertvoll.

Ankur

Ich bin so glücklich, Teil einer unglaublich großzügigen und unterstützenden Familie zu sein, der ich alles zu verdanken habe. Ich möchte meinen Eltern Amrat und Ila dafür danken, dass sie über die Jahre hinweg Opfer gebracht und in mich und meine Ausbildung investiert haben; ohne sie wäre ich nicht hier und würde nicht tun, was ich heute tue. Ich möchte meiner Schwester Bhavini und meinem Bruder Jigar dafür danken, dass sie sich immer für mich eingesetzt haben. Und ich bin meiner wunderbaren Freundin Maria Koval und unserem Golden Retriever Brody sehr dankbar, die beide geduldig viele lange Nächte und Wochenenden mit Schreiben und Programmieren ertragen haben. Ich danke euch!

Ich möchte auch meinen Mitbegründern von Glean, Howard Katzenberg und Alexander Jia, und meinem guten Freund und Mitbegründer von Mellow, Nate Collins, für ihre unglaubliche Geduld und Unterstützung während des gesamten Schreibprozesses danken. Ich kann mich wirklich glücklich schätzen, so tolle Freunde und Kollegen zu haben - sie bringen jeden Tag Glück in mein Leben.

Get Angewandte natürliche Sprachverarbeitung im Unternehmen now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.