Chatbots sind scheiße



Freunde, wir machen Sie auf eine gekürzte Übersetzung einer kuriosen Präsentation zu den Problemen beim Erstellen von Chat-Bots aufmerksam: Was sind die Merkmale dieser Aufgabe, welche Schwierigkeiten stehen Entwicklern im Weg und wie können sie gelöst werden? Wir haben auch einen Experten des Jet Infosystems Machine Learning Center gebeten, zu diesem Material Stellung zu nehmen. Sie finden seine Meinung am Ende des Artikels.

Keine sozialen Netzwerke, keine mobilen Anwendungen, sondern Messaging ist ein neuer und sehr wichtiger Trend. Heutzutage nimmt die Intensität des Messaging exponentiell zu, und in Bezug auf das Datenvolumen hat diese Art der Kommunikation Anfang 2015 die sozialen Netzwerke an anderer Stelle überholt. Zum Beispiel konzentriert sich Facebook auf Nachrichten und wird alles andere, was mit Ihrer Seite in diesem sozialen Netzwerk verbunden ist - einen Newsfeed und so weiter - irgendwo weit weg bringen.

Dank Smartphones haben Touch-Interfaces heute die Welt erobert. Und es sieht so aus, als ob der nächste Schritt die Chat-Benutzeroberfläche sein wird, in der Sie einen Sprach- oder Text-Chat-Bot haben.

Lassen Sie uns über die Schwierigkeiten sprechen, die von Entwicklern vollwertiger Chat-Bots überwunden werden müssen - und in Zukunft überwunden werden müssen.

Was sagen uns Analysten?


Gartner behauptet, dass bis 2022 70% aller Kundeninteraktionen über eine Art KI stattfinden werden. Es wird davon ausgegangen, dass sogar die Anzahl der Sprachanrufe im Unternehmen um 10% sinken wird. Wenn Benutzer in 60% der Fälle das Unternehmen anrufen, ist zumindest keine menschliche Beteiligung erforderlich. In anderen Fällen werden Personen nur in einer bestimmten Phase des Prozesses teilnehmen und wahrscheinlich direkt mit den Benutzern kommunizieren.

Anderen Studien zufolge wird der Chatbot-Markt exponentiell wachsen. Dabei geht es nicht nur um Kundenservice, sondern auch um Vertrieb und Marketing. Forscher glauben, dass Chatbots 6% der Belegschaft weltweit ersetzen können. Dies bedeutet, dass fast 200 Millionen Menschen nach einem neuen, interessanteren Job suchen müssen.



Schließlich glauben Analysten, dass durch die Verwendung von Chatbots weltweit jährlich 7 Billionen US-Dollar eingespart werden können.

Absichten und Ausdrücke


Vor zwei Jahren hasste ich Chat-Bots, aber heute mag ich sie, weil ich sie entwickle. Aber viele mögen sie heute noch nicht. Warum sind Chatbots so schlecht?

Es scheint mir, dass die Gründe für ihre Unvollkommenheit in zwei Gruppen unterteilt werden können: Eine bezieht sich auf das Gebiet der KI, und die zweite Gruppe bezieht sich auf Menschen. Aber da ich Ingenieur bin und nicht zu stark in Psychologie und anderen Themen bin, die mit den Benutzern selbst zusammenhängen, werden sie nur über KI sprechen.

Zunächst müssen wir uns fragen: Wie erkennen Chat-Bots, was Benutzer ihnen sagen? Anerkennung hat zwei Schlüsselkonzepte. Was ist die Absicht des Benutzers, sein Ziel? Zum Beispiel hat eine Person eine Rechnung für Dienstleistungen für einen großen Betrag erhalten und möchte wissen, warum so viele. Er wendet sich an den Kundensupport. Er möchte eine Antwort auf seine Frage erhalten. Ein solcher Benutzer kann mehrere Ausdrücke verwenden . er kann fragen: "Warum ist mein Konto so groß?"; "Was ist passiert?"; "Was ist los mit meinem Konto?"; "Warum sollte ich so viel bezahlen?" Diese Konzepte werden im Bereich der Erstellung von Chat-Bots sehr häufig verwendet.

Wie erkennt man Absichten und Ausdrücke?


Chatbots zum Isolieren von Schlüsselwörtern. Angenommen, der Text „Benutzer“ befand sich im Text des Benutzers, dann bezieht sich die Beschwerde wahrscheinlich auf den Abrechnungsservice. Aber der Benutzer kann sagen: " Ich habe in der Rechnung gesehen, dass ich wahrscheinlich das falsche Abonnement hatte ." Diese Person interessiert sich nicht für das Konto, sie möchte ein anderes Abonnement. Und Sie müssen alle Arten von Krückenregeln erfinden.

Der Benutzer kann den Satz jedoch umdrehen und sagen: " Ich glaube, ich habe das falsche Abonnement, weil ich festgestellt habe, dass auf meinem Konto etwas nicht stimmt ." Und deine Krücken funktionieren nicht mehr! Und Sie erweitern diese Regeln, indem Sie neue Krückenschichten aufstapeln.

Diese Regeln funktionieren nicht perfekt und die Entwickler haben zu viel Zeit für die Finalisierung aufgewendet. Weitere Fortschritte wurden nur durch maschinelles Lernen erzielt. Im Bereich des Verständnisses einer natürlichen Sprache (Natural Language Understanding, NLU) gibt es eine separate Richtung, die an dieser Aufgabe arbeitet.

Gleichzeitig ist NLU ein wesentlicher Bestandteil der Verarbeitung natürlicher Sprache (NLP) - dieser Begriff beschreibt alles, was mit dem Verstehen und Erzeugen von Sprache zusammenhängt. Zu verstehen, wovon Ihnen jemand erzählt, ist im Wesentlichen eine Klassifizierung von Ausdrücken nach einer bestimmten Absicht.

Schwierigkeiten bei der Bestimmung von Absichten


Eines der Hauptprobleme ist das Vorhandensein "schlechter" Ausdrücke. Um die Algorithmen zu trainieren, müssen Sie Ihre eigenen Absichtserklärungen generieren. Zum Beispiel haben Sie solche Beispiele:

Warum ist mein Konto so groß?
Warum ist meine Rechnung so teuer?
Warum ist der Betrag auf meinem Konto so groß?

Sie können als Eingabe für das Training von NLU- und NLP-Systemen verwendet werden. Diese Sätze sind sehr ähnlich, sie beginnen mit "Warum ...". Außerdem enthalten alle Sätze die Wörter "Mein Konto", sodass Sie eine einfache Regel zum Ändern der Reihenfolge verwenden können, z. B. über das Vorhandensein des Ausdrucks "Mein Konto". Außerdem wird jedes Mal, wenn das Wort "so" erwähnt wird, davon ausgegangen, dass es sich speziell auf die Diskussion des Kontos bezieht. Wenn Sie dem Algorithmus nicht erklärt haben, worauf es bei der Bestimmung dieser Art von Absicht genau ankommt, funktioniert Ihr NLP-System nicht gut.

In dem Satz: „ Warum um alles in der Welt sollte ich viel mehr als gewöhnlich bezahlen? »Keines der oben hervorgehobenen Wörter ist vorhanden. Das NLP-System kann nicht verstehen, dass der Vorschlag zu dieser Gruppe gehört, es sei denn, Sie haben eine einzige Absicht. Wenn es jedoch mehrere Absichten gibt, wird die Situation sehr kompliziert.

Vielzahl von Ausdrücken


Wir brauchen also sehr unterschiedliche Ausdrücke. Sie zu generieren ist keine leichte Aufgabe. Zu diesem Zweck habe ich meine Diversifizierungsstrategie entwickelt.



Ein Teil des NLP-Systems verwaltet eine Vielzahl von Synonymen, und ein anderer Teil behandelt eine Vielzahl von Wortreihenfolgen. Die meisten NLP-Systeme bestehen aus zwei Hauptblöcken:

  • Word2Vec konvertiert erkennbare Wörter in eine Vektordarstellung.
  • Ein Faltungs-Neuronales Netzwerk (SNA) oder ein wiederkehrendes Neuronales Netzwerk (RNS), das die Wortreihenfolge verarbeitet.

Mit den Funktionen von Word2Vec können bestimmte Eigenschaften von Wörtern erkannt werden. Infolgedessen sind Wörter mit ähnlicher Bedeutung nahe beieinander. Fahrzeuge auf die Achse "Größe" setzen:


Und wenn Sie alles richtig gemacht haben, können Sie diese Entitäten entlang einer anderen Achse verteilen - der Umgebung, für die diese Art von Transport bestimmt ist.


Um das System zu trainieren, müssen Sie wissen, welche Sorte für Ihre Aufgabe relevant und welche nicht relevant ist. Angenommen, Sie müssen etwas wirklich Großes transportieren, und die Transportmethode spielt keine Rolle. Dann wird wahrscheinlich eine solche Sorte akzeptabel sein:


In einem anderen Fall spielt die Größe möglicherweise keine Rolle, wenn sie nur auf dem Landweg geliefert wird.


Word2Vec konvertiert Wörter in Vektordarstellung. Diese Darstellung wird dann an ein neuronales Netzwerk übertragen, das die Wortreihenfolge untersucht.

Meine Strategie ist ziemlich einfach. Zuerst erstellen wir viele Angebote. Im Falle des Kontos interessieren uns keine Synonyme, sondern nur die Wortreihenfolge.

Warum ist mein Konto so groß?
Mein Konto ist so groß!
In meinem Konto eine unverschämte Menge!

Das Wort "Punktzahl" steht an verschiedenen Stellen des Satzes. Wir versuchen, so viele Beispiele wie möglich mit unterschiedlicher Wortreihenfolge zu generieren, ohne uns Gedanken darüber zu machen, wie ein Gedanke in verschiedenen Wörtern ausgedrückt werden kann.

Dann müssen Sie Synonyme für Vielfalt hinzufügen. Angenommen, Sie können im ersten Satz anstelle von " Warum " sagen, " wie es passiert ist, ... ", " Erklären Sie mir, warum ... " oder " Sagen Sie mir, wie es passiert ist, dass ... ", und dann können Sie den Satz mit einem beliebigen beenden eine andere Option. Zum Beispiel: " Erklären Sie mir, warum Ihr Scheck so groß ist ."



Wir erstellen eine Liste der in diesem Kontext zulässigen Synonyme, schreiben ein Skript zum Generieren von Ausdrücken und erhalten einen guten Trainingsdatensatz. Und dann müssen Sie dem System explizit mitteilen, welche Synonyme in diesem Zusammenhang zulässig sind.

Verbesserung


Es scheint mir, dass viele Unternehmen vergessen, dass der resultierende Chat-Bot verbessert werden muss.

Nehmen Sie den Satz: „ Wie kam es, dass ich viel mehr als sonst bezahlen musste? »Diese Wörter sind in meinen Synonymen nicht enthalten, und die Wortreihenfolge unterscheidet sich von den zuvor verwendeten. Dieser Satz muss nicht als weiterer Ausdruck hinzugefügt werden. Überprüfen Sie zuerst, ob es eine solche Wortreihenfolge gibt, und wenn nicht, fügen Sie den Satz einfach als neue Wortreihenfolge hinzu und fügen Sie dann Synonyme hinzu. Auf diese Weise erhalten Sie eine sehr unterschiedliche Reihe von Ausdrücken.

Bewertung der Sortenexpression


Woher weißt du, wie gut alles funktioniert? Sie können experimentieren, indem Sie Vektordarstellungen von Wörtern zu Clustern vereinfachter Ausdrücke kombinieren und bewerten, wie unterschiedlich sie sind.



Die Metrik ist sehr einfach: Wir zählen die Anzahl der Cluster und dividieren sie durch die Anzahl der Ausdrücke. Im Durchschnitt haben eine Vielzahl von Ausdrücken einen Anteil von ungefähr 50%.

Wenn die Sorte unter 20% liegt, arbeiten Sie offensichtlich nicht sehr gut. Wenn andererseits die Diversität über 80% liegt, sind die Ausdrücke wahrscheinlich nicht miteinander verbunden, und es ist für den Algorithmus sehr schwierig, eine gute Kombination zu finden.

Erkennungsgenauigkeit


Eine Zugbewertung bedeutet, wie genau das System an einem Trainingsdatensatz arbeitet. Dies ist nicht sehr interessant, da Sie nur eine Bewertung Ihres Trainingsdatensatzes erhalten. Und was als nächstes zu tun ist, ist unklar.

In dieser Situation sollten Sie daran interessiert sein, welche Ausdrücke falsch klassifiziert sind. Wo ist alles schief gelaufen?

Der Satz „ Ich habe in der Rechnung gesehen, dass ich wahrscheinlich das falsche Abonnement habe “ hat eine hohe Wahrscheinlichkeit, selbst bei den oben gezeigten Beispielen falsch klassifiziert zu werden.

Und wenn Sie feststellen, dass der Vorschlag falsch klassifiziert ist, müssen Sie herausfinden, wie Sie die Situation verbessern können.

Word2Vec und ein wiederkehrendes neuronales Netzwerk werden oft als Black Boxes betrachtet und sind sehr schwer zu interpretieren. Trotzdem gibt es einen nicht allzu schwierigen Weg. Separat für jedes Wort fügen wir Rauschen hinzu. Wenn Sie anfangen, ein Wort zu ändern, werden Sie sehen, wie empfindlich die Definition dieses bestimmten Wortes wird.

Also machen wir mit jedem Wort im Satz: Fügen Sie dem Vektor Rauschen hinzu und führen Sie es durch den Algorithmus. Wenn das Ergebnis dasselbe ist, interessiert sich der Algorithmus nicht für dieses Wort. Wenn das Ergebnis nach dem Hinzufügen von Rauschen völlig anders wird, ist dieses Wort wahrscheinlich sehr relevant.

Wenn Sie die Empfindlichkeit auf diese Weise analysieren, können Sie verstehen, dass die Absicht beispielsweise aufgrund des Wortes „Anzahl“ falsch bestimmt wurde. Oder wenn der Satz nur die Worte "warum ..." enthält, dann haben sie vielleicht zu einer solchen Definition von Absicht geführt. Wenn das Ganze im Wort "Punktzahl" steht, haben Sie mehrere Möglichkeiten:

  • Wenn Sie diesen Ausdruck löschen, verschwindet Ihr falsch klassifizierter Ausdruck.
  • Oder fügen Sie in der Gruppe der Ausdrücke, die dem Abonnement zugeordnet sind, einfach weitere Ausdrücke mit dem Wort "count" hinzu, damit das System zu "verstehen" beginnt, dass diese beiden Wörter zusammen vorkommen können. Und je nach Kontext sollten Sie herausfinden, was passiert, unabhängig davon, ob es sich um ein Konto oder ein Abonnement handelt.
  • Umgekehrt können Sie weitere Ausdrücke hinzufügen, die sich auf das „Zählen“ beziehen, diese jedoch nicht enthalten, sodass das System weniger empfindlich auf das „Zählen“ reagiert.

Gesprächsabläufe


Das nächste, worauf zu wenige Menschen achten, sind Gesprächsabläufe. Wie benutzen Leute deinen Bot? Wie arbeiten sie mit ihm? Was passiert im Gespräch? Was machen die meisten Benutzer?



Dieses Diagramm zeigt die Entwicklung des Gesprächs. Es ist zu sehen, dass dieser Thread am häufigsten verwendet wird, dass viele Leute diesen Teil des Bots mögen. Es ist jedoch wichtiger zu sehen, wo Momente in der Unterhaltung entstehen, die dazu führen, dass die Leute den Bot nicht mehr benutzen: Sie fragen etwas und gehen dann plötzlich.

Emotionsanalyse


Es ist wichtig zu verstehen, wie sich Menschen fühlen, wenn sie mit Ihrem Chat-Bot chatten. Dafür verwenden wir die Analyse von Emotionen. Wenn Sie verstehen, dass 60% oder mehr Benutzer nach dem Gespräch mit einem Chat-Bot unzufrieden sind, muss etwas unternommen werden. Ich glaube nicht, dass eine Dialogplattform solche Informationen berücksichtigt.


Sehr oft verursachen negative Emotionen Vorschläge, die nicht negativ aussehen - sie wurden nur von einem Chat-Bot gelernt, der auf Emoji basiert. Wenn Sie einen sarkastischen Satz im Datensatz haben, kann dies alles bedeuten. Ein Bot sollte nicht davon ausgehen, dass er mit schlechten Emotionen verbunden ist, da der Ausdruck neutral sein kann.

Anwendungsbeispiele


Wann sollten Chat-Bots verwendet werden? Wenn Ihre Kunden eine schnelle Antwort benötigen oder nicht am Telefon in der Schlange stehen möchten, bevor ein Operator bereit ist, ihnen zu helfen.

Wenn nicht genügend Personal vorhanden ist, können Sie den Chat-Bot verwenden, um grundlegende oder häufig gestellte Fragen schnell zu beantworten.

Es ist auch sehr wichtig herauszufinden, welcher Bereich Ihres Unternehmens den größten Teil der Kosten ausmacht, da Sie dann viel Geld sparen können, wenn Sie diesen Bereich an Chat-Bots übertragen.

Roboter sind nicht die besten Gesprächspartner in Bezug auf Emotionalität. Wenn Sie den Rettungsdienst anrufen, möchten Sie eine direkte Antwort. Aber wenn Sie Probleme mit dem Auto oder einen kleinen Unfall haben, rufen Sie den Autoservice an und möchten nicht lange in der Schlange stehen, dann können Sie einfach sagen: "Mein Reifen platzt", so etwas. Natürlich meine ich nicht kleine Unfälle oder Unfälle mit einer großen Anzahl von Verletzten, in solchen Situationen können Chat-Bots nicht verwendet werden.

Und ich möchte noch einen weiteren Aspekt ansprechen: die Beurteilung, ob der Chat-Bot für eine bestimmte Aufgabe geeignet ist. Viele unserer Kunden kommen zu uns und sagen: „ Wir haben ein solches Formular auf der Website. Warum nicht auf den Chatbot übertragen? „Aber wir arbeiten seit vielen Jahren mit Formularen und glauben, dass sie sehr effektiv sind.

Die Formulare sind sehr einfach und die Leute wissen, wie man mit ihnen arbeitet. Warum ein Formular in einen Chat-Bot verwandeln? Ein Teil der Benutzerinteraktion ist für den Chatbot geeignet, aber manchmal ist es besser, einfach das Formular auszufüllen, da dies viel einfacher ist.

Es gibt aber auch andere Situationen.

Wenn beispielsweise die grafische Oberfläche für die Suche nach Informationen nicht sehr praktisch ist, kann die Konversationsbenutzeroberfläche zur Ausgabe werden. Wenn Sie "schlechte" Ausdrücke haben, funktioniert der Chat-Bot natürlich nicht. Und normalerweise werden solche Ausdrücke von einer Person erzeugt.

Das Wichtigste ist die Gestaltung des Gesprächs. Eine ganze VoiceCon-Konferenz ist diesem Thema gewidmet. Das Design des Gesprächs sollte sehr streng sein. Und wenn Sie ein gutes Design machen, können Sie mit nicht sehr hochwertiger KI davonkommen. Und das ist ziemlich traurig, da es Fehler in Chatbots verursacht.

Hilfreiche Ratschläge


Wahrscheinlich haben viele von Ihnen Popups auf Websites gesehen: „Hallo. Kann ich dir bei etwas helfen? " oder „Ich sehe, dass Sie versuchen, einen Brief zu senden. Lass mich dir helfen! "

Platzieren Sie keine Chat-Bots auf der Hauptseite. Tu es nicht.

Solche Bots können nur in milderer Form verwendet werden, wenn sie nicht die gesamte Seite einnehmen. Dann beginnen die Leute, den Bot zu benutzen, weil er Ihnen helfen kann, die Antworten zu finden. Da Sie den Umfang des Bots einschränken, wird die Entwicklung außerdem einfacher. Sie stören die Leute jedoch nicht mit einem Bot, den sie derzeit nicht benötigen.

Leute neigen dazu, den Chatbot zu personalisieren. Sie mögen keine absichtlichen Roboter.

Personalisieren Sie Ihren Chatbot! Auch wenn Sie Ihren Kunden jedes Mal mitteilen, dass es sich um einen Roboter handelt, geben Sie ihm dennoch einige individuelle Funktionen.

Wenn Sie ein Hotelmanager sind, brauchen Sie vielleicht einen sehr formellen Chat-Bot, der wie ein Butler spricht: "Ja, Sir", "Danke, Sir." Und wenn Sie ein Telekommunikationsunternehmen sind und Tarifpläne für junge Leute entwickeln, ist es besser, etwas zu verwenden wie: "Hey Mann, wie geht es Ihnen?"

Denken Sie immer daran, wer Ihr Publikum ist.

Wenn Sie ordentlich und konsequent sind, wird der Chat-Bot Ihre Kunden mehr ansprechen. Behalten Sie die Konsistenz während des gesamten Gesprächsflusses bei, da am Anfang oft alles gut läuft und das Gespräch nach einer Weile sehr roboterhaft wird.

Es ist sehr wichtig, dass Ihr Chatbot auf kollaborative Weise kommuniziert. Und von großer Bedeutung ist die Art und Weise, wie sie am Anfang erscheint.

Eine Person hat Ihren Chat-Bot aus irgendeinem Grund geöffnet. Erklären Sie dem Benutzer sofort, dass Sie einen Chat-Bot erstellen können. Verwalten Sie außerdem die Erwartungen des Benutzers: Sagen Sie, dass Sie ein Bot sind, da einige Fehler für ihn entschuldbar sind.

Verwenden Sie keine zu allgemeinen Sätze. Fragen Sie nicht: "Wie kann ich Ihnen helfen?"

Normalerweise frage ich solche Bots: " Hilf mir, im Lotto zu gewinnen " oder so ähnlich. Lassen Sie den Bot also klar und einfach kommunizieren.

Es ist wirklich wichtig - und schwierig -, den Initiativtransfer in einem Gespräch zu handhaben.

Wenn wir miteinander kommunizieren, verwenden wir visuelle Signale, die es uns ermöglichen zu verstehen: " Jetzt bin ich an der Reihe zu sprechen ." Das Chatten ist jedoch ziemlich schwer zu implementieren. Es ist notwendig, dem Benutzer klar zu machen, dass der Bot jetzt darauf wartet, was eine Person darauf schreibt. Zum Beispiel bestellte er einen Burger und der Bot kann fragen: „ Willst du mehr Pommes? ""

Es ist sehr wichtig, die menschliche Sprache in Bots zu verwenden.

Trockenes Gespräch ist sehr nervig. Verwenden Sie die Identität des Bots, um das Gespräch glaubwürdiger zu machen.

Es ist sehr verlockend, während des gesamten Gesprächs mit dem Kunden mit der Bestätigung oder Überprüfung von Bestätigungen zu beginnen.

Aber es ist ärgerlich, wenn der Bot ständig fragt: "Ist alles in Ordnung?" oder "richtig?" oder "Du hast einen Burger bestellt, oder?" Mach das nicht in deinem Chatbot!

Dies ist nur zulässig, wenn es wirklich relevant ist. Fügen Sie zum Beispiel am Ende des Gesprächs hinzu: „ Gut. Jetzt muss man einen Burger mit Pommes und einem Getränk bezahlen. Alles ist richtig? »Eine elegante Möglichkeit, dies zu tun, ist eine integrierte Bestätigung. Wenn Sie einen Burger bestellen, können Sie fragen: „ Gut. Willst du Pommes zu deinem Burger? "

Irgendwann kann der Bot etwas falsch interpretieren. Darüber hinaus neigen Menschen dazu, Fehler zu machen. Manchmal bestellst du etwas und denkst: " Hmm, ich nehme wahrscheinlich stattdessen dreifachen Speck, das ist besser ." Daher muss der Entwickler sicherstellen, dass der Chatbot damit umgehen kann. Sie müssen einen Konversationsfluss erstellen, um zu verstehen, dass wir an diesem Punkt der Konversation die Reihenfolge ändern möchten.

Entwerfen Sie Threads, die robust gegen Benutzerfehler sind, weil ständig Fehler gemacht werden!

Es geht darum, eine Person ein wenig daran zu erinnern, aber die Kommunikation mit Menschen, die sich ständig entschuldigen, ist sehr ärgerlich. Lassen Sie sich also nicht zu oft von Ihrem Chat-Bot entschuldigen. Vermeiden Sie Entschuldigungen, schlagen Sie Lösungen vor. Sagen Sie: „ Ich habe es nicht verstanden. Können Sie umformulieren? "Wenn Sie ein paar Fehler machen, können Sie dem Benutzer sagen:" Sie fragen nach etwas, das ich nicht verstehe. Du kannst bei mir einen Burger, Pommes und Getränke bestellen . “

Die Zukunft


Machen Sie es dem Kunden einfach, einen Chatbot mit einem guten Konversationsdesign zu erstellen. Wenn Sie einen Fehler machen, versuchen Sie ihn zu beheben. Ehrlich gesagt saugen Chatbots immer noch. Aber Sie können Chat-Bots erstellen, die wirklich funktionieren. Arbeiten Sie für uns. Muss mich nur richtig nähern.

Gutachten


Und jetzt möchten wir Ihnen die Meinung eines Experten unseres Unternehmens zu den hier beschriebenen Ideen und Tipps mitteilen.

Nikolay Knyazev, führender Spezialist für maschinelles Lernen bei Jet Infosystems :

Die Rede des Autors ist dem gewidmet, was der Entwickler wissen muss, um erfolgreiche Chat-Bots zu erstellen. Das Thema ist interessant, viele Punkte liegen nicht auf der Oberfläche. Es ist jedoch zu verstehen, dass der Überblick über Methoden aus Sicht der Algorithmen recht allgemein ist und es keinen Hinweis auf ihre Implementierung gibt.

Zum Beispiel wird ein Beispiel mit Word2vec gegeben, aber es wird nicht über andere Methoden der Vektorisierung von Wörtern gesagt, zum Beispiel Handschuh, Fasttext. Es gibt verschiedene Möglichkeiten, den Text zu klassifizieren (von der Worttasche bis zu RNN und CNN), aber es gibt keinen Vergleich oder keine Bibliotheken, in denen sie implementiert sind (für Python sind dies beispielsweise Keras, Scikit-Learn usw.). Zwei wichtige Punkte wurden bei der allgemeinen Überprüfung übersehen. Erstens regionale Besonderheiten: Verschiedene Methoden werden für verschiedene Sprachen erfolgreich sein. Und die Implementierung für die englische Sprache ist definitiv nicht für die russische Sprache geeignet. Obwohl es in unserem Land Entwicklungen gibt, zum Beispiel bigARTM oder das Taiga-Gebäude, auf dessen Grundlage das erwähnte Word2vec trainiert werden kann.

Ein weiterer Aspekt ist das Konzept der Verwendung des Bots: One-Shot-Bot (Auswahl einer Wohnung, Lösung eines Problems) oder ständige Verwendung (Teil des Arbeitsprozesses). Im ersten Fall werden tatsächlich Emotionen aus der Kommunikation und alles, worüber der Autor sprach, in Erinnerung gerufen. Im zweiten Fall warten die Leute genau auf das „Kalaschnikow-Sturmgewehr“, damit es seine Funktionen ohne zusätzliche Fragen erfüllt und langsam die kürzesten Verwendungsmöglichkeiten lernt. Und hier tritt nicht die emotionale Farbe in den Vordergrund, sondern die Benutzererfahrung, da sich die neuronalen Netze in unserem Kopf bisher viel schneller an die Realität anpassen als ihre Gegenstücke in der Drüse.

Source: https://habr.com/ru/post/de463657/


All Articles