Aufgrund des Einflusses von Corona ist Fernarbeit zu mir gekommen, der seit vielen Jahren der nächste Auftragnehmer ist. Sie können zu Hause in einer ruhigen Umgebung arbeiten. Ich muss keinen Nahverkehrszug nehmen und weiß, dass ich viel Abfall gemacht habe.
Das Problem, das ich mit einer solchen Fernarbeit habe, ist übrigens "Chat". Ich habe ziemlich viele Kanäle wie meine Firma und Kundenabteilung, Daher tritt häufig das Luftlippenereignis auf, dass "Ihr Name ohne Erwähnung herauskommt". Mit zunehmender Anzahl von Remote-Mitarbeitern steigt auch der Chat-Fluss, und es ist schwierig, ihn zu erfassen.
Dies selbst ist "Erwähnungen richtig machen, wenn Bedarf besteht" "Keyword-Benachrichtigung festlegen" Es ist eine Geschichte, die mit der Abdeckung der Operationsseite verwaltet werden sollte, aber diesmal ist es eine große Sache ** Lassen Sie uns "Analysieren Sie den Inhalt der Luftlippe und trennen Sie die BOT-Antwort abhängig vom Inhalt" **.
Das Bild sieht so aus.
Es spielt keine Rolle, was Sie verwenden. Mit Python sollte für jede Chat-Plattform etwas dabei sein. Qiita hat auch viele gute Artikel.
Ich habe darüber nachgedacht, es mit meinem eigenen Slack zu verwenden, aber vorher möchte ich den Betrieb richtig überprüfen, also Dieses Mal werde ich Telegramm verwenden, das viele Bekannte in meinem Internet hat.
Wenn das COTOHA dieses Mal verwendet wird, ist dies nur eine Funktion für Entwickler gemäß den Nutzungsbedingungen. https://www.ntt.com/content/dam/nttcom/hq/jp/about-us/disclosure/tariff/pdf/c256.pdf Bitte seien Sie vorsichtig, wenn Sie es verwenden, da es ein Lizenzproblem verursachen kann, wenn Sie es für geschäftliche Zwecke verwenden.
Ich werde diesen BOT verwenden, den ich zuvor gemacht habe. https://qiita.com/Ovismeme/items/cc59a2de1cf537c977cf https://github.com/ovismeme/telegram_autoreply_bot
Zum Zeitpunkt der Erstellung habe ich es geschrieben, indem ich den Beispielcode in "Ich verstehe Python nicht" nachgeahmt habe. Als ich zum ersten Mal seit einem Jahr zurückblickte, sagte ich: "Was ist das für ein Müll. Wer hat ihn geschrieben?" Also habe ich viel repariert. Die Lesbarkeit hat sich ein wenig verbessert, aber der Hauptteil dieses Artikels ist nicht vorhanden, daher werde ich ihn weglassen.
Informationen zur Herstellung finden Sie im Originalartikel. Als Voraussetzung für BOT ist alles in Ordnung, solange es die Funktionen "Aufnehmen des Gesprochenen" und "Sprechen" hat. Es sollte auch ein Modul bereitgestellt werden, aber der Mechanismus zum Aufnehmen von Äußerungen ist je nach Artikel unterschiedlich. Lesen Sie das Dokument daher sorgfältig durch.
Um festzustellen, "ob der Text negativ oder positiv ist" Wir werden COTOHA von NTT Communications Co., Ltd. für Entwickler verwenden.
Nach der Registrierung sehen Sie das Kontoportal, in dem Ihre Kunden-ID und Ihr Kundengeheimnis ausgestellt werden.
So erhalten Sie Zugriffstoken Emotionsanalyse-API Die Methode ist hier geschrieben.
Nur die API zu treffen, ist nur zu treffen, aber ich werde den Code einfügen, der tatsächlich ausgeführt wird. Zugriffsinformationen, URLs usw. werden in die Konfiguration übernommen. Wenn Sie sie also selbst verwenden, Bitte verschieben Sie es per Hardcode oder rufen Sie config auf.
cotoha.py
import requests
import configparser
import pprint
class CotohaController:
def __init__(self):
config_file = './settings/config.ini'
self.config = configparser.ConfigParser()
self.config.read(config_file, 'utf-8')
self.base_url = str(self.config.get('cotoha_auth', 'base_url'))
self.headers = {
'Content-Type' : 'application/json;charset=UTF-8'
}
self.get_accesstoken()
def get_accesstoken(self):
request_body = {
"grantType": "client_credentials",
"clientId": str(self.config.get('cotoha_auth', 'client_id')),
"clientSecret": str(self.config.get('cotoha_auth', 'client_secret'))
}
auth_url = str(self.config.get('cotoha_auth', 'auth_url'))
responce = requests.post(auth_url, headers=self.headers, json=request_body)
self.headers.update(Authorization = 'Bearer ' + responce.json()['access_token'])
def emotion_analysis(self, text):
request_body = {
"sentence": str(text)
}
url = self.base_url + '/nlp/v1/sentiment'
responce = requests.post(url, headers=self.headers, json=request_body)
return responce.json()['result']['sentiment']
if __name__ == '__main__':
cotoha = CotohaController()
print(cotoha.emotion_analysis('Ich werde auch heute mein Bestes geben!'))
Wenn Sie den Text an "emotions_analysis ()" übergeben, analysiert die API die Emotionen und gibt "Positiv", "Negativ", "Neutral" zurück.
PS D:\src\telegram_autoreply_bot> python .\cotoha.py
Positive
Der Beispielcode sieht so aus.
try:
cth = cotoha.CotohaController()
emote = cth.emotion_analysis(rcv_text)
reply_list = self.replyLists['cotoha'][emote]
return_text = reply_list[random.randrange(len(reply_list))]
except Exception:
return_text = "・ ・ ・"
Wenn eine Trigger-Äußerung vorliegt, drücken Sie das zuvor erstellte API-Aufrufmodul und geben Sie eine Antwort aus der Definitionsdatei gemäß der Emotionsanalyse der API zufällig zurück.
[
"regex:.*Memetan.*",
"regex:.*(Schaf|Schaf|Schaf).*"
]
In meiner Implementierung wird es ausgelöst, wenn es mit diesem regulären Ausdruck übereinstimmt.
Als Referenz sieht der Definitionsteil der Antwort so aus.
"cotoha" : {
"Positive" : [
"Kompliment mehr! !!",
"Das ist es! Das ist es! !!",
"Es dehnt sich aus, wenn Sie es loben (unter der Nase)"
],
"Negative" : [
"Ich kann Dich hören!",
"Worauf wartest du! !!",
"Was für ein Schleicher! !!",
"Kein schlechtes Gespräch! !!"
],
"Neutral" : [
"Keine Luftlippe! !!",
"namens? Du hast es genannt! ?? Du hast es genannt! ??",
"Bitte teilen Sie uns die Anforderungen mit und zahlen Sie 10.000 Yen, wenn Sie es verwenden.",
"Hast du etwas gesagt"
]
}
Übrigens ist es keine Implementierung von "Antworten" Es gibt viele böse Implementierungen wie ** "Machen Sie sich eine tickende Erwähnung, wenn ein negatives Wort hereinkommt" **. Ich verzichte diesmal darauf, verschiedene Dinge zu tun, aber bitte lassen Sie mich wissen, wenn Sie interessante Implementierungen haben.
Es wurde gut aufgenommen und ist vor allem.
https://api.ce-cotoha.com/contents/reference/apireference.html#parsing Es ist eine coolere Implementierung, diese morphologische Analyse durchzuführen und Ihren Namen aus den morphologischen Elementen zu übernehmen.
Die Verarbeitung natürlicher Sprache in Japan ist jedoch anfällig für die richtige Nomenklatur. Insbesondere kann ich keine Namen finden, die die Bedeutung von Hiragana nicht verstehen, und es kann zu Fehlfunktionen kommen. Ich denke, dass COTOHA API oder NTT Produkte genauer sind, aber Trotzdem ist es schwierig, genau so etwas wie einen Spitznamen zu finden. Mein Bildschirmname "Memetan" kann je nach Kontext auch wie "Memetan" zerlegt werden. Daher gibt es keinen Fehler in Form eines Feuers mit einem regulären Ausdruck ohne Verwendung einer morphologischen Analyse für den Auslöser.
Es tut mir leid, dass ich so weit gelesen habe, aber es kann schwierig sein zu sagen. Ehrlich gesagt wird gesagt, dass es nur wenige Variationen von schlechten Wörtern gibt, oder wird es gemacht, ohne schlechte Wörter anzunehmen? Ich bin mir nicht sicher, ob "Bad Talk" und "Negative" unterschiedlich sind, aber Derzeit ist die Flagge "Negativ" nicht sehr hoch. Ich habe mein Herz verletzt und schlechte Worte über mich geschrieben, aber ich war ein wenig enttäuscht.
Ich habe hohe Erwartungen für diesen Bereich in der Zukunft. Als Abdeckung auf der Betriebsseite implementiert meine BOT-Seite, dass sogar "Neutral" eine ähnliche Antwort zurückgibt. Für diejenigen, die einen tickenden BOT erstellen möchten, ist es möglicherweise besser, ihn anders als "Positiv" funktionieren zu lassen.
Sie können es für 130.000 Yen pro Monat einschließlich Spracheingabe verwenden! !! Das ist billig! !! (Ich sage nicht zu zahlen) Natürlich denke ich nicht, dass es möglich ist, diese Funktion alleine einzuschließen, aber wenn Sie sie als Satz mit anderen Funktionen vorschlagen, kann das Unternehmen sie bestehen. Bitte verwenden Sie auf eigenes Risiko.
Ich habe einen vorgefertigten Chat-BOT verwendet, aber da ich den API-Aufruf erst heute Morgen vorbereitet habe, Vielleicht kann jeder, der Qiita sieht, es ohne großen Aufwand verwenden. Die Verarbeitung natürlicher Sprache hat viele alberne Verwendungszwecke und macht sehr viel Spaß. Zeigen Sie uns bitte Ihre Ideen.
Danke für Ihren Besuch.
Recommended Posts