[PYTHON] Machen Sie einen Chat-Bot und üben Sie, beliebt zu sein.

Einführung

In den letzten Jahren verlagerte sich der größte Teil der Kommunikation auf Chats wie LINE. In der modernen Gesellschaft, in der es notwendig ist, attraktive Sätze zu schreiben, um populär zu sein, ist der Ort der Praxis aufgrund der Umgebung begrenzt, und viele Menschen werden plötzlich zur eigentlichen Aufführung kommen. ~~ Ich bin. ~~ Als Reaktion auf die Herausforderungen der Menschheit, die in der heutigen Zeit leben, bereiten wir einen Chat-Bot vor, der den Grad des Interesses an uns selbst ausgibt, üben, ständig Nachrichten darauf zu werfen, und verfolgen einen Ansatz zur Verbesserung unserer Nachrichtenfähigkeiten.

Die folgende Abbildung ist Teil des Trainings, das ich mache. 異性を映画に誘う修行の一部である

Der Grad des Interesses der anderen Partei wird in drei Stufen ausgegeben (positiv, uninteressiert, unbekannt). Die Nachricht der anderen Partei selbst hat keine Bedeutung. Ich habe vorbereitet, was mir gesagt wurde.

Sie gewinnen, wenn Sie Ihren Gegner positiv machen. Es scheint, dass das eigentliche Training nicht für immer kommen wird, selbst wenn Sie hier trainieren. In diesem Artikel werden wir jedoch erklären, wie Sie einen Chatbot erstellen und die Nachrichtenfähigkeiten der Menschheit verbessern können.

line_bot.png [Aktualisiert am 23. Februar 2020] Ich habe einen LINE-Bot erstellt.

erstellen

Selbst wenn ich versuche, es zu erschaffen, ist das andere Geschlecht überhaupt nicht bekannt. Mit anderen Worten, der Grad des Interesses kann nicht gemessen werden. In der Zwischenzeit entdeckte der Autor verheiratete / unverheiratete in der Benutzerattributschätzung der Referenz der COTOHA API, einer Plattform zur Verarbeitung natürlicher Sprache. Für diejenigen, die nicht beliebt sind, haben verheiratete Menschen Wunder vollbracht, die normalerweise nicht vollbracht werden können, dh Gott. Ich dachte. Nach der Schätzung durch maschinelles Lernen wird geschätzt, dass der Satz verheiratet ist, das heißt, es ist eine Botschaft, die Interesse erregt. COTOHA-API-Plattform für die Verarbeitung natürlicher Sprache / Sprachverarbeitung

Erstellen Sie mit der COTOHA-API wie folgt einen Bot, der Ihre Nachricht (positiv, uninteressiert, unbekannt) ausgibt.

Zur COTOHA API werfen

Registrieren Sie sich zunächst über den obigen Link zur COTOHA-API bei Entwicklern. Die kostenlose Stufe beträgt jeweils 1.000 Anrufe pro Tag. (Stand 13. Februar 2020) Mit all dem können Sie wahrscheinlich ohne Pause üben.

Die Mindestanforderung ist

  1. Holen Sie sich das Zugriffstoken
  2. Werfen Sie die eingegebene Zeichenfolge in die Benutzerattributschätzung

Dieses Mal wird als Anpassungsraum eine Nachricht, die Sie gesehen haben, zufällig zurückgegeben, wenn das Schätzergebnis "unverheiratet" ist oder das Ergebnis nicht zurückgegeben wird. Wenn "verheiratet" angetroffen wird, wird die eingegebene Zeichenfolge außerdem auf "Satztypschätzung" gesetzt und eine relativ günstige Nachricht wird entsprechend der Art des Sprechakts zurückgegeben. Dies wird die Geschichte verbunden erscheinen lassen und die schmerzhafte Disziplin wird ein wenig leichter sein.

Code, der an die COTOHA-API
gesendet werden soll

python


import random
import requests
import json

BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp/"
CLIENT_ID = "******"
CLIENT_SECRET = "******"

def auth():
    token_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
    headers = {
        "Content-Type": "application/json",
        "charset": "UTF-8"
    }

    data = {
        "grantType": "client_credentials",
        "clientId": CLIENT_ID,
        "clientSecret": CLIENT_SECRET
    }
    r = requests.post(token_url,
                      headers=headers,
                      data=json.dumps(data))
    res = r.json()

    return res["access_token"]  # ["expires_in"]:verbleibende Zeit

def sequence_anlysis(sentence):
    headers = {
        "Content-Type": "application/json",
        "charset": "UTF-8",
        "Authorization": "Bearer {}".format(access_token)
    }
    data = {
        "sentence": sentence,
        "type": "default"
    }
    r = requests.post(BASE_URL + "v1/sentence_type",
                      headers=headers,
                      data=json.dumps(data))
    res_type = r.json()
    if not res_type["status"] == 0:
        print('type API Error status', res_type["status"])
        exit(1)

    data = {
        "document": sentence,
        "type": "kuzure",  #Reduzierungsmodus wie Tweets
        "do_segment": False
    }
    r = requests.post(BASE_URL + "beta/user_attribute",
                        headers=headers,
                        data=json.dumps(data))

    res_attr = r.json()
    if not res_attr["status"] == 0:
        print('attr API Error status', res_attr["status"])
        exit(1)
    
    if not "civilstatus" in res_attr["result"].keys():
        civilstatus = "Unbekannt"
    else:
        civilstatus = res_attr["result"]["civilstatus"]
    return res_type["result"]["modality"], res_type["result"]["dialog_act"], civilstatus

Bereiten Sie einen Chat-Bot vor

Verwenden Sie Python, um einen Chat-Bereich vorzubereiten, der auf der Konsole ausgeführt wird. ~~ Es war mühsam, LINE Bot usw. vorzubereiten, also habe ich es diesmal mit Standardeingabe und -ausgabe implementiert.

Code, der an die COTOHA-API
gesendet werden soll

python


print('Beenden Sie mit beenden')
while True:
    s = input('you: ')
    if s == "":
        continue
    elif s == 'quit':
        break
        exit(0)
    else:
        #Eingabe analysieren
        modality, dialog_act, civilstatus = sequence_anlysis(s)
        #Erstellen Sie eine Antwort
        output = make_sentence(dialog_act, civilstatus)
        if civilstatus == "verheiratet":
            print('bot (Positiv):    ', output)
        elif civilstatus == "Unverheiratet":
            print('bot (Nicht interessiert):  ', output)
        else:
            print('bot (Unbekannt):      ', output)

Zusammenfassung

Ein Ort für ein beliebtes Training wurde von einem Chat-Bot mithilfe der COTOHA-API erstellt. Ich hoffe aufrichtig, dass dies romantischen Flüchtlingen auf der ganzen Welt in gewissem Maße helfen wird.

Zukünftige Aufgaben

Recommended Posts

Machen Sie einen Chat-Bot und üben Sie, beliebt zu sein.
[Einführung in Tensorflow] Verstehen Sie Tensorflow richtig und versuchen Sie, ein Modell zu erstellen
Wie erstelle ich eine japanisch-englische Übersetzung?
Wie man einen lockeren Bot macht
Wie erstelle ich einen Crawler?
So erstellen Sie eine rekursive Funktion
[Blender] So erstellen Sie ein Blender-Plug-In
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Wie erstelle ich einen Crawler?
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
[C-Sprache] So erstellen, vermeiden und erstellen Sie einen Zombie-Prozess
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
So teilen und speichern Sie einen DataFrame
[Python] Wie man eine Klasse iterierbar macht
Wie man einen Janken-Bot macht, der leicht bewegt werden kann (Kommentar)
Fraktal zum Erstellen und Spielen mit Python
So machen Sie den Containernamen in Docker als Subdomain zugänglich
Ich habe eine Web-API erstellt
Um eine Diktat-Eigenschaft schreibgeschützt zu machen
So erstellen Sie einen benutzerdefinierten Backtrader-Indikator
Wie erstelle ich eine Pelican Site Map?
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
Ich möchte gleichzeitig einen Musik-Player erstellen und Musik ablegen
WEB Scraping mit Python und versuchen, aus Bewertungen eine Wortwolke zu machen
Ich habe versucht, eine einfache Bilderkennungs-API mit Fast API und Tensorflow zu erstellen
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Wie man ein Dialogsystem für Anfänger erstellt
Ein Memorandum, um WebDAV nur mit Nginx zu erstellen
Möchten Sie einen Twitter-Lebenslauf erstellen?
So erstellen Sie ein Wörterbuch mit einer hierarchischen Struktur.
Ich möchte ein Spiel mit Python machen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Spielen Sie den Server mit zwei PCs
So erstellen Sie ein QGIS-Plug-In (Paketerzeugung)
Ich las "Wie man ein Hacking Lab macht"
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Lark grundlegende Erklärung (machen Sie einen Shell-ähnlichen Kerl mit Python, Lark)
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Was tun, wenn pvcreate viel WARNUNG erzeugt und nicht erstellt werden kann?
Es wäre klug, wenn Sie etwas wie Boolesches und "A" oder "B" schreiben könnten [Python] [Aber]
Ich habe versucht, eine Memo-App zu erstellen, die Pomodoro sein kann, aber eine Reflexionsaufzeichnung
Ich habe versucht, einen "verdammt großen Literaturkonverter" zu machen.
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Geben Sie die Lautstärke unter Linux an und spielen Sie den Sound ab
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Erstellt ein Modul zur Überwachung von Datei- und URL-Aktualisierungen
Lass uns ein Makefile machen und es bauen (super Anfänger)
[Übung] Erstellen Sie eine Watson-App mit Python! # 2 [Übersetzungsfunktion]
[Übung] Erstellen Sie eine Watson-App mit Python! # 1 [Sprachdiskriminierung]
Wie man ein Schießspiel mit toio macht (Teil 1)
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Ich möchte ein beliebtes Paket auf PyPi finden
Erstellen Sie mit OpenCV eine Funktion zum Beschreiben japanischer Schriftarten
So erstellen Sie ein Python-Paket mit VS Code
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Anfänger des maschinellen Lernens versuchen, einen Entscheidungsbaum zu erstellen