Natural Language Processing mit PyTorch

Book description

Sprachanwendungen wie Amazon Alexa und Google Translate sind heute allgegenwärtig. Grundlage dafür ist das Natural Language Processing (NLP), das zahllose Möglichkeiten für die Entwicklung intelligenter, Deep-Learning-basierter Anwendungen eröffnet. In diesem Buch lernen Sie die neuesten Techniken zur Verarbeitung von Sprache kennen und nutzen dabei das neue, flexible Deep-Learning-Framework PyTorch.

Die Autoren vermitteln Ihnen einen Überblick über NLP-Methoden und Grundkonzepte neuronaler Netze und demonstrieren Ihnen dann, wie Sie Sprachanwendungen mit PyTorch entwickeln. Sie erfahren z.B., wie Sie Einbettungen verwenden, um Wörter, Sätze und Dokumente darzustellen, wie sich Sequenzdaten mit RNNs modellieren und Sequenzvoraussagen und Sequenz-zu-Sequenz-Modelle generieren lassen, und Sie lernen Entwurfsmuster für den Aufbau von produktionsreifen NLP-Systemen kennen.

Table of contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Vorwort
  6. 1 Einführung
    1. Das Paradigma des überwachten Lernens
    2. Beobachtung und Zielcodierung
    3. 1-aus-n-Darstellung
    4. TF-Darstellung
    5. TF-IDF-Darstellung
    6. Zielcodierung
    7. Berechnungsgraphen
    8. Grundlagen von PyTorch
    9. PyTorch installieren
    10. Tensoren erstellen
    11. Typ und Größe von Tensoren
    12. Tensor-Operationen
    13. Indizieren, Slicing und Verknüpfen
    14. Tensoren und Berechnungsgraphen
    15. CUDA-Tensoren
    16. Übungen
    17. Lösungen
    18. Zusammenfassung
    19. Literaturhinweise
  7. 2 Kurzer Abriss des traditionellen NLP
    1. Korpora, Token und Typen
    2. Monogramme, Bigramme, Trigramme, …, N-Gramme
    3. Lemmas und Stämme
    4. Sätze und Dokumente kategorisieren
    5. Wörter kategorisieren: POS-Tagging
    6. Spannen kategorisieren: Phrasenerkennung und Eigennamenerkennung
    7. Struktur von Sätzen
    8. Wortbedeutungen und Semantik
    9. Zusammenfassung
    10. Literaturhinweise
  8. 3 Grundlegende Komponenten von neuronalen Netzen
    1. Das Perzeptron: Das einfachste neuronale Netz
    2. Aktivierungsfunktionen
    3. Sigmoid
    4. Tanh
    5. ReLU
    6. Softmax
    7. Verlustfunktionen
    8. Mittlere quadratische Abweichung
    9. Kategorischer Kreuzentropie-Verlust
    10. Binärer Kreuzentropie-Verlust
    11. Überwachtes Training unter der Lupe
    12. Die Spielzeugdaten konstruieren
    13. Gradientenbasiertes überwachtes Lernen
    14. Unterstützende Trainingskonzepte
    15. Modellperformance richtig messen: Bewertungskennzahlen
    16. Modellperformance richtig messen: das Dataset aufteilen
    17. Feststellen, wann das Training beendet werden sollte
    18. Die richtigen Hyperparameter finden
    19. Regularisierung
    20. Beispiel: Stimmungen von Restaurantbewertungen klassifizieren
    21. Das Yelp-Dataset für Bewertungen
    22. Die Dataset-Darstellung von PyTorch verstehen
    23. Vocabulary, Vectorizer und DataLoader
    24. Ein Perzeptron-Klassifizierer
    25. Die Trainingsroutine
    26. Bewertung, Inferenz und Inspektion
    27. Zusammenfassung
    28. Literaturhinweise
  9. 4 Feedforward-Netze für NLP
    1. Das Multilayer-Perzeptron
    2. Ein einfaches Beispiel: XOR
    3. MLPs in PyTorch implementieren
    4. Beispiel: Nachnamen mit einem MLP klassifizieren
    5. Das Nachnamen-Dataset
    6. Vocabulary, Vectorizer und DataLoader
    7. Das SurnameClassifier-Modell
    8. Die Trainingsroutine
    9. Modellauswertung und Vorhersage
    10. MLPs regularisieren: Gewichtsregularisierung und strukturelle Regularisierung (oder Dropout)
    11. CNNs
    12. CNN-Hyperparameter
    13. CNNs in PyTorch implementieren
    14. Beispiel: Nachnamen mit einem CNN klassifizieren
    15. Die Klasse SurnameDataset
    16. Vocabulary, Vectorizer und DataLoader
    17. Den SurnameClassifier mit CNNs neu implementieren
    18. Die Trainingsroutine
    19. Modellbewertung und Vorhersage
    20. Verschiedene Themen in CNNs
    21. Pooling
    22. Batch-Normalisierung (BatchNorm)
    23. Netzwerk-in-Netzwerk-Verbindungen (1x1-Faltungen)
    24. Residual-Verbindungen/Residual-Block
    25. Zusammenfassung
    26. Literaturhinweise
  10. 5 Wörter und Typen einbetten
    1. Warum Einbettungen lernen?
    2. Effizienz von Einbettungen
    3. Ansätze für das Lernen von Worteinbettungen
    4. Die praktische Verwendung von vortrainierten Worteinbettungen
    5. Beispiel: Erlernen der CBOW-Einbettungen
    6. Das Frankenstein-Dataset
    7. Vocabulary, Vectorizer und DataLoader
    8. Das CBOWClassifier-Modell
    9. Die Trainingsroutine
    10. Modellbewertung und Vorhersage
    11. Beispiel: Transfer-Lernen mit vortrainierten Einbettungen für Dokumentklassifizierung
    12. Das Dataset AG News
    13. Vocabulary, Vectorizer und DataLoader
    14. Das NewsClassifier-Modell
    15. Die Trainingsroutine
    16. Modellbewertung und Vorhersage
    17. Zusammenfassung
    18. Literaturhinweise
  11. 6 Sequenzmodellierung für NLP
    1. Einführung in rekurrente neuronale Netze
    2. Ein Elman-Netz implementieren
    3. Beispiel: Die Nationalität von Nachnamen mit einem Zeichen-RNN klassifizieren
    4. Die Klasse SurnameDataset
    5. Die Datenstrukturen der Vektorisierung
    6. Das SurnameClassifier-Modell
    7. Die Trainingsroutine und die Ergebnisse
    8. Zusammenfassung
    9. Literaturhinweise
  12. 7 Intermediäre Sequenzmodellierung für NLP
    1. Das Problem mit einfachen RNNs (oder Elman-Netzen)
    2. Gating als eine Lösung für Herausforderungen von einfachen RNNs
    3. Beispiel: Nachnamen mit Zeichen-RNN generieren
    4. Die Klasse SurnameDataset
    5. Die Vektorisierungs-Datenstrukturen
    6. Vom ElmanRNN zur GRU
    7. Modell 1: Das unkonditionierte SurnameGenerationModel
    8. Modell 2: Das konditionierte SurnameGenerationModel
    9. Die Trainingsroutine und die Ergebnisse
    10. Tipps und Tricks für das Training von Sequenzmodellen
    11. Literaturhinweise
  13. 8 Erweiterte Sequenzmodellierung für NLP
    1. Sequenz-zu-Sequenz-Modelle, Encoder-Decoder-Modelle und konditionierte Generierung
    2. Mehr von einer Sequenz erfassen: Bidirektionale rekurrente Modelle
    3. Mehr von einer Sequenz erfassen: Attention
    4. Attention in tiefen neuronalen Netzen
    5. Sequenzgenerierungsmodelle bewerten
    6. Beispiel: Neuronale maschinelle Übersetzung
    7. Das Dataset für maschinelle Übersetzung
    8. Eine Vektorisierungs-Pipeline für NMT
    9. Im NMT-Modell codieren und decodieren
    10. Die Trainingsroutine und die Ergebnisse
    11. Zusammenfassung
    12. Literaturhinweise
  14. 9 Klassiker, Grenzen und nächste Schritte
    1. Was haben Sie bisher gelernt?
    2. Zeitlose Themen in NLP
    3. Dialog- und interaktive Systeme
    4. Diskurs
    5. Informationsextraktion und Text Mining
    6. Analyse und Abrufen von Dokumenten
    7. Grenzen in NLP
    8. Entwurfsmuster für NLP-Produktionssysteme
    9. Wie geht es weiter?
    10. Literaturhinweise
  15. Index
  16. Über die Autoren

Product information

  • Title: Natural Language Processing mit PyTorch
  • Author(s): Delip Rao, Brian McMahan
  • Release date: November 2019
  • Publisher(s): dpunkt
  • ISBN: 9783960091189