[PYTHON] Kontrolle eines Sandwich-Mannes durch maschinelles Lernen ver4

Der 4., der Sandwichmans Kontrolle durch tiefes Lernen erlangt! !! !! !! !! !! !! !! !! !! !! !!

Ich bin verantwortlich für die Bearbeitung des Adventskalenders 2019 in 14 natürlichen Sprachen (es tut mir leid, dass ich einen Tag zu spät komme !!!) https://qiita.com/advent-calendar/2019/nlp

Ich möchte automatisch eine Kontrolle wie ein Sandwich-Mann übernehmen und diese für 4000 Billionen Yen an ein Lachbüro verkaufen. Und ich möchte Sandwich Man treffen!

Diesmal habe ich HRED mit Pytorch implementiert!

Vergangener Versuch

Ver3 >> https://qiita.com/yoyoyo_/items/e03a1a5f99762352c95f Ver2 >> https://qiita.com/yoyoyo_/items/f30c538234e62dbaa081 Ver1 >> https://qiita.com/yoyoyo_/items/105879c386be1d8b0782

HRED

Das Originalpapier ist A Hierarchical Recurrent Encoder-Decoder For Generative Context-Aware Query Suggestion https://arxiv.org/abs/1507.02221 (2015)

In 3 Zeilen

--HRED ist eine Abkürzung für Hierarchical Recurrent Encoder Decoder. ――Einfach ausgedrückt, werden automatisch Konversationen generiert, während auf den Konversationsfluss zurückgegriffen wird. seq2 Eine Entwicklung von seq. ――Durch das Einfügen eines RNN, das frühere Konversationsantworten speichert, entwickelt es sich zu einer "Konversation" anstelle einer Frage und Antwort.

Modell-

seq2 Vergleiche seq und HRED. HRED hat seq2seq um Hierarchical RNN (abgekürzt als HRNN) erweitert. HRNN ist eine RNN zum Speichern des Flusses vergangener Konversationen, und Decoder generiert eine Antwort, die vergangene Konversationen berücksichtigt, indem der interne Status von HRNN initialisiert wird.

Wenn Sie dies verwenden, können Sie eine gute Kontrolle vornehmen? Das ist dieser Versuch! !!

seq2seq HRED
seq2seq.png HRED.png

Algorithmus

Die Reihenfolge ist, die Schritte 1-5 zu wiederholen. Die Anzahl der Wiederholungen wird als Anzahl der Sitzungen bezeichnet, und es scheint, dass sie in der Arbeit auf das Fünffache festgelegt wurde.

  1. Lernen Sie Encoder mit einem Satz
  2. Geben Sie den Ausgang des Encoders in HRNN ein
  3. Setzen Sie den internen Zustand von HRNN auf den Anfangszustand des internen Zustands von Decoder
  4. Decoder lernen
  5. Stellen Sie den Ausgang des Decoders auf den Eingang des Encoders und gehen Sie zu 1.

Code

Ich habe es auch auf Deep Learning Knock gesetzt!

https://github.com/yoyoyo-yo/DeepLearningMugenKnock/tree/master/Question_nlp#q-hred

Ich habe es tatsächlich versucht

Das erste "A: Hi, ich bin Sandwichman" habe ich getippt Kein Wort, aber versuchen, den Kontext zu verstehen?

A:Hallo, ich bin Sandwichman.
B:Was? ". Zehn dich. Es tut mir Leid. .. Hmm du. .. Zehn dich. Hand. ?? Zu. Hand? ". ?? Hmm. Hand? Es tut mir leid, du. Hand. Hand. Hand. Teyo du. Hand? Zehn. Teten. Hand. Hand. Zehn. Hand? Tente. Hand? .. Zehn. Hand. Zehn. Hand? .. Zehn. Hand? Zehn
A:Das bist du. Was? Hand. ?? Aber? Es ist wie in Gaden. Was? Hand. Das ist gut. Was? Hmm. Hand? .. damit. Hmm. .. Hand? .. .. Zehn. Hand. .. Hmm. Zehn. Hand. Hmm. .. Zehn. Hand? .. Hand. .. Hand. ?? damit. Was? Korrekt. .. .. Ja. .. .. Hmm. Yode. Hand
B:Aber es ist. "
A:.. Hand? ".
B: 。
A: 。
B:nicht wahr.
A:.. Hand. Hand. Sie. Hand. Hand. Hand. Was! ". ".
B:Das gibt es nicht.
A:Ha ".
B:Ha "auch. ".
A:"Hateta"
B:"Hahata".
A:Hamoyo ". "Deta"
B:Auf Wiedersehen.
A:, ".
B: 。
A:Ist es? ".
B:Ist es? "
A:Hamoyo "
B: 。
A:""
B:Wie ist das?
A:Ist es? .. .. Hand? ". .. Hand. .. ?? .. .. Es tut mir Leid. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
B:Mona ". .. Hand. .. Sie. .. .. .. .. .. Hmm. .. ". .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
A:, ".
B:Ha "auch.
A:Ist "gerade".
B: 。
A: 。
B:ist ".
A:Ha "
B:Ha "auch. Was?
A:Hahamo. "? ""
B:Ha ".
A:Ha "
B:"Hateta".
A:Ist
B:Ha "
A:"Hata".
B:Hamoyo ".
A:Es ist. "
B:Guten Morgen "
A:Ich war glücklich. "
B:Hamoyotetan "
A:Hamoyo du. Du bist rausgekommen. "
B:Hayo "
A:Hallo.
B:Naha.
A:Es ist. "
B:Es ist. "
A:.. Sie sind! ""
B:Ha ".
A:Was ist es?
B:". .. Hand. Sie. .. Was? .. .. .. .. ". .. Hand. .. ?? ". .. .. .. .. .. .. .. .. .. .. Ist es nicht? .. Ich wundere mich. .. .. .. .. .. .. .. .. .. .. .. .. .. .. Hand. .. .. .. .. Es ist. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
A:Ist es? ""
B:Was ist es? " ?? ". .. Hand. .. Sie. .. Hmm. Hand. .. Hmm. .. ". Hand. .. ". Was?
A:Abwesend".
B:Ha "
A:Ha ".
B:""
A:.. Das ist es. "
B:Ha "auch.
A:"Hateta"
B:Hamoyo. Ebenfalls". "Tate ni".
A:Ha "
B:Hamoyo. Zu "
A:Was war es? ".
B:Was ist es? Hand"

In 3 Zeilen zusammenfassen

Denken Sie, wenn der Sandwich Man vollständig fertig ist, dass der gesamte bisherige Code zusammengestellt und an Git und andere weitergegeben wird?

Recommended Posts

Kontrolle eines Sandwich-Mannes durch maschinelles Lernen ver4
4 [/] Vier Arithmetik durch maschinelles Lernen
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Maschinelles Lernen
[Fehler] Finde Maki Horikita durch maschinelles Lernen
Vier Betriebsregeln mit maschinellem Lernen 6 [Kommerziell]
Python & maschinelles Lernen Lernnotiz Machine: Maschinelles Lernen durch Rückausbreitung
Versuchen Sie, den Strombedarf durch maschinelles Lernen vorherzusagen
Vorhersage der Immobilienpreise (maschinelles Lernen: zweite Hälfte) ver1.1
Klassifizieren Sie Informationen zum maschinellen Lernen nach Themenmodellen
Analyse der gemeinsamen Raumnutzung durch maschinelles Lernen
Aktienkursprognose durch maschinelles Lernen Numerai Signals
[Übersetzung] scikit-learn 0.18 Einführung in maschinelles Lernen durch Tutorial scikit-learn
Angemessene Preisschätzung von Mercari durch maschinelles Lernen
[Memo] Maschinelles Lernen
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 2
Klassifikation des maschinellen Lernens
Geschichte rund um die Datenanalyse durch maschinelles Lernen
Beispiel für maschinelles Lernen
Python-Lernnotiz für maschinelles Lernen von Chainer aus Kapitel 2
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 1 und 2
Vorhersage von Zeitreihendaten durch AutoML (automatisches maschinelles Lernen)
Zusammenfassung des Lernprogramms für maschinelles Lernen
Maschinelles Lernen Über Overlearning
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung
Maschinelles Lernen: Betreut --AdaBoost
Logistische Regression beim maschinellen Lernen
Maschinelles Lernen unterstützt Vektormaschine
Machine Sommelier von Keras-
Maschinelles Lernen studieren ~ matplotlib ~
Lineare Regression des maschinellen Lernens
Memo zum Kurs für maschinelles Lernen
Bibliothek für maschinelles Lernen dlib
Maschinelles Lernen (TensorFlow) + Lotto 6
Lerne irgendwie maschinelles Lernen
Bibliothek für maschinelles Lernen Shogun
Maschinelles Lernen Kaninchen Herausforderung
Einführung in das maschinelle Lernen
Maschinelles Lernen: k-Nächste Nachbarn
Was ist maschinelles Lernen?
Sammeln Sie Daten zum maschinellen Lernen, indem Sie aus biobasierten öffentlichen Datenbanken kratzen
"Lernen Sie, während Sie machen! Entwicklung tiefes Lernen von PyTorch" auf Colaboratory.
Vorhersage des Vorhandenseins oder Nichtvorhandenseins von Untreue durch maschinelles Lernen
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 7 Regressionsanalyse
Identifizieren Sie t + pazolite-Songs durch maschinelles Lernen (NNC-Challenge-Entwicklung)
Aktienkursprognose durch maschinelles Lernen Beginnen wir mit Numerai