-
Hintergrund
-
Anwender können mit automatisierten Assistenten (auch bekannt als „persönliche Assistentenmodule“, „mobile Assistenten“ oder „Chatbots“) über eine Vielzahl von Datenverarbeitungsvorrichtungen wie etwa Smartphones, Tablet-Computer, am Körper tragbare Vorrichtungen, Automobilsysteme, eigenständige persönliche Assistentenvorrichtungen und so weiter interagieren. Die automatisierten Assistenten erhalten Eingaben von dem Anwender (z. B. getippte und/oder gesprochene natürliche Spracheingaben) und antworten mit Antwortinhalt (z. B. visuelle und/oder hörbare natürliche Sprachausgabe).
-
Zusammenfassung
-
Als Antwort auf eine Eingabe von einem Anwender während einer Dialogsitzung kann ein automatisierter Assistent einen Vorschlag und/oder anderen Inhalt in Antwort auf die Eingabe liefern, der einen oder mehrere Inhaltsparameter enthält, die von dem automatisierten Assistenten aus mehreren Kandidaten-Inhaltsparametern basierend auf einem oder mehreren Faktoren ausgewählt werden. Zum Beispiel kann der automatisierte Assistent als Antwort auf die Eingabe „Wo kann ich einen guten Burger bekommen?“ mehrere Kandidaten-Restaurants identifizieren, die Burger servieren, jedoch kann er nur eine Untergruppe (z. B. eines) von diesen zur Aufnahme in Antwortinhalt in Antwort auf die Eingabe auswählen.
-
Diese Beschreibung richtet sich auf Verfahren, Vorrichtungen und computerlesbare Medien, die sich auf ein Erbitten von Rückmeldungen von einem Anwender bezüglich eines oder mehrerer Inhaltsparameter eines Vorschlags oder anderen Inhalts, der von dem automatisierten Assistenten bereitgestellt wird, beziehen. Die Rückmeldungen des Anwenders können verwendet werden, um zukünftige Vorschläge und/oder anderen Inhalt zu beeinflussen, die nachfolgend durch den automatisierten Assistenten in zukünftigen Dialogsitzungen an den Anwender und/oder an andere Anwender geliefert werden.
-
In einigen Implementierungen wird Inhalt durch einen automatisierten Assistenten in einer Dialogsitzung zwischen einem Anwender und dem automatisierten Assistenten an den Anwender geliefert - und der automatisierte Assistent liefert eine Eingabeaufforderung, die in einer zukünftigen Dialogsitzung zwischen dem Anwender und dem automatischen Assistenten Anwenderrückmeldungen in Bezug auf den gelieferten Inhalt erbittet. In einigen dieser Implementierungen wird die Eingabeaufforderung nach Eingaben durch den Anwender und/oder Ausgaben von dem automatisierten Assistenten in der zukünftigen Dialogsitzung, die nichts mit dem in der vorherigen Dialogsitzung bereitgestellten Inhalt zu tun haben, bereitgestellt.
-
Als ein Beispiel kann die zukünftige Dialogsitzung durch den Anwender initiiert werden und kann den automatisierten Assistenten dazu veranlassen, eine „Routineaktion“ auszuführen, beispielsweise eine Zusammenfassung der Kalendereinträge des Anwenders bereitzustellen, Nachrichten für den Anwender bereitzustellen, Musik für den Anwender abzuspielen, usw. Der automatisierte Assistent kann einige oder alle der Routineaktionen ausführen und dann die Eingabeaufforderung bereitstellen. Dies kann den Routineaktionen eine gewisse Abwechslung hinzufügen und/oder die Anwendererfahrung verbessern, indem eine Konversationsaufforderung in die Routineaktionen eingebracht wird. Darüber hinaus können wie oben erwähnt Rückmeldungen (direkt oder indirekt) eines Anwenders, die als Antwort auf die Eingabeaufforderung bereitgestellt werden, verwendet werden, um zukünftige Vorschläge oder anderen Inhalt zu beeinflussen, die nachfolgend durch den automatisierten Assistenten zur Präsentation an den Anwender bereitgestellt werden - wodurch die Wahrscheinlichkeit erhöht wird, dass der nachfolgende Inhalt, der durch den automatisierten Assistenten an den Anwender geliefert wird, für den Anwender relevant ist. Eine derartige Verbesserung der Relevanz des von dem automatisierten Assistenten bereitgestellten Inhalts kann ermöglichen, dass der gewünschte Inhalt dem Anwender schneller bereitgestellt wird, was verschiedene Rechenressourcen (und dann, wenn der automatische Assistent nicht in die Clientvorrichtung integriert ist, Kommunikationsressourcen) verringern kann, die in einem längeren Dialog, der ansonsten erforderlich sein könnte, um den gewünschten Inhalt zu identifizieren, benötigt werden.
-
In einigen Implementierungen ist ein von einem oder mehreren Prozessoren ausgeführtes Verfahren bereitgestellt, das als Teil einer Dialogsitzung zwischen einem Anwender und einem automatisierten Assistenten, der von einem oder mehreren der Prozessoren implementiert wird, umfasst: Empfangen von natürlichen Spracheingaben, die auf Anwenderschnittstelleneingaben basieren, die von dem Anwender über eine Anwenderschnittstellen-Eingabevorrichtung bereitgestellt werden; und Bereitstellen von Antwortinhalt in Antwort auf die natürlichen Spracheingaben als Antwort des automatischen Assistenten auf die natürlichen Spracheingaben. Der Inhalt wird zur Präsentation an den Anwender über eine Anwenderschnittstellen-Ausgabevorrichtung bereitgestellt und der Inhalt enthält mindestens einen Inhaltsparameter, der von dem automatisierten Assistenten aus mehreren Kandidaten-Inhaltsparametern ausgewählt wird. Das Verfahren umfasst ferner als Teil einer zusätzlichen Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten, die zeitlich von der Dialogsitzung getrennt ist: Bereitstellen einer Eingabeaufforderung, die Rückmeldungen bezüglich der ausgewählten Inhaltsparameter erbittet; Empfangen von zusätzlichen Eingaben in Antwort auf die Eingabeaufforderung; und Verwenden der zusätzlichen Eingaben, um einen in Verbindung mit dem Inhaltsparameter gespeicherten Wert zu beeinflussen. Der in Verbindung mit dem Inhaltsparameter gespeicherte Wert beeinflusst die zukünftige Bereitstellung von weiterem Inhalt, der den Inhaltsparameter enthält. Die Eingabeaufforderung wird zur Präsentation an den Anwender über die Anwenderschnittstellen-Ausgabevorrichtung oder eine zusätzliche Anwenderschnittstellen-Ausgabevorrichtung bereitgestellt. Die Eingabeaufforderung wird basierend auf dem Inhaltsparameter, der zuvor von dem automatisierten Assistenten ausgewählt worden ist und zuvor zur Präsentation an den Anwender als Teil der Dialogsitzung bereitgestellt worden ist, erzeugt, um Rückmeldungen bezüglich des Inhaltsparameters zu erbitten. Die zusätzlichen Eingaben in Antwort auf die Eingabeaufforderung basieren auf zusätzlichen Anwenderschnittstelleneingaben, die von dem Anwender über die Anwenderschnittstellen-Eingabevorrichtung oder eine zusätzliche Anwenderschnittstellen-Eingabevorrichtung bereitgestellt werden.
-
Diese und andere Implementierungen der hierin offenbarten Technologie können optional eines oder mehrere der folgenden Merkmale umfassen.
-
In einigen Implementierungen initiiert der Anwender die zusätzliche Dialogsitzung mit zusätzlichen natürlichen Spracheingaben, die nicht mit dem Inhalt der vorherigen Dialogsitzung in Beziehung stehen. In einigen dieser Implementierungen umfasst das Verfahren ferner als Teil der zusätzlichen Dialogsitzung: Bereitstellen von zusätzlichen Dialogsitzungsausgaben in Antwort auf die zusätzlichen natürlichen Spracheingaben, die nicht mit dem Inhalt der vorherigen Dialogsitzung in Beziehung stehen. Das Bereitstellen der Eingabeaufforderung kann nach dem Bereitstellen der zusätzlichen Dialogsitzungsausgaben erfolgen. In einigen Versionen dieser Implementierungen umfasst das Verfahren ferner ein Bestimmen, dass ein oder mehrere Kriterien durch die zusätzlichen natürlichen Spracheingaben und/oder die zusätzlichen Dialogsitzungsausgaben erfüllt sind. Das Bereitstellen der Eingabeaufforderung kann ferner auf dem Bestimmen, dass die Kriterien erfüllt sind, basieren. Die Kriterien können beispielsweise umfassen, dass die zusätzlichen Dialogsitzungsausgaben von einem bestimmten semantischen Typ sind, und/oder ein Auftreten von mindestens einem N-Gramm eines Satzes von Kriterien-N-Grammen in der Anwendereingabeaufforderung umfassen.
-
In einigen Implementierungen ist der Inhalt ein Vorschlag, auf den der Anwender in der Zukunft eingehen soll, und das Verfahren umfasst ferner ein Bestimmen, dass der Anwender auf den Vorschlag eingegangen ist, nachdem der Inhalt bereitgestellt worden ist, der den Inhaltsparameter enthält. Das Bereitstellen der Eingabeaufforderung kann ferner auf dem Bestimmen, dass der Anwender auf den Vorschlag eingegangen ist, basieren.
-
In einigen Implementierungen enthält die Anwenderschnittstellen-Eingabevorrichtung oder die zusätzliche Anwenderschnittstellen-Eingabevorrichtung, die zum Erzeugen der zusätzlichen Eingaben in Antwort auf die Eingabeaufforderung verwendet wird, ein Mikrofon und das Verfahren umfasst ferner: basierend auf dem Bereitstellen der Eingabeaufforderung, präventives Aktivieren mindestens einer Komponente, die dazu ausgelegt ist, die Anwenderschnittstelleeingaben, die über das Mikrofon bereitgestellt werden, zu verarbeiten.
-
In einigen Implementierungen initiiert der Anwender die zusätzliche Dialogsitzung und das Bereitstellen der Eingabeaufforderung hängt davon ab, dass der Anwender die zusätzliche Dialogsitzung initiiert hat.
-
In einigen Implementierungen umfasst das Verfahren ferner als Teil der zusätzlichen Dialogsitzung: vor dem Bereitstellen der Eingabeaufforderung, Bereitstellen zusätzlicher Dialogsitzungsausgaben. Das Bereitstellen der Eingabeaufforderung kann nach dem Bereitstellen der zusätzlichen Dialogsitzungsausgaben erfolgen.
-
In einigen Implementierungen umfasst das Verfahren ferner: Identifizieren eines zusätzlichen Inhaltsparameters, der als Teil einer zusätzlichen vorherigen Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten für den Anwender bereitgestellt wird; und Bestimmen basierend auf einem oder mehreren Kriterien, die Eingabeaufforderung, die auf dem Inhaltsparameter basiert, anstelle einer alternativen Eingabeaufforderung, die auf dem zusätzlichen Inhaltsparameter basiert, bereitzustellen. In einigen dieser Implementierungen umfassen das eine oder die mehreren Kriterien eine entsprechende zeitliche Nähe des Bereitstellens des Inhaltsparameters und des Bereitstellens des zusätzlichen Inhaltsparameters.
-
In einigen dieser Implementierungen umfassen das eine oder die mehreren Kriterien zusätzlich oder alternativ semantische Typen, die dem Inhaltsparameter und dem zusätzlichen Inhaltsparameter zugeordnet sind.
-
In einigen Implementierungen enthält der Inhalt einen Vorschlag bezüglich eines bestimmten physischen Orts und eines bestimmten an dem bestimmten Ort konsumierbaren Artikels, und der Inhaltsparameter identifiziert das bestimmte Artikel.
-
In einigen Implementierungen enthält der Inhalt einen Vorschlag bezüglich eines bestimmten physischen Orts und der Inhaltsparameter identifiziert eine Kategorie, zu der der bestimmte physische Ort gehört.
-
In einigen Implementierungen werden sowohl die Eingaben als auch die zusätzlichen Eingaben über die Anwenderschnittstellen-Eingabevorrichtung erzeugt und sowohl der Inhalt als auch die Rückmeldungsaufforderung werden zur Präsentation über die Anwenderschnittstellen-Ausgabevorrichtung bereitgestellt. In einigen dieser Implementierungen enthält die Anwenderschnittstellen-Eingabevorrichtung ein Mikrofon einer einzelnen Vorrichtung und die Anwenderschnittstellen-Ausgabevorrichtung umfasst einen Lautsprecher der einzelnen Vorrichtung.
-
In einigen Implementierungen werden die Eingaben über die Anwenderschnittstellen-Eingabevorrichtung einer ersten Rechenvorrichtung erzeugt, der Inhalt wird zur Präsentation über die Anwenderschnittstellen-Ausgabevorrichtung der ersten Rechenvorrichtung bereitgestellt und die Eingabeaufforderung wird zur Präsentation über die zusätzliche Anwenderschnittstellen-Ausgabevorrichtung einer zusätzlichen Rechenvorrichtung bereitgestellt.
-
In einigen Implementierungen ist ein von einem oder mehreren Prozessoren durchgeführtes Verfahren bereitgestellt, das umfasst: Identifizieren eines gespeicherten Inhaltsparameters von Inhalt, der zuvor als Teil einer vorherigen Dialogsitzung zwischen einem Anwender und einem automatisierter Assistenten, der von einem oder mehreren der Prozessoren implementiert wird, für einen Anwender bereitgestellt worden ist, aus einem computerlesbaren Medium. Das Verfahren umfasst ferner als Teil einer zusätzlichen Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten, die zeitlich von der Dialogsitzung getrennt ist: Bereitstellen einer Eingabeaufforderung, die Rückmeldungen bezüglich des Inhaltsparameters erbittet. Die Eingabeaufforderung wird zur Präsentation an den Anwender über eine Anwenderoberflächen-Ausgabevorrichtung einer Rechenvorrichtung des Anwenders bereitgestellt und die Eingabeaufforderung wird basierend darauf, dass der Inhaltsparameter zuvor als Teil der vorherigen Dialogsitzung zur Präsentation für den Anwender bereitgestellt worden ist, erzeugt, um Rückmeldungen bezüglich des Inhaltsparameters zu erbitten. Das Verfahren umfasst ferner als Teil der zusätzlichen Dialogsitzung: Empfangen von zusätzlichen Eingaben in Antwort auf die Eingabeaufforderung; und Verwenden der zusätzlichen Eingaben, um einen in Verbindung mit dem Inhaltsparameter gespeicherten Wert zu beeinflussen. Die zusätzlichen Eingaben basieren auf zusätzlichen Anwenderschnittstelleneingaben, die von dem Anwender über eine Anwenderschnittstellen-Eingabevorrichtung der Rechenvorrichtung bereitgestellt werden, und der gespeicherte Wert beeinflusst das zukünftige Bereitstellen von weiterem Inhalt, der den Inhaltsparameter enthält.
-
Zusätzlich umfassen einige Implementierungen einen oder mehrere Prozessoren von einer oder mehreren Rechenvorrichtungen, wobei der eine oder die mehreren Prozessoren betreibbar sind, um Befehle auszuführen, die in einem zugeordneten Speicher gespeichert sind, und wobei die Befehle dazu ausgelegt sind, eine Durchführung eines der zuvor genannten Verfahren zu veranlassen. Einige Implementierungen umfassen auch ein oder mehrere nicht transitorische computerlesbare Speichermedien, die Computerbefehle speichern, die von einem oder mehreren Prozessoren ausgeführt werden können, um eines der zuvor genannten Verfahren durchzuführen.
-
Es sollte beachtet werden, dass alle Kombinationen der vorangehenden Konzepte und zusätzlicher Konzepte, die hier ausführlicher beschrieben sind, als Teil des hier offenbarten Gegenstands betrachtet werden. Zum Beispiel werden alle Kombinationen von beanspruchten Gegenständen, die am Ende dieser Offenbarung auftauchen, als Teil des hier offenbarten Gegenstands betrachtet.
-
Figurenliste
-
- 1 ist ein Blockdiagramm einer beispielhaften Umgebung, in der Implementierungen, die hierin offenbart sind, implementiert werden können.
- 2A zeigt ein Beispiel einer Dialogsitzung, in der der automatisierte Assistent Inhalt mit Inhaltsparametern, die aus mehreren Kandidaten-Inhaltsparametern ausgewählt sind, für den Anwender bereitstellt.
- 2B1, 2B2, 2B3 und 2B4 zeigen verschiedene Beispiele für das Bereitstellen einer Rückmeldungsaufforderung, die auf einem oder mehreren ausgewählten Inhaltsparametern von 2A basiert, für den Anwender in einer Dialogsitzung, die von derjenigen von 2A getrennt ist.
- 3A zeigt ein weiteres Beispiel einer Dialogsitzung, bei der der automatisierte Assistent Inhalt mit Inhaltsparametern, die aus mehreren Kandidaten-Inhaltsparametern ausgewählt sind, für den Anwender bereitstellt.
- 3B zeigt ein Beispiel für das Bereitstellen für das Bereitstellen einer Rückmeldungsaufforderung, die auf einem oder mehreren ausgewählten Inhaltsparametern von 3A basiert, für den Anwender in einer Dialogsitzung, die von derjenigen von 3A getrennt ist.
- 4 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren gemäß hierin offenbarten Implementierungen darstellt.
- 5 zeigt eine beispielhafte Architektur einer Rechenvorrichtung.
-
Genaue Beschreibung
-
Unter Bezugnahme auf 1 ist eine beispielhafte Umgebung, in der die hierin offengebarten Techniken umgesetzt werden können, gezeigt. Die beispielhafte Umgebung enthält mehrere Clientrechenvorrichtungen 1061-N und einen automatisierten Assistenten 120. Obwohl der automatisierte Assistent 120 in 1 als von den Clientrechenvorrichtungen 1061-N getrennt gezeigt ist, können in einigen Implementierungen der gesamte automatisierte Assistent 120 oder Aspekte davon durch eine oder mehrere der Clientrechenvorrichtungen 1061-N implementiert sein. Zum Beispiel kann eine Clientvorrichtung 1061 eine Instanz oder mehrere Aspekte des automatisierten Assistenten 120 implementieren und eine Clientvorrichtung 106N kann auch eine separate Instanz dieses einen oder dieser mehreren Aspekte des automatisierten Assistenten 120 implementieren. In Implementierungen, in denen ein oder mehrere Aspekte des automatisierten Assistenten 120 durch eine oder mehrere Rechenvorrichtungen, die von den Clientrechenvorrichtungen 1061-N entfernt liegen, implementiert werden, können die Clientrechenvorrichtungen 1061-N und diese Aspekte des automatisierten Assistenten über ein oder mehrere Netze wie beispielsweise ein lokales Netz (LAN) und/oder ein Weitbereichsnetz (WAN) (z. B. das Internet) kommunizieren.
-
Die Clientrechenvorrichtungen 1061-N können beispielsweise eine oder mehrere der folgenden Vorrichtungen umfassen: eine Desktop-Rechenvorrichtung, eine Laptop-Rechenvorrichtung, eine Tablet-Rechenvorrichtung, eine Mobiltelefon-Rechenvorrichtung, eine Rechenvorrichtung eines Fahrzeugs des Anwenders (z. B. ein fahrzeuginternes Kommunikationssystem, ein fahrzeuginternes Unterhaltungssystem, ein fahrzeuginternes Navigationssystem) und/oder eine am Körper tragbare Einrichtung des Anwenders, die eine Rechenvorrichtung enthält (z. B. eine Uhr des Anwenders mit einer Rechenvorrichtung, eine Brille des Anwenders mit einer Rechenvorrichtung, eine Rechenvorrichtung für virtuelle oder erweiterte Realität). Zusätzliche und/oder alternative Clientrechenvorrichtungen können vorgesehen sein. In einigen Implementierungen kann ein bestimmter Anwender mit dem automatisierten Assistenten 120 unter Verwendung mehrerer Clientrechenvorrichtungen kommunizieren, die kollektiv ein koordiniertes „Ökosystem“ von Rechenvorrichtungen bilden. Allerdings werden sich um der Kürze willen einige Beispiele, die in dieser Beschreibung beschrieben sind, auf einen Anwender konzentrieren, der eine einzelne Clientrechenvorrichtung 106 bedient.
-
Jede der Clientrechenvorrichtungen 1061-N kann eine Vielzahl unterschiedlicher Anwendungen wie beispielsweise einen entsprechenden der Nachrichtenaustausch-Clients 1071-N betreiben. Die Nachrichtenaustausch-Clients 1071-N können in verschiedenen Formen auftreten und die Formen können über die Clientrechenvorrichtungen 1061-N hinweg variieren und/oder mehrere Formen können auf einer einzelnen der Clientrechenvorrichtungen 1061-N betrieben werden. In einigen Implementierungen können einer oder mehrere der Nachrichtenaustausch-Clients 1071-N in der Form eines Kurznachrichtendienstes („SMS“) und/oder eines Multimedianachrichtendienstes („MMS“), eines Online-Chatdienstes (z. B. Sofortnachrichtendienstes, Internet-Relais-Chat oder „IRC“ etc.), einer Nachrichtenübermittlungsanwendung, die einem sozialen Netzwerk zugeordnet ist, eines Nachrichtenübermittlungsdienstes für persönliche Assistenten, der Konversationen mit dem automatisierten Assistenten 120 gewidmet ist, und so weiter vorkommen. In einigen Implementierungen können ein oder mehrere der Nachrichtenaustausch-Clients 1071-N über eine Website oder andere Ressourcen, die durch einen Webbrowser (nicht gezeigt) oder eine andere Anwendung der Clientrechenvorrichtung 106 gerendert werden, implementiert sein.
-
Wie hierin genauer beschrieben beteiligt sich der automatische Assistent 120 an Dialogsitzungen mit einem oder mehreren Anwendern über Anwenderschnittstellen-Eingabevorrichtungen und Anwenderschnittstellen-Ausgabevorrichtungen von einer oder mehrerer Clientrechenvorrichtungen 1061-N. In einigen Implementierungen kann der automatisierte Assistent 120 sich an einer Dialogsitzung mit einem Anwender als Antwort auf Anwenderschnittstelleneingaben, die von dem Anwender über eine oder mehrere Anwenderschnittstellen-Eingabevorrichtungen einer der Clientrechenvorrichtungen 1061-N bereitgestellt werden, beteiligen. In einigen dieser Implementierungen ist die Anwenderschnittstelle explizit auf den automatisierten Assistenten 120 ausgerichtet. Zum Beispiel kann einer der Nachrichtenaustauchclients 1071-N ein Nachrichtenübermittlungsdienst für persönliche Assistenten sein, der Konversationen mit dem automatisierten Assistenten 120 gewidmet ist, und die Anwenderschnittstelleneingaben, die über diesen Nachrichtenübermittlungsdienst für persönliche Assistenten bereitgestellt werden, können automatisch an den automatisierten Assistenten 120 geliefert werden. Ebenso können die Anwenderschnittstelleneingaben in einem oder mehreren der Nachrichtenaustausch-Clients 1071-N beispielsweise explizit an den automatisierten Assistenten 120 gerichtet werden, und zwar basierend auf bestimmten Anwenderschnittstelleneingaben, die angeben, dass der automatisierte Assistent 120 aufgerufen werden soll. Zum Beispiel können die bestimmten Anwenderschnittstelleneingaben aus einem oder mehreren eingetippten Zeichen (z. B. @automatisierter Assistent), einer Anwenderinteraktion mit einem Hardwareknopf und/oder einem virtuellen Knopf (z. B. ein Antippen, ein langes Antippen), einem verbalen Befehl (z. B. „Hey automatisierter Assistent“) und/oder anderen bestimmten Anwenderschnittstelleneingaben bestehen. In einigen Implementierungen kann sich der automatisierter Assistent 120 an einer Dialogsitzung als Antwort auf Anwenderschnittstelleneingaben selbst dann beteiligen, wenn diese Anwenderschnittstelleneingaben nicht explizit an den automatisierten Assistenten 120 gerichtet sind. Zum Beispiel kann der automatisierte Assistent 120 die Inhalte der Anwenderschnittstelleneingaben untersuchen und sich an einer Dialogsitzung als Antwort auf bestimmte Begriffe, die in den Anwenderschnittstelleneingaben vorhanden sind, oder basierend auf anderen Hinweisen beteiligen.
-
Jede der Clientrechenvorrichtungen 1061-N und der automatisierte Assistent 120 können jeweils einen oder mehrere Speicher zur Speicherung von Daten und Softwareanwendungen, einen oder mehrere Prozessoren zum Zugreifen auf Daten und zum Ausführen von Anwendungen und andere Komponenten, die eine Kommunikation über ein Netz ermöglichen, enthalten. Die von der einen oder den mehreren Clientrechenvorrichtungen 1061-N und/oder durch den automatisierten Assistenten 120 durchgeführten Operationen können auf mehrere Computersysteme verteilt sein. Der automatisierte Assistent 120 kann zum Beispiel als Computerprogramme implementiert werden, die auf einem oder mehreren Computern an einem oder mehreren Orten, die miteinander durch ein Netz verbunden sind, ausgeführt werden.
-
Der automatisierte Assistent 120 kann einen Prozessor für natürliche Sprache 122, eine Antwortinhalts-Engine 130 und eine Rückmeldungs-Engine 140 enthalten. In einigen Implementierungen können eine oder mehrere der Engines und/oder Module des automatisierten Assistenten 120 weggelassen, kombiniert und/oder in einer Komponente, die von dem automatisierten Assistenten 120 getrennt ist, implementiert sein. Der automatisierte Assistent 120 beteiligt sich an Dialogsitzungen mit einem oder mehreren Anwendern über zughörige Clientvorrichtungen 1061-N, um Antwortinhalt, der durch die Antwortinhalts-Engine 130 er-zeugt wird, bereitzustellen und/oder um Rückmeldungsaufforderungen, die durch die Rückmeldungs-Engine 140 erzeugt werden, bereitzustellen.
-
In einigen Implementierungen erzeugt die Antwortinhalts-Engine 130 Antwortinhalt als Antwort auf verschiedene Eingaben, die durch einen Anwender einer der Clientrechenvorrichtungen 1061-N während einer Dialogsitzung mit dem automatisierten Assistenten 120 erzeugt werden. Die Antwortinhalts-Engine 130 stellt den Antwortinhalt als Teil der Dialogsitzung zur Präsentation an den Anwender bereit (z. B. über ein oder mehrere Netze, wenn sie von einer Clientvorrichtung eines Anwenders getrennt ist). Zum Beispiel kann die Antwortinhalts-Engine 130 Antwortinhalt als Antwort auf natürliche Spracheeingaben in freier Form, die über eine der Clientrechenvorrichtungen 1061-N bereitgestellt werden, erzeugen. Wie hierin verwendet sind Eingaben in Freier Form Eingaben, die von einem Anwender formuliert werden und die nicht auf eine Gruppe von Optionen, die dem Anwender zur Auswahl präsentiert werden, beschränkt sind.
-
Als Antwort auf einige Eingaben kann die Antwortinhalts-Engine 130 Inhalt mit einem oder mehreren Inhaltsparametern, die aus mehreren Kandidaten-Inhaltsparametern gewählt werden, erzeugen. Zum Beispiel kann die bereitgestellte Eingabe „gib mir eine Wegbeschreibung zu einem guten Cafe“ sein und die Antwortinhalts-Engine 130 kann eine Wegbeschreibung zu einem bestimmten Cafe zunächst durch Auswählen eines „guten Cafes“ aus mehreren verfügbaren Cafes basierend auf einem oder mehreren Faktoren bestimmen. Ferner kann die Antwortinhalts-Engine 130 die Wegbeschreibung durch Auswählen aus mehreren Kandidaten-Wegbeschreibungen (z. B. kürzeste vs. schnellste; Autobahnen einschließen vs. Autobahnen ausschließen) basierend auf einem oder mehreren Faktoren bestimmen. Eine zusätzliche Beschreibung von Implementierungen der Antwortinhalts-Engine 130 ist nachstehend bereitgestellt.
-
In einigen Implementierungen speichert die Rückmeldungs-Engine 140 verschiedene Inhaltsparameter, die durch die Antwortinhalts-Engine 130 ausgewählt wurden und für einen Anwender in einer Dialogsitzung bereitgestellt wurden, und erzeugt eine Eingabeaufforderung, die Rückmeldungen von dem Anwender in Bezug auf einen oder mehrere der ausgewählten Inhaltsparameter erbittet. Die Rückmeldungs-Engine 140 stellt die Rückmeldungsaufforderung zur Präsentation an den Anwender als Teil einer Dialogsitzung bereit. In einigen Implementierungen stellt die Rückmeldungs-Engine 140 eine Rückmeldungsaufforderung zur Präsentation an den Anwender als Teil einer Dialogsitzung bereit, die von der Dialogsitzung getrennt ist, in der einer oder mehrere Inhaltsparameter, die der Fokus der Rückmeldungsaufforderung sind, für den Anwender bereitgestellt werden. Die Rückmeldungs-Engine 140 kann ferner Rückmeldungen, die von dem Anwender als Antwort auf die Eingabeaufforderung bereitgestellt werden, verwenden, um zukünftige Vorschläge und/oder anderen Inhalt, die anschließend durch den automatisierten Assistenten 120 für den Anwender und/oder andere Anwender in zukünftigen Dialogsitzungen bereitgestellt werden, zu beeinflussen.
-
Wie oben erwähnt wird in einigen Implementierungen durch den automatisierten Assistenten 120 in einer Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten Inhalt für den Anwender bereitgestellt und der automatisierte Assistent 120 stellt in einer zukünftigen Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten eine Rückmeldungsaufforderung bereit, die Anwenderrückmeldungen in Bezug auf den bereitgestellten Inhalt erbittet. In einigen dieser Implementierungen wird die Eingabeaufforderung nach Eingaben von dem Anwender und/oder Ausgaben von dem automatisierten Assistenten 120 in der zukünftigen Dialogsitzung bereitgestellt, wobei diese Eingaben und/oder Ausgaben nicht mit dem Inhalt, der in der vorherigen Dialogsitzung bereitgestellt wurde, in Beziehung stehen.
-
Wie hierin verwendet kann eine „Dialogsitzung“ einen logisch in sich geschlossenen Austausch von einer oder mehreren Nachrichten zwischen einem Anwender und dem automatisierten Assistenten 120 umfassen. Der automatisierte Assistent 120 kann zwischen mehreren Dialogsitzungen mit einem Anwender basierend auf verschiedenen Signalen wie beispielsweise einer Zeitdauer zwischen Sitzungen, einer Änderung des Anwenderkontexts (z. B. eines Orts, vor/während/nach einem geplanten Treffen etc.) zwischen den Sitzungen, einer Detektion einer oder mehrerer dazwischenliegender Interaktionen zwischen dem Anwender und einer Clientvorrichtung neben dem Dialog zwischen dem Anwender und dem automatisierten Assistenten (z. B. wechselt der Anwender für eine Weile Anwendungen, der Anwender entfernt sich von einem eigenständigen stimmaktivierten Produkt und kommt dann später zurück), einem Sperren/Schlafen der Clientvorrichtung zwischen den Sitzungen, einem Ändern der Clientvorrichtungen, die dazu verwendet werden, mit einer oder mehreren Instanzen des automatisierten Assistenten zu kommunizieren, und so weiter unterscheiden.
-
In einigen Implementierungen kann der automatisierte Assistent 120 dann, wenn der automatisierte Assistent 120 eine Eingabeaufforderung bereitstellt, die Anwenderrückmeldungen erbittet, präventiv eine oder mehrere Komponenten der Clientvorrichtung (über die die Eingabeaufforderung bereitgestellt wird) aktivieren, die dazu ausgelegt sind, Anwenderschnittstelleneingaben, die als Antwort auf die Aufforderung empfangen werden sollen, zu verarbeiten. Zum Beispiel kann dann, wenn die Anwenderschnittstelleneingaben über ein Mikrofon der Clientvorrichtung 1061 bereitgestellt werden sollen, der automatisierte Assistent 120 einen oder mehrere Befehle liefern, um Folgendes zu veranlassen: dass das Mikrofon präventiv „geöffnet“ wird (wodurch die Notwendigkeit umgangen wird, ein Schnittstellenelement zu drücken oder ein „heißes Wort“ zu sagen, um das Mikrophon zu öffnen), dass präventiv ein lokaler Sprache-zu-Text-Prozessor der Clientvorrichtung 1061 aktiviert wird, dass präventiv eine Kommunikationssitzung zwischen der Clientvorrichtung 1061 und einem entfernten Sprache-zu-Text-Prozessor hergestellt wird, und/oder dass eine grafische Anwenderschnittstelle (z. B. eine Schnittstelle, die ein oder mehrere auswählbare Elemente enthält, die ausgewählt werden können, um Rückmeldungen bereitzustellen) auf der Clientvorrichtung 1061 gerendert wird. Dies kann es ermöglichen, die Anwenderschnittstelleneingaben schneller bereitzustellen und/oder zu verarbeiten als dann, wenn die Komponenten nicht präventiv aktiviert werden.
-
In einigen Implementierungen kann der automatisierte Assistent 120 eine Eingabeaufforderung, die Anwenderrückmeldungen erbittet, in einer zukünftigen Dialogsitzung basierend darauf bereitstellen, dass Anwendereingaben und/oder Antwortausgaben des automatisierten Assistenten 120 in der zukünftigen Dialogsitzung ein oder mehrere Kriterien erfüllen. Zum Beispiel kann eine Eingabeaufforderung nur dann bereitgestellt werden, wenn der Anwender die Dialogsitzung mit irgendwelchen Anwendereingaben und/oder mit bestimmten Anwendereingaben wie beispielsweise beliebigen natürlichen Spracheingaben und/oder bestimmten natürlichen Spracheingaben initiiert. Ebenso kann zum Beispiel eine Eingabeaufforderung nur dann bereitgestellt werden, wenn die Anwendereingaben und/oder die Antwortausgaben aus einer oder mehreren bestimmten semantischen Typen und/oder nicht aus einem oder mehreren semantischen Typen bestehen. Als noch ein weiteres Beispiel kann eine Eingabeaufforderung nur dann bereitgestellt werden, wenn die Anwendereingaben und/oder die Antwortausgaben ein oder mehrere bestimmte N-Gramme enthalten und/oder ein oder mehrere andere bestimmte N-Gramme nicht enthalten. In einigen Implementierungen können die Kriterien ausgewählt werden, um die Wahrscheinlichkeit des Bereitstellens der Eingabeaufforderung dann, wenn der Dialog einer Dialogsitzung dialogorientiert und/oder leicht ist, hochzustufen und/oder die Wahrscheinlichkeit des Bereitstellens der Eingabeaufforderung dann, wenn der Dialog der Dialogsitzung „aufgabenorientiert“ ist, zurückzustufen (um z. B. zu verhindern, den Anwender von der Aufgabe abzulenken).
-
In einigen Implementierungen können die Kriterien zusätzlich oder alternativ dazu ausgewählt werden, um die Privatsphäre des Anwenders, für den die Eingabeaufforderung bereitgestellt wird, zu schützen. Zum Beispiel können dann, wenn stimmbasierte natürliche Spracheingaben bereitgestellt werten, die Kriterien die sein, dass die stimmbasierten Eingaben mit einem Stimmprofil des Anwenders übereinstimmen und/oder dass die stimmbasierten Eingaben keine Hintergrundgeräusche enthalten (z. B. fehlen Hintergrundgeräusche, die darauf hindeuten, dass andere Anwender anwesend sein können). Ebenso können die Kriterien die sein, dass die Anwendereingabe und/oder die Antwortausgaben Inhalt enthält, der für den Anwender persönlich ist (z. B. Antwortausgaben, die eine Zusammenfassung der Kalendereinträge des Anwenders für den Tag bereitstellen), was darauf hinweisen kann, dass der Anwender in einem Umfeld ist, das der Anwender als privat erachtet.
-
In einigen Implementierungen können Inhaltsparameter aus mehreren unterschiedlichen Vorschlägen, die für den Anwender bereitgestellt werden, für die Rückmeldungs-Engine 140 zum Erzeugen einer Eingabeaufforderung, um sie für den Anwender in einer gegebenen zukünftigen Dialogsitzung bereitzustellen, verfügbar sein. In einigen dieser Implementierungen kann die Rückmeldungs-Engine 140 basierend auf einem oder mehreren Kriterien eine Teilmenge (z. B. einen) dieser mehreren Vorschläge zum Bereitstellen in einer bestimmten Eingabeaufforderung auswählen. Zum Beispiel kann, ob ein Inhaltsparameter eines bestimmten Vorschlags zum Erzeugen und/oder Bereitstellen einer Eingabeaufforderung verwendet wird, auf einer Kategorie des bestimmten Vorschlags (z. B. können Essensvorschläge wahrscheinlicher ausgewählt werden als Musikvorschläge), einer Unterkategorie des bestimmten Vorschlags (z. B. Vorschläge zur französischen Küche können wahrscheinlicher ausgewählt werden als Vorschläge zur mexikanischen Küche), einer Zeit, zu der der bestimmte Vorschlag bereitgestellt wurde (z. B. können aktuellere Vorschläge wahrscheinlicher ausgewählt werden als weniger aktuelle Vorschläge) und/oder einer Kategorie des bestimmten Vorschlags und einer Zeit, zu der der bestimmte Vorschlag bereitgestellte wurde, (z. B. ein Musikvorschlag von vor drei Tagen kann nicht bereitgestellt werden, doch ein Essensvorschlag von vor drei Tagen kann bereitgestellt werden) basieren.
-
In einigen Implementierungen kann eine Eingabeaufforderung, die Rückmeldungen zu einem Inhaltsparameter eines bereitgestellten Vorschlags, auf den durch den Anwender in der Zukunft eingegangen werden soll, erbittet, durch den automatisierten Assistenten 120 basierend auf dem Bestimmen, dass der Anwender tatsächlich auf den Vorschlag eingegangen ist, bereitgestellt werden. Dies kann das Risiko vermindern, dass der Anwender dazu aufgefordert wird, Rückmeldungen zu einem Inhaltsparameter bereitzustellen, mit dem der Anwender niemals interagiert hat, was für den Anwender verwirrend sein kann und/oder unnötig Rechenressourcen beim Bereitstellen der Eingabeaufforderung benötigt. In einigen Implementierungen kann ein Bestimmen, dass ein Anwender auf den Vorschlag eingegangen ist, auf dem Dialog zwischen dem Anwender und dem automatisierten Assistenten 120 in einer Dialogsitzung basieren, die vor der Dialogsitzung, in der die Eingabeaufforderung bereitgestellt wird, stattfand (z. B. Dialog, über den der Anwender tatsächlich auf den Vorschlag eingegangen ist). In einigen Implementierungen kann das Bestimmen, dass ein Anwender auf den Vorschlag eingegangen ist, auf einem oder mehreren zusätzlichen oder alternativen Signalen wie beispielsweise Signalen, die nicht dadurch erzeugt wurden, dass der automatisierte Assistent 120 verwendet wurde, um auf den Vorschlag einzugehen, basieren. Es sei beispielsweise angenommen, dass der automatisierte Assistent 120 für den Anwender einen Vorschlag bezüglich eines Besuchs in einem Cafe bereitstellt. Bevor eine Eingabeaufforderung, die Rückmeldungen zu dem Cafe erbittet, für den Anwender in einer zukünftigen Dialogsitzung bereitgestellt wird, kann zuerst basierend auf Standortdaten von einer mobilen Clientvorrichtung des Anwenders, auf Transaktionsdaten, die dem Anwender zugeordnet sind, und/oder anderen Signalen bestimmt werden, dass der Anwender tatsächlich das Cafe besucht hat.
-
Der Prozessor für natürliche Sprache 122 des automatisierten Assistenten 120 verarbeitet natürliche Spracheingaben, die durch den Anwender über die Clientvorrichtungen 1061-N erzeugt werden, und erzeugt kommentierte Ausgaben zur Verwendung durch eine oder mehrere Komponenten des automatisierten Assistenten 120 wie beispielsweise die Antwortinhalts-Engine 130 und/oder die Rückmeldungs-Engine 140. Zum Beispiel kann der Prozessor für natürliche Sprache 122 natürliche Spracheingaben in freier Form verarbeiten, die durch den Anwender über eine oder mehrere Anwenderschnittstellen-Eingabevorrichtungen der Clientvorrichtung 1061 erzeugt werden. Die erzeugten kommentierten Ausgaben enthalten einen oder mehrere Vermerke zu den natürlichen Spracheingaben und wahlweise einen oder mehrere (z. B. alle) Begriffe der natürlichen Spracheingaben.
-
In einigen Implementierungen ist der Prozessor für natürliche Sprache 122 dazu ausgelegt, verschiedene Typen grammatikalischer Informationen in natürlichen Spracheingaben zu identifizieren und zu kommentieren. Zum Beispiel kann der Prozessor für natürliche Sprache 122 einen Sprachmarkierer umfassen, der dazu ausgelegt ist, Begriffe mit ihrer grammatikalischen Rolle zu vermerken. Zum Beispiel kann der Sprachmarkierer jeden Begriff mit seinem Satzteil wie beispielsweise „Nomen“, „Verb“, „Adjektiv“, „Pronomen“ etc. markieren. Ebenso kann der Prozessor für natürliche Sprache 122 in einigen Implementierungen beispielsweise zusätzlich und/oder alternativ einen Abhängigkeits-Parser umfassen, der dazu ausgelegt ist, syntaktische Beziehungen zwischen Begriffen in natürlichen Spracheingaben zu bestimmen. Zum Beispiel kann der Abhängigkeits-Parser bestimmen, welche Begriffe andere Begriffe, Subjekte und Verben von Sätzen und so fort modifizieren, (z. B. einen Parserbaum) und kann Vermerke solcher Abhängigkeiten machen.
-
In einigen Implementierungen kann der Prozessor für natürliche Sprache 122 zusätzlich oder alternativ einen Entitätsmarkierer enthalten, der dazu ausgelegt ist, Entitätsreferenzen in einem oder mehreren Segmenten wie beispielsweise Referenzen zu Leuten, Organisationen, Standorten und so fort zu vermerken. Der Entitätsmarkierer kann Referenzen zu einer Entität auf sehr grobem Niveau (um z. B. eine Identifizierung aller Bezüge zu einer Entitätsklasse wie beispielsweise Leute zu ermöglichen) und auf sehr feinem Niveau (um z. B. eine Identifizierung aller Bezüge zu einer bestimmten Entität wie beispielsweise einer bestimmten Person zu ermöglichen) vermerken. Der Entitätsmarkierer kann sich auf Inhalt der natürlichen Spracheingaben stützen, um eine bestimmte Entität zu klären, und/oder kann wahlweise mit einem Wissensgraphen oder einer anderen Entitätsdatenbank (z. B. Inhaltsdatenbank 152) kommunizieren, um eine bestimmte Entität zu klären.
-
In einigen Implementierungen kann der Prozessor für natürliche Sprache 122 zusätzlich und/oder alternativ einen Koreferenz-Resolver umfassen, der dazu ausgelegt ist, Bezüge auf dieselbe Entität basierend auf einem oder mehreren Kontexthinweisen zu gruppieren oder zu „clustern“. Zum Beispiel kann der Koreferenz-Resolver dazu verwendet werden, den Begriff „es“ in den natürlichen Spracheingaben in „Ich mag das Pfannengericht im Asian Village. Bitte bestell es!“ als „Asiatisches Dorf“ aufzulösen.
-
In einigen Implementierungen können eine oder mehrere Komponenten des Prozessors für natürliche Sprache 122 sich auf Vermerke von einer oder mehreren anderen Komponenten des Prozessors für natürliche Sprache 122 stützen. Zum Beispiel kann sich der erwähnte Entitätsmarkierer in einigen Implementierungen beim Vermerken aller Erwähnungen einer bestimmten Entität auf Vermerke von dem Koreferenz-Resolver und/oder dem Abhängigkeits-Parser stützen. Ebenso kann sich der Koreferenz-Resolver beispielsweise in einigen Implementierungen beim Gruppieren von Bezügen auf dieselbe Entität auf Vermerke von dem Abhängigkeitsparser stützen. In einigen Implementierungen können beim Verarbeiten von bestimmten natürlichen Spracheingaben eine oder mehrere Komponenten des Prozessors für natürliche Sprache 122 verwandte vorherige Eingaben und/oder andere verwandte Daten neben den bestimmten natürlichen Spracheingaben verwenden, um einen oder mehrere Vermerke zu bestimmen.
-
Wie oben erwähnt verwendet die Antwortinhalts-Engine 130 ein oder mehrere Ressourcen beim Erzeugen von Vorschlägen und/oder anderem Inhalt zum Bereitstellen während einer Dialogsitzung mit einem Anwender einer der Clientvorrichtungen 1061-N. Die Antwortinhalts-Engine 130 kann ein Aktionsmodul 132, ein Entitätsmodul 134, ein Inhaltserzeugungsmodul 136 und ein Attributmodul 138 enthalten.
-
Das Aktionsmodul 132 der Antwortinhalts-Engine 130 verwendet aus den Clientrechenvorrichtungen 1061-N empfangene natürliche Spracheingaben und/oder durch den Prozessor für natürliche Sprache 122 bereitgestellte Vermerke zu den natürlichen Spracheingaben, um mindestens eine Aktion in Bezug auf die natürlichen Spracheingaben zu bestimmen. In einigen Implementierungen kann das Aktionsmodul 132 eine Aktion basierend auf einem oder mehreren Begriffen, die in den natürlichen Spracheingaben enthalten sind, bestimmen. Zum Beispiel kann das Aktionsmodul 132 eine Aktion basierend darauf bestimmen, dass die Aktion auf einem oder mehreren computerlesbaren Medien einem oder mehrerem Begriffe, die in den natürlichen Spracheingaben enthalten sind, zugeordnet ist. Zum Beispiel kann eine Aktion „eine Reservierung in einem Restaurant machen“ einem oder mehreren Begriffen wie beispielsweise „buchen“, „reservieren“, „Reservierung“, „Besorg mir einen Tisch“ usw. zugeordnet sein. Ebenso kann zum Beispiel eine Aktion „Bereitstellen einer täglichen Unterweisung“ einem oder mehreren Begriffen wie beispielsweise „Erzähl mir von meinem Tag“, „Was passiert heute“, „Guten Morgen“ etc. zugeordnet sein. Als noch ein weiteres Beispiel kann eine Aktion „Bereitstellen von Geplauder“ einem oder mehreren Begriffen wie beispielsweise „Hallo“, „Was gibt's“ etc. zugeordnet sein.
-
In einigen Implementierungen kann das Aktionsmodul 132 eine Aktion mindestens in Teilen basierend auf eine oder mehrere Kandidatenentitäten, die durch das Entitätsmodul 134 basierend auf den natürlichen Spracheingaben einer Dialogsitzung bestimmt werden, bestimmen. Es sei beispielsweise angenommen, dass die natürliche Spracheingabe „Buch es!“ auftritt und „Buch es!“ mehreren unterschiedlichen Aktionen wie beispielsweise „eine Restaurantreservierung vornehmen“, „eine Hotelreservierung vornehmen“, „eine Verabredung abmachen“ etc. zugeordnet ist. In einer solchen Situation kann das Aktionsmodul 132 basierend auf den durch das Entitätsmodul 134 bestimmten Kandidatenentitäten bestimmen, welche Aktion die korrekte Aktion ist. Zum Beispiel kann das Aktionsmodul 132 dann, wenn das Entitätsmodul 134 nur mehrere Restaurants als Kandidatenentitäten bestimmt, bestimmen, dass eine Aktion „eine Restaurantreservierung vornehmen“ die richtige Aktion ist.
-
Das Entitätsmodul 134 bestimmt Kandidatenentitäten auf der Basis von Eingaben, die von einem oder mehreren Anwendern während einer Dialogsitzung zwischen dem einen oder den mehreren Anwendern und dem automatisierten Assistenten 120 über eine oder mehrere Anwenderschnittstellen-Eingabevorrichtungen bereitgestellt werden. Das Entitätsmodul 134 verwendet eine oder mehrere Ressourcen beim Bestimmen von Kandidatenentitäten und/oder beim Verfeinern dieser Kandidatenentitäten. Zum Beispiel kann das Entitätsmodul 134 die natürlichen Spracheingaben selbst, Vermerke, die von dem Prozessor 122 für natürliche Sprache bereitgestellt werden, ein oder mehrere Attribut, die von dem Attributmodul 138 bereitgestellt werden, und/oder Inhalt der Inhaltsdatenbank 152 verwenden.
-
Die Inhaltsdatenbank 152 kann auf einem oder mehreren nicht transitorischen computerlesbaren Medien bereitgestellt sein und kann mehrere Entitäten, Eigenschaften von jeder der Entitäten und optional Beziehungen zwischen diesen Entitäten definieren. Zum Beispiel kann die Inhaltsdatenbank 152 eine Kennung eines bestimmten Restaurants und eine oder mehrere Eigenschaften dieses Restaurants wie Ort, Küchentyp(en), verfügbare Gerichte, Öffnungszeiten, Alternativnamen, ob Reservierungen akzeptiert werden, eine Bewertung dieses Restaurants, eine Preisangabe usw. enthalten. Die Inhaltsdatenbank 152 kann zusätzlich oder alternativ mehrere Protokolle enthalten, die jeweils auf eine oder mehrere Entitäten und/oder eine oder mehrere Aktionen anwendbar sind. Zum Beispiel kann jedes Protokoll einen oder mehrere notwendige und/oder gewünschte Inhaltsparameter definieren, um eine zugeordnete Aktion durchzuführen und/oder die zugeordnete Aktion mit einer oder mehreren zugehörigen Entitäten durchzuführen.
-
Das Inhaltserzeugungsmodul 136 beteiligt sich an einem Dialog mit einem oder mehreren Anwendern über zugeordnete Clientvorrichtungen, um Vorschläge zum Durchführen einer Aktion zu erzeugen und/oder anderen Inhalt zu erzeugen. Das Inhaltserzeugungsmodul 136 verwendet optional eine oder mehrere Ressourcen beim Erzeugen des Inhalts. Zum Beispiel kann das Inhaltserzeugungsmodul 136 aktuelle und/oder vergangene natürliche Spracheingaben eines Anwenders während einer Dialogsitzung, Vermerke zu dieser Eingabe, die von dem Prozessor für natürliche Sprache 122 bereitgestellt werden, ein oder mehrere Attribute, die von dem Attributmodul 138 bereitgestellt werden, eine oder mehrere Entitäten, die von dem Entitätsmodul 134 bestimmt werden, und/oder eine oder mehrere Aktionen, die von dem Aktionsmodul 132 bestimmt werden, verwenden.
-
Das Inhaltserzeugungsmodul 136 kann Inhalt erzeugen und in einer Dialogsitzung bereitstellen, der einen oder mehrere Inhaltsparameter enthält, die aus mehreren Kandidaten-Inhaltsparametern ausgewählt sind. Das Inhaltserzeugungsmodul 136 kann ferner die ausgewählten Inhaltsparameter des bereitgestellten Inhalts zur Verwendung beim Erzeugen von Rückmeldungsaufforderungen wie hierin beschrieben für die Rückmeldungs-Engine 140 bereitstellen.
-
Als ein Beispiel kann eine in einer Dialogsitzung bereitgestellte Eingabe „Gib mir eine Wegbeschreibung zu einem guten Café“ sein und das Inhaltserzeugungsmodul 136 kann eine Wegbeschreibung zu einem bestimmten Café bestimmen, indem es zuerst ein „gutes Café“ aus mehreren verfügbaren Cafés (z. B. auf der Basis von einer oder mehreren Kandidatenaktionen aus Aktionsmodul 132 und/oder Kandidatenentitäten aus Entitätsmodul 134) basierend auf einem oder mehreren Faktoren auswählt. Ferner kann das Inhaltserzeugungsmodul 136 die Wegbeschreibung bestimmen, indem es sie aus mehreren Kandidaten-Wegbeschreibungen (z. B. kürzeste vs. schnellste Route; Autobahnen einschließen vs. Autobahnen ausschließen) basierend auf einem oder mehreren Faktoren auswählt. Das Inhaltserzeugungsmodul 136 kann optional beim Bestimmen des bestimmten Cafes und/oder der Wegbeschreibung mit einer oder mehreren externen Komponenten kommunizieren. Das Inhaltserzeugungsmodul 136 kann die ausgewählten Inhaltsparameter an die Rückmeldungs-Engine 140 liefern. Beispielsweise kann das Inhaltserzeugungsmodul 136 einen Inhaltsparameter, der das ausgewählte bestimmte Cafe angibt, und einen Inhaltsparameter, der einen oder mehrere Parameter der ausgewählten Wegbeschreibung angibt (z. B. angibt, dass dies die „schnellste Route“ war), bereitstellen.
-
Als weiteres Beispiel kann die bereitgestellte Eingabe „Erzähl mir von meinem Tag“ sein und das Inhaltserzeugungsmodul 136 kann einen oder mehrere Kalendereinträge des Anwenders, lokales Wetter für den Anwender, einen oder mehrere auf den Anwender zugeschnittene Nachrichten und/oder anderen Inhalt zur Bereitstellung als Antwort auf die Eingabe auswählen. Das Inhaltserzeugungsmodul 136 kann den Inhalt basierend auf verschiedenen Faktoren auswählen, wie z. B. der Art des Inhalts (z. B. „Kalendereintrag“, „Nachrichten“), individueller und/oder kollektiver Größe (z. B. zeitliche Länge) des Inhalts usw. Das Inhaltserzeugungsmodul 136 kann die ausgewählten Inhaltsparameter an die Rückmeldungs-Engine 140 liefern. Zum Beispiel kann das Inhaltserzeugungsmodul 136 einen Inhaltsparameter, der angibt, dass „Kalendereinträge“ und „Nachrichten“ für den Anwender bereitgestellt wurden, und/oder einen Inhaltsparameter, der angibt, dass eine Länge einer hörbaren Präsentation der Gesamtheit des Inhalts in der Dialogsitzung „2 Minuten“ war, bereitstellen.
-
Das Attributmodul 138 bestimmt ein oder mehrere Attribute, die auf einen Anwender anwendbar sind, der an einer Dialogsitzung mit dem automatisierten Assistenten 120 beteiligt ist, und liefert diese Attribute an eine oder mehrere andere Komponenten der Antwortinhalts-Engine 130 zur Verwendung beim Erzeugen von Inhalt, der für den Anwender in der Dialogsitzung bereitgestellt werden soll. Die Attribute können von den anderen Komponenten der Antwortinhalts-Engine 130 beispielsweise beim Bestimmen einer bestimmten Entität für eine Aktion, beim Bestimmen eines oder mehrerer Kriterien für die Aktion und/oder beim Erzeugen von Ausgaben für einen Dialog mit dem einen oder den mehreren Anwendern verwendet werden. Das Attributmodul 138 steht mit der Attributdatenbank 156, die ein Attribut speichern kann, das für den Anwender persönlich ist und/oder das auf eine Gruppe von Anwendern anwendbar ist, die den Anwender enthält, in Verbindung. Wie hierin beschrieben können die Werte von verschiedenen Attributen der Attributdatenbank 156 basierend auf Eingaben beeinflusst werden, die von einem oder mehreren Anwendern als Antwort auf Rückmeldungsaufforderungen bereitgestellt werden. Zum Beispiel kann ein Attribut der Attributdatenbank 156 einen Wert enthalten, der einem bestimmten Restaurant zugeordnet ist und der die Erwünschtheit des bestimmten Restaurants bei einem bestimmten Anwender angibt. Der Wert kann auf Eingaben basieren, die von dem bestimmten Anwender als Antwort auf eine oder mehrere Rückmeldungsaufforderungen bereitgestellt werden, die auf das bestimmte Restaurant gerichtet sind und für den bestimmten Anwender in einer oder mehreren Dialogsitzungen bereitgestellt werden. Die Attributdatenbank 156 kann zusätzlich oder alternativ andere Attribute enthalten, die für einen Anwender persönlich sind, deren Werte jedoch nicht notwendigerweise durch die Antwort auf Rückmeldungsaufforderungen beeinflusst werden. Zum Beispiel können solche Attribute einen aktuellen Ort des Anwenders (z. B. basierend auf GPS oder anderen Ortsdaten), eine terminliche Einschränkungen des Anwenders (z. B. basierend auf einem elektronischen Kalender des Anwenders) und/oder Attribute des Anwenders, die auf Anwenderaktivitäten über mehrere Internetdienste hinweg basieren, umfassen.
-
Wie oben erwähnt speichert die Rückmeldungs-Engine 140 verschiedene Inhaltsparameter, die von der Antwortinhalts-Engine 130 ausgewählt und für einen Anwender in einer Dialogsitzung bereitgestellt wurden - und erzeugt Eingabeaufforderungen zum Erbitten von Rückmeldungen bezüglich eines oder mehrerer der Inhaltsparametervon dem Anwender. Die Rückmeldungs-Engine 140 kann ein Modul für bereitgestellte Inhaltsparameter 142, ein Eingabeaufforderungserzeugungsmodul 144 und ein Rückmeldungsmodul 146 enthalten.
-
Das Modul für bereitgestellte Inhaltsparameter 142 speichert Inhaltsparameter von Inhalt, der zur Präsentation an einen Anwender in Dialogsitzungen mit dem Anwender bereitgestellt wird, in Verbindung mit einem Anwender in der Datenbank für bereitgestellte Inhaltsparameter 154. Zum Beispiel kann das Inhaltserzeugungsmodul 136 für eine in einer Dialogsitzung bereitgestellte Eingabe „Was ist ein gutes Café“ ein „gutes Café“ aus mehreren verfügbaren Cafés auswählen, Antwortausgaben bereitstellen, die das ausgewählte „gute Café“ angeben, und einen Inhaltsparameter, der das ausgewählte „gute Café“ angibt, an die Rückmeldungs-Engine 140 liefern. Das Modul für bereitgestellte Inhaltsparameter 142 kann den bereitgestellten Inhaltsparameter in Verbindung mit dem Anwender in der Datenbank für bereitgestellte Inhaltsparameter 154 speichern.
-
Das Eingabeaufforderungserzeugungsmodul 144 erzeugt Rückmeldungsaufforderungen, die Rückmeldungen von einem Anwender bezüglich eines oder mehrerer der Inhaltsparameter, die in Verbindung mit dem Anwender in der Datenbank für bereitgestellte Inhaltsparameter 154 gespeichert sind, erbitten. In einigen Implementierungen bestimmt das Eingabeaufforderungserzeugungsmodul 144 ferner, wann und/oder wie eine Rückmeldungsaufforderung für den Anwender bereitgestellt werden sollte. Zum Beispiel kann das Eingabeaufforderungserzeugungsmodul 144 basierend auf folgenden Kriterien bestimmen, eine Rückmeldungsaufforderung zur Präsentation an einen Anwender als Teil einer Dialogsitzung bereitzustellen: dass die Dialogsitzung von der Dialogsitzung getrennt ist, in der ein oder mehrere Inhaltsparameter, die den Fokus der Rückmeldungsaufforderung darstellen, für den Anwender bereitgestellt wurden; dass Anwendereingaben und/oder Antwortausgaben der Dialogsitzung ein oder mehrere Kriterien erfüllen; basierend auf der Verifizierung, dass der Anwender auf einen Vorschlag eingegangen ist, auf dem der eine oder die mehreren Inhaltsparameter basieren; und/oder basierend auf anderen Kriterien. Das Eingabeaufforderungserzeugungsmodul 144 kann mit der Antwortinhalts-Engine 130 zusammenarbeiten, um erzeugte Rückmeldungsaufforderungen in bestimmten Dialogsitzungen einzufügen, die von der Antwortinhalts-Engine 130 verwaltet werden. In einigen Implementierungen können das Eingabeaufforderungserzeugungsmodul 144 und/oder andere Komponenten der Rückmeldungs-Engine 140 in der Antwortinhalts-Engine 130 enthalten sein.
-
In einigen Implementierungen können Inhaltsparameter von mehreren verschiedenen Vorschlägen, die dem Anwender bereitgestellt werden, für das Eingabeaufforderungserzeugungsmodul 144 verfügbar sein, um eine Eingabeaufforderung zu erzeugen, die für den Anwender in einer gegebenen Dialogsitzung bereitgestellt werden soll. In einigen dieser Implementierungen kann das Eingabeaufforderungserzeugungsmodul 144 basierend auf einem oder mehreren Kriterien eine Teilmenge (z. B. einen) dieser mehreren Vorschläge zum Bereitstellen in einer gegebenen Eingabeaufforderung auswählen.
-
Das Rückmeldungsmodul 146 verwendet Rückmeldungen, die von dem Anwender als Antwort auf die Eingabeaufforderung bereitgestellt werden, um zukünftige Vorschläge und/oder anderen Inhalt, die später durch den automatisierten Assistenten 120 in zukünftigen Dialogsitzungen bereitgestellt werden, an den Anwender und/oder andere Anwender zu beeinflussen. In einigen Implementierungen verwendet das Rückmeldungsmodul 146 eine oder mehrere Instanzen von Rückmeldungen, um Werte anzupassen, die einem oder mehreren Attributen der Attributdatenbank 156 zugeordnet sind. Die angepassten Werte können für den Anwender persönlich sein und/oder auf eine Gruppe von Anwendern (z. B. alle Anwender) anwendbar sein. In einigen Implementierungen kann das Rückmeldemodul 146 Vermerke, die von dem Prozessor für natürliche Sprache 122 bereitgestellt werden, verwenden, um den Einfluss zu bestimmen, den eine oder mehrere Instanzen von Rückmeldungen auf ein zugeordnetes Attribut haben. Zum Beispiel kann der Prozessor für natürliche Sprache 122 einen Stimmungsklassifizierer enthalten, kann Vermerke bereitstellen, die eine Stimmung einer bereitgestellten Rückmeldung angeben, und das Rückkopplungsmodul 146 kann die angegebene Stimmung verwenden, um den Wert anzupassen. Zum Beispiel kann das Rückmeldemodul 146 für eine Rückmeldungsaufforderung „Wie hat Ihnen Cafe A gefallen?“ und eine von dem Anwender bereitgestellte Rückmeldung „Es war großartig“ einen Vermerk empfangen, der angibt, dass “Es war großartig” einer sehr positiven Rückmeldung zugeordnet ist. Basierend auf einem solchen Vermerk kann das Rückmeldungsmodul 146 einen Wert eines Attributs hochstufen, das „Cafe A“ zugeordnet ist.
-
Unter Bezugnahme auf 2A, 2B1, 2B2, 2B3 und 2B4 sind Beispiele verschiedener Implementierungen beschrieben, die hierin offenbart sind. 2A stellt ein Beispiel einer Dialogsitzung dar, in der der automatisierte Assistent für einen Anwender Inhalte mit Inhaltsparametern, die aus mehreren Kandidaten-Inhaltsparametern ausgewählt sind, bereitstellt. 2B1-2B4 zeigen jeweils ein anderes Beispiel des Bereitstellens von einer oder mehreren Rückmeldungsaufforderung(en) für den Anwender in einer separaten Dialogsitzung, wobei die Rückmeldungsaufforderungen auf den ausgewählten Inhaltsparametern basieren.
-
2A zeigt eine Rechenvorrichtung 210, die ein oder mehrere Mikrofone und einen oder mehrere Lautsprecher enthält, und zeigt Beispiele von Dialogsitzungen, die über das eine oder die mehreren Mikrofone und den einen oder die mehreren Lautsprecher zwischen einem Anwender 101 der Rechenvorrichtung 210 und dem automatisierten Assistent 120 gemäß hierin beschriebenen Implementierungen stattfinden können. Ein oder mehrere Aspekte des automatisierten Assistenten 120 können auf der Rechenvorrichtung 210 und/oder auf einer oder mehreren Rechenvorrichtungen implementiert sein, die in Netzkommunikation mit der Rechenvorrichtung 210 stehen.
-
In 2A stellt der Anwender die natürliche Spracheingabe 280A „Kannst du Abendessen für 18:00 Uhr bestellen“ bereit, um eine Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten 120 zu initiieren. Als Antwort auf die natürliche Spracheingabe 280A liefert der automatisierte Assistent 120 eine natürliche Sprachausgabe 282A „Klar, worauf hast du Lust?“. Der Anwender stellt dann eine natürliche Spracheingabe 280B bereit, die angibt, dass der Anwender auf mexikanische Küche Lust hat. Der automatisierte Assistent 120 liefert dann eine natürliche Sprachausgabe 282B, die den Anwender fragt, ob der Anwender wünscht, dass der automatisierte Assistent ein bestimmtes Restaurant auswählt, auf was der Anwender mit der natürlichen Spracheingabe 280C bestätigend antwortet.
-
Der automatisierte Assistent 120 liefert dann eine natürliche Sprachausgabe 282C, die ein Vorschlag ist. Der Vorschlag der natürlichen Sprachausgabe 282C umfasst ein bestimmtes Restaurant (Café Lupe), das aus mehreren Kandidaten-Restaurants zu „mexikanischer Küche“ ausgewählt ist, und umfasst ferner ein bestimmtes Gericht („Burrito“), das aus einer Vielzahl von in dem speziellen Restaurant verfügbaren Kandidatengerichten ausgewählt ist.
-
Der Anwender stellt dann eine natürliche Spracheingabe 280D bereit, die den automatisierten Assistenten 120 anweist, einen Burrito und Pommes von Cafe Lupe zu bestellen. Der automatisierte Assistent 120 liefert dann eine natürliche Sprachausgabe 282D, um zu bestätigen, dass die Anforderung des Anwenders aus der Eingabe 280D durch den automatisierten Assistenten 120 (optional mittels einer oder mehrerer zusätzlicher externer Komponenten) erfüllt worden ist.
-
In der Dialogsitzung von 2A wählte der automatisierte Assistent 120 den Ort „Café Lupe“ und den Gerichtstyp „Burrito“ aus mehreren Kandidatenoptionen aus und stellt diese Auswahl für den Anwender als Teil der Dialogsitzung bereit. Ferner kann der automatisierte Assistent 120 bestimmen, dass der Anwender auf den Vorschlag eingegangen ist, da der Anwender dies in derselben Dialogsitzung getan hat (indem er die Burritos von Cafe Lupe bestellt hat). Basierend auf dem Empfehlen des Ortes und des Gerichttyps und optional basierend auf dem Bestimmen, dass der Anwender auf den vorgeschlagenen Ort und den Gerichttyp eingegangen ist, kann der automatische Assistent 120 Inhaltsparameter speichern, die den vorgeschlagenen Ort und Gerichttyp angeben. Zum Beispiel kann der automatisierte Assistent 120 in der Datenbank für bereitgestellte Inhaltsparameter 154 in Verbindung mit dem Anwender eine Angabe dieser ausgewählten und bereitgestellten Inhaltsparameter speichern.
-
2B1 liefert ein Beispiel für das Bereitstellen einer Rückmeldungsaufforderung für den Anwender basierend auf dem Inhaltsparameter „Café Lupe“, der als Antwort auf die Dialogsitzung von 2A gespeichert wird. In 2B1 stellt der Anwender die natürliche Spracheingabe 280A1 „Wie sieht mein Tagesplan für heute aus?“ bereit, um eine Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten 120 zu initiieren. Die Dialogsitzung von 2B1 ist getrennt von derjenigen von 2A. Zum Beispiel kann basierend auf dem Ablauf von mindestens einer Schwellenzeitspanne seit der Dialogsitzung von 2A und/oder basierend auf anderen Kriterien bestimmt werden, dass die Dialogsitzung von 2B1 eine separate Dialogsitzung ist.
-
Der automatisierte Assistent 120 antwortet auf die natürliche Spracheingabe 280A1 mit der antwortenden natürlichen Sprachausgabe 282A1, die eine Zusammenfassung des Kalenders des Anwenders zusammen mit einer lokalen Vorhersage und einem Verkehrsbericht enthält. Auch wenn die Eingabe 280A1 und die Ausgabe 282A1 nicht mit dem Inhalt der Dialogsitzung von 2A in Beziehung stehen, stellt der automatisierte Assistent 120 dann eine Rückmeldungsaufforderung 282B1 bereit, die eine Rückmeldung zu dem Inhaltsparameter „Café Lupe“ erbittet. Wie hierin beschrieben kann der automatisierte Assistent 120 die Rückmeldungsaufforderung 282B1 basierend auf verschiedenen Kriterien wie etwa, dass die Dialogsitzung von 3B1 getrennt von derjenigen von 3Aist, dass die Eingabe 380A1 und/oder die Ausgabe 382A1 ein oder mehrere Kriterien, wie z. B. als „Routine“ betrachtet zu werden, erfüllt, und/oder anderen Kriterien bereitstellen.
-
Der Anwender antwortet auf die Rückmeldungsaufforderung 282B1 mit einer positiven natürlichen Spracheingabe 280B1 und der automatisierte Assistent antwortet mit einer bestätigenden natürlichen Sprachausgabe 282C1. Der automatisierte Assistent 120 kann die positive natürliche Spracheingabe 280B1 verwenden, um positiv einen Wert zu beeinflussen, der dem Inhaltsparameter „Cafe Lupe“ zugeordnet ist. Zum Beispiel kann der automatisierte Assistent 120 den Wert anpassen, um die Wahrscheinlichkeit zu erhöhen, dass „Cafe Lupe“ und/oder Restaurants ähnlich zu Cafe Lupe in zukünftigen Dialogsitzungen mit dem Anwender und/oder in zukünftigen Dialogsitzungen mit anderen Anwendern bereitgestellt werden.
-
2B2 liefert ein Beispiel für das Bereitstellen einer Rückmeldungsaufforderung für den Anwender basierend auf dem Inhaltsparameter „Burrito“, der als Antwort auf die Dialogsitzung von 2A gespeichert wird. Die Dialogsitzung von 2B2 kann eine solche sein, die anstelle von oder zusätzlich zu der von 2B1 stattfindet. In 2B2 stellt der Anwender die natürliche Spracheingabe 280A2 „Guten Morgen“ bereit, um eine Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten 120 zu initiieren. Die Dialogsitzung von 2B2 ist von derjenigen von 2B getrennt. Zum Beispiel kann basierend auf dem Ablauf von mindestens einer Schwellenzeitspanne seit der Dialogsitzung von 2A und/oder basierend auf anderen Kriterien bestimmt werden, dass die Dialogsitzung von 2B1 eine separate Dialogsitzung ist.
-
Der automatisierte Assistent 120 antwortet auf die natürliche Spracheingabe 280A2 mit der antwortenden natürlichen Sprachausgabe 282A2, die den Antwortinhalt „Guten Morgen John“ enthält. Obwohl die Eingabe 280A2 nicht mit dem Inhalt der Dialogsitzung von 2A in Beziehung steht, enthält die natürliche Spracheausgabe 282A2 auch eine Rückmeldung „Wie hat dir der Burrito aus dem Cafe Lupe gestern Abend geschmeckt?“. Wie hierin beschrieben kann der automatisierte Assistent 120 die in der Ausgabe 282A2 enthaltene Rückmeldungsaufforderung basierend auf verschiedenen Kriterien bereitstellen.
-
Der Anwender antwortet auf die Ausgabe 282A2 mit einer positiven natürlichen Spracheingabe 280B2. Der automatisierte Assistent antwortet mit der natürlichen Sprachausgabe 282B2, die das bestätigende Wort „schön“ enthält, und einem Vorschlag für ein anderes beliebtes Gericht im Cafe Lupe. Der automatisierte Assistent 120 kann die positive natürliche Spracheingabe 280B2 verwenden, um einen Wert positiv zu beeinflussen, der dem Inhaltsparameter „Burrito“ zugeordnet ist. Zum Beispiel kann der automatisierte Assistent 120 den Wert anpassen, um die Wahrscheinlichkeit zu erhöhen, dass „Burrito“ als Gericht im Cafe Lupe und/oder in anderen Restaurants in zukünftigen Dialogsitzungen mit dem Anwender und/oder in zukünftigen Dialogsitzungen mit anderen Anwendern empfohlen wird.
-
2B3 liefert ein weiteres Beispiel für das Bereitstellen einer Rückmeldungsaufforderung für den Anwender auf der Basis des Inhaltsparameters „Burrito“, der als Antwort auf die Dialogsitzung von 2A gespeichert wird. Die Dialogsitzung von 2B3 kann eine sein, die anstelle von oder zusätzlich zu derjenigen von 2B1 und/oder 2B2 stattfindet. In 2B3 stellt der Anwender die natürliche Spracheingabe 280A3 „Spiel bitte ein wenig Musik“ bereit, um eine Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten 120 zu initiieren. Die Dialogsitzung von 2B2 ist von derjenigen von 2A getrennt.
-
Der automatisierte Assistent 120 antwortet auf die natürliche Spracheingabe 280A3 mit der Antwortausgabe 282A3, die ein Lied (angezeigt durch Musiknoten) als Antwort enthält. Obwohl die Eingabe 280A3 nicht mit dem Inhalt der Dialogsitzung von 2A in Beziehung steht, enthält die Ausgabe 282A3 auch eine Rückmeldungsaufforderung „Übrigens, wie hat dir der Burrito aus dem Cafe Lupe gestern Abend geschmeckt?“. Die Rückmeldungsaufforderung kann bereitgestellt werden, nachdem das gespielte Lied oder ein Teil davon wiedergegeben worden ist. Wie hierin beschrieben kann der automatisierte Assistent 120 die in der Ausgabe 282A3 enthaltene Rückmeldungsaufforderung basierend auf verschiedenen Kriterien bereitstellen.
-
Der Anwender antwortet auf die Ausgabe 282A3 mit einer positiven natürlichen Spracheingabe 280B3. Der automatisierte Assistent antwortet mit der Ausgabe 282B3, die die bestätigenden Worte „Freut mich“ enthält, und fährt dann mit der Wiedergabe des Antwortlieds oder eines zusätzlichen Liedes fort. Der automatisierte Assistent 120 kann die positive natürliche Spracheingabe 280B3 verwenden, um einen Wert positiv zu beeinflussen, der dem Inhaltsparameter „Burrito“ zugeordnet ist.
-
2B4 liefert ein weiteres Beispiel für das Bereitstellen einer Rückmeldungsaufforderung an den Anwender basierend auf dem Inhaltsparameter „Cafe Lupe“, der als Antwort auf die Dialogsitzung von 2A gespeichert wird. Die Dialogsitzung von 2B4 kann eine sein, die anstelle von oder zusätzlich zu derjenigen von 2B1, 2B2 und/oder 2B3 stattfindet.
-
2B4 veranschaulicht eine weitere Clientvorrichtung 310 des Anwenders 101 von 2A und einen Anzeigebildschirm 320 der Clientvorrichtung 310. Die Clientvorrichtung 310 kann den automatisierten Assistenten 120 und/oder eine andere Instanz davon (die Zugriff auf Einträge des Anwenders 101 in der Inhaltsparameter-Datenbank 154 hat) enthalten und/oder in Kommunikation mit diesem stehen. Der Anzeigebildschirm 340 enthält ein Antwortschnittstellenelement 388, das der Anwender auswählen kann, um eine Anwenderschnittstelleneingabe über eine virtuelle Tastatur zu erzeugen, und ein Sprachantwortschnittstellenelement 389, das der Anwender auswählen kann, um eine Anwenderschnittstelleneingabe über ein Mikrofon zu erzeugen. In einigen Implementierungen kann der Anwender ohne Auswahl des Sprachantwortschnittstellenelements 389 eine Anwenderschnittstelleneingabe über das Mikrofon erzeugen. Zum Beispiel kann während der Dialogsitzung eine aktive Überwachung bezüglich einer hörbaren Anwenderschnittstelleneingabe über das Mikrofon stattfinden, um die Notwendigkeit zu beseitigen, dass der Anwender das Sprachantwortschnittstellenelement 389 auswählen muss. In einigen dieser und/oder in anderen Implementierungen kann das Sprachantwortschnittstellenelement 389 entfallen. Darüber hinaus kann in einigen Implementierungen das Antwortschnittstellenelement 388 zusätzlich und/oder alternativ entfallen (z. B. kann der Anwender nur eine hörbare Anwenderschnittstelleneingabe bereitstellen). Der Anzeigebildschirm 340 enthält zudem Systemschnittstellenelemente 381, 382, 383, mit denen der Anwender interagieren kann, um die Clientvorrichtung 310 dazu zu veranlassen, eine oder mehrere Aktionen durchzuführen.
-
In 2B4 stellt der Anwender die natürliche Spracheingabe 280A4 „Wie sieht mein Tag morgen aus?“ bereit, um eine Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten 120 zu initiieren. Die Dialogsitzung von 2B2 ist von derjenigen von 2A getrennt. In einigen Implementierungen kann der automatisierte Assistent 120 basierend darauf, dass sie über eine separate Clientvorrichtung erfolgt, bestimmen, dass es sich um eine separate Dialogsitzung handelt.
-
Der automatisierte Assistent 120 antwortet auf die natürliche Spracheingabe 280A4 mit der Antwortausgabe 282A4, die eine Zusammenfassung des Kalenders des Anwenders enthält. Obwohl die Eingabe 280A4 und die Ausgabe 282A4 nicht mit dem Inhalt der Dialogsitzung von 2A in Beziehung stehen, stellt der automatische Assistent dann eine Rückmeldungsaufforderung 282B4 “Übrigens, hat dir das Cafe Lupe gefallen?” bereit. Der Anwender antwortet auf die Rückmeldungsaufforderung 282B4 mit einer positiven natürlichen Spracheingabe 280B4. In einigen Implementierungen kann die natürliche Spracheingabe 280B4 eine Eingabe in freier Form sein. In einigen anderen Implementierungen kann der automatisierte Assistent 120 in dem Dialog mehrere Optionen zur Auswahl durch den Anwender präsentieren. Zum Beispiel kann der automatisierte Assistent 120 in Kombination mit der Rückmeldungsaufforderung 282B4 eine Schnittstelle bereitstellen, die mehrere Optionen wie „Ja“, „Nein“ und „Es war OK“ umfasst - und der Anwender kann eine der Optionen auswählen, um eine entsprechende Antworteingabe bereitzustellen.
-
2B1-2B4 liefern Beispiele dafür, dass der Anwender eine positive Rückmeldung liefert und die entsprechenden Inhaltsparameter hochgestuft werden. Es versteht sich jedoch, dass der Anwender alternativ eine negative Rückmeldung bereitstellen kann, die entsprechende Inhaltsparameter herabstuft.
-
Unter Bezugnahme auf 3A und 3B sind zusätzliche Beispiele verschiedener hier offengebarter Implementierungen beschrieben. 3A stellt ein Beispiel einer Dialogsitzung dar, in der der automatisierte Assistent für einen Anwender Inhalt mit einem Inhaltsparameter bereitstellt, der aus mehreren Kandidaten-Inhaltsparametern ausgewählt ist. 3B zeigt ein Beispiel für das Bereitstellen von Rückmeldungsaufforderungen für den Anwender in einer separaten Dialogsitzung, wobei die Rückmeldungsaufforderungen auf den ausgewählten Inhaltsparametern basieren.
-
3A zeigt die gleiche Clientvorrichtung 310 wie die in 2B4 dargestellte. In 3A gibt es eine Dialogsitzung zwischen dem Anwender („Du“) und einem zusätzlichen Anwender („Tom“) und dem automatisierten Assistenten 120 („Automatisierter Assistent“). Der Anwender stellt eine natürliche Spracheingabe 380A1 „Kaffee am Morgen?“ bereit, die an den zusätzlichen Anwender gerichtet ist.
-
Der zusätzliche Anwender stellt die antwortende natürliche Spracheingabe 381A1 „Sicher“ bereit.
-
Der Anwender ruft dann den automatisierten Assistenten 120 in die Dialogsitzung durch Aufnahme von „@AutomatisierterAssistent“ in die Eingabe 380A2 und fordert den automatisierten Assistenten 120 auf: „Suche ein gutes Cafe aus!“. Als Antwort darauf liefert der automatisierte Assistent 120 eine Ausgabe 382A1, die einen Vorschlag „Hypothetische Rösterei“ enthält, der hoch bewertet ist und nahe bei dem Anwender und dem zusätzlichen Anwender liegt. Die Ausgabe 382A1 kann zur Präsentation sowohl an den Anwender (über die Clientvorrichtung 310) als auch an den zusätzlichen Anwender (über eine entsprechende Clientvorrichtung) bereitgestellt werden. Der automatisierte Assistent 120 wählt den Ort „Hypothetische Rösterei“ aus mehreren Kandidatenoptionen aus. Ferner kann der automatisierte Assistent 120 basierend auf weiteren dem Anwender zugeordneten Signalen (z. B. darauf, dass der Anwender eine Navigationsanfrage bezüglich der „hypothetischen Rösterei“ ausgibt, Ortsdaten des Anwenders, die einen Besuch in der „hypothetischen Rösterei“ angeben) und/oder anderen Signalen bestimmen, dass der Anwender auf den Vorschlag eingegangen ist. Basierend auf dem Empfehlen des Orts und optional auf dem Bestimmen, dass der Anwender auf den vorgeschlagenen Ort eingegangen ist, kann der automatisierte Assistent 120 in Verbindung mit dem Anwender Inhaltsparameter speichern, die den vorgeschlagenen Ort angeben. Zum Beispiel kann der automatisierte Assistent 120 in der Datenbank für bereitgestellte Inhaltsparameter 154 in Verbindung mit dem Anwender eine Angabe dieser ausgewählten und bereitgestellten Inhaltsparameter speichern. Der automatisierte Assistent 120 kann zusätzlich oder alternativ in Verbindung mit dem zusätzlichen Anwender Inhaltsparameter speichern, die den vorgeschlagenen Ort angeben (optional nach dem Bestimmen, dass der zusätzliche Anwender auf den vorgeschlagenen Ort eingegangen ist).
-
3B zeigt ein Beispiel für das Bereitstellen von Rückmeldungsaufforderungen, die auf dem ausgewählten Inhaltsparameter von 3A basieren, für den Anwender 101 in einer Dialogsitzung, die von jener von 3A getrennt ist. In 3B liefert der Anwender 101 eine natürliche Spracheingabe 380B1 „Wie sieht die Heimfahrt aus?“ an die separate Rechenvorrichtung 210. Die Dialogsitzung von 3B ist von derjenigen von 3A getrennt. Zum Beispiel kann die Dialogsitzung von 3B basierend darauf, dass sie über die separate Rechenvorrichtung 210 stattfindet, als separate Dialogsitzung bestimmt werden.
-
Der automatisierte Assistent 120 antwortet auf die natürliche Spracheingabe 380B1 mit der antwortenden natürlichen Sprachausgabe 382B1, die eine Zusammenfassung der aktuellen Verkehrsbedingungen enthält. Auch wenn die Eingabe 380B1 und die Ausgabe 382B1 nicht mit dem Inhalt der Dialogsitzung von 3A in Beziehung stehen, stellt der automatisierte Assistent 120 dann eine Rückmeldungsaufforderung 382B2 bereit, die eine Rückmeldung über den Inhaltsparameter „Hypothetische Rösterei“ erbittet. Wie hierin beschrieben kann der automatisierte Assistent 120 die Rückmeldungsaufforderung 382B2 basierend auf verschiedenen Kriterien wie etwa, dass die Dialogsitzung von 3B getrennt von derjenigen von 3A ist, dass die Eingabe 380B1 und/oder die Ausgabe 382B1 ein oder mehrere Kriterien, wie z. B. als „Routine“ betrachtet zu werden, erfüllt, und/oder anderen Kriterien bereitstellen.
-
Der Anwender antwortet auf die Ausgabe 382B1 mit der negativen natürlichen Spracheingabe 380B2. Der automatisierte Assistent liefert eine weitere Rückmeldungsaufforderung 382B3, die eine Rückmeldung darüber erbittet, ob es etwas Spezielles gab, das der Anwender an der „hypothetischen Rösterei“ nicht mochte. Der Anwender antwortet auf die Ausgabe 382B3 mit einer weiteren natürlichen Spracheingabe 380B3, die spezifiziert, dass die „Hypothetische Rösterei“ zu voll war. Der automatisierte Assistent 120 kann die negative natürliche Spracheingabe 380B2 verwenden, um einen Wert negativ zu beeinflussen, der dem Inhaltsparameter „Hypothetische Rösterei“ zugeordnet ist. Der automatisierte Assistent 120 kann zusätzlich oder alternativ die natürliche Spracheingabe 380B3 verwenden, um einen Wert zu beeinflussen, der einem Inhaltsparameter zugeordnet ist, der einen Besuchsgrad angibt. Zum Beispiel kann der automatisierte Assistent 120 einen Wert anpassen, um die Wahrscheinlichkeit zu verringern, dass Restaurants, die zu einer oder mehreren Zeiten „großen Menschenmengen“ zugeordnet sind, zu diesen Zeiten in zukünftigen Dialogsitzungen mit dem Anwender und/oder in zukünftigen Dialogsitzungen mit anderen Anwendern empfohlen werden.
-
3B stellt ein Beispiel mit dem Anwender 101 der Clientvorrichtung 310 dar. Jedoch kann eine separate Instanz des automatisierten Assistenten 120 zusätzlich und/oder alternativ basierend auf dem ausgewählten Inhaltsparameter, der in Verbindung mit dem zusätzlichen Anwender in der Datenbank für bereitgestellte Inhaltsparameter 154 gespeichert ist, Rückmeldungsaufforderungen an den zusätzlichen Anwender („Tom“) von 3A über eine seiner Clientvorrichtungen bereitstellen.
-
Obwohl sich Beispiele, die in verschiedenen Figuren bereitgestellt sind, auf Ortsvorschläge konzentrieren, können hierin beschriebene Techniken für andere Typen von Vorschlägen und/oder anderen Inhalt implementiert werden. Als ein Beispiel kann der automatisierte Assistent 120 als Antwort auf eine Anwendereingabe „Spiel etwas Bluegrass“ ein Bluegrass-Album A auswählen, um es als Antwort darauf wiederzugeben. Der automatisierte Assistent 120 kann dann in einer zukünftigen Dialogsitzung eine Eingabeaufforderung wie etwa „Wie hat dir Bluegrass-Album A gefallen?“ bereitstellen. Als weiteres Beispiel kann der automatisierte Assistent 120 als Antwort auf eine Anwendereingabe „Aktuelle Nachrichten“ aktuelle Nachrichten von der Quelle A auswählen, um sie als Antwort darauf bereitzustellen. Der automatisierte Assistent 120 kann dann in einem zukünftigen Dialog eine Eingabeaufforderung wie etwa „Mochtest du Quelle A für die Nachrichten oder würdest du eine andere Quelle bevorzugen?“ bereitstellen. Als weiteres Beispiel kann der automatisierte Assistent 120 als Antwort auf eine Anwendereingabe „Aktuelle Nachrichten“ fünf Nachrichtenartikel auswählen, um sie als Antwort bereitzustellen. Der automatisierte Assistent 120 kann dann in einer zukünftigen Dialogsitzung eine Eingabeaufforderung wie etwa „Warst du mit der Anzahl von Nachrichtenartikeln, die vorher bereitgestellt wurden, zufrieden oder würdest du mehr oder weniger bevorzugen?“ bereitstellen. Als weiteres Beispiel kann der automatisierte Assistent 120 als Antwort auf eine Anwendereingabe „Zu einem Cafe navigieren“ das nächste Cafe auswählen und eine Wegbeschreibung zu dem Cafe geben. Der automatisierte Assistent 120 kann dann am nächsten Tag in einer Dialogsitzung eine Eingabeaufforderung wie etwa „Ich gab dir gestern eine Wegbeschreibung zum nächstgelegenen Cafe. Würdest du in Zukunft ein etwas höher bewertetes Cafe bevorzugen?“ bereitstellen.
-
4 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 400 gemäß hierin offenbarten Implementierungen veranschaulicht. Der Einfachheit halber sind die Operationen des Ablaufdiagramms unter Bezugnahme auf ein System beschrieben, das die Operationen ausführt. Dieses System kann verschiedene Komponenten von verschiedenen Computersystemen enthalten, wie beispielsweise eine oder mehrere Komponenten des automatisierten Assistenten 120. Obwohl Operationen des Verfahrens 400 in einer bestimmten Reihenfolge gezeigt sind, soll dies nicht einschränkend sein. Eine oder mehrere Operationen können umgeordnet, weggelassen oder hinzugefügt werden.
-
In Block 452 empfängt das System eine natürliche Spracheingabe, die auf einer Anwenderschnittstelleneingabe basiert, die von einem Anwender während einer Dialogsitzung geliefert wird.
-
In Block 454 erzeugt das System einen Inhalt in Antwort auf die natürliche Spracheingabe, der mindestens einen Inhaltsparameter, der aus mehreren Kandidaten-Inhaltsparametern ausgewählt wird, enthält.
-
In Block 456 stellt das System den Inhalt zur Präsentation an den Anwender als Teil der Dialogsitzung bereit und speichert den ausgewählten Inhaltsparameter des Inhalts.
-
In Block 458 identifiziert das System eine zusätzliche Dialogsitzung, die den Anwender enthält. In einigen Implementierungen kann Block 458 einen Block 460 enthalten, in dem das System zusätzlichen Inhalt zur Präsentation an den Anwender als Teil der zusätzlichen Dialogsitzung erzeugt und bereitstellt.
-
In Block 462 stellt das System zur Präsentation an den Anwender als Teil der zusätzlichen Dialogsitzung eine Eingabeaufforderung bereit, die eine Rückmeldung zu dem gespeicherten ausgewählten Inhaltsparameter erbittet.
-
In Block 464 empfängt das System eine zusätzliche Eingabe in Antwort auf die Eingabeaufforderung, die auf einer Anwenderschnittstelleneingabe basiert, die von dem Anwender während der zusätzlichen Dialogsitzung geliefert wird.
-
In Block 466 verwendet das System die zusätzliche Eingabe, um einen Wert zu beeinflussen, der in Verbindung mit dem ausgewählten Inhaltsparameter gespeichert ist.
-
5 ist ein Blockdiagramm einer beispielhaften Rechenvorrichtung 510, die optional verwendet werden kann, um einen oder mehrere Aspekte von hierin beschriebenen Techniken durchzuführen. In einigen Implementierungen können eine Clientrechenvorrichtung, ein automatisierter Assistent 120 und/oder eine oder mehrere andere Komponenten eine oder mehrere Komponenten der beispielhaften Rechenvorrichtung 510 enthalten.
-
Die Rechenvorrichtung 510 enthält typischerweise mindestens einen Prozessor 514, der über das Bus-Untersystem 512 mit einer Anzahl von Peripherievorrichtungen kommuniziert. Diese Peripherievorrichtungen können ein Ablagespeicher-Untersystem 524, das beispielsweise ein Speicher-Untersystem 525 und ein Dateispeicher-Untersystem 526 enthält, Anwenderschnittstellen-Ausgabevorrichtungen 520, Anwenderschnittstellen-Eingabevorrichtungen 522 und ein Netzschnittstellen-Untersystem 516 enthalten. Die Eingabe- und Ausgabevorrichtungen ermöglichen Anwenderinteraktionen mit der Rechenvorrichtung 510. Das Netzschnittstellen-Untersystem 516 stellt eine Schnittstelle zu externen Netzen bereit und ist mit entsprechenden Schnittstellenvorrichtungen in anderen Rechenvorrichtungen gekoppelt.
-
Die Anwenderschnittstellen-Eingabevorrichtungen 522 können eine Tastatur, Zeigevorrichtungen wie eine Maus, einen Trackball, ein Touchpad oder ein Grafiktablett, einen Scanner, einen in die Anzeige integrierten Berührungsbildschirm, Audioeingabevorrichtungen wie etwa Spracherkennungssysteme, Mikrofone und/oder andere Arten von Eingabevorrichtungen umfassen. Im Allgemeinen soll die Verwendung des Begriffs „Eingabevorrichtung“ alle möglichen Arten von Vorrichtungen und Möglichkeiten zum Eingeben von Informationen in die Rechenvorrichtung 510 oder in ein Kommunikationsnetz umfassen.
-
Die Anwenderschnittstellen-Ausgabevorrichtungen 520 können ein Anzeige-Untersystem, einen Drucker, ein Faxvorrichtung oder nicht visuelle Anzeigen wie etwa Audioausgabevorrichtungen umfassen. Das Anzeige-Untersystem kann eine Kathodenstrahlröhre (CRT), eine Flachbildschirmvorrichtung wie eine Flüssigkristallanzeige (LCD), eine Projektionsvorrichtung oder einen anderen Mechanismus zum Erzeugen eines sichtbaren Bildes umfassen. Das Anzeige-Untersystem kann auch eine nicht-visuelle Anzeige wie etwa über Audioausgabevorrichtungen bereitstellen. Im Allgemeinen soll die Verwendung des Ausdrucks „Ausgabevorrichtung“ alle möglichen Typen von Vorrichtungen und Möglichkeiten zum Ausgeben von Informationen von der Rechenvorrichtung 510 an den Anwender oder an eine andere Maschine oder Rechenvorrichtung umfassen.
-
Das Ablagespeicher-Untersystem 524 speichert Programmier- und Datenkonstrukte, die die Funktionalität von einigen oder allen der hier beschriebenen Module bereitstellen. Zum Beispiel kann das Ablagespeicher-Untersystem 524 die Logik enthalten, um ausgewählte Aspekte des Verfahrens von 4 auszuführen.
-
Diese Softwaremodule werden im Allgemeinen von dem Prozessor 514 alleine oder in Kombination mit anderen Prozessoren ausgeführt. Der Speicher 525, das in dem Ablagespeicher-Untersystem 524 verwendet wird, kann eine Anzahl von Speichern einschließlich eines Haupt-Direktzugriffsspeichers (Haupt-RAM) 530 zum Speichern von Befehlen und Daten während einer Programmausführung und eines Nur-Lesespeichers (ROM) 532, in dem feste Befehle gespeichert sind, umfassen. Das Dateispeicher-Untersystem 526 kann dauerhaften Speicher für Programm- und Datendateien bereitstellen und kann ein Festplattenlaufwerk, ein Diskettenlaufwerk zusammen mit zugeordneten Wechselmedien, ein CD-ROM-Laufwerk, ein optisches Laufwerk oder Wechselmedienkassetten umfassen. Die Module, die die Funktionalität bestimmter Implementierungen implementieren, können durch das Dateispeicher-Untersystem 526 in dem Ablagespeicher-Untersystem 524 oder in anderen Maschinen, auf die durch den/die Prozessor(en) 514 zugegriffen werden kann, gespeichert werden.
-
Das Bus-Untersystem 512 bietet einen Mechanismus, um es den verschiedenen Komponenten und Untersystemen der Rechenvorrichtung 510 zu ermöglichen, wie beabsichtigt miteinander zu kommunizieren. Obwohl das Bus-Untersystem 512 schematisch als ein einzelner Bus gezeigt ist, können alternative Implementierungen des Bus-Untersystems mehrere Busse verwenden.
-
Die Rechenvorrichtung 510 kann von verschiedenen Typen sein, die einen Arbeitsplatzrechner, einen Server, einen Computercluster, einen Blade-Server, eine Serverfarm oder ein anderes Datenverarbeitungssystem oder eine andere Datenverarbeitungsvorrichtung umfassen. Aufgrund der sich ständig ändernden Natur von Computern und Netzen ist die Beschreibung der in 5 dargestellten Rechenvorrichtung 510 nur als ein spezielles Beispiel zum Zwecke der Veranschaulichung einiger Implementierungen gedacht. Es sind viele andere Konfigurationen der Rechenvorrichtung 510 möglich, die mehr oder weniger Komponenten als die in 5 dargestellte Rechenvorrichtung aufweisen.
-
In Situationen, in denen bestimmte hier diskutierte Implementierungen persönliche Informationen über Anwender sammeln oder verwenden können (z. B. aus anderer elektronischer Kommunikation extrahierte Anwenderdaten, Informationen über ein soziales Netzwerk eines Anwenders, den Standort eines Anwenders, die Zeit eines Anwenders, biometrische Informationen eines Anwenders und die Aktivitäten eines Anwenders und demographische Informationen), werden den Anwendern eine oder mehrere Möglichkeiten zur Verfügung gestellt, um zu steuern, ob Informationen gesammelt werden, ob die persönlichen Informationen gespeichert werden, ob die persönlichen Informationen verwendet werden und wie die Informationen über den Anwender gesammelt, gespeichert und verwendet werden. Das heißt, die hierin erörterten Systeme und Verfahren sammeln, speichern und/oder verwenden persönliche Anwenderinformationen nur dann, wenn sie eine explizite Autorisierung von den relevanten Anwendern erhalten, dies zu tun. Zum Beispiel erhält ein Anwender die Kontrolle darüber, ob Programme oder Funktionen Anwenderinformationen über diesen bestimmten Anwender oder andere Anwender erfassen, die für das Programm oder Merkmal relevant sind. Jeder Anwender, für den persönliche Informationen gesammelt werden sollen, erhält eine oder mehrere Optionen, um Kontrolle über die für diesen Anwender relevante Informationssammlung zu ermöglichen, um Erlaubnis oder Autorisierung dahingehend zu geben, ob die Informationen gesammelt werden und welche Teile der Informationen gesammelt werden. Zum Beispiel können Anwender über ein Kommunikationsnetz mit einer oder mehreren derartigen Steuerungsoptionen versehen werden. Darüber hinaus können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie gespeichert oder verwendet werden, so dass personenbezogene Daten entfernt werden. Als ein Beispiel kann die Identität eines Anwenders so behandelt werden, dass keine personenbezogenen Informationen bestimmt werden können. Als weiteres Beispiel kann der geographische Ort eines Anwenders auf einen größeren Bereich verallgemeinert werden, so dass der spezielle Ort des Anwenders nicht bestimmt werden kann.
-
Gemäß Implementierungen in dieser Offenbarung sind Verfahren, Vorrichtungen und computerlesbare Medien bereitgestellt, die sich auf ein Erbitten von Rückmeldungen von einem Anwender bezüglich eines oder mehrerer Inhaltsparameter eines Vorschlags oder eines anderen Inhalts, der von dem automatisierten Assistenten bereitgestellt wird, beziehen. Die Rückmeldungen des Anwenders können verwendet werden, um zukünftige Vorschläge und/oder anderen Inhalt zu beeinflussen, die nachfolgend durch den automatisierten Assistenten in zukünftigen Dialogsitzungen für den Anwender und/oder für andere Anwender bereitgestellt werden. In einigen Implementierungen wird Inhalt für einen Anwender durch einen automatisierten Assistenten in einer Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten bereitgestellt - und der automatisierte Assistent stellt in einer zukünftigen Dialogsitzung zwischen dem Anwender und dem automatisierten Assistenten eine Eingabeaufforderung bereit, die Rückmeldungen des Anwenders zu dem bereitgestellten Inhalt erbittet. In einigen dieser Implementierungen wird die Eingabeaufforderung in der zukünftigen Dialogsitzung nach einer Eingabe von dem Anwender und/oder einer Ausgabe von dem automatisierten Assistenten, die nichts mit dem in der vorherigen Dialogsitzung bereitgestellten Inhalt zu tun hat, bereitgestellt.
-
Obwohl hierin mehrere Implementierungen beschrieben und dargestellt worden sind, kann eine Vielzahl von anderen Mitteln und/oder Strukturen zum Durchführen der Funktion und/oder Erzielen der Ergebnisse und/oder eines oder mehrerer der hierin beschriebenen Vorteile verwendet werden und jede solche Variation und/oder Abwandlung wird als unter den Umfang der hierin beschriebenen Implementierungen fallend betrachtet. Allgemeiner ausgedrückt sollen alle hierin beschriebenen Parameter, Abmessungen, Materialien und Konfigurationen beispielhaft sein und die tatsächlichen Parameter, Abmessungen, Materialien und/oder Konfigurationen hängen von der spezifischen Anwendung oder den spezifischen Anwendungen ab, für die die Lehren verwendet werden. Fachleute werden in der Lage sein, lediglich unter Verwendung von Routineexperimenten viele Äquivalente zu den hier beschriebenen spezifischen Implementierungen erkennen oder zu ermitteln. Es versteht sich daher, dass die vorstehenden Implementierungen nur beispielhaft dargestellt sind und dass Implementierungen innerhalb des Umfangs der beigefügten Ansprüche und Äquivalente dazu anders als speziell beschrieben und beansprucht ausgeführt werden können. Implementierungen der vorliegenden Offenbarung sind auf jedes einzelne der Merkmale, Systeme, Artikel, Materialien, Ausrüstungen und/oder Verfahren gerichtet, das hierin beschrieben ist. Darüber hinaus fällt jede Kombination von zwei oder mehr solcher Merkmale, Systeme, Artikel, Materialien, Ausrüstungen und/oder Verfahren, wenn solche Merkmale, Systeme, Artikel, Materialien, Ausrüstungen und/oder Verfahren nicht miteinander unvereinbar sind, unter den Umfang der vorliegenden Offenbarung.