CHATBOT (Dialogflow) von Ruby

1. Zuallererst

Ich werde vorstellen, wie man CHATBOT verwendet, das von ** Ruby ** verwendet werden kann.

Verwenden Sie ** Dialogflow ** für CHATBOT. Es ist ein Dienst von Google, und es scheint einfach zu sein, sobald Sie sich daran gewöhnt haben. Ich habe die Einstellungen von Dialogflow erklärt, aber die Erklärung der Bedeutung der Elemente weggelassen.

Es scheint, dass die Nachfrage nach CHATBOT aufgrund der Koronakatastrophe steigt. Ich hoffe, es ist hilfreich für diejenigen, die erwägen, CHATBOT in ihre Dienste aufzunehmen.

1-1. Was ist Dialogflow?

dialogflow https://cloud.google.com/dialogflow/docs > Dialogflow ist eine Plattform zum Verständnis natürlicher Sprache, die das Design von Benutzeroberflächen für Konversationen und die Integration in mobile Apps, Webanwendungen, Geräte, Bots, interaktive Sprachantwortsysteme und mehr erleichtert. Dialogflow kann verwendet werden, um Benutzern eine neue Arbeitsweise zu bieten.

planen

https://cloud.google.com/dialogflow/pricing Der kostenlose Plan hat einen Rahmen von 180 Anfragen / Minute für Text und es gibt genügend Volumen für die Überprüfung.

Höchstgrenze

https://cloud.google.com/dialogflow/quotas Da die Anzahl der Absichten (Gespräche) bis zu 2.000 beträgt, reicht dies möglicherweise nicht für einen großen Dienst aus, dies ist jedoch auch ausreichend.

2. Erstellen Sie CHATBOT mit Dialogflow

Erstellen Sie zunächst einen CHATBOT mit Dialogflow. Wenn Sie es bereits geschafft haben, überspringen Sie es bitte.

2-1. Erstellen eines Agenten

Erstellen Sie einen Agenten. Ein Agent ist eine Einheit von CHATBOT. Wenn Sie einen weiteren CHATBOT erstellen möchten, ist dies wie das Erstellen eines anderen Agenten.

Zugriff auf den Dialogfluss

https://dialogflow.cloud.google.com/ dialogflow

Agenten erstellen

--Klicken Sie im Menü auf ** [Neuen Agenten erstellen] **. --Geben Sie die Agenteninformationen ein. -Geben Sie ** Agentennamen **, ** SPRACHE **, ** ZEITZONE ** ein.

dialogflow

Eine Absicht schaffen

Eine Absicht ist ein Gespräch in CHATBOT. Wenn Sie einen Agenten erstellen, wird "** Standard-Begrüßungsabsicht **" bereits automatisch generiert, daher werden wir ihn dieses Mal verwenden. Ich werde die ausführliche Erklärung über die Absicht weglassen, also bitte googeln.

** Informationen zur Standard-Begrüßungsabsicht ** Nach Erhalt des Gesprächs, z. B. "lange Zeit", "Hallo", "Hallo", ist die Absicht, zum "Hallo!" Zurückzukehren.

3. Holen Sie sich Anmeldeinformationen

Generieren Sie eine ** Schlüsseldatei **, um von einem Ruby-Programm aus auf Dialogflow zuzugreifen.

3-1 Öffnen Sie Google Project

Besuchen Sie Google Project

--Klicken Sie im Dialogfluss-Menü auf die Schaltfläche ** [Zahnrad] **

dialogflow

-Klicken Sie auf den Link ** unter ** Projekt-ID

dialogflow

3-2. Erstellen Sie einen Schlüssel

Zugriff auf das Dienstkonto

--Wenn der Google Project-Bildschirm angezeigt wird, klicken Sie im Menü auf ** [IAM]> [Dienstkonto] **.

dialogflow

Erstellen Sie ein Dienstkonto

dialogflow dialogflow

Erstellen Sie einen Schlüssel

dialogflow

Dann wird die JSON-Datei heruntergeladen. Diese JSON-Datei wird beim Ausführen von Ruby-Programmen verwendet.

Nennen wir die heruntergeladene Datei ** milky-agent-xxxxx.json **.

4. Erstellen Sie ein Ruby-Programm

Es geht endlich um Ruby. Die Ausführungsumgebung von Ruby wird unter der Annahme geschrieben, dass sie bereits vorhanden ist.

Bereiten Sie zuerst die für die Ausführung erforderliche Umgebung vor und führen Sie dann das Programm aus.

4-1. Paketinstallation

Umgebungsvariablen einstellen

/// milky-agent-xxxxx.json~/Angenommen, Sie legen es im tmp-Verzeichnis ab.
$ export GOOGLE_APPLICATION_CREDENTIALS=~/tmp/milky-agent-xxxxx.json

Paketinstallation

--Installieren Sie die Edelsteine, die für den Zugriff auf Dialogflow erforderlich sind.

$ gem install google-cloud-core
$ gem install google-cloud-dialogflow

4-2. Programm

Das auszuführende Programm ist unten geschrieben. Kopieren Sie ** project_id ** und ** session_id ** aus dem GCP-Projekt.

milkybot.rb


project_id = "[GCP-Projekt-ID]"
session_id = "[Dienstkonto-Schlüssel-ID]"
text = "Hallo"
language_code = "jp"

require "google/cloud/dialogflow"

session_client = Google::Cloud::Dialogflow.sessions
session = session_client.session_path project: project_id,
                                      session: session_id

query_input = { text: { text: text, language_code: language_code } }
response = session_client.detect_intent session:     session,
                                        query_input: query_input
query_result = response.query_result

puts "Query text:        #{query_result.query_text}"
puts "Intent detected:   #{query_result.intent.display_name}"
puts "Intent confidence: #{query_result.intent_detection_confidence}"
puts "Fulfillment text:  #{query_result.fulfillment_text}\n"

5. Führen Sie aus

$ ruby milkybot.rb 
Query text:Hallo
Intent detected:   Default Welcome Intent
Intent confidence: 1.0
Fulfillment text:Hallo!

Wenn Sie das oben sehen, sind Sie erfolgreich! Versuchen Sie, ** Text ** im Programm in "Nach langer Zeit" oder "Hallo" zu ändern. Ich denke, Sie werden die gleiche Antwort bekommen.

Wenn Sie danach verschiedene Konversationen in Dialogflow registrieren, können Sie Ihren eigenen Lieblings-CHATBOT erstellen. Die Untersuchung war schwierig, aber als ich es versuchte, war es überraschend einfach.

Recommended Posts

CHATBOT (Dialogflow) von Ruby
Von Java zu Ruby !!
Versuchen Sie es mit Cocoa von Ruby
Verwenden Sie das C-Programm von Ruby
[Ruby] Wofür wird `!!` verwendet?
[Ruby] Empfangen Sie Eingaben von der Konsole
[Ruby] Entkomme aus mehreren Schleifen [Nest]
Einführung in Ruby (aus anderen Sprachen)
Ruby-Methoden, die häufig in Rails verwendet werden