WO2019011356A1 - Verfahren zur dialogführung zwischen mensch und computer - Google Patents

Verfahren zur dialogführung zwischen mensch und computer Download PDF

Info

Publication number
WO2019011356A1
WO2019011356A1 PCT/DE2017/100587 DE2017100587W WO2019011356A1 WO 2019011356 A1 WO2019011356 A1 WO 2019011356A1 DE 2017100587 W DE2017100587 W DE 2017100587W WO 2019011356 A1 WO2019011356 A1 WO 2019011356A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
information
meta
intention
self
Prior art date
Application number
PCT/DE2017/100587
Other languages
English (en)
French (fr)
Inventor
Philipp Heltewig
Sascha Poggemann
Original Assignee
Cognigy Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognigy Gmbh filed Critical Cognigy Gmbh
Priority to EP17780297.2A priority Critical patent/EP3652664A1/de
Priority to US16/630,912 priority patent/US11315560B2/en
Priority to PCT/DE2017/100587 priority patent/WO2019011356A1/de
Publication of WO2019011356A1 publication Critical patent/WO2019011356A1/de

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Definitions

  • the present method relates to an implementation on a computer that also includes a mobile phone, smartphone or other portable device having a digital
  • Computing unit may be that allows the user to conduct a natural, everyday-suitable conversation with a computer system. Through text or voice input, various steps for classification and subsequent speech comprehension are performed, whereupon context-based in the use case, a conversation between the user and the
  • navigation devices in vehicles are usually able to give the driver who has entered a destination instructions in spoken language for driving. But they do not know if the user understood the instructions. Even these systems can not understand the user, but are dependent on his destination input. From the start, they only allow targets that are stored in the system-immanent database.
  • US Pat. No. 6,964,023 B2 describes a system for multimodal user conversions that is capable of converting spoken speech into text, resolving ambiguities and recognizing the mood of the user, for example by means of face recognition. If necessary, the system will ask questions to the user to clarify his instructions. In doing so, the system keeps asking until it detects the intent of the user. After that it leads System corresponding instructions, for example, it turns on the radio.
  • the recognition process is based on face and speech recognition. An error probability is determined for each branch of the decision tree, both by comparison with a threshold and by linear regression. The decision trees are trained for word-dependent properties.
  • WO 02/073331 A2 provides a system architecture for commercial transactions in natural language in which users can inform themselves about products of a catalog.
  • the system accesses a database for products and a database of user preferences and asks questions for clarification.
  • the database of user preferences has an update function, but a self-learning function is missing.
  • US 8,600,747 B2 describes a method for managing a dialogue, which may also include spoken language, such as in the context of a telephone call.
  • a dialogue motivators is used, which is an error handling, a
  • the system can ask questions to the user.
  • it is not self-learning and primarily serves to transfer users to human dialogue partners.
  • Speech recognition and an audio interface as well as a browser with access to content and determines activation phrases.
  • a latent semantic analysis By applying a latent semantic analysis, the similarity between the user utterances and the
  • US 8,543,407 B1 describes a system which uses statistical modeling and formal logic to evaluate conversational input regarding data contents such as commands and dictations. For this purpose, a command dictionary and a dynamic grammar for identification, the clarification of ambiguity and the extraction of
  • WO 2014/047270 A1 describes a method and an apparatus for achieving the intent in an IVR - Interactive voice response - using natural language
  • US 8,849,652 B2 describes a system that includes voice-based and non-voice-based interfaces and user context, previous information and
  • US Pat. No. 9,502,027 B1 describes a method for processing the output of a speech recognition.
  • the parsing it is first examined whether it is a command. If this is the case, this command is executed, and if not asked by a query to clarify the ambiguity.
  • the process can neither recognize intentions nor lead to a natural dialogue.
  • the object of the invention is thus to enable the computer system to emulate human communication better and not only to capture and evaluate the language or even only their words and grammar, and thus with a
  • the software should know some basic rules of strategic practice so that it can not be easily deceived or tricked.
  • the invention solves this problem by a method for dialogue between human and computer using a self-learning system, comprising
  • Sentence structure is analyzed and repeatedly the user inputs are split into factual content and metadata about the user and again the user intention is determined and classified,
  • the user is identified if possible. This can be done for example by a unique user ID. If the user has previously connected to the system, he will be recognized and the call will resume. If the user logs on again after an expiration time, the system generates a new instance based on the stored context information and lets the user start a new dialog. The user can connect via any interface such as chat or voice and then with appropriate identification and authentication, the appropriate user context can be loaded.
  • Such an application can be carried out in a manner similar to a forwarding of mobile radio signals between individual radio cells across channels and across the interfaces, thus permitting the transfer of dialogue between the individual channels.
  • the system retains the context, the saved dialog status and the dialog history.
  • Receiving and then analyzing the user inputs to sentence structure and sentence structure and recognition is done by a natural language parser that outputs grammatical information of a sentence, such as identified subjects, further information about each word, and a tree structure, also called dependency tree. denotes the relation between the individual words.
  • This structure tree is then further analyzed in the "Dependency Tree Parsing" processing step, whereby subject-predicate-object structures are generated as far as possible.
  • the processing of dependency trees and structural information extracted from it are combined with other existing meta information to use this information to determine the value of a user input.
  • This so-called input object which contains additional additional information, makes it possible to remove the corresponding meta information from the input and to buffer it in the conversation-dependent context.
  • the intention of the user also referred to as "intent”, is to be understood in the following to mean a more far-reaching term than just a mere request, the request, referred to as a "query”, representing a subset of the user intention. From the perspective of communication concerns the
  • This knowledge base is provided by a database of goal intentions, relevant context information, and external data sources.
  • the classification is carried out with a classification algorithm for clarifying intent and meaning.
  • Processing logic also referred to as flow, to a basis for a
  • the system is able to formulate queries to the user in order to confirm or disprove the validity of the recognition.
  • This type of feedback and the storage of user feedback creates a cycle in which the system is able to improve its own behavior, ie to learn independently. This in the form that after a certain number of queries pressed no further questions to any user must be asked. The system then learned to interpret and assign a previously unknown user request that did not match the reference intent.
  • Conversation state is a targeted activation or deactivation more meaningful to the conversation of matching intents.
  • an intent detection dependent on the conversation status is carried out with a conversation state-dependent delimitation of permitted or tolerated or meaningful intents. This achieves a serious improvement of the status-dependent intent detection. Paired with the one described above
  • Inquiry algorithm creates a procedure in which initially only a few structural
  • the intention recognition is done by statistical comparison.
  • the "Intent-Clarification" processing step formulates a query to the user, so that any ambiguity of the user input by demand and re-capture of the processing steps described above are used to get a clearer statement on intention and meaning of user input.
  • the "Intent Clarification” clarifies whether the system has recognized the correct intent or not.
  • Each reference intent has one or more explicit queries associated with it.
  • a script includes content from the meta-information and the context in a dynamically generated query.
  • the query is adapted to the user input and generates a much more natural query or other feedback to the user.
  • the computer system After asking the user, the computer system waits for a response. If no response is given, the system again requests or aborts the user's request, if an answer comes, the computer system checks to see if it is being provided by the same user, authenticates it, and the analysis and processing proceeds again. Prior to this, it is ensured that the system waits for further user input in a valid state or that it actively asks the user for a conversation by asking questions.
  • a context-based, structured dialog management suitable for the application is made possible by means of a logical decision matrix, a flow, a decision tree, a neural network or other implementation.
  • the decisive part of the “reasoning engine” is the graphical representation of a structure for dialogue management.
  • logical processing elements such as conditions such as “if”, “eise”, “then”, “switch case” and user interaction elements such as “say”, “say-once”,
  • Conversational context determined from previous information can be used as a basis for discussion.
  • This reasoning engine allows the meta-information from previous ones
  • Previously executed processing steps provide the necessary meta-information of one or more user inputs for processing in the reasoning engine.
  • the intent discovery occurs before processing in the flow.
  • a query to the user can be made directly from the intent detection.
  • queries to the user can also be formulated directly from the flow.
  • the intent usually does not already contain all sorts of specifications, which are then queried by the flow.
  • the system already enables partially dynamic generation of responses to the context or from stored meta-information.
  • the queries are thus created from the context and output to the user.
  • the flow generates the four language levels "fact level”, “appeal level”, “relationship level” and
  • the reception of user input is preceded by a conversion of spoken natural speech into text.
  • a conversion of spoken natural speech into text is known in the art.
  • this precedent step is used to gain further meta-information about the dialogue partner.
  • meta-information of the user are included in the conversion of spoken language into text and provided separately to the algorithm of the intention recognition.
  • MetaInformationen the parameters hurry, emotion, language, dialect and person or combinations or parts thereof can be detected.
  • these meta-information obtained from the natural speech of the user can serve as raw data for the intention recognition as well as for the subsequent logical processing and to this the parameters tonation, urgency and reassurance are delivered. So sometimes it can be concluded from the tonation on whether a complaint or a purchase request exists. In the case of urgency, it may be useful to lower the thresholds for statistical relevance. moreover
  • Adapting user behavior such as between a purchase process, a
  • a further embodiment of the invention provides that the generation of the speech text response to the user is followed by a conversion of text into spoken natural language in order to lead to a unified dialogue , In such cases, it is necessary to uniquely authenticate each user at all times to ensure that the system responds to the same user who made the request so the dialogue continues with the same person.
  • the system therefore allocates an identification record to each user in one embodiment, allowing access to user-dependent context information. In this way, it is also possible to conduct an interface-independent dialogue, the context and the current conversation and dialogue status persist and are always consistent. When the user terminates the conversation by disconnecting from the system, it first checks if there is a technical error and becomes the context
  • Speech interaction can thereby be achieved with real on-screen interaction, e.g. by displaying graphics or a device such as a robot, an "Internet of Things" device, or even a smartphone or a
  • User interface is preferably designed to be multiple
  • Control commands can also be processed directly from the meta information as data records, thereby influencing the conversation process from the context and using the flow elements, which control the conversation depending on the context, with the user.
  • a connected robot can greet the user when he detects movement. Through a possible face recognition such a robot could try to uniquely identify a user and his company. The system would then be able, based on existing contextual information, to create a dynamically generated greeting using the name and other context information and to convey it via the robot in the form of speech to the user.
  • the self-learning system is supported by an administrator who is involved in the occurrence of keywords or in the event of excessive demand.
  • the flow and manageable context information ensure that the system is partially self-learning, but does not change its actual behavior, since it still operates on the basis of predefined structures.
  • Administrator can only intervene controlling and bring in new elements for enhanced or enhanced user dialogues.
  • Further embodiments of the invention relate to the integration and query of external databases.
  • conversations-relevant data such as context information or meta-information
  • corresponding, linked databases are queried.
  • These may be, for example, product databases of manufacturers or goods and their storage location in a shopping center. If these databases are foreign-language, a translation program can also be used.
  • Generating issues via a markup language has access to the meta-information and the context and thus can include that information in the feedback and general processing.
  • Fig. 1 shows an overview block flow diagram of the entire process including the options.
  • Fig. 1 shows the user input 1 as text.
  • the user can make this input either through spoken language, which requires a subsequent program to translate from speech to text, or via a smartphone or a computer or other device.
  • the conversion can also be integrated by means of voice control in a smartphone, computer or other device.
  • An upstream automatic translation is possible.
  • For unique user identification also a kind of authentication or user identification is required.
  • the user input, as well as the entire subsequent dialog, can also be mixed via different input channels.
  • Synonym Mapper In the first processing step "Synonym Mapper" 2, a synonym recognition takes place, wherein the text is checked for synonymous phrases given by the administrator. If such synonyms are found, Synonym Mapper creates 2 metadata that replaces the original text with these synonyms without deleting the original data. This meta-record of the original sentence of the user is successively extended in the subsequent processing steps.
  • NLP Natural Language Processing
  • NLP parser which assigns words and punctuation of a text to parts of speech, which is also referred to as "POS-tagging", and the dependencies are determined to determine the grammatical and syntactic relationships between the sentence components to output as data.
  • Specially trained machine learning models can be used for the generic identification of sentence structures.
  • the data generated by the parser is parsed to identify the subject, object, their relationship to each other, and their properties.
  • the record type is determined, ie for example, whether it is a question or a statement. These data are added as metadata to the record of the previous step.
  • the "Intent Mapper" 5 first accepts all valid ones defined by the administrator
  • the scoring algorithm assigns a similarity value W by making the following comparisons:
  • W gets the value 1. This also applies to the lemmatized form of S and the form of S in which synonyms have been replaced.
  • Property comparisons are made, each giving a similarity value W between 0 and 1. These properties include subjects, relationships, objects, as well as their lemmas, questioner-who-what-where, circumstance, if it is a question, conditions, negative adverbs and possibly other aspects.
  • the scoring algorithm then checks for certain cases whether a value 0 must be assigned, for example if the example sentence is a question, but the user input is not, or if the subject, relationship and object do not match. In addition, if the negativity is determined, the system could assign the value W to 0.
  • the scoring values W, of the different pairs P, are then collected, stored in a table and sorted by size. This table is added to the metadata record.
  • this calculation is performed and the result of the calculation for the user input S is compared with all active intents and thus with a certain number of example sentences A.
  • the example sentence with the highest relevance is selected.
  • the intent assignment takes place.
  • Inquiry to the user is required, and if so, how.
  • the administrator sets two threshold values between 0 and 1.
  • the first value is the query threshold RT and the second threshold is the validity threshold CT, the threshold CT is higher than that of the RT.
  • the two thresholds RT and CT divide the range of scoring values W into three ranges. If the first threshold RT is not reached, the program will explain to the user that he did not understand it and politely address to him the request 7, his input
  • the program takes advantage of its learning system and its
  • the learning system inserts after the Intent Mapper 5 and is connected to a database 100, which consists of three parts:
  • Learned system is possibly connected to the APIs 104.
  • the part of the user data 101 contains data about the respective user and data of all users from previous user inputs and has a learning database individually for each user as well as a common learning database for all users together.
  • the respective learning databases contain the already processed data previous dialogs, including related meta-information, and a counter that indicates how many times each phrase containing a recognized intent has occurred by the user and by all other users.
  • the learning system acts as follows:
  • the scoring value W After the scoring value W has been determined, it is first checked in query 6 whether CT was reached or exceeded or not. In this case, the program continues without the intervention in the learning system with the next processing step 8. If W is between RT and CT, it is checked in the user data 101 in the examination of previous confirmations 10 whether the user has previously confirmed such an input sentence in a comparable context. If this is the case, no query is formulated to the user, rather the system "thinks" that the user again means the advised input and increments the counter for that detected sentence by 1. The program also continues with flow 8.
  • the program takes the example sentence A, which belongs to the highest score value W, formulated in the query 1 1 from a confirmation question and asks the user if this is his intention.
  • the program confirms that the intention has not been understood and, if other example sentences have also reached RT, whose score W was lower than the previous one, then asks the user if these example sentences then his intention was better. Otherwise, the program continues with flow 8, but sets a "flag" in the input object, indicating that the user's intent was not properly determined, so that Flow 8 can respond to the input and continue the user dialog ,
  • the learning system checks for each of the (inconclusive) queries whether the user's record has already been deposited as a learning sentence in the learning database LDB.
  • this phrase means the intent and the counter is incremented by 1 for that user and set.
  • this sentence has already been confirmed as intent in previous queries of other users and stored as a learning sentence in the learning database LDB. If such a learning sentence already exists, its counter is increased by 1, if not, it is created as a learning sentence in the learning database LDB. Thereafter, in the step "Examination for example sentences" 15 it is checked whether the learned sentence is suitable as a new example sentence for further cases.
  • the program removes the learning set from the learning database in the "Modification LDB" step 16 and, in the future, leads it as an example sentence so that a direct recognition takes place.
  • the new example sentence is marked as such to allow the administrator to retrieve this example sentence and, if necessary, manually delete it. This avoids abuse.
  • Flow 8 is a decision tree that enables you to create meaningful statements during a conversation with a user.
  • the flow 8 uses the stored context data 102 and the status of the conversation to be a human-like one
  • the context is used to store information about everything related to the current user and the dialogue with him, for example the name of the user after he has named it.
  • the context data 102 is stored and is then available for future user conversations.
  • the status determines where you are in the conversation, for example, at the beginning, the end, or in a specific processing step.
  • the status information is crucial for adequate answers, since identical user inputs can have completely different meanings depending on the current dialog status.
  • the Flow 8 has direct configuration access to external data sources, external data 103, and external APIs 104, and can include these in context and conversation.
  • the flow 8 consists of a number of different nodes that determine the logical structure to structure a conversation and generate the desired outputs. These are a start node that determines the beginning of a flow, function nodes that perform a specific function, for example, output a statement to a user or make an entry in a database, logic nodes that structure the flow within the flow, for example, if / then / else or
  • the flow 8 can be the current one
  • Such a runtime activated scripting language typically consists of a markup language tagging portions of text or data. Furthermore, this activated during runtime scripting language to form corresponding requests to databases with external data 103 and allow out of the flow node direct queries to these data sources. Synchronous in the form that any requests must be answered until the flow 8 continues to process, or asynchronously in the form that the immediate processing of further flow requests.
  • Each flow starts with a start node followed by any number of child nodes. All nodes are executed in sequence starting from the starting node as they are reached. Logic nodes leading to branches control the process and ensure that only relevant nodes are traversed during a call. Thus, it may be that some nodes in the course of a dialogue repeatedly or not at all. This constellation results in a free but structured dialogue.
  • Flow 8 It is particularly advantageous to use a markup language within the Flow 8 that allows to call or change the meta-information on user input, the context and the status directly within the decision tree. Access is e.g. via different nodes or via free programming.
  • This text input 1 starts the system.
  • Mapper 2 the term “snack” is searched for synonyms or generic terms, for example the term “pizza” is found for this and it is loaded from the user-added dictionary. There, a keyword with a unique identifier, which can be used later in the flow, and a freely definable number of associated synonyms, created. in the
  • NLP 3 examines the word by word entry and the relationship between the words. In this case, it is recognized that they are two half-sentences, the last of which is a question that addresses a location. Subject of the first half sentence is the user himself, object is a food item. A number was found: the word "one". The verb could indicate a relationship state that contains an intention. But the questioning sentence could also be an intention.
  • Step "Keyphrase Mapping" 4 it is first checked whether something is negated, this is not the case here.
  • the categorization is specified, items are a food and a location.
  • Location information loaded and pairs are formed. For example there are sandwiches, pizza and chips with corresponding example sentences A from the
  • Example sentence are loaded because the subject follows only from the first half-sentence, which is first to clarify. For each of these example sentences A, a scoring value W is assigned. These scoring values can be roughly proportional to the typical sales of the local
  • step "Checking the Intent Score” 6 it is checked whether the highest scoring value of the example sentences exceeds the value CT. This is not the case here. Then it is checked whether this highest value is at least above RT, this is the case. The system then checks in step 13 whether there is already a confirmation from a previous user input for this user and for such a user input. If this is the case, no further search is made for a confirmation, but the user input is regarded as confirmed and the system proceeds to the flow 8 as the next step.
  • the program initiates inquiry 1 1 associated with the example set of the highest scoring value W. In the present example this is the sentence, "Would you like a pizza?". The program expects a yes-no answer. If the answer is "yes”, the program checks for the second half-sentence whether there is an example sentence with a value of 1 for this, in this example this is assumed and no further inquiry is necessary. The program also continues to flow here, but previously saves the sentence in its learning database LDB, which is part of the user database 101 so that it can recognize the question next time.
  • LDB learning database
  • the program checks whether it already knows the question about the snack from other user queries. If this were the case, it would increment the counter in the learning database by 1 for all users, but in the present example, the sentence must first be recreated in the learning database. For this reason, the query, whether the
  • Threshold value LT for transfer to the database for example records in the database for reference or example sentences for intents has also been exceeded.
  • the program then proceeds to flow 8, which generates a response where to get a pizza, possibly in the form of an enumeration, if there are several places to do it that it knows. Possibly. It also asks for the pads you want and immediately places a complete order that the system can then forward to a digital ordering system.
  • the flow 8 can access by configuration to further application-specific, external data 103 or programming interface APIs 104.
  • the second user asks "I also want a snack but not pizza".
  • the first steps are analogous, but there is no second half sentence with a local question, and there is also a negative that is identified in the Keyphrase Mapping 4 if it has not already been identified in the previous step NLP 3. Since a negation to pizza is included, the example sentence with the pizza is given the scoring value 0.
  • the following step "Intent Mapping" 5 you will only be asked "Would you like a sandwich?". If the user affirms this, then the procedure continues analogously as in the previous case. Only in the flow 8 does the program determine that there was no asking for a location and ask further questions about it, possibly it also offers users a corresponding direct order.
  • the learning database then has two different ones for the question about the snack

Abstract

Verfahren zur Dialogführung zwischen Mensch und Computer unter Verwendung eines selbstlernenden Systems, aufweisend das Empfangen von Nutzereingaben in natürlichem Sprachtext, Zuordnung von Synonymen und Schlüsselworten sowie Wortzuordnungen, das Analysieren der Nutzereingaben auf Satzstruktur und Satzbau und deren Erkennung, Zuordnung von Schlüsselphrasen, das Ermitteln und Klassifizieren der Nutzerabsicht, Prüfung, ob eine Bestätigung erforderlich ist, logisches Verarbeiten in einer Reasoning-and- Answer-Preparation unter Formulierung einer Entscheidung über die weitere Dialogausgestaltung, Formulierung oder den Dialogverlauf mit möglicher Generierung einer Antwort, wobei zur Erkennung der Nutzerabsicht die statistische Relevanz der Zugehörigkeit zu einer Ziel-Absicht bei gleichzeitiger Beibehaltung sämtlicher Meta-Informationen ermittelt wird, die Klassifizierung mit einem Klassifizierungsalgorithmus zur Absichtsklärung erfolgt, in dem Entscheidungsbaum, Logik und Sprachverständnis über Metainformation verknüpft werden, eine Rückmeldung unter Verwendung früherer Nutzerbefragungen an das selbstlernende System generiert wird, bei Grenzwertunterschreitung statistischer Relevanz eine Abfrage an den Nutzer generiert wird, ob die erkannte Absicht korrekt verstanden wurde, in diesem Fall eine Antwort des Nutzers empfangen und dann auf Satzstruktur und Satzbau analysiert wird und wiederholt die Nutzereingaben in Sachinhalte und in Metainformationen über den Nutzer aufgespalten werden sowie erneut die Nutzerabsicht ermittelt und klassifiziert wird, das Erkennungsergebnis an das selbstlernende System abgegeben wird, das selbstlernende System automatische System-Empfehlungen und/oder Entscheidungen zur Verbesserung der Absichtserkennung über mehrere Nutzerinteraktionen erarbeitet und zur späteren Verwendung bereithält, bei Grenzwertüberschreitung statistischer Relevanz die Generierung der Sprachtext-Antwort an den Nutzer einleitet, und anderenfalls eine weitere Nachfrage veranlasst.

Description

Verfahren zur Dialogführung zwischen Mensch und Computer
Das vorliegende Verfahren betrifft eine Implementierung auf einem Computer, der auch ein Mobiltelefon, Smartphone oder ein sonstiges tragbares Gerät mit einer digitalen
Recheneinheit sein kann, die es dem Nutzer ermöglicht, ein natürliches, alltags-taugliches Gespräch mit einem Computersystem zu führen. Über Text oder Spracheingabe werden verschiedene Schritte zur Klassifizierung und nachfolgendem Sprachverständnis ausgeführt, worauf kontext-basiert im Anwendungsfall ein Gespräch zwischen Nutzer und dem
Computersystem ermöglicht wird. Der besondere Schwerpunkt wird dabei auf die Erkennung der Nutzerabsicht sowie deren weitere Verarbeitung gelegt. Hierzu erkennt das Verfahren jeweils den Sinn der Sprache.
Computersysteme, die mit gesprochener oder geschriebener natürlicher Sprache umgehen, sind seit langem Stand der Technik. So gibt es Diktiersysteme, die gesprochene Wörter sowie Satzzeichen erkennen und in geschriebenen Text umsetzen können. Auf der anderen Seite gibt es eine Vielzahl von Vorlesesystemen, die einen vorgegebenen Text ansagen können. Diese Systeme sind nicht in der Lage, den Sinn der Sprache zu verstehen.
Auch Navigationsgeräte in Fahrzeugen sind üblicherweise in der Lage, dem Fahrer, der ein Ziel eingegeben hat, Anweisungen in gesprochener Sprache zum Fahren zu erteilen. Sie erfahren aber nicht, ob der Nutzer die Anweisungen verstanden hat. Auch diese Systeme können den Nutzer nicht verstehen, sondern sind auf seine Zieleingabe angewiesen. Sie lassen dabei von vornherein nur Ziele zu, die in der systemimmanenten Datenbank gespeichert sind.
Seit einiger Zeit sind auch aufwendige Computersysteme erhältlich, die gesprochene Fragen analysieren und Antworten darauf in gesprochener Sprache geben können. Hierbei handelt es sich um einfache Abfragen, deren fertige Antworten in Datenbanken gespeichert sind, und bei denen das Computersystem lediglich vor der Aufgabe steht, die richtige dieser Antworten herauszusuchen und diese zu sprechen. Das Computersystem muss dazu den Sinn der Frage nicht wirklich verstehen, es reicht, wenn es bestimmte Schlüsselwörter erkennt, anhand derer die Menge der möglichen Antworten soweit eingegrenzt werden kann, dass die Antwort mit der größten zahlenmäßigen Übereinstimmung der Schlüsselwörter als Antwort ausgegeben werden kann.
So beschreibt bereits die US 6,964,023 B2 ein System für multimodale Nutzerkonversation, das in der Lage ist, gesprochene Sprache in Text umzusetzen, Mehrdeutigkeiten aufzulösen und die Stimmung des Nutzers zu erkennen, etwa mittels Gesichtserkennung. Das System veranlasst ggf. Rückfragen an den Nutzer, um dessen Anweisungen zu klären. Hierbei fragt das System so oft nach, bis es die Absicht des Nutzers erkannt hat. Danach führt das System entsprechende Anweisungen aus, beispielsweise schaltet es das Radio ein. Der Erkennungsvorgang findet auf der Basis der Gesichts- und Spracherkennung statt. Eine Fehlerwahrscheinlichkeit wird für jeden Zweig des Entscheidungsbaums ermittelt, sowohl mittels eines Vergleichs mit einem Schwellenwert als auch über lineare Regression. Die Entscheidungsbäume werden dafür auf wortabhängige Eigenschaften trainiert.
Die WO 02/073331 A2 stellt eine Systemarchitektur für kommerzielle Transaktionen in natürlicher Sprache bereit, bei der Nutzer sich über Produkte eines Katalogs informieren können. Hierbei greift das System auf eine Datenbank für Produkte und eine Datenbank der Nutzervorlieben zu und stellt Rückfragen zur Klärung. Die Datenbank der Nutzervorlieben besitzt eine Update-Funktion, eine selbstlernende Funktion fehlt jedoch.
Die US 8,600,747 B2 beschreibt ein Verfahren zur Verwaltung eines Dialogs, der auch gesprochene Sprache, etwa im Rahmen eines Telefonats, umfassen kann. Hierzu wird eine Vielzahl von Dialogmotivatoren eingesetzt, die eine Fehlerbehandlung, eine
Mehrdeutigkeitsbehandlung, Annahme und Bestätigung, fehlende Information und
Fortsetzung durchführen. Hiermit sind Bestell- und Bezahlvorgänge möglich, das System kann Rückfragen an den Nutzer stellen. Es ist jedoch nicht selbstlernend und dient vorwiegend dazu, Nutzer an menschliche Dialogpartner weiterzuvermitteln.
Die DE 60 2004 006 641 T2 beschreibt ein Audio-Dialogsystem, das über eine
Spracherkennung und eine Audioschnittstelle sowie über einen Browser mit Zugang auf Inhalte verfügt und Aktivierungsphrasen ermittelt. Mittels einer Anwendung latenter semantischer Analyse wird die Ähnlichkeit zwischen den Nutzeräußerungen und den
Aktivierungsphrasen als numerischer Wert ermittelt. Bei den Kopplungen der
Aktivierungsphrasen und der Inhalte wird ein Sprachmodell trainiert. Eine Absichtserkennung findet nicht statt.
Die US 8,543,407 B1 beschreibt ein System, welches statistische Modellierung und formale Logik dazu benutzt, Gesprächseingaben hinsichtlich Dateninhalten wie Kommandos und Diktaten auszuwerten. Hierzu werden ein Kommandowörterbuch und eine dynamische Grammatik zur Identifikation, der Klärung von Mehrdeutigkeit und der Extraktion von
Befehlen verwendet, das System arbeitet kontextsensitiv und kann weitere
Nutzerschnittstellen ansprechen. Es kann aber keine Nutzerabsichten erkennen und hierüber auch keinen Dialog mit dem Nutzer führen.
Die WO 2014/047270 A1 beschreibt ein Verfahren und eine Vorrichtung, um die Absicht in einem IVR - Interactive voice response - bei der Verwendung natürlicher Sprache
vorherzusagen und löst das Problem, dass die vom Nutzer verwendeten allgemeinen Begriffe während der Konkretisierung einem Wandel unterworfen sind, die es einem System erschweren, deren Konsistenz sicherzustellen. Die Nutzerabsicht wird dabei mit früheren Absichten und mit dem üblichen normalen Verhalten durchschnittlicher Nutzer abgeglichen und in seiner relativen Wertigkeit geschätzt. In Abhängigkeit dieser Wertigkeit werden dem Nutzer voreingestellten Schwellenwerten entsprechende werthaltige Angebote unterbreitet. Die Absichtserkennung wird dadurch zu einer Absichtsgenerierung.
Die US 8,849,652 B2 beschreibt ein System, welches sprachbasierte und nicht- sprachbasierte Interfaces umfasst und Nutzer-Kontext, frühere Informationen und
Nutzerdaten dazu nutzt, eine natürliche Nutzerumgebung für Nutzer, die Anfragen stellen oder Befehle erteilen wollen, herzustellen. Es kann jedoch die Absichten der Nutzer nicht erkennen und sich darauf nicht einstellen.
Die US 9,502,027 B1 beschreibt ein Verfahren, um die Ausgabe einer Spracherkennung zu verarbeiten. Hierbei wird nach der Umsetzung der gesprochenen Sprache in Text, dem Parsing, zunächst untersucht, ob es sich um einen Befehl handelt. Wenn dies der Fall ist, wird dieser Befehl ausgeführt, und wenn nicht, mittels einer Rückfrage um Klärung der Uneindeutigkeit gebeten. Das Verfahren kann jedoch weder Absichten erkennen noch einen natürlichen Dialog führen.
Während die hierdurch aufgeworfenen technischen Probleme inzwischen weitgehend als gelöst betrachtet werden können, bereiten das tiefe Verstehen und das Kommunizieren immer noch erhebliche Probleme, das betrifft besonders solche Computersysteme, die in Echtzeit Sprachsignale sehr schnell verarbeiten und dabei gleichzeitig mit begrenzten Ressourcen auskommen müssen.
Die Anforderungen resultieren vor allem darin, die Nutzereingaben zu„verstehen" und zu „interpretieren". Ziel ist es hierbei stets, den Turing-Test zu bestehen. Der Test ist dann bestanden, wenn der Nutzer aus den Antworten nicht mehr unterscheiden bzw. erkennen kann, ob er mit einem Menschen oder einer Maschine kommuniziert hat. Außer der reinen Spracherkennung sind hierbei auch die Gesetzmäßigkeiten der menschlichen
Kommunikation zu berücksichtigen, vor allem die, die in der Transaktionsanalyse der Psychologie behandelt werden, also muss das Computersystem
• "anderen Menschen" respektvoll gegenübertreten,
• Erwartungen klären, vor allem dabei die Fragen, worum es geht und was man
voneinander will,
• Informationen zum Thema einholen, darf dabei nicht werten, soll öffnende Fragen stellen, statt Alternativen vorzugeben, sie soll die Informationsflut stoppen, und sie soll strukturieren und auswählen lassen,
• wichtige Gesprächsinhalte paraphrasieren oder paraphrasieren lassen, Interpretationen als solche deutlich machen, diese dabei sparsam anwenden,
kennzeichnen, ggf. anbieten,
authentisch und selektiv kommunizieren entsprechend dem Grundsatz "Nicht alles, was wahr ist, muss ich sagen; aber alles was ich sage, muss wahr sein",
die 50%- Regel beachten, was bedeutet, dass mindestens die Hälfte der Energie zur Problemlösung beim Gesprächspartner liegen muss,
Bilanz ziehen und summieren, was geklärt wurde und was offengeblieben ist, welche Fragen neu entstanden sind und welche nächsten Schritte anstehen,
Feedback geben können.
Die Aufgabe der Erfindung ist daher, das Computersystem in die Lage zu versetzen, die menschliche Kommunikation besser nachzubilden und nicht nur die Sprache oder sogar nur deren Wörter und Grammatik zu erfassen und auszuwerten, und damit mit einem
menschlichen Nutzer einen Dialog zu führen.
Darüber hinaus sollte die Software einige Grundregeln des strategischen Vorgehens kennen, damit sie nicht leicht getäuscht oder ausgetrickst werden kann.
Die Erfindung löst diese Aufgabe durch ein Verfahren zur Dialogführung zwischen Mensch und Computer unter Verwendung eines selbstlernenden Systems, aufweisend
• das Empfangen von Nutzereingaben in natürlichem Sprachtext,
• Zuordnung von Synonymen und Schlüsselworten sowie Wortzuordnungen,
• das Analysieren der Nutzereingaben auf Satzstruktur und Satzbau und deren Erkennung,
• Zuordnung von Schlüsselphrasen,
• das Ermitteln und Klassifizieren der Nutzerabsicht,
• Prüfung, ob eine Bestätigung erforderlich ist,
• logisches Verarbeiten in einer Reasoning-and-Answer-Preparation unter Formulierung einer Entscheidung über die weitere Dialogausgestaltung, Formulierung oder den Dialogverlauf mit möglicher Generierung einer Antwort,
• wobei
• zur Erkennung der Nutzerabsicht die statistische Relevanz der Zugehörigkeit zu einer Ziel-Absicht bei gleichzeitiger Beibehaltung sämtlicher Meta-Informationen ermittelt wird,
• die Klassifizierung mit einem Klassifizierungsalgorithmus zur Absichtsklärung erfolgt, in dem Entscheidungsbaum, Logik und Sprachverständnis über Metainformation verknüpft werden,
• eine Rückmeldung unter Verwendung früherer Nutzerbefragungen an das selbstlernende System generiert wird, • bei Grenzwertunterschreitung statistischer Relevanz eine Abfrage an den Nutzer generiert wird, ob die erkannte Absicht korrekt verstanden wurde,
• in diesem Fall eine Antwort des Nutzers empfangen und dann auf Satzstruktur und
Satzbau analysiert wird und wiederholt die Nutzereingaben in Sachinhalte und in Metainformationen über den Nutzer aufgespalten werden sowie erneut die Nutzerabsicht ermittelt und klassifiziert wird,
• das Erkennungsergebnis an das selbstlernende System abgegeben wird,
• das selbstlernende System automatische System-Empfehlungen und/oder
Entscheidungen zur Verbesserung der Absichtserkennung über mehrere
Nutzerinteraktionen erarbeitet und zur späteren Verwendung bereithält,
• bei Grenzwertüberschreitung statistischer Relevanz die Generierung der Sprachtext- Antwort an den Nutzer einleitet, und anderenfalls eine weitere Nachfrage veranlasst.
Die einzelnen Verfahrensschritte werden im Folgenden in Bezug auf den bekannten Stand der Technik eingehender erläutert.
Zunächst wird der Nutzer nach Möglichkeit identifiziert. Dies kann etwa durch eine eindeutige Nutzer-ID geschehen. Hat sich der Nutzer bereits zuvor mit dem System verbunden, wird er wiedererkannt und das Gespräch wird wiederaufgenommen. Meldet er sich nach einer Abiaufzeit wieder an, generiert das System anhand der gespeicherten Kontextinformationen eine neue Instanz und lässt den Nutzer einen neuen Dialog beginnen. Der Nutzer kann sich über ein beliebiges Interface wie Chat oder Sprache verbinden und bei entsprechender Identifikation und Authentifizierung kann dann der entsprechende Nutzerkontext geladen werden.
Eine solche Anmeldung kann ähnlich einer Weiterleitung von Mobilfunksignalen zwischen einzelnen Funkzellen Kanal- und Interface-übergreifend erfolgen, die Dialogübernahme zwischen den einzelnen Kanälen wird so ermöglicht. Das System behält dabei den Kontext, den gespeicherten Dialogstatus und den Dialogverlauf bei.
Das Empfangen und das anschließende Analysieren der Nutzereingaben auf Satzstruktur und Satzbau und deren Erkennung erfolgt durch einen Parser für natürliche Sprache, der grammatikalische Information eines Satzes ausgibt, so etwa identifizierte Subjekte, weiterhin Information über jedes Wort und einen Strukturbaum, auch als "Dependency Tree" bezeichnet, der die Relation zwischen den einzelnen Wörtern zeigt.
Dieser Strukturbaum wird anschließend im Verarbeitungsschritt "Dependency Tree Parsing" weiter analysiert, wobei nach Möglichkeit Subjekt-Prädikat-Objekt-Strukturen erzeugt werden. Die Verarbeitung der Dependency trees und daraus extrahierte strukturelle Informationen werden mit weiteren existierenden Meta-Informationen kombiniert, um anhand dieser Informationen die Werthaltigkeit einer Nutzereingabe zu ermitteln. Dieses sogenannte Input- Objekt, welches zusätzliche weitere Informationen enthält, ermöglicht es, entsprechende Meta-Informationen aus der Eingabe zu entziehen und diese im gesprächsabhängigen Kontext zwischenzuspeichern.
Es findet daher eine Transformation zwischen der Nutzereingabe und dem vorhandenen Nutzerkontext anhand vorliegender struktureller Kriterien, z.B. den Sprachmodellen als Grundlage des "Dependency tree parsing" statt.
Danach wird die Nutzerabsicht mehrstufig ermittelt und klassifiziert. Unter der Nutzerabsicht, auch als "Intent" bezeichnet, soll im Folgenden ein weitergehender Begriff als nur der einer bloßen Anfrage verstanden werden, wobei die Anfrage, als "Query" bezeichnet, eine Teilmenge der Nutzerabsicht darstellt. Aus Sicht der Kommunikation betrifft die
Nutzerabsicht aber nicht nur das Ziel, einen Sachverhalt darzustellen, sondern sie beinhaltet auch die Zielvorstellung des Nutzers selbst, der entweder etwas Kaufen möchte oder eine Freigabe oder eine Genehmigung oder eine Auskunft erteilt bekommen möchte, oder auch eine Beschwerde abgeben oder eine Anzeige erstatten will. Damit werden die vier
Sprachebenen "Sachebene", "Appellebene", Beziehungsebene" und
"Selbstoffenbarungsebene" relevant.
Für all diese Ebenen muss das Computersystem in der Lage sein eine entsprechende Gesprächsebene zu bilden oder sich diese selbstlernend zu erarbeiten und diese über strukturelle Kriterien zielgerichtet ausführen können. Diese Wissensbasis wird durch eine Datenbank der Ziel- Absichten, der relevanten Kontext-Informationen und aus externen Datenquellen bereitgestellt.
Hierbei wird zur Erkennung der Nutzerabsicht die statistische Relevanz der Zugehörigkeit zu einer Ziel-Absicht bei gleichzeitiger Beibehaltung sämtlicher Meta-Informationen ermittelt. Nachfolgend erfolgt die Klassifizierung mit einem Klassifizierungsalgorithmus zur Absichtsund Bedeutungsklärung. In diesem Schritt werden die Meta-Informationen und die
Abarbeitungslogik, auch als Flow bezeichnet, zu einer Grundlage für eine
anwenderspezifische strukturierte Gesprächsführung zusammengeführt.
Die zuvor als Meta-Informationen zur Eingabe gehörigen Informationen wurden in
Strukturen, wie etwa dem Datenaustauschformat JSON, gespeichert und werden im nachfolgenden Schritt zur Intent-Erkennung und Erkennung der Bedeutung herangezogen. Wie der Kontext dabei strukturiert ist, hängt vom Anwendungsfall ab. Hierdurch erfolgt eine weitere Eingrenzung der zuvor ermittelten Meta-Informationen auf einen konkreten Anwendungsfall, der eine sinnvolle Gesprächsführung nach den Regeln ordentlicher
Gesprächsführung erst möglich macht.
Sollte hierbei die statistische Relevanz eines ausgewählten Referenz-Intents einen definierten Schwellenwert unterschreiten, ist das System in der Lage, Rückfragen an den Nutzer zu formulieren, um die Validität der Erkennung zu bestätigen oder zu widerlegen. Durch diese Art der Rückfragen und der Speicherung der Nutzer-Rückmeldungen entsteht ein Kreislauf, in dem das System eigenständig in der Lage ist, sein Verhalten zu verbessern, also eigenständig zu lernen. Dies in der Form, dass ab einer gewissen Anzahl betätigter Rückfragen keine weiteren Rückfragen an jegliche Nutzer mehr gestellt werden müssen. Das System hat dann gelernt, eine zuvor unbekannte, nicht zum Referenz-Intent passende Nutzeranfrage zu interpretieren und zuzuordnen.
Es wird dabei nicht nur eine reine Erkennung durchgeführt, sondern abhängig vom
Gesprächszustand erfolgt eine gezielte Freischaltung oder Deaktivierung sinnvoller, zum Gespräch passender Intents. Hierzu wird eine vom Gesprächsstatus abhängige Intent- Erkennung mit gesprächszustandsabhängiger Eingrenzung erlaubter oder geduldeter oder sinnvoller Intents durchgeführt. Hierdurch wird eine gravierende Verbesserung der statusabhängigen Intent-Erkennung erzielt. Gepaart mit dem oben beschriebenen
Rückfrage-algorithmus entsteht ein Verfahren, bei dem initial nur wenige strukturelle
Informationen vorgegeben werden müssen und das System eigenständig lernt, einen möglichst natürlichen Dialog mit dem Nutzer zu führen.
Die Absichtserkennung erfolgt durch statistischen Vergleich. Zunächst wird die
Nutzeraussage in einem Parsing-System auf Tripel heruntergebrochen, die die Struktur Subjekt-Prädikat-Objekt aufweisen. Die Anordnung der Tripel wird in einem Dependency Tree dargestellt. Alle infrage kommenden Tripel, die zur Verarbeitung geeignet sind, sind im System gespeichert, wobei jedem der Tripel ein statistischer Wahrscheinlichkeitswert zugeordnet ist. Im Rahmen des lernenden Systems wird dieser Wahrscheinlichkeitswert stets angepasst, wenn mehrere Nutzer hintereinander dasselbe Tripel verursachen, wird die Wahrscheinlichkeit heraufgesetzt. Das Tripel mit der höchsten Wahrscheinlichkeit wird als Absicht/ Intent ausgewählt.
Nach erfolgter Intent-Erkennung sieht der Verarbeitungsschritt "Intent-Clarification" vor, abhängig von der Relevanz erkannter und identifizierter Absichten eine Rückfrage an den Nutzer zu formulieren, so dass etwaige Unklarheiten der Nutzereingabe durch Nachfrage und erneuter Erfassung der zuvor beschriebenen Verarbeitungsschritte dazu genutzt werden, eine klarere Aussage zu Absicht und Bedeutung der Nutzereingabe zu erlangen. Bei Unklarheiten der Nutzereingabe in Bezug auf die Referenz-Intents klärt die "Intent- Clarification", ob das System den richtigen Intent erkannt hat oder nicht. Bei der Generierung der Rückfrage werden die folgenden Verfahren ssc ritte durchlaufen:
Jedem Referenz-Intent sind eine oder mehrere explizite Rückfragen zugeordnet. Über ein Script werden Inhalte aus den Meta-Informationen und dem Kontext in eine dynamisch generierte Rückfrage einbezogen. Damit wird die Rückfrage auf die Nutzereingabe angepasst und eine wesentlich natürlichere Rückfrage oder sonstige Rückmeldung an den Nutzer generiert.
Nach der Rückfrage an den Nutzer wartet das Computersystem auf eine Antwort. Falls keine Antwort gegeben wird, fragt das System erneut nach oder bricht die Anfrage des Nutzers ab, falls eine Antwort kommt, prüft das Computersystem, ob diese vom selben Nutzer gegeben wird, authentifiziert sie, und die Analysen und Verarbeitungsschritte laufen erneut ab. Zuvor wird sichergestellt, dass das System in einem validen Zustand auf weitere Nutzereingaben wartet oder selbst aktiv durch Fragestellung den Nutzer zur Konversation auffordert.
Nach erfolgreicher Intent-Erkennung wird der nächste Verarbeitungsschritt der„Reasoning and Answer preparation" erforderlich. In diesem Verarbeitungsschritt wird anhand einer logischen Entscheidungsmatrix, einem Flow, einem Entscheidungsbaum, einem neuronalen Netzwerk oder sonstiger Realisierung eine kontextbezogene, dem Anwendungsfall passende strukturierte Dialogführung ermöglicht.
Entscheidender Teil der "Reasoning Engine" ist die grafische Repräsentation einer Struktur zur Dialogführung. Über logische Verarbeitungselemente wie Bedingungen, etwa "if", "eise", "then", "switch case" und Elemente zur Nutzerinteraktion wie "say", "say-once",
"asYNQuestion" etc. wird ein logischer Rahmen für einen Anwendungsfall-spezifischen Dialog erstellt. Die "Reasoning Engine" verwaltet dabei den aktuellen Gesprächsstatus einer Diskussion mit dem Nutzer, sowie vorheriger Diskussionen, um entsprechend der
Nutzerinteraktion als Gesprächspartner agieren zu können. Aus vorherigen Informationen ermittelter Gesprächskontext kann dabei als Gesprächsgrundlage hinzugezogen werden.
Diese Reasoning Engine ermöglicht es, die Meta-Informationen aus vorherigen
Verarbeitungsschritten mit Entscheidungskriterien zur sinnvollen, kontextbezogenen
Gesprächsführung zu nutzen. Zuvor durchlaufene Verarbeitungsschritte stellen dabei die notwendigen Meta-Informationen einer oder mehrerer Nutzereingaben zur Verarbeitung in der Reasoning Engine bereit.
Die Intent-Erkennung erfolgt vor der Verarbeitung im Flow. Einerseits kann direkt aus der Intent-Erkennung eine Rückfrage an den Nutzer erstellt werden. Andererseits können auch direkt aus dem Flow heraus Rückfragen an den Nutzer formuliert werden. Der Unterschied ist, dass der Intent meist nicht bereits alle möglichen Spezifikationen enthält, die danach erst vom Flow abgefragt werden. Diese Trennung zwischen Intent und Flow folgt aus der Wissensposition den Nutzers, der aus Unwissen über das mögliche Ausgestaltungsspektrum seine konkrete Absicht oft noch nicht ausreichend spezifizieren kann, oder auch weil seine Willensbildung noch nicht abgeschlossen ist und er sich Alternativen vorbehält.
Zur Nutzerinteraktion werden aus vorherigen Verfahrensschritten oder direkt aus der Reasoning Engine Antworten oder Rückmeldungen an den Nutzer generiert, die passend zum Kontext eines Gesprächs die vollständige, bidirektionale Nutzerinteraktion ermöglichen. Hierbei können zur Verbesserung der Gesprächsqualität sogenannte„Natural Language Generation" [NLG] Tools und Frameworks zum Einsatz kommen.
Das System ermöglicht hierbei bereits die teilweise dynamische Generierung von Antworten auf dem Kontext oder aus gespeicherten Meta-Informationen. Die Rückfragen werden somit aus dem Kontext erstellt und an den Nutzer ausgegeben. An dieser Stelle erzeugt der Flow die vier Sprachebenen "Sachebene", "Appellebene", Beziehungsebene" und
"Selbstoffenbarungsebene", damit die Dialogführung den kommunikativen Ansprüchen genügt.
In weiteren Ausgestaltungen der Erfindung ist vorgesehen, dass dem Empfangen von Nutzereingaben ein Umwandeln von gesprochener natürlicher Sprache in Text vorangeht. Eine solche Umwandlung ist an sich bekannter Stand der Technik. Darüber hinaus wird dieser vorangestellte Verfahrensschritt aber dazu verwendet, um weitere Meta-Informationen über den Dialogpartner zu gewinnen. So kann vorgesehen werden, dass beim Umwandeln von gesprochener Sprache in Text Meta-Informationen des Nutzers aufgenommen und separat dem Algorithmus der Absichtserkennung zur Verfügung gestellt werden. Als MetaInformationen können die Parameter Eile, Emotion, Sprache, Dialekt und Person oder Kombinationen oder Teile davon erfasst werden. Hierzu gehört auch das Aufspalten der Nutzereingaben in Meta-Informationen für Sachinhalte und in Meta-Informationen über den Nutzer. Aus marktbekannten Anwendungen zur Sprachumwandlung sind bereits Variationen bekannt, die derartige Meta-Informationen zusätzlich zum ermittelten Text bereitstellen.
Weiterhin können diese aus der natürlichen Sprechweise des Nutzers gewonnenen MetaInformationen als Rohdaten für die Absichtserkennung sowie für die nachfolgende logische Verarbeitung dienen und an diese die Parameter Tonation, Dringlichkeit und Beruhigung abgegeben werden. So kann manchmal schon aus der Tonation darauf geschlossen werden, ob eine Beschwerde oder ein Kaufwunsch vorliegt. Beim Vorliegen von Dringlichkeit kann es sinnvoll sein, die Grenzwerte für die statistische Relevanz herabzusetzen. Zudem
ermöglichen derartige Meta-Informationen den Gesprächsfluss angemessen ans
Nutzerverhalten zu adaptieren, etwa indem zwischen einem Kaufprozess, einem
Beratungsprozess oder einem Reklamationsprozess differenziert wird. Sofern dem Empfangen von Nutzereingaben ein Umwandeln von gesprochener natürlicher Sprache in Text vorangegangen ist, sieht eine weitere Ausgestaltung der Erfindung vor, dass der Generierung der Sprachtext-Antwort an den Nutzer ein Umwandeln von Text in gesprochene natürliche Sprache nachfolgt, um einen einheitlichen Dialog zu führen. In solchen Fällen ist es nötig, jeden Nutzer jederzeit eindeutig zu authentifizieren, damit sichergestellt ist, dass das System demselben Nutzer antwortet, der die Anfrage gestellt hat, der Dialog also mit derselben Person weiter stattfindet.
Das System ordnet daher in einer Ausgestaltung jedem Nutzer einen Identifikationsdatensatz zu, was den Zugriff auf Nutzer-abhängige Kontextinformationen ermöglicht. Auf diese Weise ist es auch möglich, einen Interface-unabhängigen Dialog zu führen, der Kontext und der aktuelle Gesprächs- und Dialogstatus bleiben dabei bestehen und sind stets konsistent. Wenn der Nutzer den Dialog beendet, indem er seine Verbindung mit dem System trennt, wird zunächst geprüft, ob ein technischer Fehler vorliegt und der Kontext wird
zwischengespeichert. Sofern der Dialog final beendet wurde, wird der aktuelle Dialogstatus vernichtet bzw. gelöscht.
Neben der Rückmeldung von gesprochenem Text können auch Daten als Steuerbefehle für eine Anwendung zurückgegeben werden. Eine Interaktion per Sprache kann dadurch mit realer Interaktion am Bildschirm, z.B. durch Anzeige von Grafik oder einem Gerät wie einem Roboter, einem "lnternet-of-Things"-Gerät, oder auch einem Smartphone oder einem
Computer oder einer virtuellen oder digitalen Umgebung kombiniert werden. Diese
Benutzerschnittstelle ist vorzugsweise so ausgestaltet, dass sie auch multiple
Eingangssignale bestehend aus Text oder Sprache und Eingabedaten wie Steuerbefehle und Meta-Informationen erzeugen kann,
Aus den Meta-Informationen können auch Steuerbefehle als Datensätze direkt verarbeitet und dadurch eine Beeinflussung des Gesprächsverlaufs aus dem Kontext heraus und unter Verwendung von Flow-Elementen, die abhängig von Kontext das Gespräch steuern, mit dem Nutzer vorgenommen werden. So kann etwa ein verbundener Roboter den Nutzer begrüßen, wenn er Bewegungen erkennt. Über eine mögliche Gesichtserkennung könnte ein solcher Roboter versuchen, einen Nutzer und seine Begleitung eindeutig zu identifizieren. Das System hätte daraufhin die Möglichkeit, anhand vorliegender Kontextinformationen, eine dynamisch generierte Begrüßung unter Verwendung des Namens und anderer Kontext- Informationen zu erstellen und über den Roboter in Form von Sprache an den Nutzer zu übermitteln.
Weitere Ausgestaltungen der Erfindung betreffen die Weise, wie das selbstlernende System in das Verfahren zur Dialogführung eingebettet ist bzw. eingreift. So kann vorgesehen werden, dass die Meta-Informationen im selbstlernenden System automatisch kombiniert, interpretiert, konsolidiert und gespeichert werden, wobei es dem Anwender obliegt, die datenschutzrechtlichen Belange zu berücksichtigen.
Selbstlernende Systeme werden gelegentlich dafür kritisiert, dass sie unerwünschte
Nutzereingaben unreflektiert automatisieren und inkorporieren. Dies führt zu Missbrauch und Schäden, etwa wenn Gruppen von Nutzern unsinnige Fragen stellen, um das System zu manipulieren, oder wenn das System Vorurteile und Diffamierungen lernt. Um dies zu verhindern, kann vorgesehen werden, dass auf bestimmte Schlüsselwörter das
selbstlernende System durch einen Administrator unterstützt wird, den es beim Auftreten von Schlüsselwörtern oder beim Auftreten von Überforderung von sich aus involviert. Im hier beschriebenen System ist durch den Flow und durch handhabbare Kontextinformationen sichergestellt, dass das System zwar in Teilen selbstlernend ist, sein eigentliches Verhalten aber nicht ändert, da es nach wie vor anhand vorgegebener Strukturen agiert. Der
Administrator kann lediglich kontrollierend eingreifen und entsprechende neue Elemente für erweiterte oder verbesserte Nutzerdialoge einbringen.
Weitere Ausgestaltungen der Erfindung betreffen die Sprachanalyse. Hierbei kann vorgesehen werden, dass das selbstlernende System durch eine Synonymerkennung unterstützt wird. Die Synonymerkennung geht einher mit der Erarbeitung weiterer Kontext- Informationen, so können Schlüsselworte identifiziert werden, und damit die Eingaben über temporäre Meta-Informationen entsprechend der erkannten Schlüsselworte erweitert werden.
Weiterhin kann vorgesehen werden, dass durch Analyse der Satzstruktur von
Nutzereingaben im Dependency Parsing eine Abhängigkeitsabbildung erarbeitet wird.
Weitere Ausgestaltungen der Erfindung betreffen die Einbindung und Abfrage externer Datenbanken. So kann vorgesehen werden, dass zur Ermittlung gesprächsrelevanter Daten, wie etwa Kontextinformationen oder Meta-Informationen, entsprechende, verbundene Datenbanken abgefragt werden. Dies können beispielsweise Produktdatenbanken von Herstellern oder Waren und deren Lagerort in einem Einkaufszentrum sein. Sofern diese Datenbanken fremdsprachig sind, kann auch ein Übersetzungsprogramm zum Einsatz kommen.
In einer weiteren Ausgestaltung der Erfindung ist vorgesehen, dass das System zur
Generierung von Ausgaben über eine Auszeichnungssprache Zugriff auf die MetaInformationen und den Kontext hat und diese Informationen somit in die Rückmeldung und allgemeine Verarbeitung einbeziehen kann.
Die Erfindung wird nachfolgend anhand einer Figur näher erläutert. Fig. 1 zeigt ein Übersichts-Blockfließbild über das gesamte Verfahren einschließlich der Optionen.
Die Erfindung wird nachfolgend an einem Beispiel näher erläutert, wobei sich die Erfindung aber nicht auf dieses Beispiel beschränkt.
Fig. 1 zeigt die Nutzereingabe 1 als Text. Der Nutzer kann diese Eingabe entweder durch gesprochene Sprache vornehmen, was ein nachfolgendes Programm für die Umsetzung von Sprache in Text erfordert, oder über ein Smartphone oder einen Computer oder ein sonstiges Gerät. Die Umwandlung kann auch integriert mittels einer Sprachsteuerung in einem Smartphone, Computer oder sonstigen Gerät erfolgen. Auch eine vorgeschaltete automatische Übersetzung ist möglich. Zur eindeutigen Nutzeridentifikation ist zudem eine Art Authentifizierung bzw. Nutzer- Identifikation erforderlich. Die Nutzereingabe, wie auch der ganze nachfolgende Dialog, kann auch gemischt über verschiedene Eingangskanäle erfolgen.
Im ersten Verarbeitungsschritt "Synonym Mapper" 2 findet eine Synonym-Erkennung statt, wobei der Text auf vom Administrator vorgegebene synonyme Phrasen geprüft wird. Falls solche Synonyme gefunden werden, erzeugt "Synonym Mapper" 2 Metadaten, in denen der ursprüngliche Text durch diese Synonyme ersetzt wird, ohne jedoch die ursprünglichen Daten zu löschen. Dieser Meta-Datensatz zu dem ursprünglichen Satz des Nutzers wird in den nachfolgenden Verarbeitungsschritten sukzessive erweitert.
Im zweiten Verarbeitungsschritt "NLP" 3 (Natural Language Processing) werden die im vorangegangenen, durch Metadaten erweiterten Nutzereingaben auf Satzstruktur und Satzbau analysiert. Im Einzelnen werden zunächst
• Zahlwörter ermittelt und durch Zahlen ersetzt,
• Füllwörter entfernt und Zusammenziehungen erweitert,
• Leerzeichen entfernt
• fehlende Punktuation ergänzt,
und es wird analysiert, ob der Satz eine Frage ist und falls ja, deren Eigenheiten extrahiert.
Danach wird das Ergebnis in einen NLP-Parser gegeben, der eine Zuordnung von Wörtern und Satzzeichen eines Textes zu Wortarten vornimmt, was auch als "POS-tagging" bezeichnet wird, und die Abhängigkeiten werden ermittelt, um die grammatischen und syntaktischen Beziehungen zwischen den Satzkomponenten als Daten auszugeben. Hierbei können eigens trainierte Machine Learning Modelle zur generischen Identifikation der Satzstrukturen zum Einsatz kommen. Im Anschluss daran werden die vom Parser erzeugten Daten dahingehend nachbereitet, dass Subjekt, Objekt sowie ihre Beziehung zueinander und ihre Eigenschaften identifiziert werden. Außerdem wird der Satztyp bestimmt, also beispielsweise, ob es eine Frage oder eine Aussage ist. Diese Daten werden als Metadaten dem Datensatz des vorangegangenen Schrittes hinzugefügt.
Im dritten Verarbeitungsschritt "Keyphrase Mapping" 4 erfolgt ein zweiter Durchlauf einer Synonym-Erkennung unter Verwendung der im vorangegangenen Schritt gewonnenen Metadaten. Zusätzlich wird die Häufigkeit ihres Auftretens gezählt. Außerdem wird die Negativität bewertet, es könnte ja auch sein, dass der Nutzer etwas genau nicht beabsichtigt, also nicht will. Weiterhin wird eine Kategorisierung vorgenommen, damit für die weitere Bearbeitung die richtigen Kontext-Datenbanken und ggf. externen Datenbanken involviert werden können. Weiterhin werden Tags vergeben. "Keyphrase Mapping" 4 erweitert somit den bestehenden Meta-Datensatz um diese Bedeutungen.
Im vierten Verarbeitungsschritt "Intent Mapper" 5 wird identifiziert, was der Nutzer
ausdrücken wollte, als er seine Nutzereingabe machte. Hierfür kommt der folgende Scoring- Algorithmus zum Einsatz.
Der "Intent Mapper" 5 nimmt zunächst alle vom Administrator definierten gültigen
Absichtsdefinitionen und für jeden Beispielsatz A, den der Administrator bereitgestellt hat, erzeugt er ein Paar P, bestehend aus dem Satz S des Nutzers einschließlich der zur
Verfügung gestellten Metadaten und dem Beispielsatz A. Jedem dieser Paare ordnet der Scoring-Algorithmus einen Ähnlichkeitswert W zu, indem er die folgenden Vergleiche anstellt:
Sind A und S identisch, erhält W den Wert 1 . Dies gilt ebenso für die lemmatisierte Form von S und die Form von S, bei denen Synonyme ersetzt wurden.
Wenn keine Identität von A und S festgestellt wurde, werden eine Reihe von
Eigenschaftsvergleichen vorgenommen, die jeweils einen Ähnlichkeitswert W zwischen 0 und 1 ergeben. Diese Eigenschaften umfassen Subjekte, Beziehungen, Objekte, sowie deren Lemmata, die Fragetypen wer-wie-was-wo, den Umstand, ob es sich überhaupt um eine Frage handelt, Bedingungen, verneinende Adverbien und ggf. weitere Aspekte.
Die Berechnung folgt dabei beispielhaft folgendem Schema, wobei EQ für Ergebnisanteile der Eigenschaften des jeweilgen Gesamtwertes W steht:
Sind Subjekt(A) und Subjekt(S) identisch, dann ist EQ = 1 , sonst ist EQ=0. Diese
Berechnung kann auf der lemmatisierten Version der entsprechenden Wörter erfolgen. Nun werden die Ergebnisse dieser ersten Berechnung folgendermaßen zusammengeführt.
W = EQ(Subjekt)*0,1 + EQ(Verb)*0,2 + EQ(Objekt)*0,3 + EQ(Frage)*0,2 +
EQ(Negativität)*0,2 Die Anzahl der hierbei verwendeten Parameter kann je nach Verwendung variieren und auch die Gewichtungen sind beispielhaft.
Der Scoring-Algorithmus prüft dann für bestimmte Fälle, ob ein Wert 0 vergeben werden muss, etwa wenn der Beispielsatz eine Frage ist, die Nutzereingabe jedoch nicht, oder wenn Subjekt, Beziehung und Objekt nicht zueinander passen. Außerdem könnte das System bei ermittelter Negativität den Wert W von 0 vergeben.
Die Scoring-Werte W, der verschiedenen Paare P, werden danach gesammelt, in einer Tabelle abgelegt und ihrer Größe nach sortiert. Diese Tabelle wird dem Meta-Datensatz zugefügt.
Nun wird für jeden Beispielsatz A und die Nutzereingabe S diese Berechnung durchgeführt und das Ergebnis der Berechnung für die Nutzereingabe S mit sämtlichen aktiven Intents und damit mit einer gewissen Anzahl an Beispielsätzen A verglichen. Der Beispielsatz mit der höchsten Relevanz wird ausgewählt. Durch Zugehörigkeit des Beispielsatzes zu einem bestimmten Intent erfolgt die Intent-Zuordnung.
Im nächsten Bearbeitungsschritt "Prüfung des Intent Score" 6 wird geprüft, ob eine
Rückfrage an den Nutzer erforderlich ist, und wenn ja, wie. Hierzu werden vom Administrator zwei Schwellenwerte zwischen 0 und 1 vorgegeben. Der erste Wert ist der Rückfrage- Schwellenwert RT und der zweite Schwellenwert ist der Validitätsschwellenwert CT, der Schwellenwert CT ist dabei höher als der des RT.
Die beiden Schwellenwerte RT und CT teilen den Bereich der Scoring-Werte W in drei Bereiche. Wird der erste Schwellenwert RT nicht erreicht, erklärt das Programm dem Nutzer, es hätte ihn nicht verstanden und richtet höflich an ihn die Bitte 7, seine Eingabe
umzuformulieren. Wird der zweite Schwellenwert CT erreicht oder überstiegen, wird die Absicht als valide angesehen und auf eine Rückfrage wird verzichtet, nachfolgend fährt das Programm mit dem Flow 8 fort.
Wird zwar der erste Schwellenwert RT erreicht, der zweite Schwellenwert CT aber noch nicht, nimmt das Programm unter Nutzung seines lernenden Systems und seiner
Datenbanken eine tiefere Untersuchung vor. Das lernende System setzt nach dem Intent- Mapper 5 ein und ist mit einer Datenbank 100 verbunden, die aus drei Teilen besteht:
Nutzerdaten 101 , Kontext-Daten 102 und allgemeinen, externen Daten 103, außerdem ist das lernende System ggf. mit den APIs 104 verbunden.
Der Teil der Nutzerdaten 101 enthält Daten über den jeweiligen Nutzer und Daten aller Nutzer aus früheren Nutzereingaben und verfügt über je eine Lerndatenbank sowohl für jeden Nutzer individuell, als auch eine gemeinsame Lerndatenbank für alle Nutzer zusammen. Die jeweiligen Lerndatenbanken enthalten die bereits verarbeiteten Daten früherer Dialoge einschließlich der damit zusammenhängenden Meta-Informationen und eines Zählers, der angibt, wie oft jeder Satz, der eine erkannte Absicht enthält, vom jeweiligen Nutzer und von allen anderen Nutzern aufgetreten ist. Das lernende System agiert hierbei folgendermaßen:
Nachdem der Scoringwert W ermittelt wurde, wird zunächst in der Abfrage 6 geprüft, ob CT erreicht oder überschritten wurde oder nicht. In diesem Fall fährt das Programm ohne Eingriff in das lernende System mit dem nächsten Bearbeitungsschritt 8 fort. Wenn W zwischen RT und CT liegt, wird in den Nutzerdaten 101 in der Prüfung früherer Bestätigungen 10 geprüft, ob der Nutzer einen solchen Eingabesatz in einem vergleichbaren Kontext bereits früher bestätigt hat. Ist das der Fall, wird keine Rückfrage an den Nutzer formuliert, vielmehr „denkt" das System, dass der Nutzer erneut die geratene Eingabe meint und erhöht den Zähler für diesen erkannten Satz um 1 . Das Programm fährt ebenfalls mit dem Flow 8 fort.
Falls nicht, nimmt das Programm den Beispielsatz A, der zu dem höchsten Scorewert W gehört, formuliert in der Rückfrage 1 1 daraus eine Bestätigungsfrage und fragt den Nutzer, ob dies seine Absicht sei.
Falls der Nutzer dies in seiner Antwort 12 verneint, bestätigt das Programm, dass die Absicht nicht verstanden wurde und versucht, falls andere Beispielsätze ebenfalls RT erreicht hatten, deren Scorewert W aber niedriger als der vorherige war, vom Benutzer zu erfragen, ob dann diese Beispielssätze seine Absicht besser träfen. Ansonsten fährt das Programm mit dem Flow 8 fort, setzt jedoch ein„Flag" im Eingabeobjekt, das ausdrückt, dass die Absicht des Nutzers nicht ordnungsgemäß ermittelt werden konnte. So kann der Flow 8 entsprechend auf die Eingabe reagieren und den Nutzer-Dialog weiter fortführen.
Natürlich kann der Nutzer dann auch jederzeit zu einer Neuformulierung greifen, für die dann der ursprüngliche Prozess wieder von vorne beginnt. Sofern durch dieses Nachfragen keine Bestätigung erreicht wird, prüft das lernende System für jede der (ergebnislosen) Abfragen, ob der Satz des Nutzers als Lernsatz in der Lerndatenbank LDB bereits hinterlegt war.
Sofern dies der Fall ist, wird der zugehörige Zähler um 1 verringert, es sei denn, er war schon bei 0. Damit verringert das Programm die Gefahr, dass Missverständnisse tradiert werden.
Falls der Nutzer dagegen zustimmt, wird bestätigt, dass dieser Satz die Absicht bedeutet und der Zähler wird für diesen Nutzer und diesen Satz um 1 erhöht. Außerdem wird in der Verarbeitung der Antwort 14 geprüft, ob dieser Satz in früheren Abfragen anderer Nutzer bereits als Absicht bestätigt worden ist und als Lernsatz in der Lerndatenbank LDB gespeichert wurde. Wenn ein solcher Lernsatz bereits besteht, wird sein Zähler um 1 erhöht, wenn nicht, wird er als Lernsatz in der Lerndatenbank LDB angelegt. Danach wird im Schritt "Prüfung für Beispielsätze" 15 geprüft, ob der gelernte Satz als neuer Beispielsatz für weitere Fälle geeignet ist. Übersteigt der Zähler in der Lerndatenbank LDB dabei einen vom Administrator vorgegebenen Wert LT, entfernt das Programm den Lernsatz aus der Lerndatenbank im Schritt "Modifikation LDB" 16 und führt ihn künftig als Beispielsatz, so dass eine direkte Erkennung erfolgt. Hierbei wird der neue Beispielsatz als solcher markiert, um dem Administrator zu ermöglichen, diesen Beispielsatz wiederzufinden und ggf. manuell wieder zu löschen. Damit wird Missbrauch vermieden.
Das Programm setzt nunmehr mit dem Verarbeitungsschritt "Flow" 8 fort. Der Flow 8 ist ein Entscheidungsbaum, durch den man in der Lage ist, während eines Dialogs mit einem Nutzer Aussagen mit Bedeutungsinhalt zu erzeugen. Der Flow 8 nutzt die gespeicherten Kontextdaten 102 und den Status der Konversation, um einen menschenähnlichen
Nutzerdialog zu erreichen. Der Kontext wird benutzt, um Information zu speichern über alles, was sich auf den aktuellen Nutzer und den Dialog mit ihm bezieht, beispielsweise den Namen des Nutzers, nachdem er ihn genannt hat. Die Kontextdaten 102 werden gespeichert und stehen dann für zukünftige Nutzergespräche zur Verfügung. Der Status bestimmt, wo man sich in der Konversation gerade befindet, also beispielsweise am Anfang, am Ende oder in einem spezifischen Verarbeitungsschritt. Die Statusinformation ist entscheidend für angemessene Antworten, da identische Nutzereingaben in Abhängigkeit des aktuellen Dialogstatus völlig verschiedene Bedeutungen haben können.
Der Flow 8 hat per Konfiguration direkten Zugriff auf externe Datenquellen, externe Daten 103 sowie externe APIs 104 und kann diese in den Kontext und ein Gespräch einbeziehen.
Der Flow 8 besteht aus einer Anzahl verschiedenartiger Knoten, die die logische Struktur bestimmen, um einem Gespräch Struktur zu geben und die gewünschten Ausgaben zu erzeugen. Dies sind ein Startknoten, der den Beginn eines Flow bestimmt, Funktionsknoten, die eine bestimmte Funktion ausführen, beispielsweise eine Aussage an einen Nutzer auszugeben oder einen Eintrag in eine Datenbank vorzunehmen, Logikknoten, die den Ablauf innerhalb des Flow strukturieren, beispielsweise durch if/then/else oder
switch/case/default, und Codeknoten, die ausführbaren Programmcode enthalten, beispielsweise JavaScript. Mithilfe dieser Knoten kann der Flow 8 die aktuelle
Nutzereingabe, den Kontext und den Status erfassen, vorzugsweise mittels einer während der Laufzeit aktivierten Skriptsprache.
Eine solche während der Laufzeit aktivierte Skriptsprache besteht typischerweise aus einer Auszeichnungssprache mit Tags, die Teile von Texten oder Daten kennzeichnen. Ferner ermöglicht diese während der Laufzeit aktivierte Skriptsprache, entsprechende Anfragen an Datenbanken mit externen Daten 103 zu formen und aus den Flow-Knoten heraus direkte Anfragen an diese Datenquellen zu ermöglich. Synchron in der Form, dass etwaige Anfragen erst beantwortet werden müssen, bis der Flow 8 seine Abarbeitung fortsetzt, oder asynchron in der Form, dass die Abarbeitung weiterer Flow-Anfragen unmittelbar erfolgt. Die
Abarbeitung im Flow 8 nach einer asynchronen Datenbank-Anfrage erfolgt dabei, sobald die angefragten externen Daten 103 vorliegen, der Ablauf des immer noch gültigen Flow 8 wird mit den nun vorliegenden neuen Daten fortgesetzt. In ähnlicher Prozedur kann hierbei auch auf externe Programmierschnittstellen APIs 104 zugegriffen werden.
Jeder Flow startet mit einem Startknoten, dem beliebig viele Kindknoten folgen. Alle Knoten werden strangweise ausgehend vom Startknoten nacheinander ausgeführt, sobald sie erreicht werden. Logikknoten, die zu Verzweigungen führen, steuern den Ablauf und sorgen dafür, dass nur relevante Knoten während eines Gesprächs durchlaufen werden. So kann es sein, dass einige Knoten im Laufe eines Dialoges mehrfach oder auch gar nicht durchlaufen werden. Durch diese Konstellation ergibt sich ein freier aber strukturierter Dialog.
Besonders vorteilhaft ist es, eine Auszeichnungssprache innerhalb des Flow 8 zu benutzen, die es ermöglicht, die Meta-Informationen zu Nutzereingaben, den Kontext und den Status direkt innerhalb des Entscheidungsbaums aufzurufen oder zu verändern. Der Zugriff erfolgt z.B. über verschiedene Knoten oder per freier Programmierung.
Im Folgenden wird anhand eines einfachen Beispiels das Zusammenwirken näher beschreiben. Betrachtet werden soll eine größere Gruppe von Besuchern eines
Einkaufszentrums, die kleinen Hunger haben. Der erste Besucher spricht das System an mit den Worten: "Ich möchte einen Snack, wo gibt's das hier?". Zunächst wird dieser
gesprochene Satz mittels bekannter Technologie in Text umgewandelt, da der Zugriff von mehreren aufeinanderfolgenden Benutzern erfolgen kann, wird dem derzeit aktiven Dialog eine Identifikationsnummer zugeteilt und eine neuer, default-Gesprächskontext geladen. Nachfolgende Nutzerinteraktionen innerhalb eines aktiven Dialoges erfolgen unter
Verwendung dieses Gesprächskontextes. Führt ein dann neuer Nutzer ein Gespräch, wird erneut ein neuer, default-Gesprächskontext geladen.
Mit dieser Texteingabe 1 startet das System. Im Keyphrase Mapper 2 werden für den Begriff "Snack" Synonyme bzw. Oberbegriffe gesucht, beispielsweise wird hierfür der Begriff "Pizza" gefunden und es wird aus dem vom Nutzer hinzugefügten Lexikon geladen. Dort wird ein Schlüsselwort mit einem eindeutigen Identifier, der später im Flow verwendet werden kann, und einer frei definierbaren Anzahl an zugeordneten Synonymen, angelegt. Im
anschließenden Schritt NLP 3 wird die Eingabe Wort für Wort und die Beziehung zwischen den Wörtern untersucht. In diesem Fall wird erkannt, dass es sich um zwei Halbsätze handelt, von denen der letzte eine Frage ist, die sich auf eine Ortsangabe richtet. Subjekt des ersten Halbsatzes ist der Nutzer selbst, Objekt ist ein Nahrungsgegenstand. Eine Zahl wurde gefunden: das Wort "einen". Das Verb könnte auf eine Beziehungszustand hinweisen, der eine Absicht enthält. Aber auch der Fragesatz könnte eine Absicht darstellen.
Im Schritt "Keyphrase Mapping" 4 wird zunächst geprüft, ob etwas negiert wird, dies ist hier nicht der Fall. Die Kategorisierung wird präzisiert, Gegenstände sind ein Nahrungsmittel und eine Ortsangabe.
Im Schritt "Intent Mapper" 5 werden die Beispielsätze A für Nahrungsmittel und für
Ortsangaben geladen und es werden Paare gebildet. So gibt es etwa für "Snack" belegte Brötchen, Pizza und Chips mit entsprechenden Beispielsätzen A aus der
Synonymdatenbank. Für die Ortsangabe kann wegen des Bezuges "das" noch kein
Beispielsatz geladen werden, da der Gegenstand erst aus dem ersten Halbsatz folgt, der zunächst zu klären ist. Für jeden dieser Beispielsätze A wird ein Scoringwert W vergeben. Diese Scoringwerte können etwa proportional der typischen Umsätze der örtlichen
Lokalisationen vergeben worden sein, auch andere Vergabemodalitäten, etwa Bezüge auf aktuelle Werbeaktivitäten sind denkbar.
Im vorliegenden Beispielfall existiert kein Beispielsatz A mit "Snack", also weist keiner der Beispielsätze den Scoringwert W=1 auf. Die übrigen Bespielsätze sollen die Werte W-0,6 für Chips, W=0,7 für belegte Brötchen und W=0,8 für Pizza haben, was durch den Administrator zuvor festgelegt wurde, festgelegt wurden ferner ein Wert CT für nicht mehr zu bestätigende Rückfragen und RT=0,5 für zu unverständliche Nutzereingaben.
Im folgenden Schritt "Prüfung des Intent Score" 6 wird geprüft, ob der höchste Scoringwert der der Beispielsätze den Wert CT übersteigt. Dies ist vorliegend nicht der Fall. Danach wird geprüft, ob dieser höchste Wert wenigstens über RT liegt, dies ist der Fall. Daraufhin prüft das System im Schritt 13, ob es für diesen Nutzer und für eine solche Nutzereingabe bereits eine Bestätigung aus einer früheren Nutzereingabe gibt. Ist dies der Fall, wird nicht weiter nach einer Bestätigung gesucht, sondern die Nutzereingabe wird als bestätigt betrachtet und das System geht zum Flow 8 als nächstem Schritt über.
Bei einem solchen Überspringen der Bestätigung muss vorsichtig vorgegangen werden, und der Flow 8 muss aus dem Kontext sowie dem Status nachträglich prüfen, ob das
Überspringen der Bestätigung wirklich sachgerecht war, beispielsweise hätte ja derselbe Nutzer später wiederkommen können, und noch einen Snack verlangen können. Da er ja jetzt den Ort kenne, wo er Pizza bekommen könne, wäre seine Erwartung dann die, dass ihm jetzt was anderes angeboten werde, sonst hätte er ja nicht gefragt. Die zweite, identische Frage muss daher nicht automatisch dieselbe Erwartungshaltung bezüglich der Antwort beinhalten, sondern kann statusabhängig auch eine andere Absicht ausdrücken, diese Klärung ist aber nicht Gegenstand der Prüfung des Intent Score 6, sondern des Flow 8.
Wenn es keine Bestätigung dieses Nutzers der Vergangenheit gibt, leitet das Programm die Rückfrage 1 1 ein, die mit dem Beispielsatz des Höchsten Scoring-Werts W in Verbindung steht. Im vorliegenden Beispiel sei das der Satz, "Möchten Sie eine Pizza?". Das Programm erwartet hier eine Ja-Nein-Antwort. Sofern die Antwort "Ja" lautet, prüft das Programm für den zweiten Halbsatz, ob es hierfür einen Beispielsatz mit einem Wert 1 gibt, in diesem Beispiel wird das angenommen und eine weitere Rückfrage erübrigt sich. Das Programm geht auch hier weiter zum Flow, speichert den Satz aber zuvor in seiner Lerndatenbank LDB, die Teil der Nutzerdatenbank 101 ist, damit es die Frage beim nächsten Mal wiedererkennen kann.
Außerdem prüft das Programm, ob es die Frage nach dem Snack bereits aus anderen Nutzerabfragen kennt. Wenn dies der Fall wäre, würde es den Zähler in der Lerndatenbank für alle Nutzer um 1 erhöhen, im vorliegenden Beispiel muss der Satz in der Lerndatenbank aber erst neu angelegt werden. Aus diesem Grund erübrigt sich die Abfrage, ob der
Schwellenwert LT für die Übernahme in die Datenbank für Beispielsätze in die Datenbank für Referenz- bzw. Beispielsätze für Intents ebenfalls überschritten wurde.
Das Programm fährt dann mit dem Flow 8 fort, der eine Antwort generiert, wo eine Pizza zu bekommen ist, ggf. in Form einer Aufzählung, wenn es mehrere Orte hierzu geben sollte, die es kennt. Evtl. fragt es auch nach den gewünschten Belägen und nimmt direkt eine vollständige Bestellung auf, die das System dann an ein digitales Bestellsystem weiter leiten kann. Hierbei kann der Flow 8 per Konfiguration auf weitere anwendungsspezifische, externe Daten 103 oder Programmierschnittstellen APIs 104 zugreifen.
Im vorliegenden Fall fragt danach der zweite Benutzer "Ich möchte auch einen Snack, aber keine Pizza". Die ersten Schritte laufen analog, aber es gibt keinen zweiten Halbsatz mit einer Ortsfrage, außerdem gibt es eine Verneinung, die im Keyphrase Mapping 4 identifiziert wird, wenn sie nicht schon im vorangegangenen Schritt NLP 3 identifiziert wurde. Da eine Negierung zu Pizza enthalten ist, wird dem Beispielsatz mit der Pizza der Scoringwert 0 gegeben. Im nachfolgenden Schritt "Intent Mapping" 5 wird nur noch gefragt "Möchten Sie ein belegtes Brötchen?". Wenn der Nutzer dies bejaht, wird analog wie im vorangegangenen Fall weiter vorgegangen, erst im Flow 8 stellt das Programm fest, dass nicht nach einem Ort gefragt wurde und stellt weitere Fragen hierzu, möglicherweise bietet es Benutzer auch eine entsprechende direkte Bestellung an.
Die Lerndatenbank hat danach für die Frage nach dem Snack zwei verschiedene
Bestätigungen mit jeweils dem Zählerstand 1 . Sofern die Gruppe weitere ähnliche Anfragen stellt, lernt das System durch Erhöhung bzw. Herabsetzung des Zählers und unter Einbeziehung sämtlicher Kontext- und Meta-Informationen, was die Nutzer meinen und wollen.
Bezugszeichenliste
1 Nutzereingabe
2 Synonym-Mapper
3 NLP
4 Keyphrase Mapping
5 Intent Mapper
6 Prüfung des Intent Score
7. Bitte
8. Flow
9. (leer)
10. Prüfung früherer Bestätigungen
1 1 . Rückfrage an Nutzer
12. Antwort vom Nutzer
13 Prüfung der Antwort
14 Verarbeitung der Antwort
15 Prüfung für Beispielsätze
16 Modifikation LDB
100 Datenbank
101 Nutzerdaten
102 Kontextdaten
103 Externe Daten
104 Externe Programmierschnittstelle API

Claims

Ansprüche
1 . Verfahren zur Dialogführung zwischen Mensch und Computer unter Verwendung eines selbstlernenden Systems, aufweisend
• das Empfangen von Nutzereingaben (1 ) in natürlichem Sprachtext,
• Zuordnung (2) von Synonymen und Schlüsselworten sowie Wortzuordnungen,
• das Analysieren (3) der Nutzereingaben auf Satzstruktur und Satzbau und deren Erkennung,
• Zuordnung (4) von Schlüsselphrasen,
• das Ermitteln und Klassifizieren der Nutzerabsicht (5),
• Prüfung (6), ob eine Bestätigung erforderlich ist,
• logisches Verarbeiten (8) in einer Reasoning-and-Answer-Preparation unter Formulierung einer Entscheidung über die weitere Dialogausgestaltung, Formulierung oder den Dialogverlauf mit möglicher Generierung einer Antwort, dadurch gekennzeichnet, dass
• zur Erkennung der Nutzerabsicht (5) die statistische Relevanz der Zugehörigkeit zu einer Ziel-Absicht bei gleichzeitiger Beibehaltung sämtlicher MetaInformationen ermittelt wird,
• die Klassifizierung (5) mit einem Klassifizierungsalgorithmus zur Absichtsklärung erfolgt, in dem Entscheidungsbaum, Logik und Sprachverständnis über Metainformation verknüpft werden,
• eine Rückmeldung unter Verwendung früherer Nutzerbefragungen an das
selbstlernende System generiert wird,
• bei Grenzwertunterschreitung statistischer Relevanz eine Abfrage (11 ) an den Nutzer generiert wird, ob die erkannte Absicht korrekt verstanden wurde,
• in diesem Fall eine Antwort des Nutzers (12) empfangen und dann auf
Satzstruktur und Satzbau analysiert (13) wird und wiederholt die Nutzereingaben in Sachinhalte und in Metainformationen über den Nutzer aufgespalten werden sowie erneut die Nutzerabsicht ermittelt und klassifiziert wird,
• das Erkennungsergebnis an das selbstlernende System abgegeben wird,
• das selbstlernende System automatische System-Empfehlungen und/oder
Entscheidungen zur Verbesserung der Absichtserkennung über mehrere Nutzerinteraktionen erarbeitet und zur späteren Verwendung bereithält,
• bei Grenzwertüberschreitung statistischer Relevanz die Generierung der
Sprachtext-Antwort (8) an den Nutzer einleitet, und anderenfalls eine weitere Nachfrage veranlasst.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass dem Empfangen von Nutzereingaben (1 ) ein Umwandeln von gesprochener natürlicher Sprache in Text vorangeht.
3 Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass beim Umwandeln von gesprochener Sprache in Text Meta-Informationen des Nutzers aufgenommen und separat dem Algorithmus der Absichtserkennung zur Verfügung gestellt werden.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass als Meta-Informationen die Parameter Eile, Emotion, Sprache, Dialekt und Person oder Kombinationen oder Teile davon erfasst werden.
5. Verfahren nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, dass die
Nutzereingaben in Meta-Informationen für Sachinhalte und in Meta-Informationen über den Nutzer aufgespalten werden.
6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass als
Meta-Informationen die Parameter Tonation, Dringlichkeit und Beruhigung an die Absichtserkennung abgegeben werden.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die
Meta-Informationen im selbstlernenden System automatisch kombiniert, interpretiert, konsolidiert und gespeichert werden.
8. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der
Generierung der Sprachtext-Antwort an den Nutzer ein Umwandeln von Text in gesprochene natürliche Sprache nachfolgt.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass das selbstlernende System durch einen Administrator unterstützt wird.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass das selbstlernende System durch eine Synonymerkennung unterstützt wird.
1 1 . Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass durch Analyse der Satzstruktur von Nutzereingaben im Dependency Parsing eine Abhängigkeitsabbildung erarbeitet wird.
12. Verfahren nach einem der Ansprüche 1 bis 1 1 , dadurch gekennzeichnet, dass zur
Ermittlung gesprächsrelevanter Daten Datenbanken (100, 101 , 102, 103) oder APIs (104) abgefragt werden.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass das
System zur Generierung von Ausgaben über eine Auszeichnungssprache Zugriff auf die Meta-Informationen und den Kontext hat und diese Informationen somit in die Rückmeldung und allgemeine Verarbeitung einbeziehen kann.
14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass eine gezielte Freischaltung oder Deaktivierung sinnvoller, zum Gespräch passender Intents erfolgt, indem eine vom Gesprächsstatus abhängige Intent-Erkennung mit gesprächszustandsabhängiger Eingrenzung erlaubter oder geduldeter oder sinnvoller Intents durchgeführt wird.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass als
Benutzerschnittstelle ein Roboter, ein Internet-of-Things-Gerät, ein Smartphone, ein Computer, eine virtuelle oder digitale Umgebung, oder eine Kombination daraus eingesetzt wird.
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass die
Benutzerschnittstelle multiple Eingangssignale bestehend aus Text oder Sprache und Eingabedaten erzeugt.
PCT/DE2017/100587 2017-07-14 2017-07-14 Verfahren zur dialogführung zwischen mensch und computer WO2019011356A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17780297.2A EP3652664A1 (de) 2017-07-14 2017-07-14 Verfahren zur dialogführung zwischen mensch und computer
US16/630,912 US11315560B2 (en) 2017-07-14 2017-07-14 Method for conducting dialog between human and computer
PCT/DE2017/100587 WO2019011356A1 (de) 2017-07-14 2017-07-14 Verfahren zur dialogführung zwischen mensch und computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/DE2017/100587 WO2019011356A1 (de) 2017-07-14 2017-07-14 Verfahren zur dialogführung zwischen mensch und computer

Publications (1)

Publication Number Publication Date
WO2019011356A1 true WO2019011356A1 (de) 2019-01-17

Family

ID=60021849

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2017/100587 WO2019011356A1 (de) 2017-07-14 2017-07-14 Verfahren zur dialogführung zwischen mensch und computer

Country Status (3)

Country Link
US (1) US11315560B2 (de)
EP (1) EP3652664A1 (de)
WO (1) WO2019011356A1 (de)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840276A (zh) * 2019-02-12 2019-06-04 北京健康有益科技有限公司 基于文本意图识别的智能对话方法、装置和存储介质
CN110689891A (zh) * 2019-11-20 2020-01-14 广东奥园奥买家电子商务有限公司 一种基于公众显示装置的语音交互方法以及设备
CN110795532A (zh) * 2019-10-18 2020-02-14 珠海格力电器股份有限公司 一种语音信息的处理方法、装置、智能终端以及存储介质
CN111405128A (zh) * 2020-03-24 2020-07-10 中国—东盟信息港股份有限公司 一种基于语音转文字的通话质检系统
US10748644B2 (en) 2018-06-19 2020-08-18 Ellipsis Health, Inc. Systems and methods for mental health assessment
CN111666372A (zh) * 2020-04-29 2020-09-15 百度在线网络技术(北京)有限公司 解析查询词query的方法、装置、电子设备和可读存储介质
CN112115249A (zh) * 2020-09-27 2020-12-22 支付宝(杭州)信息技术有限公司 用户意图的统计分析及结果展示方法和装置
CN112487142A (zh) * 2020-11-27 2021-03-12 易联众信息技术股份有限公司 一种基于自然语言处理的对话式智能交互方法和系统
CN113168500A (zh) * 2019-01-22 2021-07-23 索尼集团公司 信息处理设备、信息处理方法及程序
US11120895B2 (en) 2018-06-19 2021-09-14 Ellipsis Health, Inc. Systems and methods for mental health assessment
WO2021245049A1 (fr) * 2020-06-04 2021-12-09 Thales Communication bidirectionnelle homme-machine
CN113806484A (zh) * 2021-09-18 2021-12-17 北京橙色云科技有限公司 关于用户需求信息的交互方法、装置以及存储介质
CN114244795A (zh) * 2021-12-16 2022-03-25 北京百度网讯科技有限公司 一种信息的推送方法、装置、设备及介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135403A1 (ja) * 2018-01-05 2019-07-11 国立大学法人九州工業大学 ラベル付与装置、ラベル付与方法、及びプログラム
US11409961B2 (en) * 2018-10-10 2022-08-09 Verint Americas Inc. System for minimizing repetition in intelligent virtual assistant conversations
US11361163B2 (en) * 2018-12-17 2022-06-14 MuyVentive, LLC System and method to represent conversational flows as graph embeddings and to conduct classification and clustering based on such embeddings
US11797768B2 (en) 2018-12-17 2023-10-24 MuyVentive, LLC System and method to represent conversational flows as graph embeddings and to conduct classification and clustering based on such embeddings
US11288459B2 (en) * 2019-08-01 2022-03-29 International Business Machines Corporation Adapting conversation flow based on cognitive interaction
US11705114B1 (en) 2019-08-08 2023-07-18 State Farm Mutual Automobile Insurance Company Systems and methods for parsing multiple intents in natural language speech
US11126793B2 (en) * 2019-10-04 2021-09-21 Omilia Natural Language Solutions Ltd. Unsupervised induction of user intents from conversational customer service corpora
JP7405660B2 (ja) * 2020-03-19 2023-12-26 Lineヤフー株式会社 出力装置、出力方法及び出力プログラム
US20210319189A1 (en) * 2020-04-08 2021-10-14 Rajiv Trehan Multilingual concierge systems and method thereof
CA3125124A1 (en) * 2020-07-24 2022-01-24 Comcast Cable Communications, Llc Systems and methods for training voice query models
CN112102840A (zh) * 2020-09-09 2020-12-18 中移(杭州)信息技术有限公司 语义识别方法、装置、终端及存储介质
CN112216278A (zh) * 2020-09-25 2021-01-12 威盛电子股份有限公司 语音识别系统、指令产生系统及其语音识别方法
US20230008868A1 (en) * 2021-07-08 2023-01-12 Nippon Telegraph And Telephone Corporation User authentication device, user authentication method, and user authentication computer program
CN114676689A (zh) * 2022-03-09 2022-06-28 青岛海尔科技有限公司 语句文本的识别方法和装置、存储介质及电子装置
CN115238060B (zh) * 2022-09-20 2022-12-27 支付宝(杭州)信息技术有限公司 人机交互方法及装置、介质、计算设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002073331A2 (en) 2001-02-20 2002-09-19 Semantic Edge Gmbh Natural language context-sensitive and knowledge-based interaction environment for dynamic and flexible product, service and information search and presentation applications
US6766320B1 (en) * 2000-08-24 2004-07-20 Microsoft Corporation Search engine with natural language-based robust parsing for user query and relevance feedback learning
US6964023B2 (en) 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
DE602004006641T2 (de) 2003-11-10 2008-01-24 Philips Intellectual Property & Standards Gmbh Audio-dialogsystem und sprachgesteuertes browsing-verfahren
US8543407B1 (en) 2007-10-04 2013-09-24 Great Northern Research, LLC Speech interface system and method for control and interaction with applications on a computing system
US8600747B2 (en) 2001-10-15 2013-12-03 At&T Intellectual Property Ii, L.P. Method for dialog management
WO2014047270A1 (en) 2012-09-19 2014-03-27 24/7 Customer, Inc. Method and apparatus for predicting intent in ivr using natural language queries
US8849652B2 (en) 2005-08-29 2014-09-30 Voicebox Technologies Corporation Mobile systems and methods of supporting natural language human-machine interactions
WO2015179510A1 (en) * 2014-05-20 2015-11-26 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
US9502027B1 (en) 2007-12-27 2016-11-22 Great Northern Research, LLC Method for processing the output of a speech recognizer
WO2017097061A1 (zh) * 2015-12-07 2017-06-15 中兴通讯股份有限公司 智能应答方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
EP2140341B1 (de) * 2007-04-26 2012-04-25 Ford Global Technologies, LLC Emotives beratungssystem und verfahren
US8578330B2 (en) * 2007-06-11 2013-11-05 Sap Ag Enhanced widget composition platform
US20110125734A1 (en) * 2009-11-23 2011-05-26 International Business Machines Corporation Questions and answers generation
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
WO2011089450A2 (en) * 2010-01-25 2011-07-28 Andrew Peter Nelson Jerram Apparatuses, methods and systems for a digital conversation management platform
US9262612B2 (en) * 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9235978B1 (en) * 2013-01-16 2016-01-12 Domo, Inc. Automated suggested alerts based on natural language and user profile analysis
US9594542B2 (en) * 2013-06-20 2017-03-14 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on training by third-party developers
US10474961B2 (en) * 2013-06-20 2019-11-12 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on prompting for additional user input
US9633317B2 (en) * 2013-06-20 2017-04-25 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on a natural language intent interpreter
US10741182B2 (en) * 2014-02-18 2020-08-11 Lenovo (Singapore) Pte. Ltd. Voice input correction using non-audio based input
US10579396B2 (en) * 2014-04-09 2020-03-03 Nice-Systems Ltd. System and automated method for configuring a predictive model and deploying it on a target platform
US10170123B2 (en) * 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) * 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
WO2016138067A1 (en) * 2015-02-24 2016-09-01 Cloudlock, Inc. System and method for securing an enterprise computing environment
US10733982B2 (en) * 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10741176B2 (en) * 2018-01-31 2020-08-11 International Business Machines Corporation Customizing responses to users in automated dialogue systems

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766320B1 (en) * 2000-08-24 2004-07-20 Microsoft Corporation Search engine with natural language-based robust parsing for user query and relevance feedback learning
US6964023B2 (en) 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
WO2002073331A2 (en) 2001-02-20 2002-09-19 Semantic Edge Gmbh Natural language context-sensitive and knowledge-based interaction environment for dynamic and flexible product, service and information search and presentation applications
US8600747B2 (en) 2001-10-15 2013-12-03 At&T Intellectual Property Ii, L.P. Method for dialog management
DE602004006641T2 (de) 2003-11-10 2008-01-24 Philips Intellectual Property & Standards Gmbh Audio-dialogsystem und sprachgesteuertes browsing-verfahren
US8849652B2 (en) 2005-08-29 2014-09-30 Voicebox Technologies Corporation Mobile systems and methods of supporting natural language human-machine interactions
US8543407B1 (en) 2007-10-04 2013-09-24 Great Northern Research, LLC Speech interface system and method for control and interaction with applications on a computing system
US9502027B1 (en) 2007-12-27 2016-11-22 Great Northern Research, LLC Method for processing the output of a speech recognizer
WO2014047270A1 (en) 2012-09-19 2014-03-27 24/7 Customer, Inc. Method and apparatus for predicting intent in ivr using natural language queries
WO2015179510A1 (en) * 2014-05-20 2015-11-26 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
WO2017097061A1 (zh) * 2015-12-07 2017-06-15 中兴通讯股份有限公司 智能应答方法及装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10748644B2 (en) 2018-06-19 2020-08-18 Ellipsis Health, Inc. Systems and methods for mental health assessment
US11942194B2 (en) 2018-06-19 2024-03-26 Ellipsis Health, Inc. Systems and methods for mental health assessment
US11120895B2 (en) 2018-06-19 2021-09-14 Ellipsis Health, Inc. Systems and methods for mental health assessment
CN113168500A (zh) * 2019-01-22 2021-07-23 索尼集团公司 信息处理设备、信息处理方法及程序
CN109840276A (zh) * 2019-02-12 2019-06-04 北京健康有益科技有限公司 基于文本意图识别的智能对话方法、装置和存储介质
CN110795532A (zh) * 2019-10-18 2020-02-14 珠海格力电器股份有限公司 一种语音信息的处理方法、装置、智能终端以及存储介质
CN110689891A (zh) * 2019-11-20 2020-01-14 广东奥园奥买家电子商务有限公司 一种基于公众显示装置的语音交互方法以及设备
CN111405128B (zh) * 2020-03-24 2022-02-18 中国—东盟信息港股份有限公司 一种基于语音转文字的通话质检系统
CN111405128A (zh) * 2020-03-24 2020-07-10 中国—东盟信息港股份有限公司 一种基于语音转文字的通话质检系统
CN111666372A (zh) * 2020-04-29 2020-09-15 百度在线网络技术(北京)有限公司 解析查询词query的方法、装置、电子设备和可读存储介质
CN111666372B (zh) * 2020-04-29 2023-08-18 百度在线网络技术(北京)有限公司 解析查询词query的方法、装置、电子设备和可读存储介质
WO2021245049A1 (fr) * 2020-06-04 2021-12-09 Thales Communication bidirectionnelle homme-machine
FR3111210A1 (fr) * 2020-06-04 2021-12-10 Thales Communication bidirectionnelle homme-machine
CN112115249B (zh) * 2020-09-27 2023-11-14 支付宝(杭州)信息技术有限公司 用户意图的统计分析及结果展示方法和装置
CN112115249A (zh) * 2020-09-27 2020-12-22 支付宝(杭州)信息技术有限公司 用户意图的统计分析及结果展示方法和装置
CN112487142A (zh) * 2020-11-27 2021-03-12 易联众信息技术股份有限公司 一种基于自然语言处理的对话式智能交互方法和系统
CN113806484A (zh) * 2021-09-18 2021-12-17 北京橙色云科技有限公司 关于用户需求信息的交互方法、装置以及存储介质
CN114244795A (zh) * 2021-12-16 2022-03-25 北京百度网讯科技有限公司 一种信息的推送方法、装置、设备及介质
CN114244795B (zh) * 2021-12-16 2024-02-09 北京百度网讯科技有限公司 一种信息的推送方法、装置、设备及介质

Also Published As

Publication number Publication date
US11315560B2 (en) 2022-04-26
EP3652664A1 (de) 2020-05-20
US20200234700A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
WO2019011356A1 (de) Verfahren zur dialogführung zwischen mensch und computer
DE69814114T2 (de) Natürliche sprache verstehendes verfahren und verstehende vorrichung zur sprachsteuerung einer anwendung
JP7098875B2 (ja) 会議支援システム、会議支援装置、会議支援方法及びプログラム
DE60130880T2 (de) Web-gestützte spracherkennung durch scripting und semantische objekte
DE112016004863T5 (de) Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
DE102017122358A1 (de) Bedingte Bereitstellung von Zugriff durch interaktive Assistentenmodul
DE112016003626T5 (de) Natürlichsprachliche Schnittstelle zu Datenbanken
CN110175229B (zh) 一种基于自然语言进行在线培训的方法和系统
WO2015113578A1 (de) Verfahren zur automatischen sinnerkennung und messung der eindeutigkeit von text
DE102013003055A1 (de) Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
EP1950672A1 (de) Verfahren und Datenverarbeitungssystem zum gesteuerten Abfragen strukturiert gespeicherter Informationen
AT6920U1 (de) Verfahren zur erzeugung natürlicher sprache in computer-dialogsystemen
DE102018113034A1 (de) Stimmenerkennungssystem und stimmenerkennungsverfahren zum analysieren eines befehls, welcher mehrere absichten hat
DE112020005268T5 (de) Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache
EP2962296B1 (de) Wortwahlbasierte sprachanalyse und sprachanalyseeinrichtung
EP1599866A1 (de) Sprachverarbeitendes system, verfahren zur zuordnung von akustischen und/oder schriftlichen zeichenketten zu wörtern bzw. lexikalischen einträgen
CN112579757A (zh) 智能问答方法、装置、计算机可读存储介质及电子设备
DE60214850T2 (de) Für eine benutzergruppe spezifisches musterverarbeitungssystem
DE19849855C1 (de) Verfahren zur automatischen Generierung einer textlichen Äußerung aus einer Bedeutungsrepräsentation durch ein Computersystem
Chen et al. How GPT-3 responds to different publics on climate change and Black Lives Matter: A critical appraisal of equity in conversational AI
DE102019218918A1 (de) Dialogsystem, elektronisches gerät und verfahren zur steuerung des dialogsystems
EP3576084B1 (de) Effiziente dialoggestaltung
CN115408500A (zh) 问答一致性的评估方法、装置、电子设备及介质
WO2020126217A1 (de) Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17780297

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017780297

Country of ref document: EP

Effective date: 20200214