EP3652664A1 - Method for conducting dialog between human and computer - Google Patents

Method for conducting dialog between human and computer

Info

Publication number
EP3652664A1
EP3652664A1 EP17780297.2A EP17780297A EP3652664A1 EP 3652664 A1 EP3652664 A1 EP 3652664A1 EP 17780297 A EP17780297 A EP 17780297A EP 3652664 A1 EP3652664 A1 EP 3652664A1
Authority
EP
European Patent Office
Prior art keywords
user
information
meta
intention
self
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
EP17780297.2A
Other languages
German (de)
French (fr)
Inventor
Philipp Heltewig
Sascha Poggemann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognigy GmbH
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
Publication of EP3652664A1 publication Critical patent/EP3652664A1/en
Pending legal-status Critical Current

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

The invention relates to a method for conducting dialog between human and computer by means of a self-learning system, comprising: receiving user inputs in natural spoken text, associating synonyms and key words and making word associations, analyzing the user inputs with respect to sentence structure and sentence construction and recognizing same, associating key phrases, determining and classifying the user intention, checking if a confirmation is required, carrying out logical processing in a reasoning-and-answer preparation with formulation of a decision on the further dialog development, formulation or the dialog course with possible generation of an answer, wherein in order to recognize the user intention the statistical relevance of the association with a target intention is determined while at the same time all meta-information is retained, the classification occurs by means of a classification algorithm for intention clarification, logic and speech understanding are linked by means of meta-information in the decision tree, feedback to the self-learning system is generated by using earlier user questioning, a query to the user as to whether the recognized intention was correctly understood is generated if the statistical relevance is below a limit value, in this case an answer of the user is received and is then analyzed with respect to sentence structure and sentence construction and the user inputs are again divided into substantive content and into meta-information about the user and the user intention is again determined and classified, the recognition result is output to the self-learning system, the self-learning system develops automatic system recommendations and/or decisions for improving the intention recognition across a plurality of user interactions and keeps same at hand for later use, initiates the generation of the spoken-text answer to the user if the statistical relevance exceeds a limit value, and otherwise triggers a further inquiry.

Description

Verfahren zur Dialogführung zwischen Mensch und Computer  Procedure for dialogue between human and computer
Das vorliegende Verfahren betrifft eine Implementierung auf einem Computer, der auch ein Mobiltelefon, Smartphone oder ein sonstiges tragbares Gerät mit einer digitalen The present method relates to an implementation on a computer that also includes a mobile phone, smartphone or other portable device having a digital
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 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
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. Computer system is enabled. The special emphasis is placed on the recognition of user intention and their further processing. For this purpose, the method recognizes the meaning of the language.
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. Computer systems that deal with spoken or written natural language have long been state of the art. So there are dictation systems that can recognize spoken words and punctuation and translate into written text. On the other hand, there are a variety of reading systems that can announce a given text. These systems are unable to understand the meaning of the language.
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. Also 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.
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. For some time, sophisticated computer systems have been available that can analyze spoken questions and provide answers in spoken language. These are simple queries whose completed responses are stored in databases, and where the computer system is merely faced with the task of finding and speaking the correct one of these answers. The computer system does not really have to understand the meaning of the question, it is enough if it recognizes certain keywords by which the set of possible answers can be narrowed down so that the answer with the greatest numerical match of the keywords can be output in response.
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. For example, 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.
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. 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.
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 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. For this purpose, a large number of dialogue motivators is used, which is an error handling, a
Mehrdeutigkeitsbehandlung, Annahme und Bestätigung, fehlende Information und Ambiguity treatment, acceptance and confirmation, missing information and
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. Continue to perform. Hereby order and payment transactions are possible, the system can ask questions to the user. However, it is not self-learning and primarily serves to transfer users to human dialogue partners.
Die DE 60 2004 006 641 T2 beschreibt ein Audio-Dialogsystem, das über eine DE 60 2004 006 641 T2 describes an audio dialogue system that has a
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 Speech recognition and an audio interface as well as a browser with access to content and determines activation phrases. By applying a latent semantic analysis, the similarity between the user utterances and the
Aktivierungsphrasen als numerischer Wert ermittelt. Bei den Kopplungen der Activation phrases determined as a numerical value. In the couplings of
Aktivierungsphrasen und der Inhalte wird ein Sprachmodell trainiert. Eine Absichtserkennung findet nicht statt. Activation phrases and the contents of a language model is trained. A recognition of intention does not take place.
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 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
Befehlen verwendet, das System arbeitet kontextsensitiv und kann weitere Commands used, the system works context sensitive and can be more
Nutzerschnittstellen ansprechen. Es kann aber keine Nutzerabsichten erkennen und hierüber auch keinen Dialog mit dem Nutzer führen. Address user interfaces. However, it can not recognize user intentions and can not engage in any dialogue with the user.
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 WO 2014/047270 A1 describes a method and an apparatus for achieving the intent in an IVR - Interactive voice response - using natural language
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. predict and solves the problem that the general terms used by the user are subject to change during concretisation, which makes it a system make it difficult to ensure their consistency. The intention of the user is compared with earlier intentions and with the usual normal behavior of average users and estimated in its relative value. Depending on this value, value-based offers corresponding to preset threshold values are submitted to the user. Intentional recognition thus becomes a generation of intent.
Die US 8,849,652 B2 beschreibt ein System, welches sprachbasierte und nicht- sprachbasierte Interfaces umfasst und Nutzer-Kontext, frühere Informationen und US 8,849,652 B2 describes a system that includes voice-based and non-voice-based interfaces and user context, previous information and
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. Use user data to create a natural user environment for users requesting or issuing orders. However, it does not recognize users' intentions and can not adapt to them.
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. US Pat. No. 9,502,027 B1 describes a method for processing the output of a speech recognition. Here, after the conversion of the spoken language into text, 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. However, the process can neither recognize intentions nor lead to a natural dialogue.
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. While the technical problems raised by this can now largely be considered solved, deep understanding and communication still pose considerable problems, especially those computer systems that have to process voice signals very quickly in real time while at the same time having limited resources.
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 Above all, the requirements result in "understanding" and "interpreting" the user input. The goal here is always to pass the Turing test. The test is then passed if the user can no longer distinguish from the answers or recognize whether he has communicated with a human or a machine. Apart from pure speech recognition, here too the laws of the human are
Kommunikation zu berücksichtigen, vor allem die, die in der Transaktionsanalyse der Psychologie behandelt werden, also muss das Computersystem Communication, especially those that are dealt with in the transactional analysis of psychology, so must the computer system
• "anderen Menschen" respektvoll gegenübertreten, • Respectfully respect "other people",
• Erwartungen klären, vor allem dabei die Fragen, worum es geht und was man  • Clarify expectations, especially the questions of what it is about and what you do
voneinander will,  wants each other
• 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,  • Obtaining information on the topic, not assessing it, asking opening questions instead of specifying alternatives, stopping the flood of information and having it structured and selected,
• wichtige Gesprächsinhalte paraphrasieren oder paraphrasieren lassen, Interpretationen als solche deutlich machen, diese dabei sparsam anwenden, • paraphrasing or paraphrasing important conversation content, Make interpretations as such clear, use them sparingly,
kennzeichnen, ggf. anbieten,  identify, offer, if necessary,
authentisch und selektiv kommunizieren entsprechend dem Grundsatz "Nicht alles, was wahr ist, muss ich sagen; aber alles was ich sage, muss wahr sein",  communicate authentically and selectively according to the principle "Not everything that is true, I have to say, but everything I say must be true,"
die 50%- Regel beachten, was bedeutet, dass mindestens die Hälfte der Energie zur Problemlösung beim Gesprächspartner liegen muss,  observe the 50% rule, which means that at least half of the energy needed to solve the problem must lie with the other party,
Bilanz ziehen und summieren, was geklärt wurde und was offengeblieben ist, welche Fragen neu entstanden sind und welche nächsten Schritte anstehen,  Take stock and sum up what has been clarified and what has remained open, which questions have been raised and what next steps are pending,
Feedback geben können.  Can give feedback.
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 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
menschlichen Nutzer einen Dialog zu führen. to engage human users in a dialogue.
Darüber hinaus sollte die Software einige Grundregeln des strategischen Vorgehens kennen, damit sie nicht leicht getäuscht oder ausgetrickst werden kann. In addition, the software should know some basic rules of strategic practice so that it can not be easily deceived or tricked.
Die Erfindung löst diese Aufgabe durch ein Verfahren zur Dialogführung zwischen Mensch und Computer unter Verwendung eines selbstlernenden Systems, aufweisend The invention solves this problem by a method for dialogue between human and computer using a self-learning system, comprising
• das Empfangen von Nutzereingaben in natürlichem Sprachtext, Receiving user input in natural language text,
• Zuordnung von Synonymen und Schlüsselworten sowie Wortzuordnungen,  • assignment of synonyms and keywords as well as word mappings,
• das Analysieren der Nutzereingaben auf Satzstruktur und Satzbau und deren Erkennung, Analyzing the user input on sentence structure and sentence structure and their recognition,
• Zuordnung von Schlüsselphrasen, • assignment of key phrases,
• das Ermitteln und Klassifizieren der Nutzerabsicht,  • the determination and classification of the user intention,
• Prüfung, ob eine Bestätigung erforderlich ist,  • Checking whether a confirmation is required
• 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,  • logical processing in a reasoning and answer preparation with the formulation of a decision on further dialogue design, formulation or dialogue with possible generation of a response,
• wobei  • in which
• zur Erkennung der Nutzerabsicht die statistische Relevanz der Zugehörigkeit zu einer Ziel-Absicht bei gleichzeitiger Beibehaltung sämtlicher Meta-Informationen ermittelt wird, • to determine the user intention, the statistical relevance of belonging to a target intention is determined while retaining all meta-information,
• die Klassifizierung mit einem Klassifizierungsalgorithmus zur Absichtsklärung erfolgt, in dem Entscheidungsbaum, Logik und Sprachverständnis über Metainformation verknüpft werden, Classifying with a classification algorithm for declaring intent, linking decision tree, logic and speech understanding via meta-information,
• 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, • a feedback is generated using previous user surveys to the self-learning system, • if the statistic relevance falls below a threshold, a query is generated to the user as to whether the recognized intention was correctly understood,
• in diesem Fall eine Antwort des Nutzers empfangen und dann auf Satzstruktur und  • In this case, receive a response from the user and then to sentence structure and
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,  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,
• das Erkennungsergebnis an das selbstlernende System abgegeben wird,  • the recognition result is delivered to the self-learning system,
• das selbstlernende System automatische System-Empfehlungen und/oder  • the self-learning system automatic system recommendations and / or
Entscheidungen zur Verbesserung der Absichtserkennung über mehrere  Decisions to Improve Intention Identification Over Several
Nutzerinteraktionen erarbeitet und zur späteren Verwendung bereithält,  Developed user interactions and ready for later use,
• bei Grenzwertüberschreitung statistischer Relevanz die Generierung der Sprachtext- Antwort an den Nutzer einleitet, und anderenfalls eine weitere Nachfrage veranlasst. • initiates the generation of the voice text response to the user if statistical limits are exceeded, and otherwise induces further demand.
Die einzelnen Verfahrensschritte werden im Folgenden in Bezug auf den bekannten Stand der Technik eingehender erläutert. The individual method steps are explained in more detail below with reference to the known prior art.
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. First, 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.
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. 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.
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. 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.
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. 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.
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. Therefore, there is a transformation between the user input and the existing user context based on existing structural criteria, e.g. the language models as the basis of the "dependency tree parsing" instead.
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 Thereafter, the user intention is determined and classified in several stages. 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
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 User intention but not only the goal of presenting a fact, but it also includes the objective of the user himself, who either wants to buy something or wants to get a release or a permit or information, or even make a complaint or refund an ad. This will be the four
Sprachebenen "Sachebene", "Appellebene", Beziehungsebene" und Language levels "fact level", "appeal level", "relationship level" and
"Selbstoffenbarungsebene" relevant. "Self-disclosure level" 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. For all these levels, the computer system must be able to form a corresponding level of discussion or self-learning, and be able to execute these purposefully by means of structural criteria. This knowledge base is provided by a database of goal intentions, relevant context information, and external data sources.
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 In this case, the statistical relevance of belonging to a target intent while retaining all meta-information is determined to recognize the user intention. Subsequently, the classification is carried out with a classification algorithm for clarifying intent and meaning. In this step, the meta-information and the
Abarbeitungslogik, auch als Flow bezeichnet, zu einer Grundlage für eine Processing logic, also referred to as flow, to a basis for a
anwenderspezifische strukturierte Gesprächsführung zusammengeführt. user-specific structured interviewing.
Die zuvor als Meta-Informationen zur Eingabe gehörigen Informationen wurden in The information previously included as input meta-information was 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 Structures, such as the data exchange format JSON, stored and will be used in the subsequent step for Intent detection and recognition of meaning. How the context is structured depends on the use case. This results in a further limitation of the previously determined meta-information to a specific Use case, a meaningful discussion according to the rules neat
Gesprächsführung erst möglich macht. Interviewing makes possible.
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. If the statistical relevance of a selected reference intent falls below a defined threshold, 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.
Es wird dabei nicht nur eine reine Erkennung durchgeführt, sondern abhängig vom It is not just a pure detection performed, but depending on
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 Conversation state is a targeted activation or deactivation more meaningful to the conversation of matching intents. For this purpose, 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
Rückfrage-algorithmus entsteht ein Verfahren, bei dem initial nur wenige strukturelle Inquiry algorithm creates a procedure in which initially only a few structural
Informationen vorgegeben werden müssen und das System eigenständig lernt, einen möglichst natürlichen Dialog mit dem Nutzer zu führen. Information must be given and the system learns independently to lead the most natural possible dialogue with the user.
Die Absichtserkennung erfolgt durch statistischen Vergleich. Zunächst wird die The intention recognition is done by statistical comparison. First, the
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. User statement in a parsing system broken down to triple that have the structure subject-predicate-object. The arrangement of the triples is displayed in a dependency tree. All eligible triples suitable for processing are stored in the system with each of the triples being assigned a statistical probability value. Within the framework of the learning system, this probability value is always adjusted, if several users consecutively cause the same triple, the probability is increased. The highest probability triple is chosen as Intent.
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: After intent recognition, the "Intent-Clarification" processing step, depending on the relevance of recognized and identified intentions, 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 to get a clearer statement on intention and meaning of user input. In case of ambiguity of the user input in relation to the reference intents, the "Intent Clarification" clarifies whether the system has recognized the correct intent or not. When generating the inquiry, the following procedures are performed:
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. 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. Thus, the query is adapted to the user input and generates a much more natural query or other feedback to the user.
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. 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.
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. After successful intent recognition, the next processing step of the "reasoning and answer preparation" is required: In this processing step, 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.
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", The decisive part of the "reasoning engine" is the graphical representation of a structure for dialogue management. About logical processing elements such as conditions such as "if", "eise", "then", "switch case" and user interaction elements such as "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 "asYNQuestion" etc. creates a logical framework for a case-specific dialogue. The "reasoning engine" manages the current conversation status of a discussion with the user, as well as previous discussions, according to the
Nutzerinteraktion als Gesprächspartner agieren zu können. Aus vorherigen Informationen ermittelter Gesprächskontext kann dabei als Gesprächsgrundlage hinzugezogen werden. User interaction to act as a conversation partner. Conversational context determined from previous information can be used as a basis for discussion.
Diese Reasoning Engine ermöglicht es, die Meta-Informationen aus vorherigen This reasoning engine allows the meta-information from previous ones
Verarbeitungsschritten mit Entscheidungskriterien zur sinnvollen, kontextbezogenen Processing steps with decision criteria for meaningful, context-related
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. Use call handling. Previously executed processing steps provide the necessary meta-information of one or more user inputs for processing in the reasoning engine.
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. The intent discovery occurs before processing in the flow. On the one hand, a query to the user can be made directly from the intent detection. On the other hand, queries to the user can also be formulated directly from the flow. The difference is that the intent usually does not already contain all sorts of specifications, which are then queried by the flow. This separation between Intent and Flow follows from the Knowledge position of the user, who often can not sufficiently specify his concrete intention due to ignorance of the possible range of design, or because his decision-making process has not yet been completed and he reserves the right to alternatives.
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. For user interaction, replies or feedback to the user are generated from previous procedural steps or directly from the reasoning engine, allowing full bi-directional user interaction appropriate to the context of a conversation. To improve call quality, so-called "Natural Language Generation" [NLG] tools and frameworks can be used.
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 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. At this point, the flow generates the four language levels "fact level", "appeal level", "relationship level" and
"Selbstoffenbarungsebene", damit die Dialogführung den kommunikativen Ansprüchen genügt. "Self-disclosure level", so that the dialogues meet the communicative demands.
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. In further embodiments of the invention it is provided that the reception of user input is preceded by a conversion of spoken natural speech into text. Such a transformation is known in the art. In addition, this precedent step is used to gain further meta-information about the dialogue partner. Thus, it can be provided that 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. As MetaInformationen the parameters hurry, emotion, language, dialect and person or combinations or parts thereof can be detected. This includes splitting user input into meta-information for factual content and meta-information about the user. Variations are known from market-known speech conversion applications that provide such meta-information in addition to the text that has been found.
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 Furthermore, 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
ermöglichen derartige Meta-Informationen den Gesprächsfluss angemessen ans Such meta-information enables the flow of conversation appropriately
Nutzerverhalten zu adaptieren, etwa indem zwischen einem Kaufprozess, einem Adapting user behavior, such as between a purchase process, a
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. Consultation process or a complaint process is differentiated. Provided that the receipt of user input is preceded by a conversion of spoken natural speech into text, 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.
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 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
zwischengespeichert. Sofern der Dialog final beendet wurde, wird der aktuelle Dialogstatus vernichtet bzw. gelöscht. cached. If the dialog has been finalized, the current dialog status will be deleted or deleted.
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 In addition to the feedback of spoken text, data can also be returned as control commands for an application. 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
Computer oder einer virtuellen oder digitalen Umgebung kombiniert werden. Diese Computer or a virtual or digital environment. These
Benutzerschnittstelle ist vorzugsweise so ausgestaltet, dass sie auch multiple User interface is preferably designed to be multiple
Eingangssignale bestehend aus Text oder Sprache und Eingabedaten wie Steuerbefehle und Meta-Informationen erzeugen kann, Can generate input signals consisting of text or speech and input data such as control commands and meta-information,
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. 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. For example, 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.
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. Further embodiments of the invention relate to the way in which the self-learning system is embedded in the method for dialog guidance. Thus it can be provided that the meta-information automatically combines in the self-learning system, interpreted, consolidated and stored, whereby the user is responsible for the data protection concerns.
Selbstlernende Systeme werden gelegentlich dafür kritisiert, dass sie unerwünschte Self-learning systems are sometimes criticized for being unwanted
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 Automate and incorporate user input unreflectively. This leads to abuse and damage, such as when groups of users ask nonsensical questions to manipulate the system, or when the system learns prejudice and defamation. In order to prevent this, it can be provided that certain keywords have the
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 self-learning system is supported by an administrator who is involved in the occurrence of keywords or in the event of excessive demand. In the system described here, 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. The
Administrator kann lediglich kontrollierend eingreifen und entsprechende neue Elemente für erweiterte oder verbesserte Nutzerdialoge einbringen. Administrator can only intervene controlling and bring in new elements for enhanced or enhanced user dialogues.
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. Further embodiments of the invention relate to the speech analysis. It can be provided that the self-learning system is supported by a Synonymmerkennung. The synonym recognition goes hand in hand with the elaboration of further context information, so that key words can be identified, and thus the input can be extended via temporary meta information according to the recognized key words.
Weiterhin kann vorgesehen werden, dass durch Analyse der Satzstruktur von Furthermore, it can be provided that by analyzing the sentence structure of
Nutzereingaben im Dependency Parsing eine Abhängigkeitsabbildung erarbeitet wird. User input in dependency parsing a dependency mapping is worked out.
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. Further embodiments of the invention relate to the integration and query of external databases. Thus, it can be provided that, in order to determine conversation-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.
In einer weiteren Ausgestaltung der Erfindung ist vorgesehen, dass das System zur In a further embodiment of the invention, it is provided that the system for
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. 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.
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. The invention will be explained in more detail with reference to a figure. Fig. 1 shows an overview block flow diagram of the entire process including the options.
Die Erfindung wird nachfolgend an einem Beispiel näher erläutert, wobei sich die Erfindung aber nicht auf dieses Beispiel beschränkt. The invention will be explained in more detail by way of example, but the invention is not limited to this example.
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. 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.
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. 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.
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 In the second processing step, "NLP" 3 (Natural Language Processing), the user-defined metadata-extended input to sentence structure and sentence structure is analyzed. In detail, first
• Zahlwörter ermittelt und durch Zahlen ersetzt, • determine number words and replace them with numbers,
• Füllwörter entfernt und Zusammenziehungen erweitert,  • removes words and expands contractions,
• Leerzeichen entfernt  • spaces removed
• fehlende Punktuation ergänzt,  • missing punctuation added,
und es wird analysiert, ob der Satz eine Frage ist und falls ja, deren Eigenheiten extrahiert. and it is analyzed whether the sentence is a question and if so, whose peculiarities are extracted.
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. Thereafter, the result is put in an 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. Following this, the data generated by the parser is parsed to identify the subject, object, their relationship to each other, and their properties. In addition, 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.
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. In the third processing step "Keyphrase Mapping" 4, a second pass of a synonym recognition takes place using the metadata obtained in the previous step. In addition, the frequency of their occurrence is counted. In addition, the negativity is evaluated, it could also be that the user does not intend something exactly, so does not want. Furthermore, a categorization is carried out so that the right context databases and possibly external databases can be involved for further processing. Furthermore, tags are given. "Keyphrase Mapping" 4 thus expands the existing meta-dataset by these meanings.
Im vierten Verarbeitungsschritt "Intent Mapper" 5 wird identifiziert, was der Nutzer In the fourth processing step "Intent Mapper" 5 is identified what the user
ausdrücken wollte, als er seine Nutzereingabe machte. Hierfür kommt der folgende Scoring- Algorithmus zum Einsatz. wanted to express when he made his user input. The following scoring algorithm is used for this.
Der "Intent Mapper" 5 nimmt zunächst alle vom Administrator definierten gültigen The "Intent Mapper" 5 first accepts all valid ones defined by the administrator
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 Intent definitions and for each example sentence A provided by the administrator, it generates a pair P consisting of the sentence S of the user including the
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: For each of these pairs, the scoring algorithm assigns a similarity value W by making the following comparisons:
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. If A and S are identical, 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.
Wenn keine Identität von A und S festgestellt wurde, werden eine Reihe von If no identity of A and S has been established, a number of
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. 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.
Die Berechnung folgt dabei beispielhaft folgendem Schema, wobei EQ für Ergebnisanteile der Eigenschaften des jeweilgen Gesamtwertes W steht: The calculation follows the example of the following scheme, where EQ stands for the result shares of the properties of the respective total value W:
Sind Subjekt(A) und Subjekt(S) identisch, dann ist EQ = 1 , sonst ist EQ=0. Diese If subject (A) and subject (S) are identical then EQ = 1, otherwise EQ = 0. These
Berechnung kann auf der lemmatisierten Version der entsprechenden Wörter erfolgen. Nun werden die Ergebnisse dieser ersten Berechnung folgendermaßen zusammengeführt. Calculation can be done on the lemmatized version of the corresponding words. Now, the results of this first calculation are merged as follows.
W = EQ(Subjekt)*0,1 + EQ(Verb)*0,2 + EQ(Objekt)*0,3 + EQ(Frage)*0,2 + W = EQ (Subject) * 0.1 + EQ (Verb) * 0.2 + EQ (Object) * 0.3 + EQ (Question) * 0.2 +
EQ(Negativität)*0,2 Die Anzahl der hierbei verwendeten Parameter kann je nach Verwendung variieren und auch die Gewichtungen sind beispielhaft. EQ (negativity) * 0.2 The number of parameters used here may vary depending on the use and also the weightings are exemplary.
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. 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.
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. 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.
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. Now, for each example sentence A and the user input S, 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. By belonging the example sentence to a specific intent, the intent assignment takes place.
Im nächsten Bearbeitungsschritt "Prüfung des Intent Score" 6 wird geprüft, ob eine In the next processing step "Examination of the Intent Score" 6 it is checked if a
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. Inquiry to the user is required, and if so, how. For this purpose 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.
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 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
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. reformulate. If the second threshold CT is reached or exceeded, the intention is considered valid and a query is waived, then the program continues with the flow 8.
Wird zwar der erste Schwellenwert RT erreicht, der zweite Schwellenwert CT aber noch nicht, nimmt das Programm unter Nutzung seines lernenden Systems und seiner If the first threshold value RT is reached, but the second threshold CT is not yet reached, the program takes advantage of its learning system and its
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: Databases provide a deeper investigation. The learning system inserts after the Intent Mapper 5 and is connected to a database 100, which consists of three parts:
Nutzerdaten 101 , Kontext-Daten 102 und allgemeinen, externen Daten 103, außerdem ist das lernende System ggf. mit den APIs 104 verbunden. User data 101, context data 102 and general, external data 103, in addition, the learning system is possibly connected to the APIs 104.
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: 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:
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. 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.
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. If not, 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.
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. If the user denies this in his answer 12, 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 ,
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. Of course, the user can then also at any time resort to a reformulation, for which then the original process starts all over again. If no confirmation is reached by this request, 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.
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. If this is the case, the associated counter is decremented by 1, unless it was already 0. Thus, the program reduces the risk that misunderstandings will be handed down.
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. If the user agrees, it is confirmed that this phrase means the intent and the counter is incremented by 1 for that user and set. In addition, in the processing of the answer 14, it is checked whether 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. In this case, if the counter in the learning database LDB exceeds a value LT specified by the administrator, 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. Here, 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.
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 The program now continues with the processing step "Flow" 8. 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
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. Reach user dialog. 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.
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. 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.
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 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
switch/case/default, und Codeknoten, die ausführbaren Programmcode enthalten, beispielsweise JavaScript. Mithilfe dieser Knoten kann der Flow 8 die aktuelle switch / case / default, and code nodes containing executable code, such as JavaScript. Using these nodes, the flow 8 can be the current one
Nutzereingabe, den Kontext und den Status erfassen, vorzugsweise mittels einer während der Laufzeit aktivierten Skriptsprache. Enter user input, the context and the status, preferably by means of a script language activated at runtime.
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 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. The
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. Processing in the flow 8 after an asynchronous database request takes place as soon as the requested external data 103 is present, the flow of the still valid flow 8 is continued with the new data now available. In a similar procedure, external programming interface APIs 104 can also be accessed here.
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. 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.
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. 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.
Im Folgenden wird anhand eines einfachen Beispiels das Zusammenwirken näher beschreiben. Betrachtet werden soll eine größere Gruppe von Besuchern eines In the following, the interaction will be described in more detail by means of a simple example. Consider a larger group of visitors
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 Shopping centers that are a little hungry. The first visitor speaks to the system with the words: "I want a snack, where is this?". At first this will be
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 converted sentence into known text by means of known technology, since the access can be made by several consecutive users, the currently active dialog is assigned an identification number and a new default conversation context is loaded. Subsequent user interactions within an active dialog take place under
Verwendung dieses Gesprächskontextes. Führt ein dann neuer Nutzer ein Gespräch, wird erneut ein neuer, default-Gesprächskontext geladen. Use of this conversation context. If a new user then leads a conversation, a new default conversation context is loaded again.
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 This text input 1 starts the system. In the key phrase 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
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. Subsequent step 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.
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. In the 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.
Im Schritt "Intent Mapper" 5 werden die Beispielsätze A für Nahrungsmittel und für In the step "Intent Mapper" 5, the example sentences A for food and for
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 Location information loaded and pairs are formed. For example there are sandwiches, pizza and chips with corresponding example sentences A from the
Synonymdatenbank. Für die Ortsangabe kann wegen des Bezuges "das" noch kein Synonym database. For the location can not be because of the reference "the"
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 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
Lokalisationen vergeben worden sein, auch andere Vergabemodalitäten, etwa Bezüge auf aktuelle Werbeaktivitäten sind denkbar. Other procurement modalities, such as references to current advertising activities are conceivable.
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. In the present example case, there is no example sentence A with "snack", so none of the example sentences has the scoring value W = 1. The remaining examples should have the values W-0.6 for chips, W = 0.7 for sandwiches and W = 0.8 for pizza, which was previously set by the administrator, were also set a CT value for no longer confirming queries and RT = 0.5 for unintelligible user input.
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. In the following 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.
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 Care must be taken with such skipping of the acknowledgment, and the flow 8 must check from the context as well as the status retrospectively whether the
Ü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. Skipping the confirmation was really appropriate, for example, the same user would have come back later, and can ask for a snack. Since he now knows the place where he could get pizza, then his expectation would be that now he is offered something else, otherwise he would not have asked. Therefore, the second, identical question does not automatically have the same expectation regarding the answer, but can also express a different intention depending on the status, this clarification is not the subject of the examination of the Intent Score 6, but of the 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. If there is no confirmation from this user of the past, 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.
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 In addition, 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
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. 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.
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. 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. In this case, the flow 8 can access by configuration to further application-specific, external data 103 or programming interface APIs 104.
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. In the present case, 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. In 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.
Die Lerndatenbank hat danach für die Frage nach dem Snack zwei verschiedene The learning database then has two different ones for the question about the snack
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. Confirmations with the meter reading 1. Unless the group has other similar requests the system learns what the users mean and want by increasing or decreasing the counter, and by including all contextual and meta-information.
Bezugszeichenliste LIST OF REFERENCE NUMBERS
1 Nutzereingabe 1 user input
2 Synonym-Mapper 2 synonym mapper
3 NLP 3 NLP
4 Keyphrase Mapping 4 Keyphrase Mapping
5 Intent Mapper 5 Intent Mapper
6 Prüfung des Intent Score 6 Examination of the Intent Score
7. Bitte 7. Please
8. Flow 8. Flow
9. (leer) 9. (empty)
10. Prüfung früherer Bestätigungen 10. Examination of previous confirmations
1 1 . Rückfrage an Nutzer 1 1. Consultation to users
12. Antwort vom Nutzer 12. User response
13 Prüfung der Antwort 13 Examination of the answer
14 Verarbeitung der Antwort 14 Processing the answer
15 Prüfung für Beispielsätze 15 exam for example sentences
16 Modifikation LDB 16 modification LDB
100 Datenbank 100 database
101 Nutzerdaten 101 user data
102 Kontextdaten 102 contextual data
103 Externe Daten 103 External data
104 Externe Programmierschnittstelle API 104 External Programming Interface API

Claims

Ansprüche claims
1 . Verfahren zur Dialogführung zwischen Mensch und Computer unter Verwendung eines selbstlernenden Systems, aufweisend 1 . Method for dialogue between human and computer using a self-learning system, comprising
• das Empfangen von Nutzereingaben (1 ) in natürlichem Sprachtext, Receiving user input (1) in natural language text,
• Zuordnung (2) von Synonymen und Schlüsselworten sowie Wortzuordnungen, • assignment (2) of synonyms and keywords as well as word mappings,
• das Analysieren (3) der Nutzereingaben auf Satzstruktur und Satzbau und deren Erkennung, Analyzing (3) the user inputs on sentence structure and sentence structure and their recognition,
• Zuordnung (4) von Schlüsselphrasen,  • assignment (4) of key phrases,
• das Ermitteln und Klassifizieren der Nutzerabsicht (5),  Determining and classifying the user intention (5),
• Prüfung (6), ob eine Bestätigung erforderlich ist,  • Check (6) if confirmation is required
• 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  • logical processing (8) in a reasoning-and-answer preparation with the formulation of a decision on further dialogue design, formulation or dialogue process with possible generation of a response, characterized in that
• zur Erkennung der Nutzerabsicht (5) die statistische Relevanz der Zugehörigkeit zu einer Ziel-Absicht bei gleichzeitiger Beibehaltung sämtlicher MetaInformationen ermittelt wird,  • to detect user intent (5) determine the statistical relevance of belonging to a target intent while retaining all meta-information,
• die Klassifizierung (5) mit einem Klassifizierungsalgorithmus zur Absichtsklärung erfolgt, in dem Entscheidungsbaum, Logik und Sprachverständnis über Metainformation verknüpft werden,  The classification (5) is carried out with an intentional classification algorithm linking decision tree, logic and speech understanding via meta-information,
• eine Rückmeldung unter Verwendung früherer Nutzerbefragungen an das  • a feedback using previous user surveys to the
selbstlernende System generiert wird,  self-learning system is generated
• bei Grenzwertunterschreitung statistischer Relevanz eine Abfrage (11 ) an den Nutzer generiert wird, ob die erkannte Absicht korrekt verstanden wurde, • if the statistic relevance falls below a threshold, a query (11) to the user is generated as to whether the recognized intention was correctly understood,
• in diesem Fall eine Antwort des Nutzers (12) empfangen und dann auf • In this case receive a response from the user (12) and then on
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,  Sentence structure and sentence structure is analyzed (13) and the user input in factual content and in meta-information about the user is split and repeatedly and again the user intention is determined and classified,
• das Erkennungsergebnis an das selbstlernende System abgegeben wird, • the recognition result is delivered to the self-learning system,
• das selbstlernende System automatische System-Empfehlungen und/oder • the self-learning system automatic system recommendations and / or
Entscheidungen zur Verbesserung der Absichtserkennung über mehrere Nutzerinteraktionen erarbeitet und zur späteren Verwendung bereithält, Develop decisions for improving the recognition of intent through multiple user interactions and make them available for later use,
• bei Grenzwertüberschreitung statistischer Relevanz die Generierung der • if the statistical limit value is exceeded, the generation of the
Sprachtext-Antwort (8) an den Nutzer einleitet, und anderenfalls eine weitere Nachfrage veranlasst. Voice text response (8) to the user, and otherwise induces further demand.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass dem Empfangen von Nutzereingaben (1 ) ein Umwandeln von gesprochener natürlicher Sprache in Text vorangeht. 2. The method according to claim 1, characterized in that the reception of user input (1) is preceded by a conversion of spoken natural speech into text.
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. A method according to claim 2, characterized in that meta-information of the user is included in the conversion of spoken language into text and provided separately to the algorithm of intent recognition.
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. 4. The method according to claim 3, characterized in that as meta-information, the parameters hurry, emotion, language, dialect and person or combinations or parts thereof are detected.
5. Verfahren nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, dass die5. The method according to any one of claims 3 or 4, characterized in that the
Nutzereingaben in Meta-Informationen für Sachinhalte und in Meta-Informationen über den Nutzer aufgespalten werden. Users are split into meta-information for factual content and meta-information about the user.
6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass als6. The method according to any one of claims 3 to 5, characterized in that as
Meta-Informationen die Parameter Tonation, Dringlichkeit und Beruhigung an die Absichtserkennung abgegeben werden. Meta-information the parameters tonation, urgency and reassurance are given to the intention recognition.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die7. The method according to any one of claims 1 to 6, characterized in that the
Meta-Informationen im selbstlernenden System automatisch kombiniert, interpretiert, konsolidiert und gespeichert werden. Meta information in the self-learning system is automatically combined, interpreted, consolidated and stored.
8. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der8. The method according to any one of claims 1 to 6, characterized in that the
Generierung der Sprachtext-Antwort an den Nutzer ein Umwandeln von Text in gesprochene natürliche Sprache nachfolgt. Generating the voice text response to the user following a conversion of text into spoken natural language.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass das selbstlernende System durch einen Administrator unterstützt wird. 9. The method according to any one of claims 1 to 8, characterized in that the self-learning system is supported by an administrator.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass das selbstlernende System durch eine Synonymerkennung unterstützt wird. 10. The method according to any one of claims 1 to 9, characterized in that the self-learning system is supported by a Synonymmerkennung.
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. 1 1. Method according to one of claims 1 to 10, characterized in that a dependency mapping is developed by analyzing the sentence structure of user input in dependency parsing.
12. Verfahren nach einem der Ansprüche 1 bis 1 1 , dadurch gekennzeichnet, dass zur12. The method according to any one of claims 1 to 1 1, characterized in that the
Ermittlung gesprächsrelevanter Daten Datenbanken (100, 101 , 102, 103) oder APIs (104) abgefragt werden. Determination of conversation-relevant data databases (100, 101, 102, 103) or APIs (104) are queried.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass das13. The method according to any one of claims 1 to 12, characterized in that the
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. System for generating expenses via a markup language access to has the meta-information and the context and thus can include this information in the feedback and general processing.
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. 14. The method according to any one of claims 1 to 13, characterized in that a targeted activation or deactivation is made more meaningful, Intents suitable for conversation by a dependent on the conversation status intent detection is performed with talk state dependent delimitation of permitted or tolerated or meaningful intents.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass als15. The method according to any one of claims 1 to 14, characterized in that as
Benutzerschnittstelle ein Roboter, ein Internet-of-Things-Gerät, ein Smartphone, ein Computer, eine virtuelle oder digitale Umgebung, oder eine Kombination daraus eingesetzt wird. User interface is a robot, an Internet of Things device, a smartphone, a computer, a virtual or digital environment, or a combination of it is used.
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass die16. The method according to any one of claims 1 to 15, characterized in that the
Benutzerschnittstelle multiple Eingangssignale bestehend aus Text oder Sprache und Eingabedaten erzeugt. User interface generates multiple input signals consisting of text or speech and input data.
EP17780297.2A 2017-07-14 2017-07-14 Method for conducting dialog between human and computer Pending EP3652664A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/DE2017/100587 WO2019011356A1 (en) 2017-07-14 2017-07-14 Method for conducting dialog between human and computer

Publications (1)

Publication Number Publication Date
EP3652664A1 true EP3652664A1 (en) 2020-05-20

Family

ID=60021849

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17780297.2A Pending EP3652664A1 (en) 2017-07-14 2017-07-14 Method for conducting dialog between human and computer

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115238060A (en) * 2022-09-20 2022-10-25 支付宝(杭州)信息技术有限公司 Man-machine interaction method and device, medium and computing equipment

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112020707A (en) * 2018-01-05 2020-12-01 国立大学法人九州工业大学 Tag adding device, tag adding method, and program
EP3811245A4 (en) 2018-06-19 2022-03-09 Ellipsis Health, Inc. Systems and methods for mental health assessment
US20190385711A1 (en) 2018-06-19 2019-12-19 Ellipsis Health, Inc. Systems and methods for mental health assessment
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
CN113168500A (en) * 2019-01-22 2021-07-23 索尼集团公司 Information processing apparatus, information processing method, and program
CN109840276A (en) * 2019-02-12 2019-06-04 北京健康有益科技有限公司 Intelligent dialogue method, apparatus and storage medium based on text intention assessment
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
CN110795532A (en) * 2019-10-18 2020-02-14 珠海格力电器股份有限公司 Voice information processing method and device, intelligent terminal and storage medium
CN110689891A (en) * 2019-11-20 2020-01-14 广东奥园奥买家电子商务有限公司 Voice interaction method and device based on public display device
JP7405660B2 (en) * 2020-03-19 2023-12-26 Lineヤフー株式会社 Output device, output method and output program
CN111405128B (en) * 2020-03-24 2022-02-18 中国—东盟信息港股份有限公司 Call quality inspection system based on voice-to-text conversion
US20210319189A1 (en) * 2020-04-08 2021-10-14 Rajiv Trehan Multilingual concierge systems and method thereof
CN111666372B (en) * 2020-04-29 2023-08-18 百度在线网络技术(北京)有限公司 Method, device, electronic equipment and readable storage medium for analyzing query word query
FR3111210B1 (en) * 2020-06-04 2022-07-08 Thales Sa Two-way man-machine communication
CA3125124A1 (en) * 2020-07-24 2022-01-24 Comcast Cable Communications, Llc Systems and methods for training voice query models
CN112102840A (en) * 2020-09-09 2020-12-18 中移(杭州)信息技术有限公司 Semantic recognition method, device, terminal and storage medium
CN112216278A (en) * 2020-09-25 2021-01-12 威盛电子股份有限公司 Speech recognition system, instruction generation system and speech recognition method thereof
CN112115249B (en) * 2020-09-27 2023-11-14 支付宝(杭州)信息技术有限公司 Statistical analysis and result display method and device for user intention
CN112487142B (en) * 2020-11-27 2022-08-09 易联众信息技术股份有限公司 Conversational intelligent interaction method and system based on natural language processing
US20230008868A1 (en) * 2021-07-08 2023-01-12 Nippon Telegraph And Telephone Corporation User authentication device, user authentication method, and user authentication computer program
CN113806484B (en) * 2021-09-18 2022-08-05 橙色云互联网设计有限公司 Interaction method and device for user demand information and storage medium
CN114244795B (en) * 2021-12-16 2024-02-09 北京百度网讯科技有限公司 Information pushing method, device, equipment and medium
CN114676689A (en) * 2022-03-09 2022-06-28 青岛海尔科技有限公司 Sentence text recognition method and device, storage medium and electronic device

Family Cites Families (29)

* 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
US7167832B2 (en) 2001-10-15 2007-01-23 At&T Corp. Method for dialog management
US20070136067A1 (en) 2003-11-10 2007-06-14 Scholl Holger R Audio dialogue system and voice browsing method
US7949529B2 (en) 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US9811935B2 (en) * 2007-04-26 2017-11-07 Ford Global Technologies, Llc Emotive advisory system and method
US8578330B2 (en) * 2007-06-11 2013-11-05 Sap Ag Enhanced widget composition platform
US8165886B1 (en) 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
US8219407B1 (en) 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
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
DE202011111062U1 (en) * 2010-01-25 2019-02-19 Newvaluexchange Ltd. Device and system for a digital conversation management platform
US9262612B2 (en) * 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9105268B2 (en) 2012-09-19 2015-08-11 24/7 Customer, Inc. Method and apparatus for predicting intent in IVR using natural language queries
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
US10726831B2 (en) * 2014-05-20 2020-07-28 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
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
CN106844400A (en) 2015-12-07 2017-06-13 南京中兴新软件有限责任公司 Intelligent response method and device
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115238060A (en) * 2022-09-20 2022-10-25 支付宝(杭州)信息技术有限公司 Man-machine interaction method and device, medium and computing equipment

Also Published As

Publication number Publication date
US20200234700A1 (en) 2020-07-23
WO2019011356A1 (en) 2019-01-17
US11315560B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
EP3652664A1 (en) Method for conducting dialog between human and computer
DE69814114T2 (en) METHOD UNDER NATURE OF LANGUAGE AND UNDERSTANDING DEVICE FOR VOICE CONTROL OF AN APPLICATION
DE60130880T2 (en) WEB-BASED VOICE RECOGNITION BY SCRIPTING AND SEMANTIC OBJECTS
JP7098875B2 (en) Conference support system, conference support device, conference support method and program
DE69906540T2 (en) MULTIMODAL USER INTERFACE
DE112016004863T5 (en) Parameter collection and automatic dialog generation in dialog systems
DE102017122358A1 (en) Conditional provision of access through interactive wizard module
DE112016003626T5 (en) Natural language interface to databases
CN110175229B (en) Method and system for on-line training based on natural language
EP3100174A1 (en) Method for automatically detecting meaning and measuring the clearness of text
DE102013003055A1 (en) Method and apparatus for performing natural language searches
DE112018006345T5 (en) GET SUPPORTING EVIDENCE FOR COMPLEX ANSWERS
EP1950672A1 (en) Method and data processing system for manual access of structurally stored information
DE102018113034A1 (en) VOICE RECOGNITION SYSTEM AND VOICE RECOGNITION METHOD FOR ANALYZING A COMMAND WHICH HAS MULTIPLE INTENTIONS
AT6920U1 (en) METHOD FOR GENERATING NATURAL LANGUAGE IN COMPUTER DIALOG SYSTEMS
DE112020005268T5 (en) AUTOMATICALLY GENERATE SCHEMA ANNOTATION FILES TO CONVERT NATURAL LANGUAGE QUERIES TO STRUCTURED QUERY LANGUAGE
EP2962296B1 (en) Wording-based speech analysis and speech analysis device
EP1599866A1 (en) Voice processing system, method for allocating acoustic and/or written character strings to words or lexical entries
CN112579757A (en) Intelligent question and answer method and device, computer readable storage medium and electronic equipment
DE60214850T2 (en) FOR A USER GROUP, SPECIFIC PATTERN PROCESSING SYSTEM
DE19849855C1 (en) Method for using a computer system to generate a text expression automatically while retaining meaning determines a statistical model on a number of preset pairs of word meanings and associated expressions.
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 (en) DIALOGUE SYSTEM, ELECTRONIC DEVICE AND METHOD OF CONTROLLING THE DIALOGUE SYSTEM
DE60119643T2 (en) Homophone choice in speech recognition
EP3576084B1 (en) Efficient dialog design

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20200214

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20221209