Forschungsworkshop. Sprachassistenten - Was ist los mit ihnen?

Einführung



Analysten, die sich mit Chatbot- und Virtual Assistant-Diensten befassen, versprechen ein Marktwachstum von mindestens 30% pro Jahr. In absoluten Zahlen belief sich der Markt ab 2019 auf über 2 Mrd. USD pro Jahr. Nahezu alle weltweit führenden IT-Unternehmen haben virtuelle Sprachassistenten veröffentlicht, und Apple, Google und Amazon haben den Großteil ihrer Popularisierung bereits durchgeführt.



Bild



Der russische Markt hat auch in diesem Bereich seine eigenen Marktführer. Yandex war der erste große Spieler, der in Russland einen eigenen Sprachassistenten auf den Markt brachte. Laut den offiziell veröffentlichten Daten des Unternehmens wird Alice monatlich von 45 Millionen Benutzern verwendet, und die Anzahl der monatlichen Anfragen an den Assistenten beträgt mehr als 1 Milliarde. Laut Experten könnte 2020 ein Wendepunkt für den Markt für Sprachassistenten sein - der Wettbewerb zwischen Plattformen und Marken wird zu einer zunehmenden Anerkennung von Assistenten führen ...



Im Allgemeinen besteht kein Zweifel daran, dass der Markt für Sprachassistenten eine interessante Nische ist. Die erste Idee, die mir in den Sinn kommt, ist, einen der verfügbaren ASR-Dienste (Automatic Speech Recognition) und TTS-Dienste (Text To Speech) mit einem Bot-Konstruktor zu verknüpfen, der NLU-Unterstützung (Natural Language Understanding) unterstützt, und das war's! Darüber hinaus kann all dies ganz einfach und schnell in Cloud-Plattformen wie Twilio und VoxImplant implementiert werden.



Das einzige Problem ist, dass das Ergebnis ziemlich mittelmäßig sein wird. Was ist der Grund dafür? Lassen Sie uns zunächst versuchen zu verstehen, warum eine Reihe ziemlich guter Technologien zusammen ein so mittelmäßiges Ergebnis liefert. Das ist wichtig, weil Im wirklichen Leben wird der Kunde immer den Dienst bevorzugen, dessen Sprachdienst bequemer, interessanter, intelligenter und schneller als andere ist.



Wie ein typischer Sprachassistent funktioniert



Zunächst stellen wir fest, dass unsere Sprache eine Folge von Tönen ist. Schall ist wiederum die Überlagerung von Schallschwingungen (Wellen) unterschiedlicher Frequenzen. Eine Welle ist, wie wir aus der Physik wissen, durch zwei Attribute gekennzeichnet - Amplitude und Frequenz. Arbeitsalgorithmus des



Bild

Sprachsignalassistenten



:



  1. , , – . , «», .. .



    , , , - . ( ), «» . , , — , — . , , . , , , , .



    , , , , . , ASR .



    , – . , .



    , .
  2. Das Ergebnis der Arbeit des Sprachassistenten, das in der ersten Phase erhalten wurde, wird mit NLU-Unterstützung an den Bot übertragen, um Absichten, Entitäten zu identifizieren, Slots zu füllen und den Antworttext zu bilden.



    Als Ergebnis erhalten wir am Ausgang eine Testpräsentation der Antwortphrase, die die Reaktion unseres Sprachassistenten auf die empfangene Anfrage ist.
  3. Die Antwort des Sprachassistenten wird an den Sprachsynthesedienst übertragen, der später an die Person weitergeleitet wird.


Aufkommende Probleme



Trotz der scheinbar offensichtlichen Richtigkeit des implementierten Ansatzes sind im Fall eines Sprachassistenten viele Probleme mit ihm verbunden. Hier sind die wichtigsten:



  1. Verzögerungen
  2. Verzögerungen




  3. . , , 500 , .



    , 1 . - « » : «!» « ?». , , , , -, .



    , :



    • . – « »: , , .
    • .
    • .
    • .


    !

  4. . , .. . . , , , .. .
  5. . , . , , – .
  6. – . . , .



    :



    — ?

    — . , ? ?



    – « » : « » « ». « » , « » « ».
  7. -. .



    :



    — ---… ---…

    — , , … --…

    — , , --… , …



    , .. , , . .. , .
  8. , TTS-.


?



Erstens muss bei der Implementierung eines Sprachassistenten unbedingt sichergestellt werden, dass der Gesprächspartner „angehört“ wird, einschließlich in jenen Momenten, in denen der virtuelle Assistent selbst die ausgehende Nachricht ausspricht. Die Wahl, zuzuhören oder zu antworten, ist eine äußerst schlechte Implementierung und sollte im wirklichen Leben vermieden werden.



Zweitens sollten Sie die Geschwindigkeit aller Systemkomponenten optimieren. Irgendwann werden wir jedoch definitiv an die Grenzen einer möglichen Reduzierung der Latenzen und der Komplikation von Szenarien zur Verarbeitung natürlicher Sprache stoßen. Wir verstehen daher, dass es notwendig ist, den Ansatz für die Implementierung von Sprachdiensten grundlegend zu ändern.



Die Hauptidee des neuen Ansatzes besteht darin, ein Beispiel aus dem vom menschlichen Gehirn implementierten Prozess zu nehmen. Haben Sie bemerkt, dass eine Person im Verlauf eines Gesprächs beginnt, die Nachricht zu analysieren, die der Gesprächspartner sagt, nicht in dem Moment, in dem sie vollständig beendet wurde, sondern fast sofort, ganz am Anfang ihres Klangs, mit jedem neuen Wort zu klären? Aus diesem Grund sind wir oft bereit, eine Antwort zu geben, noch bevor der Gesprächspartner seine Nachricht beendet hat.



Wenn wir zu dem Algorithmus zurückkehren, den der virtuelle Sprachassistent implementieren sollte, sieht er möglicherweise so aus (zur Veranschaulichung betrachten Sie die Eingabefrage: "Wo ist der nächste Geldautomat?"):



  1. ASR , . .



    :



    a) «»

    b) «»

    c) «»

    d) «»
  2. , ,



    :



    a) «»

    b) « »

    c) « »

    d) « »
  3. , NLU, .



    :



    a) : «». :

    b) : « ». : « » 50%, « » 50%

    c) : « ». : « » 50%, « » 50%, « » = « »

    d) : « ». : « » 100%, « » = « »



    Bild



  4. , 1 , , , , :



    • ;
    • ;
    • , .. 3.


    , , ( – = 0%).



    , . , , , , , .
  5. Sobald sich herausstellt, dass der Benutzer seine Nachricht beendet hat (bestimmt durch die Verzögerung im Eingabestream), leeren wir die Antwort, die der wahrscheinlichsten erkannten Absicht entspricht, in den Ausgabepuffer. Besser noch, um die Geschwindigkeit zu optimieren, behalten Sie im Ausgabepuffer nicht die Textdarstellung der Antwort bei, sondern sofort das vom TTS empfangene Audiofragment, wodurch die Vollversion der Antwort-Audio-Nachricht akkumuliert wird.
  6. Wir teilen dem Benutzer den Inhalt des Ausgabepuffers mit.


Möglichkeiten zur Verbesserung der Qualität der Arbeit des Assistenten



Schauen wir uns an, welche Methoden verfügbar sind, um die Qualität unseres virtuellen Sprachassistenten weiter zu verbessern:







  1. . , . , (/ , ..) .
  2. «»



    «» , , . , «» .



    , «» , , .




  3. , , . .. , , , . , , , . , ..




  4. , -. .



    , , « ». – , . , , .




  5. , . , .. .




  6. , , . , , , . , .



    . online.


-



Bisher haben wir nur die technischen Merkmale der Implementierung von virtuellen Sprachassistenten berücksichtigt. Wir müssen jedoch verstehen, dass der Erfolg nicht immer nur von der Perfektion der technischen Umsetzung abhängt. Lassen Sie uns das bereits betrachtete Beispiel analysieren: "Wo ist der nächste Geldautomat?" und verstehen, was die Besonderheit für seine Implementierung in der Sprachschnittstelle ist.



Sie wissen, es gibt eine Regel, die für Vertriebsleiter gilt: "Was nicht über das Telefon verkauft werden kann, sollte nicht über das Telefon verkauft werden." Aus diesem Grund ist eine Antwort auf das Formular "Der nächste Geldautomat befindet sich um ..." für eine Person nicht aussagekräftig. Wenn er das Gebiet, in dem er sich jetzt befindet, gut kenne, d.h. Wenn er die Namen aller Straßen und Hausnummern in der Nähe gekannt hätte, hätte er höchstwahrscheinlich gewusst, wo sich der nächste Geldautomat befindet. Eine solche Antwort wird also höchstwahrscheinlich sofort zur Bildung einer weiteren Frage führen: "Wo ist dann die Adresse gerade benannt?" Eine viel informativere Antwort wäre die Option: "Der nächste Geldautomat befindet sich ungefähr hundert Meter von Ihnen entfernt in Richtung Südosten" oder, noch besser, senden Sie einer Person eine Nachricht wie den Standort auf Yandex oder Google Maps.



Die universelle Regel lautet hier: Wenn für die weitere Verwendung von Informationen eine Übertragung auf einen anderen Wahrnehmungskanal erforderlich ist, ist diese Option eine unglückliche Wahl für die direkte Implementierung im Rahmen der Sprachschnittstelle. Es ist erforderlich, die Antwort in eine Form umzuformulieren, die zum Zuhören geeignet ist.



Für eine Reihe von Diensten ist ihre Implementierung im Rahmen eines Sprachassistenten im Allgemeinen die erfolgreichste Lösung. Wenn sich eine Person beispielsweise in einer stressigen Situation befindet, ist es für sie normalerweise schwierig, sich zu konzentrieren und das Problem im Chat schnell im Text zu beschreiben, und sie wird es immer vorziehen, alles mit Stimme auszudrücken. Dies kann ein wichtiges Kriterium bei der Auswahl von Geschäftsfällen für die Implementierung in einem virtuellen Sprachassistenten werden.



Die zweite naheliegende Wahl von Fällen für die Implementierung per „Sprache“ ist die Notwendigkeit, sie in Situationen zu verwenden, in denen diesbezüglich entweder gesetzliche Beschränkungen bestehen (z. B. beim Autofahren ist die Durchführung von Textkorrespondenz verboten) oder die Verwendung anderer Kommunikationskanäle (z. B. während der Arbeit) einfach unpraktisch ist oder Sport treiben, wenn die Hände einer Person einfach beschäftigt sind).



Perfektion kennt keine Grenzen



Sprache ist bequemer als jede andere Schnittstelle, wenn der Benutzer eine ganz bestimmte Funktion benötigt, um eine ganz bestimmte Aufgabe zu lösen. Warum so? Es ist sehr einfach - in einer solchen Situation müssen Sie warten, bis die Site geladen ist, durch die Seite scrollen, das Anwendungsmenü durchsuchen, Tasten drücken usw. immer unpraktischer als ein schnell gesprochener Sprachbefehl. Websites und Anwendungen sind multifunktional. Und das ist gleichzeitig ihr Vor- und Nachteil. Die Sprachfertigkeit muss auf die Funktion "hier und jetzt" zugeschnitten sein.



Es ist wichtig zu bedenken, dass Situationen vermieden werden sollten, in denen Sprachbefehle von anderen zusätzlichen Aktionen in anderen Schnittstellen begleitet werden müssen. Andernfalls wird der Sprachkanal funktionsunfähig. Das Prinzip der Augenfreiheit wird verletzt, da es lesbar und freihändig ist, wenn Sie noch etwas klemmen müssen.



Eine weitere wichtige Empfehlung ist, dass Sie nicht versuchen sollten, einer Person das Sprechen beizubringen. Er kann es perfekt ohne uns machen, weil Sprache ist eine bereits vertraute und verständliche Schnittstelle. Ein anschauliches Beispiel für einen schlechten Stil: "Um diese Nachricht erneut anzuhören, sagen Sie: Hören Sie erneut zu." Sie und ich reden im normalen Leben nicht so. Etwa nicht? Besser einfach fragen: "Hörst du die Nachricht noch einmal oder gehst du zur nächsten?"



Es wird empfohlen, einen sprachaktivierten virtuellen Assistenten zu implementieren, um offene Fragen insgesamt zu vermeiden. Es ist ratsam, den Gesprächspartner auf bestimmte Aktionen hinzuweisen. Es ist besonders wertvoll, wenn der Assistent als Navigator oder Empfehlungssystem fungiert. Ein Sprachassistent sollte nicht zu viele detaillierte Informationen von einer Person verlangen. Probieren Sie es aus, während das Gespräch fortschreitet.



Abschließend möchte ich darauf hinweisen, dass die Personalisierung möglicherweise die Hauptsache ist, die in den vorhandenen Sprachdialogschnittstellen fehlt. Ohne dies ist ein mehr oder weniger langer Dialog nicht möglich. Der Assistent muss Daten über den Gesprächspartner sammeln, strukturieren und die erhaltenen Informationen überprüfen. Es ist wichtig, den Faden des Dialogs nicht zu verlieren, den Kontext des Gesprächs zu bewahren und zu berücksichtigen. Es ist wichtig. Andernfalls kann der Assistent nur kurze und recht einfache Abfragen implementieren. Infolgedessen können Sie keinen echten Live-Dialog führen, wenn der Sprachassistent mit dem Benutzer kommuniziert.



All Articles