Conversational AI. Dialogsysteme, Chatbots, Assistenten Veranstalter: Christoph Ringlstetter - Sitzung IV: Natural Language Generation

Die Seite wird erstellt Laurin Seidel
 
WEITER LESEN
Conversational AI. Dialogsysteme, Chatbots, Assistenten Veranstalter: Christoph Ringlstetter - Sitzung IV: Natural Language Generation
Conversational AI. Dialogsysteme, Chatbots, Assistenten
        Veranstalter: Christoph Ringlstetter
        Sitzung IV: Natural Language Generation

22.10.2019                                                        1
Conversational AI. Dialogsysteme, Chatbots, Assistenten Veranstalter: Christoph Ringlstetter - Sitzung IV: Natural Language Generation
Today.

          • (1) NLG Sprachgenerierung Nur grober Überblick.
          • (2) NLT GPT2/3 Framework. Marcelina Wisniewska
.         • (3) Emotions and Empathic Dialog Systems. Masa Maric

          • (4) Ausgefallen. Dialogmanagement, Probabilistic Markov Decision
            Process, End-End Methods. Geplant für 17.12.

    22.10.2019                                                                 2
Conversational AI. Dialogsysteme, Chatbots, Assistenten Veranstalter: Christoph Ringlstetter - Sitzung IV: Natural Language Generation
NLG. Kurzer Überblick.

   • Was wird denn da gemacht?
   • Nachdem der Dialogmanager die Äußerung interpretiert hat und die
.    nächste   Aktion      festgelegt         ist:
   • (1) Inhalt der Antwort festlegen (Content Determination)
   • (2) Oberflächenform der Antwort festlegen (Content Realization)
Literatur: Survey of the State of the Art in Natural Language Generation: Core tasks, applications
and evaluation Albert Gatt/ Emiel Krahmer
A Survey of Natural Language Generation Techniques with a Focus on
Dialogue Systems - Past, Present and Future Directions
Sashank Santhanam/ Samira Shaikh
The Illustrated Transformer Jay Allamar
 22.10.2019                                                                                          3
NLG. Überblick

          •      Vorgehensweisen.
          •      (1) Templates von vorher festgelegten Antworten
.         •      (2) Linguistisch motiviertes Pipeline-Modell klassisches NLG
          •      (3) Deep Learning basierte Architekturen NLG

    22.10.2019                                                                  4
NLG. Überblick. Templates - “Canned Text” McTear Kap 12

  •          Restricted Domains. E.g. Flugbuchung.
  •          Prompts zur Informationsgewinnung. Wann wollen sie losreisen?
  •          Prompts zum Troubleshooting. „Ich habe Sie nicht verstanden.“
  •          Prompts zu Confirmation. „Sie wollen also nach London“
.
  •          Prompts zur Knowledge Presentation. „Wir haben einen Flug von
             München über Frankfurt nach London für 210 Euro, Economy.“

    Strategie: sog. Canned Text und Slotfilling
    „Sie wollen also am $depaturetime nach $destination fliegen“
22.10.2019                                                                   5
NLG. Überblick. Klassische NLG.

        •        Ausgabe muss je nach Laufzeitparametern strukturiert werden.
        •        Präsentation soll flexibler sein.
        •        Summarization notwendig z.B. nach Websearch.
        •        Erste Systeme: Wettervorhersagen. Summaries von
.
                 Katastrophen/medizinischen Reports.

    22.10.2019                                                                  6
NLG. Überblick. Klassische NLG. Wettervorhersage

  • Signalanalyse
  • Daten Interpretation
  • Document Planning. Content Determination +
    Discourse Planning
.
  • Microplanning / Sätze
  • Oberflächenrealisierung

                                                   Reiter: An Architecture for Data-to-Text Systems
22.10.2019                                                                                    7
NLG. Überblick. Statistische NLG.

  • Rieser/Lemmon aus McTear. System zur Präsentation von
    Restaurantinformation.
  • Summary. I found 26 restaurants…
  • Recommend. The restaurant XX hast the best overall quality
.
  • Compare. Restaurant XX has a terrace whereas YY is in moderate
    price range.
  • Jetzt werden die Präsentationsmöglichkeiten einer Treffermenge
    und deren Kombinationen mit einem MDP und RL modelliert und
    über eine Rewardfunktion eine optimale Präsentation gelernt.

 22.10.2019                                                          8
NLG. Überblick. Deep Learning basiert.

  • Seit 2015 erreichen DL Architekturen state-of-the-art Performanz zu
    den verschiedenen NLP Tasks.
  • Erste benutzte Architekturen: Feedforward DNN, CNN
  • Für sequenzielle Daten Language Modells als Encoder-Decoder
.   Architektur nur aggregierte Daten werden verarbeitet
  • RNNs einfache Nodes, Netz als Loop das Sequenzen verarbeitet
  • LSTMs Netz aus Memory Cells (schon 1997 von
    Hochreiter/Schmidhuber): vanishing Gradient Lösung
  • Memory Networks
  • Transformers
22.10.2019                                                                9
NLG. Überblick

   • Ausgangspunkt für sequentielle Modelle.
Brauchen irgendeine Art Memory. Z. B. Einfache Referenzierung.
„In 2022 kommt der lang erwartete Elektro-Bulli. Das Fahrzeug wird die
.
Größe des legendären T2 haben.”

Um solche Abhängigkeiten zu modellieren wurden RNNs eingesetzt die
über ihren Loop Mechanismus die vorhergehenden Eingaben
berücksichtigen können (sollten).

      •
22.10.2019                                                               10
NLG. Überblick. Deep Learning basiert. RNN.

  • Vergleich mit einem Standard Feedforward Netz: keine Möglichkeit
    einer sequentiellen Eingabeverarbeitung welche irgendwie
    Wichtigkeit von Kontext in Bezug zur Nähe modelliert.
. • Für sequentielle Daten: z.B. einem Eingabesatz, Benutzeräußerung.
  • Netz füttert seinen
    Zustand für jeden neuen
    Input in das Netz zurück.
    Aufgeklappt als Netz mit
    t-vielen Layern.
                                         https://towardsdatascience.com/transformers-141e32e69591
22.10.2019                                                                                   11
NLG. Überblick. Deep Learning basiert. RNN.

Lernmechanismus: Da NN nur Zahlenobjekte als input, nehmen werden
die Wörter aus dem Eingabetext in Vektoren z.B. Embeddings kodiert
(word2vec or GloVe… ELMO, positional Embedd )

3 zentrale Formeln:
 .
    (1) ht Vektorrepräsentation des Inputs zum Zeitpunkt (t): berechnet aus dem gewichteten Inputvektor und
dem vorhergehenden Vektor ht-1
    (2) Vorhersage des nächsten Wortes aus dem hidden State Vektor und der Ausgabebewichtsmatrix. Durch
Softmax bekommen wir die Summe von 1 über alle Möglichkeiten.
    (3) Fehler. Hier Cross Entropie Loss Function. Fehler zwischen vorhergesagtem und tatsächlichem.

Vanishing Gradient: in der Backpropagation werden die Gewichte auf der
selben Matrix über die gesamte Länge der Sequenz angepasst und
verschwinden
     22.10.2019                                                                                               12
NLG. Überblick. RNNs für die Wordprediction Task.

(1) Clouds in the ___
(2) I grew up in France. We had a wonderful time in an old ….. I speak fluently ___

Die Informatiohn wird für jeden Schritt weiter gereicht und je länger die Kette ist desto wahrscheinlicher gehen
.long distanc informationen verloren.
 Wieder und wieder multipliziert. Wird klein. Z.B. 0,7**10 = 0.0282475249. Ganzer Text.

Lösungsvorschlag LSTM.

       •

 22.10.2019                                                                                                        13
NLG. Überblick. LSTMs für die Wordprediction Task.

                                         https://towardsdatascience.com/transformers-141e32e69591
                                               •
Statt einfachen Nodes komplexe Zellen.
Jede Zelle nimmt als Inputs x_t (ein Wort im Fall etwas der Satz-Satz
Übersetzung), den vorhergehenden Zustand der Zelle, den output der
vorhergehenden Zelle. Darauf basierend wird eine neuer Zellenzustand t und
ein Output für t generiert.

22.10.2019                                                                                  14
NLG. Überblick. Deep Learning basiert. LSTM.

LSTMs. Vanishing/Exploding gradient. Statt einfachen hidden units werden in
LSTMs sogenannte Memory Cells eingesetzt die den Input zusammen mit
dem schon Gelerntem verarbeiten. Update Formeln.

.                                 ($)
                              !" = '((! )       $   +ℎ         + .!
                                                         $−1
                                  ($)           $
                                  /" = '((/ )       +ℎ   $−1   + ./
                            ($)
                           0" = '((0 ) $ + ℎ $−1 + .0
                            ($)  ($−1)     ($) ($)  ($)
                           1" = 1"     × 0" + !" × /"
                                  ($)
                              3" = '((3 ) $ + ℎ $−1 + .3
                                 ($)  ($)          ($)
                                4" = 3" × tanh⁡( 1" )

Allerdings waren die LSTMs bezüglich der Modellierung von Dependencies
nicht wirklich erfolgreich. LSTM is dead long live Transformers
    22.10.2019                                                           15
NLG. Überblick. Deep Learning basiert. RNN, LSTM.

RNN mit Attention. Statt nur den ganzen
Satz in einen hidden State zu kodieren
wird für jedes wort im Encoding ein
zusätzlicher Zustand belegt der vom
Decoder aufgerufen werden kann.

.
      https://towardsdatascience.com/transformers-141e32e69591
    22.10.2019                                                   16
NLG. Überblick. Deep Learning basiert. RNN, LSTM.

  • RNN und auch LSTM. Sehr langsam zu trainieren da der Input nicht
    parallel sondern sequentiel verarbeitet wird.
  • Long Term dependencies können gerade nicht gelernt werden da sie
.   auch im LSTM vergessen werden.

22.10.2019                                                             17
NLG. Überblick. Deep Learning basiert. Encoder/Decoder

  Sequence-2-Sequence Architektur
  Problem ist dass im Vektor C der
. durch den Encoder gelernt wird
  der gesamte Input kodiert wird.
  Lösung; Attention Mechanismus
  der es dem Dekoder erlaubt
  unterschiedliche Teile des Inputs zu
  berücksichtigen.

22.10.2019                                               18
NLG. Überblick. Deep Learning basiert. Memory Networks. Seitenast.

        • Zusätzlicher Speicher um zu kurze Memory Zeit der hidden States zu
          überbrücken. Wurden für Q/A Tasks verwendet um
          Faktendatenbanken einzupflegen. Kommen in Q/A Sitzung darauf
          zurück.
.

    22.10.2019                                                                 19
NLG. Überblick. Transformer Models.

Transformer Models.
• Haben für eigentlich alle NLP Tasks Verbesserungen gebracht.
• Basierend auf dem Attention Mechanismus werden für Seq2Seq globale
   Dependencies zwischen Input und Output modelliert.
•. Der Transformer modelliert die Encoder/Decoder Architektur aber jeder
   Encoder ist ein Stack von 6 Encodern wobei jeder Encoder Self-Attention
   und ein Feedforward Netz enthält.
• Der Decoder ist ebenfalls ein Stack mit den selben Komponenten. Plus
   zusätzlichem Attention Layer der dem Decoder hilft jeweils auf die
   relevanten Teile des Input Satzes zu zeigen.

 22.10.2019                                                                  20
NLG. Überblick. Transformers.

Transformer Modelle werden z.B. bei OpenAI für die Sprachmodelle
benutzt auch z.B. bei DeepMind für AlphaStar.
Wurden
.        entwickelt um Seq2Seq Probleme wie MT zu verbessern. Damit
natürlich auch für unser Problem der Dialogmodellierung sehr relevant..

22.10.2019                                                                21
NLG. Überblick. Transformers. Kurze
Erklärung

Beschreibung des Encoding. Jeder
String des Inputs in 512 Vektor. In den
Ersten Encoder. Dann bekommt jeder
Encoder den Output vom letzen und
führt ihn durch die beiden Layer.
                                          •   http://jalammar.github.io/illustrated-transformer/

 22.10.2019                                                                                        22
NLG. Überblick. Transformers. Kurze
Erklärung

Drei Vektoren für jedes Input Token
(Embeddings). Query vector, Key
vector und Value vector. Durch
Multiplikation mit drei gelernten
Matrizen WQ,WK,WV.
Dimension 64 wg Effizienz.
                                      •   http://jalammar.github.io/illustrated-transformer/

22.10.2019                                                                                     23
NLG. Überblick. Transformers.Kurze
Erklärung.

Jetzt wird für das erste Wort für jedes
Wort t im Satz die Bedeutung als
Score zwischen q1 und kt berechnet.
Die scores werden dann noch
manipuliert. Softmax.
Multiplizieren alle vi vektoren der
Wörter im Fenster mit ihrem score für
                                          •   http://jalammar.github.io/illustrated-transformer/
q1 und summieren die Werte in einen
z1-Wert für den Output zum FF-Layer

 22.10.2019                                                                                        24
NLG. Überblick. Transformers. Kurze
Erklärung.

Im Decoding wird dann auf die
berechneten Vektoren zur Attention
zurückgegriffen.

22.10.2019                            •   http://jalammar.github.io/illustrated-transformer/
                                                                                         25
NLG. Überblick. Santhanam Paper.

Literaturreview zu Open Domain Systemen seit 2015 in Tabellenform. Trends.

 Corpora. Open Subtitles, Twitter Conversation Dialogues, Movie Triples. Persona Chat
.Data Set. Reddit Dataset.
 Architecture. Variations of Seq2seq models with Attention mechanism. Transformer
 Models also in Dialog.
 Evaluation Scores. Adapting Bleu, Meteor. Hatten wir schon drüber gesprochen. And
 Embedding based metrics.
 Human Evaluation: Semantic Relevance, Appropriateness, Intristingness, Fluencey,
 Grammar.

 22.10.2019                                                                             26
NLG. Überblick. Transformers.

Open Challenges.

 Encoding Context. Weltwissen aus Wissensbanken oder vorhergehendem
.Dialog Turns. Der Agent braucht diese Information um eine kohärente
 informative Antwort zu generieren: “In tune with the context of the
 conversation“.
 Die meisten Arbeiten bislang sind single-turn. Eingang-Response. Damit
 kann also bislang das multi-turn problem Kontext nicht mal untersucht
 werden. Wenn es versucht wurde. Seq2seq, oder hierarchical.

22.10.2019                                                            27
Sie können auch lesen