Helfen Sie Ihrem Chatbot, auf Menschen zu reagieren

Sehen Sie, wie Lucidworks Ihnen dabei helfen kann, Ihren Chatbot intelligenter zu machen und Ihren Kunden bessere Antworten zu geben.

Erfahren Sie, wie Sie die Kundeninteraktionen mit Ihrem Chatbot verbessern können. Lucidworks demonstriert eine Lösung, die Ihrem Chatbot hilft, natürlichsprachliche Anfragen zu verstehen und mit den relevantesten Ergebnissen zu antworten.

Zielpublikum

Technologie- und Unternehmensleiter, die daran interessiert sind, die Kundenzufriedenheit durch bessere Chatbots zu verbessern.

Teilnehmer nehmen mit

Erfahren Sie, wie Lucidworks Ihnen dabei helfen kann, Ihren Chatbot „intelligenter“ zu machen und Ihren Kunden bessere Antworten zu geben.

Sprecher
Steven Mierop, leitender Vertriebsingenieur, Lucidworks


[Steve Mierop]

Hallo, ich bin Steve Mierop, ein Senior Solutions Engineer hier bei Lucidworks. Und heute werden wir darüber sprechen, wie wir die Qualität und Reaktionsfähigkeit Ihres Chatbots verbessern können.

Ziel der heutigen Präsentation ist es, die semantische Vektorsuche auf hohem Niveau zu verstehen und zu zeigen, wie sie in Verbindung mit dem Chatbot genutzt werden kann. Wir werden uns eine praktische Anwendung ansehen, wie sie implementiert werden könnte, und uns dann ein Live-Beispiel ansehen.

Was also ist die symmetrische Vektorsuche und wie kann sie zur Verbesserung der Chatbot-Erfahrung eingesetzt werden? Nun, die semantische Vektorsuche nutzt fortschrittliche Deep-Learning-Techniken, um die Absichten der Nutzer besser und relevanter zu verstehen. Dadurch können Sie Fragen in natürlicher Sprache stellen und erhalten eine genaue Antwort.

Wir verwenden dies also nicht nur bei Chatbots, sondern auch bei der Unternehmenssuche. Wir verwenden es auch im E-Commerce, um Null-Suchergebnisse zu vermeiden. Und weil wir die Benutzer besser verstehen können und wissen, was ihre wahren Absichten sind und wonach sie suchen, trägt dies dazu bei, dass weniger Callcenter angerufen werden müssen, da die Benutzer selbst eine Antwort auf eine Frage finden können. Und schließlich hilft es auch dabei, die Menge an bedingter Logik zu verringern, die Sie in einer Workflow-Engine benötigen könnten. Besser gesagt, in einer Chatbot-Workflow-Engine. Wir werden uns also heute all diese Beispiele ansehen.

Was also ist die semantische Vektorsuche? Kurz gesagt handelt es sich dabei um eine Reihe von Techniken zum Auffinden von Informationen oder Produkten anhand ihrer Bedeutung – im Gegensatz zur lexikalischen Suche, bei der Dokumente anhand von übereinstimmenden Wörtern und deren Varianten gefunden werden. Wenn Sie also wissen, wie der Speichermechanismus einer herkömmlichen Suchmaschine funktioniert, werden die Wörter in diesen Dokumenten typischerweise tokenisiert, durchlaufen eine Reihe von Analysatoren oder Handlern und werden schließlich in einem invertierten Index gespeichert, der vom Konzept her einem Index im hinteren Teil eines Buches ähnelt.

Auf der anderen Seite haben wir die dichte Gespenstersuche. Bei der dichten Gespenstersuche werden Wörter und Phrasen und diese Konzepte nach ihrer Beziehung zueinander gespeichert. So liegen z.B. Pferd und Tier im enddimensionalen Vektorraum näher beieinander als eine andere Gruppe von Objekten oder Entitäten wie New York, Paris oder Peking. Und es gibt eine wirklich schöne Visualisierung, die ich sehr gerne benutze. Sie heißt project.tensorflow.org. Und Sie können diese Seite natürlich auch selbst besuchen.

Und das ist eine wirklich einfache Möglichkeit, einen zweidimensionalen Vektorraum in diesem Fall in zwei Dimensionen zu betrachten. Sie wissen also, dass Sie viele der Informationen nicht sehen können, aber eine Maschine kann sie interpretieren und erkennen. Lassen Sie uns also eine schnelle Suche nach etwas wie DNA durchführen. Sie werden sehen, dass wir bei der Abfrage nach DNA andere Begriffe sehen, die damit zusammenhängen. Andere verwandte Begriffe wie „Genom“ oder „Gewebechromosom“ zum Beispiel liegen in diesem n-dimensionalen Hyperraum enger beieinander.

Wenn wir hingegen nach „Chicago“ suchen, werden Sie sehen, dass es sich in einem anderen Abschnitt des Hyperraums befindet, in diesem n-dimensionalen Raum, und dass andere Wörter näher dran sind, wie „Boston“, „Toronto“, „Jackson“, „Illinois“, was ziemlich toll ist. Es handelt sich also um einen anderen Speichermechanismus und eine andere Art, die Bedeutung dessen zu kodieren, wonach jemand suchen könnte.

Wie genau kann dies also einem Chatbot helfen? Und um diese Frage zu beantworten, kommt es wirklich darauf an, wo Sie es einsetzen. Bei den traditionellen oder moderneren Chatbot-Engines handelt es sich im Wesentlichen um große Workflows oder Zustandsautomaten, wenn Sie so wollen. Wenn Sie als Administrator das System einrichten, definieren Sie eine Reihe von Absichten. Ich verwende hier die Terminologie von Google Dialog Flows. Und für jede Absicht würden Sie eine Reihe von Äußerungen oder eingehenden Anfragen eines Benutzers zuordnen, wie es heißt.

Wenn also jemand „Hallo“ oder „Hi“ oder „Hallo“ sagt, würde dies letztendlich der Begrüßungsabsicht zugeordnet. Und dann würde eine Reihe von Workflow-Schritten folgen, die eine Antwort senden und vielleicht nach weiteren Informationen fragen. Sagen wir, dies ist ein Beispiel für einen Hotel- oder Gastgewerbe-Workflow. Jemand kommt herein und fragt: „Wann ist mein Zimmer fertig? Nun, diese Äußerung wird einer Absicht zugewiesen. Und diese Absicht würde dann den Rest des Workflows abwickeln.

Es könnte also heißen: „Hey, ich brauche einige persönliche Informationen, um Sie zu identifizieren. Vielleicht das Konto, das Sie benutzt haben, oder Ihre Telefonnummer, die Sie zur Buchung eines Hotelzimmers verwendet haben. Und von dort aus könnte dieser Eingabeparameter dann eine Erfüllungsanfrage auslösen. Höchstwahrscheinlich ein Webservice, der eine Datenbank oder eine Suchmaschine aufruft, um die Informationen zum Zimmerstatus dieses Benutzers zu finden und sie dann zurückzuschicken. Das ist also alles schön und gut. Es funktioniert hervorragend, wenn Sie alle möglichen Äußerungen und alle möglichen Absichten kennen, die jemand fragen könnte.

Und das ist der Punkt, an dem es ein wenig knifflig werden kann, denn es ist schwer, all die verschiedenen Kombinationen von Möglichkeiten, eine ähnliche Frage zu stellen, im Voraus zu berechnen. Und oft gibt es auf vielen dieser modernen Plattformen eine Ausweichmöglichkeit, und das ist sozusagen das A und O. Das heißt, wenn jemand eine Frage stellt oder eine Äußerung verwendet, die ich nicht im Voraus definiert habe. Und die Workflow-Engine weiß nicht, was sie damit anfangen soll.

Es wird also ein Fallback Intent ausgelöst. Und dann gibt es eine Reihe von Möglichkeiten, wie Sie das handhaben können. Sie könnten sagen: „Hey, hier ist die Nummer eines Helpdesks. Sie können dort anrufen und weitere Informationen erhalten, oder hier ist ein Link zu unseren FAQ. Vielleicht finden Sie dort Ihre Antwort. Und das ist in Ordnung. Es ist keine großartige Benutzererfahrung. Die semantische vektorbasierte Suche ist eine intelligentere Methode, um eine eingehende Frage oder Anfrage dem zuzuordnen, was wir in unserem Suchindex haben, der letztlich eine Vektordarstellung ist.

In diesem Fall verwenden wir ein vortrainiertes Modell, ein Modell, das anhand von öffentlich zugänglichen Informationen aus dem Internet trainiert wurde, um herauszufinden, wie Menschen suchen und welche Variationen von Fragen sie stellen. Im Endeffekt können Sie die eingehende Anfrage kodieren und sie dann an einen vektorbasierten Speicheransatz senden, mit dem Sie Informationen abrufen und sehen können, wie gut die eingehende Anfrage zu den Inhalten passt, die Sie in Ihrer Suchmaschine haben.

Lassen Sie uns also durch ein Live-Beispiel gehen. Und bevor wir das tun, zeige ich Ihnen den Google-Dialogablauf, den wir verwenden werden. Ich habe nur einen kurzen Screenshot davon gemacht. Sie werden feststellen, dass hier nur sehr wenige Absichten verwendet werden. Ich habe also eine Begrüßungsabsicht, wenn jemand „Hallo, hallo“ sagt. Ich habe einen Fallback-Intent, der diese Abfrage mit unserem vektorbasierten Modell kodiert und dann die Suche nach dem nächsten Nachbarn oder der Nähe in unserer vektorbasierten Speicherschicht durchführt. Und dann habe ich noch einen Status-Intent. Das ist nur eine Vorhersage für den Fall, dass jemand fragt: „Wann ist mein Zimmer fertig?“ Aber selbst mit nur ein paar dieser definierten Intents möchte ich Ihnen zeigen, dass wir viele verschiedene Arten von Fragen stellen können, die ich nicht vorhergesehen habe. Und ich habe mir nicht die Mühe gemacht, eine bestimmte Absicht zu konfigurieren.

Gehen wir also zur Demo über, und zwar zu einer Art Hotelerlebnis, bei dem wir eine Schnittstelle zu einem fiktiven Unternehmen namens Hotel California herstellen werden. Und ich werde Sie durch den ersten Teil dieses Arbeitsablaufs führen. Beginnen wir also damit, dass wir sagen: Hallo, das hat unsere Begrüßungsabsicht ausgelöst.

[Chatbox]

Willkommen im Hotel California. Wie kann ich Ihnen heute helfen?

[Steve Mierop]

Und auch das war eine Vorabversion von mir. Das war also ein Teil unserer erwarteten Antwort. Und dann: Wann wird mein Zimmer fertig sein? Und noch einmal,

[Chatbox]

Sie haben es. Bitte geben Sie Ihre Telefonnummer ein, damit ich den Status Ihres Zimmers überprüfen kann.

[Steve Mierop]

Diese Äußerung hat den Raumstatus-Absichtspunkt ausgelöst, und jetzt fragt er nach einigen identifizierbaren Informationen. In diesem Fall haben wir eine Telefonnummer angegeben. Und von dort aus wurde diese Telefonnummer erfüllt. Wahrscheinlich hat ein Webservice eine Datenbank oder eine Suchmaschine aufgerufen, den Status meines Zimmers nachgeschlagen und ihn dann zurückgegeben.

[Chatbox]

Ihr Zimmer wird heute um 16:00 Uhr fertig sein. Kann ich Ihnen irgendwelche Fragen zum Hotel beantworten?

[Steve Mierop]

Hier kann die Symantec Vektorsuche wirklich helfen. Und zwar in diesen Ausweichszenarien, in denen es heißt: „Kann ich Ihnen irgendwelche Fragen zum Hotel beantworten? Nun, vielleicht kann ich nicht vorhersehen, was gefragt wird, aber ich weiß, dass ich viele Attribute über das Hotel habe, Eigenschaften, häufig gestellte Fragen, ich glaube, ich habe etwa hundert oder so in unserer semantisch basierten Vektorspeicherschicht. All diese Informationen wurden kodiert, und ich überlasse es der Fallback-Strategie, für mich nachzuschlagen. Ich könnte also fragen: „Gibt es in diesem Hotel ein Fitnesscenter? Und wir erhalten eine Antwort zurück

[Chatbox]

Ein Fitnesscenter mit mehr als 40 neuen Life-Fitnessgeräten und ein Spa sind ebenfalls vorhanden. Beide sind barrierefrei zu erreichen.

[Steve Mierop]

Das hier ist ziemlich einfach, oder? Ich sagte, Fitnesszentren hier. Dafür brauchen wir eigentlich nicht einmal eine semantische Vektoroperation. Das könnte man einfach mit einem schlagwortgesteuerten Ansatz machen, aber wo die semantische Vektorsuche wirklich glänzt und wo der Wert liegt, ist, was ist, wenn jemand diese Frage auf eine andere Weise stellt und alle nach dieser Antwort suchen werden? Was wäre, wenn sie hereinkämen und sagten: „Kann ich hier trainieren?

Nun, in diesem Fall liegen, ähnlich wie bei unserem n-dimensionalen Vektorraummodell, das wir uns bereits angesehen haben, Training und Fitnesscenter wahrscheinlich ziemlich nahe beieinander. Und dann können wir damit feststellen, welche Antwort auf eine Frage am nächsten liegt oder am wahrscheinlichsten ist.

Also, noch einmal, ich habe das Wort Workout nicht in meinem Index. Ich habe es nicht. Nein, wirklich nicht. Es gibt keine Umformulierungen. Es gibt keine Synonyme dafür zu finden, das kommt alles von dem bereits trainierten Vektormodell. Lassen Sie uns also ein paar weitere Beispiele ausprobieren, vielleicht anstelle von „Kann ich hier arbeiten? könnte ich vielleicht etwas ausführlicher fragen. Gibt es einen Ort, an dem man morgens Bauchmuskelübungen machen kann? Und wieder ist es vom Konzept her dasselbe: Hey, es gibt ein Fitnesscenter.

Das ist wahrscheinlich das, wonach Sie suchen. Und ich könnte ein Fitnesscenter gebrauchen. Ich könnte Workout gebrauchen. Ich könnte Bauchpressen verwenden. Ich könnte sagen: „Wo kann ich Bankdrücken machen?“, vielleicht gibt es ein Fitnessstudio in der Nähe, oder „Hey, vielleicht gibt es ein Fitnesscenter im Hotel, das ich nutzen kann. Sie wissen also, dass der Umgang mit diesen verschiedenen Permutationen, wie jemand dieselbe Frage stellt, der Punkt ist, an dem semantischer Vektor Surge sein Gewicht in die Waagschale werfen kann und Ihnen hilft, dieses Problem der Null-Suchergebnisse zu lösen.

Und das ist auch eine bessere Erfahrung, denn jetzt muss ich sie nicht mehr an einen Helpdesk oder sonst wohin weiterleiten. Ich kann den Benutzer in die Lage versetzen, seine Fragen selbst zu beantworten, indem ich einfach ein vorab trainiertes Modell verwende. Das könnte auch Dinge wie Rechtschreibfehler oder Auto-Vokabeln behandeln, wie wir hier gesehen haben. Eine häufig gestellte Frage könnte sein: Kann ich meinen Hund mitnehmen? Und dann erhalten wir eine Antwort.

[Chatbox]

Haustiere wie Hunde und Katzen sind in dieser Unterkunft nicht erlaubt.

[Steve Mierop]

Aber was wäre, wenn jemand hereinkäme und fragte: „Kann mein Servicetier im Zimmer bleiben? Nun, wir hätten eine neue Frage für Servicetiere erstellen können, aber nehmen wir an, ich hätte das nicht getan. Das System war immer noch intelligent genug, um zu wissen, dass Servicetiere mit Haustieren wie Hunden und Katzen verbunden sind. Oder wenn ich sagen würde: „Kann ich meinen Deutschen Schäferhund mitbringen?“, dann würden wir immer noch bei Haustieren wie Hunden und Katzen landen und die entsprechende Antwort erhalten, ohne dass ich den Deutschen Schäferhund vordefinieren muss, ohne dass ich diese Art von Äußerung oder Frage eines bestimmten Benutzers vorwegnehmen muss.

Das sind also wirklich leistungsstarke Dinge und wirklich tolle Anwendungsfälle, die Sie nutzen können, um diese Lücken mit Dingen zu schließen, bei denen Sie sich vorstellen können, was gefragt werden könnte. Ich möchte Ihnen noch einen weiteren Gedanken mit auf den Weg geben, nämlich den, die semantische Vektorsuchmaschine in das Zentrum einer Organisation zu stellen.

Nun, das hat einige Vorteile. Zum einen könnten Sie Ihre Chatbot-Frameworks etwas schlanker halten und über diese verschiedenen Benutzeroberflächen hinweg vorhersehbarere, konsistentere Ergebnisse erzielen. In größeren Unternehmen ist es nicht ungewöhnlich, dass eine Abteilung eine bestimmte Art von Chatbot verwendet und eine andere Abteilung mit eigenen Ressourcen und eigenen Teams ihren eigenen Chatbot mit einem anderen Framework erstellt.

Aber mit diesem Ansatz könnten Sie immer noch genau dieselbe Wissensbasis nutzen, die kodiert wurde und sich in einem n-dimensionalen Vektorraum befindet. Sie könnten auch Anwendungen von Drittanbietern, Intranetportale und E-Commerce bedienen. Ein wirklich wichtiger Anwendungsfall ist die Eliminierung von Null-Suchergebnissen. Wenn jemand eine Suchanfrage nach einer Marke stellt, die ich nicht führe, könnte ich sie dennoch einer Marke zuordnen, die ich führe, und dem Benutzer diese dann präsentieren. Die Verwendung eines zentralisierten Speichers für die dichte Vektorsuche und das Abrufen von Informationen ist also von großem Wert.

Also, okay. Vielen Dank, dass Sie heute bei mir waren. Wenn Sie Fragen haben, schicken Sie uns einfach eine E-Mail oder besuchen Sie unsere Website. Also nochmals vielen Dank. Machen Sie es gut.

Quick Links