WO2020126217A1 - Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation - Google Patents

Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation Download PDF

Info

Publication number
WO2020126217A1
WO2020126217A1 PCT/EP2019/080901 EP2019080901W WO2020126217A1 WO 2020126217 A1 WO2020126217 A1 WO 2020126217A1 EP 2019080901 W EP2019080901 W EP 2019080901W WO 2020126217 A1 WO2020126217 A1 WO 2020126217A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
analysis unit
entity
output
response
Prior art date
Application number
PCT/EP2019/080901
Other languages
English (en)
French (fr)
Inventor
Fabian Galetzka
Jewgeni ROSE
Simon JORDAN
Original Assignee
Volkswagen Aktiengesellschaft
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 Volkswagen Aktiengesellschaft filed Critical Volkswagen Aktiengesellschaft
Priority to CN201980084669.4A priority Critical patent/CN113228165A/zh
Publication of WO2020126217A1 publication Critical patent/WO2020126217A1/de

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Definitions

  • the invention relates to a method and an arrangement for generating a response output in response to a voice input information. More specifically, the invention relates to the field of computer-aided speech analysis and, in particular, speech dialogue systems, in which speech input information is captured and response outputs are generated based thereon.
  • Generate response output A distinction can be made here between pure speech recognition and the analysis of a meaningful reaction (response output) to the recognized speech input information, the analysis e.g. may include capturing the semantic content of the voice input information.
  • Voice input information can be understood here to mean information in text or audio format that was generated on the basis of voice input and / or indicate its content.
  • a user can, for example, formulate questions in order to obtain the desired information.
  • dialogues can be described as targeted if they lead to a defined end point, as is the case, for example, when requesting information. The end point would be getting the information.
  • end point would be getting the information.
  • non-targeted dialogues where one
  • a dialog system would have to be able to analyze or understand a large amount of information contained in the voice input information.
  • the latter applies primarily to systems that are based on machine learning approaches and, in particular, so-called deep learning.
  • corresponding words would have to be explicitly stored in the dictionary for every conceivable proper name, for example of people or cities, or for any numerical value, for example in the form of annual numbers or temperature values, so that the analysis unit trains using this dictionary and the corresponding words later can recognize to correctly grasp the semantic content. This increases the setup effort and complicates the learning process of a corresponding analysis unit.
  • the known solutions also typically have a one-dimensional flow of information:
  • the analysis unit can in fact make requests to a dictionary for the purpose of speech recognition, which can also be dynamically supplemented in the manner explained above on the basis of the dialog history.
  • the (especially dynamically supplemented) entries in this dictionary cannot be used to generate response output.
  • a further disadvantage is that at least the above-mentioned approaches, which are not based on machine learning, are characterized in that a large amount of so-called expert knowledge or expert knowledge models are still used as components of the analysis.
  • Expert knowledge must be defined and stored in advance. Expert knowledge can generally be understood here to mean the definition of logical relationships or rules with which suitable reactions (in particular response outputs) can be determined in view of the present conditions.
  • a basic idea of the invention is to divide the information of a voice input between two analysis units, which are preferably designed separately from one another (e.g. as separate software programs, software modules or
  • One of the analysis units can be set up to generate a partial response output, the latter being able to be generated in particular in response to frequently recurring and / or usual contents of the speech input.
  • a further analysis unit can be set up to determine target information that is assigned to predefined entities within the voice input, this target information then
  • Target information can be used as an input variable for the first-mentioned analysis unit in order to generate the response output.
  • Speech input information can be predefined, which, as expected, is subject to greater variability or can be associated with a large number of further information which cannot be clearly predicted. Additional entities can also be added during operation and stored in a knowledge database, for example, without the need for new system learning or training processes. This is relevant, for example, to supplement new information that occurs in the company (for example, newly released films or the like).
  • the entity can be a proper name or a numerical value. Examples of information associated with an entity in the form of a movie title include the director, contributing actors, genre, movie awards, or the like. The associated information itself can also be entities.
  • At least one of these associated pieces of information can then be determined by one of the analysis units as target information relevant in the current context.
  • the analysis unit can be trained for this (for example by means of a machine learning process), in particular in such a way that it is based on the current language context and a selection of associated information (information set or, in other words, subset of a
  • Knowledge database determines the target information. This can be understood in particular to mean that the analysis unit evaluates all associated information with regard to its possible relevance (for example in the form of a probability statement) and that the one with the highest relevance rating is then selected as target information.
  • the further analysis unit has to be trained for the handling of information associated with predetermined and diverse entities, but not the analysis unit which generates the response part output mentioned above. Also, such associated information does not have to be generated by the analysis unit itself, but can be called up from a knowledge database. This reduces the required functional scope of the analysis unit and thus also facilitates its learning process.
  • Speech input that may vary (referred to herein as an entity) and / or can be associated with a large number of further information, and to differentiate between information or contents of the speech input that frequently return and are, for example, not proper names.
  • Separate analysis units can then be provided for both of these types of information / contents, which are optimized accordingly for the analysis tasks assigned to them and whose learning processes can be carried out in a targeted manner. It is also advantageous to include one
  • Knowledge database from which one of the analysis units can then select relevant target information for inclusion in a final response output.
  • the knowledge database can also be continuously supplemented by new entities without the need for new learning processes to be carried out by the analysis units.
  • Voice input information (which is, for example, a voice input converted to text form) proposed with:
  • the method can be carried out with the aid of a computer and / or by means of
  • At least one (preferably digitally and / or electronically operated) computing unit for example with a graphics card, a microprocessor or a general computer processor.
  • the method can be carried out with a conventional PC.
  • At least one of voice input information and response output can be present or generated in the form of an audio file or as audio information. Additionally or alternatively, the voice input information and / or the response output could be in text form. In principle it can be provided that the solution according to the invention is used in such a way that that it is embedded in a system that performs conversions between audio and text information. For example, so-called ASR units (Automatic Speech
  • a downstream TTS unit can translate text-based response output generated according to the invention into an audio output.
  • the solution according to the invention comprises such ASR and / or TTS units or generally audio and text conversion functions.
  • Speech input information herein includes both inputs in audio format as well as (audio) inputs converted into text form (i.e. the voice input information can generally be in audio or text form, an at least temporary conversion into text form being preferred to provide the measures according to the invention).
  • the entity can be, for example, an object, location, time, object, organization, work or subject-related designation and in particular a
  • entities are recognized in the form of predefined proper names, such as those used to describe sports teams, films, locations or people.
  • the voice information record can be generated in the form of a data record or generally as digital information.
  • the voice information set can contain the voice input information in which the voice input information, with the exception of the entity, is at least partially in text form as a first recognition result.
  • the entity can either be deleted or replaced, preferably by a so-called placeholder (or, in other words, by a template).
  • the placeholder can contain, for example, a title, generic term or an identifier identifying the entity. It is generally preferred that the second analysis unit also takes the placeholder into account in order to determine the
  • corresponding placeholders can be used in the recognition result and / or instead of this entity be included in the text form. This can be done using a so-called constructor.
  • Information can be stored in the knowledge database and e.g. be associated and called up using so-called tags, identifiers, hashes or so-called key-value relationships.
  • tags e.g. be associated and called up using so-called tags, identifiers, hashes or so-called key-value relationships.
  • the features listed above can be used to establish a connection to an entity (identified in the voice input information). If, for example, a film title was recognized as an entity, associated information can be determined in this way in the form of actors playing in it, a corresponding year, a location or the like, which is also stored in the knowledge database and preferably by one of the above. Connections are linked to the entity.
  • a hash request can therefore be sent to the knowledge base in order to obtain information linked to the entity in the knowledge base as an information record
  • all entries found from the information database can be expressed as numerical values and / or converted into vectors. These numerical values or vectors can preferably be stored in a matrix, which the first analysis unit subsequently uses as input information in order (preferably based on an analysis result of the second analysis unit as a further input variable) to identify target information which appears to be most relevant.
  • Both the first and the second analysis unit can each be used as the first and the second analysis unit
  • Computer program products and in particular computer programs or software modules can be provided. However, they can (in comparison to one another) have different input and / or output variables or can be set up for processing and generating correspondingly different input and / or output variables.
  • analysis in connection with the analysis units refers to an analysis in the sense of determining a suitable one
  • the target information can be the information from the information set that has the highest (presumed) relevance with regard to the entity.
  • the relevance can be directed in particular to the current dialog state or this can be determined on the basis of a dialog history (by the first analysis unit). More precisely, the first analysis unit can receive the dialog history (also referred to herein as the language context) and the information record as an input variable.
  • the analysis unit may have been trained to select one of the pieces of information in the information set as target information or to evaluate it as particularly relevant on the basis of these input variables.
  • This information may include one or more entities that are considered relevant for generating the response part output.
  • the language context can be obtained, for example, from the second analysis unit.
  • the first analysis unit can then output the target information as an output variable, preferably to the second analysis unit.
  • the second analysis unit can receive the speech information record (in particular including any placeholders) and the determined target information as input variables.
  • the second analysis unit may have been trained to generate and output a partial response output based on this (for example as part of a machine learning process).
  • Information set contained and linked to the entity can be selected as target information.
  • This target information preferably has the highest relevance at the moment and / or seems most appropriate in relation to the current language context in order to become part of the response.
  • the second analysis unit determines the partial output of the response only when it is known and, in particular, as a function of this determined target information.
  • the target information can, but does not have to be, part of the response part output and / or the response output.
  • the target information can comprise at least one entity or a group of entities.
  • the target information can correspond to a line from a matrix discussed below in which the entries of the information set are sorted or which form the information set.
  • a film title is currently mentioned as part of the voice input information and the quality of the cast is generally emphasized, it may be relevant in a next step to select actor names as target information that are linked to the film title recognized as an entity and to make this part of the response output. However, if the it is clear from the voice input information that a user wishes to see the film first, it may be more relevant, possible locations or
  • the second analysis unit can output the answer part (e.g. as text or
  • Audio output based on the voice information set.
  • the second analysis unit can determine a current dialog state and / or a language context (in this case synonymous with the dialog history).
  • Dialog states can e.g. predefined states, such as asking a question about a defined topic.
  • the generation of a final answer output can be done using an optional
  • the answer output may differ from the
  • Differentiate answer part output in that it contains the answer part output, but also, if applicable, the target information and / or entities inserted and / or additionally supplemented therein, which replace placeholders that may still be contained in the answer part output.
  • the response output can be a combination of partial answer output and target information and / or can include the target information (s) inserted in the partial answer output.
  • the target information s
  • any placeholders in the response part output can be replaced by the target information but also by other entities.
  • Target information can be determined with limited effort and suitable sentence structures (response part outputs) can be formed with the second analysis unit for the target information found. The above-mentioned combination of these contents can then then take place in order to generate the response output.
  • sentence structures response part outputs
  • the entity is replaced by a placeholder, which is then replaced by the entity if it is still contained in the response part output. This can take place, for example, as part of step f). If no corresponding placeholders are included, the case may also arise that the answer part output corresponds to the final answer output. Instead of a partial response output, one could therefore also speak of a response output information which is potentially further processed by replacing the placeholders or which already corresponds to the final response output.
  • the second analysis unit receives analysis results from the first analysis unit (for example in the form of the determined target information or a group (subset) of entities that form the target information) in order to determine the response part output. More specifically, these analysis results can form an input variable for the second analysis unit.
  • the second analysis unit can generally be trained or learned to determine suitable partial responses based on such analysis results.
  • the first and / or the second analysis unit include
  • a neural network comprising a plurality of layers (ie a so-called deep or “deep”) can be provided, in which a so-called input layer and output layer are linked via several layers.
  • Each layer of a neural network can contain nodes in a manner known per se and the nodes are linked to one or more nodes in an adjacent layer via weighted connections.
  • the weights and links of nodes can be learned in a manner known per se within a training or learning process of the neural network.
  • the neural networks can define a non-linear relationship between input variables and output variables and thus use the input variables provided to determine suitable output variables.
  • the non-linearity can be caused by so-called activation functions of a neural network or
  • the networks can have a mathematical relationship between
  • the second analysis unit comprises a neural network in the form of a (preferably hierarchical) sequence-to-sequence model (Seq2Seq model).
  • this can comprise at least one encoder which receives input variables (e.g. the voice information record). Furthermore, the encoder can determine a state based on the input variables and output it to a decoder of the network. This can generate a partial response output of the type explained here and output it as an output variable.
  • the first analysis unit can comprise a neural network in the form of a feed-forward network and / or with an attention mechanism.
  • the feed-forward network can generally be free of feedback and can therefore be a simple network, in particular only two layers. It can be used as input variables receive the information record and the language context (dialogue history) and in particular an information record coded or converted into vector representation.
  • the first analysis unit can determine a group (subset) of possibly relevant information from the knowledge database and then determine the target information from this.
  • the attention mechanism can be used to calculate a value (score) for each piece of information in the subset based on the dialog history, indicating its assumed relevance, for example in terms of a probability.
  • Information with a low rating cannot be selected as target information and has no influence on the output of the answer part, since it is not taken into account by the second analysis unit.
  • the first analysis unit receives one as an input variable
  • Vector representation (or, in other words, vector representation) of the information set. This can be done via a so-called embedding, in which information stored in the knowledge database (that which is assigned to the entity) is converted into vector representations.
  • the result can be the information set evaluated or examined by the first analysis unit.
  • the information record can be the one before
  • the information set present is considered and a vector representation of this information set is generated as a result of the embedding.
  • Analysis unit can be based on a mathematical model or a mathematical function and can therefore better process the input variable in the form of a vector representation.
  • semantic information can also advantageously be integrated.
  • the second analysis unit is not set up to ascertain target information (or target entities) for the determined entities (itself) on the basis of an information record from the knowledge database.
  • the second analysis unit cannot be set up to determine relevant and / or assigned target information (or target entities), in particular not on the basis of entries of the
  • the analysis unit cannot be trained for this and / or cannot depict or recognize corresponding correlations.
  • the second analysis unit can be set up for this and in particular be trained to understand the target information and / or to generate a suitable response partial output based thereon.
  • the target information itself should preferably be determined by the first analysis unit. This enables the second analysis unit to instead specialize in other tasks and the training effort to be adjusted accordingly.
  • the second analysis unit should be able to deal with placeholders or general entity classifications, such as “film titles”, but should not have to learn all the entities or proper names associated with it. Instead, these concrete entities (preferably but not optionally used placeholders) can be specifically excluded from the scope of analysis of the second analysis unit, which instead is preferably based on the placeholders or entity classifications as well as the target information and the language context
  • Part of the response is generated and trained accordingly.
  • the first speech analysis unit does not receive the speech information record as an input variable and / or is not set up to independently generate a (or the) partial answer output.
  • the invention further relates to a system for generating a response in response to voice input information, comprising:
  • a determination unit which is set up to determine whether a
  • Voice input information includes at least one predefined entity
  • a speech information set generation unit which is set up to generate a
  • an information set generation unit which is set up to generate an information set relating to the entity, the information set being assigned to the entity
  • a first analysis unit which is set up to determine at least target information from the information set which is relevant with regard to the entity
  • a response output unit which is set up to generate a response output based on the partial response output.
  • the invention also relates to the use of a system according to the previous aspect for generating response outputs in non-targeted dialogues. It has shown that the inventive provision of the two analysis units and thus splitting the respective analysis tasks in corresponding non-targeted dialogues (between a user and a computer-based system) is particularly advantageous.
  • the system may generally be configured to perform a method in accordance with any of the above and below aspects. All further developments that are discussed in the context of analog process features can also be provided for the system features of the same name.
  • the system can be generally computer-based or can be referred to as a computer-based speech dialogue system.
  • the units of the system can be used as software modules and / or as part of a
  • Computer program product for example in the form of individual software functions.
  • the system can optionally comprise a computing unit (eg a processor) on which the units can preferably be executed and / or a storage device on which the knowledge database is preferably stored.
  • a computing unit eg a processor
  • the units can preferably be executed and / or a storage device on which the knowledge database is preferably stored.
  • Fig. 1 is an overview of a system according to the invention according to a
  • FIG. 2 shows a detailed illustration of the system from FIG. 1;
  • FIG. 3 shows a flow diagram of a method according to the invention carried out with the system of FIGS. 1 and 2.
  • a system 10 according to the invention is shown schematically according to one embodiment.
  • This system 10 is implemented as a computer program product, in which functions or function blocks explained below can be implemented by individual program modules in a manner known per se.
  • the system 10 can be executed on the computing unit of a conventional PC. Only the knowledge database 14 explained below can be understood as a data collection, not primarily as a software module or a function that can be executed by a computing unit, but rather as a data collection of the system 10. All of the units of the system 10 mentioned herein can be implemented accordingly as a software module, computer program product or software function.
  • the system 10 can optionally also have hardware components in the form of a Computing unit (processor and / or graphics card) and / or a storage device for the knowledge database.
  • the system 10 receives, as an input variable, a speech input information E in the form of an audio input that has already been converted into text form.
  • a determination unit 12 which is a proper name recognition module (NER - Named Entity Recognizer or Named Entity Resolver) and is based on known algorithms, predefined entities contained in the speech input information can be recognized.
  • the determination unit 12 can fall back on a knowledge database 14 explained below, in which corresponding entities are stored.
  • the recognition of entities in speech input information (especially if they already exist in text form) is known per se and can be put into practice by using conventional named entity recognizers, which can typically be based on neural networks.
  • the determination unit 12 can use the corresponding output variable in the
  • the output information of the determination unit 12 is fed to a speech information set generation unit 16, which can also be referred to as a constructor.
  • the speech information set generation unit 16 generates a speech information set (e.g. in the form of a text file) in which the entities are each replaced by a placeholder or, generally speaking, in which recognized entities do not exist. This is fed to an analysis block 18 as an input variable.
  • the corresponding second analysis unit 24 can be specialized (and in particular limited to) to determine the general language context, whereby any entities are completely excluded or only taken into account as placeholders (for example in the form of “film” (placeholder) instead of the specific film title (Entity) within a text file representing the voice input information).
  • the analysis block 18 can also access the knowledge database 14, as by
  • the analysis block 18 outputs a response partial output, which is explained below, as an output variable. If this still contains placeholders, these are replaced in a response output unit 21, which can also be referred to as a reconstructor, by suitable entities and thus combined with the partial response output to form a response output A.
  • the response output A can in turn be or comprise a text file and, for example, can be output to a user after conversion into an audio file via an audio output device.
  • FIG. 2 shows a detailed illustration of the system 10 from FIG. 1.
  • further details of the analysis block 18 can be seen therein. You can see that again
  • Voice input information E which is available in text form
  • the determination unit 12 which can recognize entities within the input variable E with the aid of the knowledge database 14.
  • the voice information generation unit 16 is also shown.
  • Determination unit 12 further information e.g. process from the voice input information E to increase the recognition accuracy. Does this contain e.g. Actor names, the likelihood increases that another entity in the input is a movie title.
  • the analysis block 18 is outlined by dashed lines and its individual function blocks are shown.
  • a vector generation unit (embedder) can first be seen, with which an information set explained below can be represented as a vector representation.
  • an information set generation unit 25 integrated in the vector generation unit 20 can access the knowledge database 14 and first determine information which, according to FIG.
  • Knowledge database 14 are associated with the identified entity or are associated therewith. This can be done via a so-called hash request. This information can then be summarized as an information set (subset) and converted into a vector representation.
  • the latter then forms an input variable of a first analysis unit 22.
  • This is designed as a “feed-forward” neural network and can use the information set represented as a vector representation to select information contained therein as target information, on the basis of which the second analysis unit 24 explained below has one Answer part output should determine.
  • the language context explained below is also taken into account, which is an analysis result of the second analysis unit 24 (see corresponding arrow-shaped connections between these units in FIG. 2).
  • the neural network of the first analysis unit 22 determines information that is relevant, in particular in view of the current language context, from that assigned to the entity
  • Information record as target information. This is preferably the information in the information set that has the highest value from the first analysis unit 22
  • Probability is classified as relevant or has received a highest relevance rating from the first analysis unit 22.
  • the target information forms an output variable of the second analysis unit 22 and is output to the first analysis unit 24.
  • the analysis block 18 comprises the second analysis unit 24, which contains the speech information set of the generation unit 16 and the target information of the first
  • Analysis unit 22 receives as an input variable.
  • the second analysis unit 24 determines on the basis of these input variables and below
  • the language context indicates in particular what type of
  • Answer output A would probably be relevant and appropriate from the user's perspective.
  • This language context is also output to the first analysis unit 22 in order to subsequently obtain the target information determined thereby.
  • Answer part output still available placeholders can be replaced, for example, by corresponding target information.
  • Received voice input information E in text form and checked by the determination unit 12 for existing entities. If no entities are found, the analysis block 18 uses the second analysis unit 24 to determine the response output A, this case not being shown separately in FIG. 3. If the existence of an entity is ascertained, in a step S2 the speech information set generation unit 16 generates a speech information set in which entities in the speech input information E are each replaced by a placeholder.
  • step S5 Upstream of step S2, downstream (as in FIG. 3) or at least partially in parallel to this, information set generation unit 25 determines in step S5 information that is assigned to the entity according to knowledge database 14. These are summarized in the aforementioned information set and converted in step S6 by the vector generation unit 20 into a vector representation.
  • the first analysis unit 22 determines in step S7 taking into account the
  • Speech context which can be obtained from the second analysis unit 24, one of the information of the information set as target information. Then in step S8
  • voice input information is "I really like the very first James Bond movie.”
  • the name “James Bond” can be recognized as an entity as a film title.
  • Knowledge base 14 can contain all information relating to this film as
  • the first analysis unit 22 determines target information from the information set that appear meaningful in view of the language context, for example actor names (here X and Y as examples).
  • the second analysis unit 24 is then in view of this entity (s) determined as target information and in view of the
  • a suitable answer part output e.g. a query in the manner "Would you prefer X or Y as an actor?"
  • At least the first analysis unit (but optionally also the second) can be based on an expert knowledge model instead of on a neural network.
  • advantageously no training data are required for a corresponding analysis unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation Die Erfindung betrifft ein Verfahren zum Erzeugen einer Antwortausgabe (A) in Reaktion auf eine Spracheingabeinformation (E), mit: a) Ermitteln, ob eine Spracheingabeinformation (E) wenigstens eine vordefinierte Entität umfasst; und wenn dies der Fall ist: b) Erzeugen eines Sprachinformationssatzes auf Basis der Spracheingabeinformation (E), in dem die Entität nicht enthalten ist; c) Erzeugen eines Informationssatzes, wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank (14) umfasst; d) mit einer ersten Analyseeinheit (22): Ermitteln wenigstens einer Zielinformation aus dem Informationssatz, die hinsichtlich der Entität relevant ist; e) mit einer zweiten Analyseeinheit (24): Erzeugen einer Antwortteilausgabe auf Basis der ermittelten Zielinformation; und f) Erzeugen einer Antwortausgabe (A) auf Basis der Antwortteilausgabe. Ferner betrifft die Erfindung ein System (10) und die Verwendung eines solchen Systems (10).

Description

Beschreibung
Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation
Die Erfindung betrifft ein Verfahren und eine Anordnung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation. Genauer gesagt betrifft die Erfindung das Gebiet von computergestützten Sprachanalyse- und insbesondere Sprachdialogsystemen, bei denen Spracheingabeinformationen erfasst und darauf basierend Antwortausgaben erzeugt werden.
Es ist bekannt, mittels computergestützter Systeme und insbesondere davon umfasster Analyseeinheiten Spracheingabeinformationen zu analysieren und darauf basierend
Antwortausgaben zu erzeugen. Hierbei kann zwischen einer reinen Spracheerkennung und der Analyse sinnvoller Reaktion (Antwortausgabe) auf die erkannte Spracheingabeinformation unterscheiden werden, wobei die Analyse z.B. das Erfassen des semantischen Inhalts der Spracheingabeinformation umfassen kann. Unter Spracheingabeinformationen können hierin Informationen in Text- oder Audioformat verstanden werden, die auf Basis einer Spracheingabe erzeugt wurden und/oder deren Inhalt angeben.
Im Rahmen eines sogenannten zielgeführten Dialogs kann ein Benutzer beispielsweise Fragen formulieren, um gewünschte Informationen zu erhalten. Allgemein können Dialoge als zielgeführt bezeichnet werden, wenn sie zu einem definierten Endpunkt führen, wie dies beispielsweise beim Erfragen von Informationen der Fall ist. Der Endpunkt wäre dann das Erhalten der Informationen. Ebenso existieren nicht-zielgeführte Dialoge, bei denen ein
Benutzer ohne vorab definierten Endpunkt, wie er beispielsweise durch eine gewünschte Information festgelegt ist, ein Gespräch mit einem computergestützten System (Dialogsystem) führt. Dies kann auch als das Führen von Smalltalk mit einem solchen System bezeichnet werden.
Der Umgang mit nicht-zielgeführten Dialogen ist technisch anspruchsvoller, da deren Verlauf z.B. in Form sogenannter Dialogzustände schwieriger abzuschätzen ist. Um auf eine entsprechende Vielfalt möglicher Dialogzustände reagieren zu können und geeignete
Antwortausgaben zu erzeugen, müsste ein Dialogsystem eine hohe Vielzahl von in der Spracheingabeinformation enthaltenen Informationen analysieren bzw. nachvollziehen können. Dies würde bedeuten, dass das System und insbesondere eine Analyseeinheit hiervon mit Hilfe entsprechend umfangreicher Wörterbücher oder allgemeinen Datenbanken trainiert werden müsste. Letzteres gilt primär für Systeme, die auf Ansätzen des maschinellen Lernens und insbesondere des sogenannten Deep Learnings basieren. Beispielsweise müssten bei derartigen Systemen für jeden denkbaren Eigennamen, wie z.B. von Personen oder Städten, oder für jeglichen Zahlenwert, z.B. in Form von Jahreszahlen oder Temperaturwerten, entsprechende Wörter explizit im Wörterbuch hinterlegt werden, damit die Analyseeinheit mittels dieses Wörterbuchs trainiert und die entsprechenden Wörter später erkennen kann, um den semantischen Inhalt korrekt zu erfassen. Dies erhöht den Einrichtaufwand und erschwert den Lernprozess einer entsprechenden Analyseeinheit.
Bisher wird versucht, dieses sogenannte„out-of-vocabulary problem“ dadurch zu lösen, dass die Analyseeinheit nicht nur in einem vorbereitenden Lernprozess bereits erlernte Wörter erkennen kann, sondern auch weitere Wörter, die in der Dialoghistorie bisher verwendet wurden (also Wörter, die bei bisherigen Verwendungen der Analyseeinheit verwendet wurden). Auch in diesem Fall ist es aber erforderlich, während der Dialoghistorie auftretende neue Wörter fortlaufend aufzuzeichnen und in einem entsprechenden Wörterbuch zu hinterlegen. Beispiele für derartige Ansätze finden sich in den folgenden wissenschaftlichen Veröffentlichungen:
Raghu, D. & Gupta, N. (2018). Hierarchical Pointer Memory Network for Task Oriented
Dialogue, arXiv preprint arXiv: 1805.01216
Eric, M & Manning, C. D. (2017). A copy-augmented sequence-to-sequence architecture gives good performance on task-oriented dialogue. arXiv preprint arXiv: 1701.04024
Andererseits existieren auch Systeme, die versuchen, nicht-zielgeführte Dialoge iterativ und nicht auf Basis von maschinellem Lernen zu beherrschen (sh. z.B.
https://www.pandorabots.com/mitsuku/). Die erzielbare Qualität wird aber durch vorab zu definierende Zustände und Regeln (z.B. in Form von sogenanntem Expertenwissen) erheblich begrenzt.
Mit jeglichem der bekannten Ansätzen ist es somit nicht möglich, insbesondere im Kontext von nicht-zielgeführten Dialogen auf unvorhersehbare Spracheingabeinformationen angemessen zu reagieren, insbesondere wenn innerhalb dieser Spracheingabeinformationen noch nicht in der Dialoghistorie und/oder nicht bei einem Training aufgetretene Begriffe verwendet werden. Auch liegt bei den bekannten Lösungen typischerweise ein eindimensionaler Informationsfluss vor: Die Analyseeinheit kann zwar zwecks Spracherkennung Anfragen an ein Wörterbuch stellen, das in der vorstehend erläuterten Weise auch dynamisch auf Basis der Dialoghistorie ergänzt werden kann. Die (insbesondere dynamisch ergänzten) Einträge dieses Wörterbuchs können aber nicht zum Erzeugen von Antwortausgaben verwendet werden.
Als ein weiterer Nachteil zeichnen sich zumindest die oben erwähnten Ansätze, die nicht auf maschinellem Lernen basieren, dadurch aus, dass nach wie vor ein großer Umfang von sogenanntem Expertenwissen bzw. Expertenwissensmodellen als Analysebestandteile verwendet werden. Dies führt jedoch von der eigentlichen Zielsetzung zum Umgang mit nicht zielgeführten Dialogen weg, da mehr vordefinierte Zusammenhänge in Form des
Expertenwissens vorab definiert und hinterlegt werden müssen. Unter Expertenwissen kann hierin allgemein das Definieren logischer Zusammenhänge oder Regeln verstanden werden, mit denen in Anbetracht vorliegender Zustände geeignete Reaktionen (insb. Antwortausgaben) ermittelbar sind.
Eine Aufgabe der vorliegenden Erfindung ist es daher, das computerbasierte Erzeugen von Antwortausgaben in Reaktion auf Spracheingaben zu verbessern, insbesondere bei nicht zielgeführten Dialogen.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen von Anspruch 1 , eine Anordnung mit den Merkmalen von Anspruch 9 und eine Verwendung mit den Merkmalen von Anspruch 10 gelöst. Vorteilhafte Weiterbildungen sind in den abhängigen Ansprüchen angegeben. Es versteht sich, dass sämtliche einleitend erwähnten Merkmale und Definitionen (allein oder in beliebiger Kombination und sofern nicht anders angegeben oder ersichtlich) auch bei der vorliegenden Lösung vorgesehen sein bzw. auf diese ebenfalls zutreffen können.
Ein Grundgedanke der Erfindung besteht darin, die Informationen einer Spracheingabe zwischen zwei Analyseeinheiten aufzuteilen, die vorzugsweise getrennt voneinander ausgebildet sind (z.B. als getrennte Softwareprogramme, Softwaremodule oder
Computerprogrammprodukte), die vorteilhafterweise aber auch Informationen miteinander austauschen können. Eine der Analyseeinheiten kann zum Erzeugen einer Antwortteilausgabe eingerichtet sein, wobei Letztere insbesondere als Reaktion auf häufig wiederkehrende und/oder übliche Inhalte der Spracheingabe erzeugt werden kann. Eine weitere Analyseeinheit kann hingegen dazu eingerichtet sein, Zielinformationen, die vordefinierten Entitäten innerhalb der Spracheingabe zugeordnet sind, zu ermitteln, wobei diese Zielinformationen dann
Bestandteil einer schlussendlichen Antwortausgabe werden können. Auch können die Zielinformationen als eine Eingangsgröße für die erstgenannte Analyseeinheit verwendet werden, um die Antwortausgabe zu erzeugen.
Dies hat den Vorteil, dass als Entitäten Inhalte der Spracheingabe (d. h. der
Spracheingabeinformation) vordefiniert werden können, die erwartungsgemäß einer höheren Variabilität unterliegen bzw. mit einer Vielzahl von nicht eindeutig vorhersehbaren weiteren Informationen assoziiert sein können. Auch können weitere Entitäten während des Betriebs ergänzt und zum Beispiel in einer Wissensdatenbank hinterlegt werden, ohne dass hierfür neue Lern- oder Trainingsprozesse des Systems erforderlich sind. Dies ist zum Beispiel relevant, um im Betrieb auftretende neue Informationen zu ergänzen (zum Beispiel neu erschienene Filme oder dergleichen). Die Entität kann insbesondere ein Eigenname oder ein Zahlenwert sein. Beispiele von mit einer Entität in Form eines Filmtitels assoziierten Informationen sind zum Beispiel der Regisseur, mitwirkende Schauspieler, das Genre, Filmauszeichnungen oder dergleichen. Die assozierten Informationen können selbst ebenfalls Entitäten sein.
Wenigstens eine dieser assoziierten Informationen kann dann von einer der Analyseeinheiten als im aktuellen Kontext relevante Zielinformation ermittelt werden. Die Analyseeinheit kann hierfür (zum Beispiel mittels eines maschinellen Lernprozesses) trainiert werden, insbesondere in der Weise, dass sie auf Basis des aktuellen Sprach kontextes und einer Auswahl an assoziierten Informationen (Informationssatz oder, mit anderen Worten, Subset einer
Wissensdatenbank) die Zielinformation ermittelt. Hierunter kann insbesondere verstanden werden, dass die Analyseeinheit sämtliche assoziierten Informationen hinsichtlich ihrer möglichen Relevanz bewertet (zum Beispiel in Form einer Wahrscheinlichkeitsangabe) und diejenige mit der höchsten Relevanzbewertung dann als Zielinformation ausgewählt wird.
Hierdurch wird ermöglicht, dass einer zu der Entität passenden Zusatz- bzw. Zielinformationen sinnvoll in eine schlussendliche Antwortausgabe eingebunden werden kann. Somit muss allenfalls die weitere Analyseeinheit für den Umgang von mit vorbestimmten und vielfältigen Entitäten assoziierten Informationen trainiert werden, nicht aber diejenige Analyseeinheit, die die vorstehend erwähnte Antwortteilausgabe erzeugt. Auch müssen derartige assoziierte Informationen nicht selbst von der Analyseeinheit erzeugt werden, sondern können aus einer Wissensdatenbank abgerufen werden. Dies mindert den erforderlichen Funktionsumfang der Analyseeinheit und erleichtert somit auch deren Lernprozess.
Mit anderen Worten wird also erfindungsgemäß ermöglicht, zwischen Inhalten einer
Spracheingabe, die erhöhten Variationen unterliegen können (hierin als Entität bezeichnet) und/oder mit einer Vielzahl von weiteren Informationen assoziiert sein können, und zwischen Information bzw. Inhalten der Spracheingabe zu differenzieren, die häufig wiederkehren und zum Beispiel keine Eigennamen sind. Für beide diese Arten von Information/Inhalten können dann separate Analyseeinheiten vorgesehen sein, die für die ihnen jeweils zugeordneten Analyseaufgaben entsprechend optimiert sind und deren Lernprozesse entsprechend zielgerichtet durchgeführt werden können. Vorteilhaft ist ferner das Einbinden einer
Wissensdatenbank, aus denen eine der Analyseeinheiten dann relevante Zielinformationen zum Einbinden in eine schlussendliche Antwortausgabe auswählen kann. Wie vorstehend erwähnt, kann die Wissensdatenbank auch fortlaufend durch neue Entitäten ergänzt werden, ohne dass hierfür zwingend neue Lernprozesse die Analyseeinheiten durch geführt werden müssen.
Im Detail wird ein Verfahren zum Erzeugen einer Antwortausgabe in Reaktion auf eine
Spracheingabeinformation (die zum Beispiel eine in Textform umgewandelte Spracheingabe ist) vorgeschlagen, mit:
a) Ermitteln, ob eine Spracheingabeinformation wenigstens eine vordefinierte Entität umfasst; und wenn dies der Fall ist:
b) Erzeugen eines Sprachinformationssatzes auf Basis der Spracheingabeinformation, in dem die Entität nicht enthalten ist;
c) Erzeugen eines Informationssatzes (Entitätsinformationssatz), wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank umfasst;
d) mit einer ersten Analyseeinheit: Ermitteln wenigstens einer Zielinformation aus dem
Informationssatz, die hinsichtlich der (ermittelten vordefinierten) Entität relevant ist;
e) mit einer zweiten Analyseeinheit: Erzeugen einer Antwortteilausgabe auf Basis der
ermittelten Zielinformation; und
f) Erzeugen einer Antwortausgabe auf Basis der Antwortteilausgabe.
Allgemein kann das Verfahren computergestützt ausgeführt werden und/oder mittels
wenigstens einer (vorzugsweise digital und/oder elektronisch betriebenen) Recheneinheit (zum Beispiel mit einer Grafikkarte, einem Mikroprozessor oder einem allgemeinen Computer Prozessor). Beispielsweise kann das Verfahren mit einem herkömmlichen PC durchgeführt werden.
Wenigstens eine von Spracheingabeinformation und Antwortausgabe können in Form einer Audiodatei oder als Audioinformation vorliegen bzw. erzeugt werden. Zusätzlich oder alternativ könnte die Spracheingabeinformation und/oder die Antwortausgabe in Textform vorliegen. Prinzipiell kann vorgesehen sein, dass die erfindungsgemäße Lösung derart eingesetzt wird, dass sie in ein System, das Umwandlungen zwischen Audio- und Textinformationen durchführt, eingebettet ist. Beispielsweise können sogenannte ASR-Einheiten (Automatic Speech
Recognition) eine Audio-Spracheingabe in Text übersetzen (was dann einer beispielhaften erfindungsgemäßen Spracheingabeinformation entspricht), welcher dann von
erfindungsgemäße Lösung verarbeitet wird. Zusätzlich kann eine nachgelagerte TTS-Einheit erfindungsgemäß erzeugte sowie textbasierte Antwortausgabe in eine Audioausgabe übersetzen. Es ist aber auch möglich, dass die erfindungsgemäße Lösung derartige ASR- und/oder TTS-Einheiten bzw. allgemein Audio- und Textkonvertierungsfunktionen umfasst. Weiter können, sofern nicht anders angegeben oder ersichtlich, Bezugnahmen auf
Spracheingabeinformationen hierin sowohl Eingaben in Audioformat als auch in Textform umgewandelte (Audio-) Eingaben umfassen (d. h. die Spracheingabeinformation kann allgemein in Audio- oder in Textform vorliegen, wobei zum Bereitstellen der erfindungsgemäßen Maßnahmen eine zumindest temporäre Umwandlung in Textform bevorzugt ist).
Als Entität kann, wie vorstehend angedeutet, zum Beispiel eine gegenstands-, orts-, zeit-, Objekt-, organisations-, werk- oder sachbezogene Bezeichnung und insbesondere ein
Eigenname oder ein Zahlenwert vordefiniert sein. Um derartige Entitäten zu erkennen, können existierende Lösungen verwendet werden, beispielsweise sogenannte„named-entity recognition“ oder„named-entity-resolution“ Algorithmen. Auf diese Weise können
beispielsweise Entitäten in Form von vordefinierten Eigennamen erkannt werden, wie sie zum Beispiel zur Bezeichnung von Sportmannschaften, Filmen, Orten oder Personen verwendet werden.
Der Sprachinformationssatz kann im Form eines Datensatzes oder allgemein als digitale Information erzeugt werden. Der Sprachinformationssatz kann die Spracheingabeinformation enthalten, bei der als ein erstes Erkennungsergebnis die Spracheingabeinformation mit Ausnahme der Entität zumindest teilweise in Textform vorliegt. Die Entität kann entweder gelöscht oder ersetzt werden, vorzugsweise durch einen sogenannten Platzhalter (oder, mit anderen Worten, durch ein Template). Der Platzhalter kann beispielsweise ein die Entität bezeichnenden Titel, Oberbegriff oder einen Identifizierer enthalten. Es wird allgemein bevorzugt, dass die zweite Analyseeinheit den Platzhalter mit berücksichtigt, um die
Antwortteilausgabe zu bestimmen.
Wird in der Spracheingabeinformation (insbesondere in Textform) eine der vordefinierten Entitäten zum Beispiel mittels eines„named-entity-resolution“ Algorithmus erkannt, können statt dieser Entität erfindungsgemäß entsprechende Platzhalter in das Erkennungsergebnis und/oder in die Textform eingebunden werden. Dies kann mittels eines sogenannten Konstruktors erfolgen.
In der Wissensdatenbank können Informationen hinterlegt und z.B. mittels sogenannter Tags, Identifiern, Hashes oder sogenannter Key-Value-Zusammenhängen assoziiert und abrufbar sein. Über die vorstehend aufgelisteten Merkmale kann ein Zusammenhang zu einer (in der Spracheingabeinformation) erkannten Entität hergestellt werden. Wurde zum Beispiel als Entität ein Filmtitel erkannt, können auf diese Weise assoziierte Informationen in Form darin spielender Schauspieler, einer dazugehörigen Jahreszahl, einem Drehort oder dergleichen ermittelt werden, die ebenfalls in der Wissensdatenbank hinterlegt und vorzugsweise per einem der o.g. Zusammenhänge mit der Entität verknüpft sind.
Allgemein kann also eine Hash-Anfrage an die Wissensdatenbank gerichtet werden, um mit der Entität in der Wissensdatenbank verknüpfte Informationen als Informationssatz
zusammenzustellen.
In dem Informationssatz können beispielsweise sämtliche aufgefundenen Einträge aus der Informationsdatenbank als Zahlenwerte ausgedrückt und/oder in Vektoren umgerechnet gesammelt werden. Vorzugsweise können diese Zahlenwerte bzw. Vektoren in einer Matrix gespeichert werden, welche die erste Analyseeinheit anschließend als Eingangsinformation verwendet, um (vorzugsweise basierend auf einem Analyseergebnis der zweiten Analyseeinheit als weitere Eingangsgröße) eine am relevantesten scheinende Zielinformation zu identifizieren.
Sowohl die erste als auch die zweite Analyseeinheit können jeweils als
Computerprogrammprodukte und insbesondere Computerprogramme oder Softwaremodule bereitgestellt sein. Sie können jedoch (im Vergleich zueinander) abweichende Eingangs und/oder Ausgangsgrößen aufweisen bzw. für ein Verarbeiten und Erzeugen entsprechend abweichender Eingangs- und/oder Ausgangsgrößen eingerichtet sein.
Allgemein ist darauf hinzuweisen, dass sich der Begriff Analyse im Zusammenhang mit den Analyseeinheiten auf ein Analysieren im Sinne eines Ermittelns einer geeigneten
Antwortausgabe (oder zumindest von Bestandteilen einer Antwortausgabe), dem Ermitteln der Zielinformation und/oder das Erfassen des semantischen Inhalts von zumindest Teilen der Spracheingabeinformation richten kann, sofern nicht anders angegeben oder ersichtlich. Bei den Zielinformationen kann es sich um diejenigen Informationen aus dem Informationssatz handeln, die hinsichtlich der Entität die höchste (vermutete) Relevanz besitzen. Dabei kann sich die Relevanz insbesondere auf den aktuell vorliegenden Dialogzustand richten bzw. diese kann anhand einer Dialoghistorie bestimmt werden (von der ersten Analyseeinheit). Genauer gesagt kann die erste Analyseeinheit als Eingangsgröße die Dialoghistorie (hierin gleichbedeutend auch als Sprachkontext bezeichnet) sowie den Informationssatz erhalten. Die erste
Analyseeinheit kann im Rahmen eines maschinellen Lernprozesses darauf trainiert worden sein, auf Basis dieser Eingangsgrößen dann einer der Informationen des Informationssatzes als Zielinformation auszuwählen bzw. als besonders relevant zu bewerten. Diese Information kann eine oder mehrere Entitäten umfassen, die zum Erzeugen der Antwortteilausgabe als relevant angesehen werden. Der Sprachkontext kann zum Beispiel von der zweiten Analyseeinheit erhalten werden. Als Ausgangsgröße kann die erste Analyseeinheit dann die Zielinformation ausgeben und zwar bevorzugt an die zweite Analyseeinheit.
Die zweite Analyseeinheit kann hingegen als Eingangsgrößen den Sprachinformationssatz (insbesondere einschließlich etwaiger Platzhalter) sowie die ermittelte Zielinformation erhalten. Die zweite Analyseeinheit kann darauf trainiert worden sein (zum Beispiel im Rahmen eines maschinellen Lernprozesses) darauf basierend eine Antwortteilausgabe zu erzeugen und auszugeben.
Anders ausgedrückt kann wenigstens und vorzugsweise genau eine aus den im
Informationssatz enthaltenen und mit der Entität verknüpften Informationen als Zielinformation ausgewählt werden. Diese Zielinformation besetzt vorzugsweise eine aktuell höchste Relevanz und/oder scheint bezogen auf den aktuellen Sprachkontext am angemessensten, um Teil der Antwortausgabe zu werden. Es wird allgemein bevorzugt, dass die zweite Analyseeinheit erst in Kenntnis und insbesondere in Abhängigkeit von dieser ermittelten Zielinformation dann die Antwortteilausgabe bestimmt. Die Zielinformation kann, muss aber nicht Bestandteil der Antwortteilausgabe und/oder der Antwortausgabe werden. Allgemein kann die Zielinformation wenigstens eine Entität umfassen oder eine Gruppe von Entitäten. Beispielsweise kann die Zielinformation einer Zeile aus einer nachstehend diskutierten Matrix entsprechen, in der die Einträge des Informationssatzes einsortiert werden bzw. die den Informationssatz bilden.
Wird beispielsweise aktuell ein Filmtitel im Rahmen der Spracheingabeinformation erwähnt und allgemein die Qualität der Besetzung hervorgehoben, kann es relevant sein, in einem nächsten Schritt Schauspielername als Zielinformationen auszuwählen, die mit dem als Entität erkannten Filmtitel verknüpft sind und diese Teil der Antwortausgabe werden zu lassen. Wird hingegen der aus der Spracheingabeinformation deutlich, dass seitens eines Benutzers der Wunsch besteht, den Film erst noch zu sehen, kann es relevanter sein, mögliche Abspielorte oder
Ansichtmöglichkeiten des Films zu diskutieren (also beispielsweise die Begriffe DVD, Kino oder dergleichen Teil der Antwortausgabe werden zu lassen).
Die zweite Analyseeinheit kann hingegen die Antwortteilausgabe (z.B. als Text- oder
Audioausgabe) auf Basis des Sprachinformationssatzes erzeugen. Insbesondere kann die zweite Analyseeinheit einen aktuellen Dialogzustand ermitteln und/oder einen Sprachkontext (hierin gleichbedeutend mit der Dialoghistorie). Dialogzustände können z.B. vordefinierte Zustände sein, wie bspw. das Stellen einer Frage zu einem definierten Themenkomplex.
Das Erzeugen einer schlussendlichen Antwortausgabe kann mittels einer optionalen
Rekonstruktionseinheit erfolgen. Allgemein kann sich die Antwortausgabe von der
Antwortteilausgabe dahingehend unterscheiden, dass sie die Antwortteilausgabe enthält, aber auch gegebenenfalls die darin eingefügte und/oder zusätzlich ergänzte Zielinformation und/oder Entitäten, welche in der Antwortteilausgabe möglicherweise noch enthaltene Platzhalter ersetzen.
Anders ausgedrückt kann die Antwortausgabe eine Kombination von Antwortteilausgabe und Zielinformation sein und/oder die in die Antwortteilausgabe eingesetzte(n) Zielinformation(en) umfassen. Insbesondere können etwaige Platzhalter in der Antwortteilausgabe durch die Zielinformation aber auch durch anderweitige Entitäten ersetzt werden. Ein technischer Beitrag der erfindungsgemäßen Lösung ist insbesondere darin zu sehen, dass relevante
Zielinformationen mit begrenztem Aufwand ermittelbar und mit der zweiten Analsyseeinheit zu den aufgefundenen Zielinformationen passende Satzstrukturen (Antwortteilausgaben) gebildet werden können. Anschließend kann dann die vorstehende erläuterte Zusammenführung dieser Inhalte zum Erzeugen der Antwortausgabe erfolgen.
Gemäß einer Ausführungsform kann demnach vorgesehen sein, dass in dem
Sprachinformationssatz die Entität durch einen Platzhalter ersetzt ist, der anschließend wieder durch die Entität ersetzt wird, sofern er in der Antwortteilausgabe noch enthalten ist. Dies kann zum Beispiel im Rahmen von zu Schritt f) erfolgen. Sind keine entsprechenden Platzhalter enthalten, kann auch der Fall eintreten, dass sie Antwortteilausgabe der schlussendlichen Antwortausgabe entspricht. Statt von einer Antwortteilausgabe könnte deshalb auch von einer Antwortausgabeinformation gesprochen werden, die durch Ersetzen der Platzhalter potenziell noch weiterverarbeitet wird oder die der schlussendlichen Antwortausgabe bereits entspricht. Eine Weiterbildung der Erfindung sieht vor, dass die zweite Analyseeinheit Analyseergebnisse der ersten Analyseeinheit erhält (z.B. in Form der ermittelten Zielinformation oder einer Gruppe (Subset) von Entitäten, die die Zielinformationen bilden), um die Antwortteilausgabe zu ermitteln. Genauer gesagt können diese Analyseergebnisse eine Eingangsgröße der zweiten Analyseeinheit bilden. Die zweite Analyseeinheit kann allgemein dazu trainiert werden bzw. erlernen, geeignete Antwortteilausgaben auf Basis derartiger Analyseergebnisse zu ermitteln.
Gemäß einer Weiterbildung umfassen die erste und/oder die zweite Analyseeinheit ein
(künstliches) neuronales Netz. Insbesondere kann zumindest bei der zweiten Analyseeinheit ein mehrere Schichten umfassendes (also ein sogenanntes tiefes bzw.„deep“) neuronales Netz vorgesehen sein, bei der eine sogenannte Eingangsschicht und Ausgangsschicht über mehrere Schichten verknüpft sind. Jede Schicht eines neuronalen Netzes kann in sich bekannter Weise Knoten enthalten und die Knoten sind mit einem oder mehreren Knoten in einer benachbarten Schicht über gewichtete Verbindungen verknüpft sein. Die Gewichte und Verknüpfungen von Knoten können in an sich bekannter Weise innerhalb eines Trainings bzw. Lernprozesses des neuronalen Netzes erlernt werden. Allgemein können die neuronalen Netze einen nichtlinearen Zusammenhang zwischen Eingangsgrößen und Ausgangsgrößen definieren und somit anhand bereitgestellter Eingangsgrößen geeignete Ausgangsgrößen ermitteln. Die Nichtlinearität kann durch sogenannte Aktivierungsfunktionen eines neuronalen Netzes bedingt sein bzw.
berücksichtigt werden. Die Netze können einen mathematischen Zusammenhang von
Eingangs- und Ausgangsgrößen durch entsprechende Knoten und Schichten abbilden.
In diesem Zusammenhang kann ferner vorgesehen sein, dass die zweite Analyseeinheit ein neuronales Netz in Form eines (vorzugsweise hierarchischen) Sequenz-zu-Sequenz-Modells umfasst (Seq2Seq-Modell). Dieses kann in an sich bekannter Weise wenigstens einen Encoder umfassen, der Eingangsgrößen erhält (z.B. den Sprachinformationssatz). Weiter kann der Encoder basierend auf den Eingangsgrößen einen Zustand ermitteln und diesen an einen Decoder des Netzes ausgeben. Dieser kann eine Antwortteilausgabe der hierin erläuterten Art erzeugen und diese als Ausgangsgröße ausgeben.
Alternativ oder zusätzlich kann die erste Analyseeinheit ein neuronales Netz in Form eines Feed-Forward-Netzes und/oder mit einem Attention-Mechanismus umfassen. Das Feed- Forward-Netz kann allgemein frei von Rückkopplungen sein und somit ein einfaches, insbesondere lediglich zwei Schichten aufweisendes Netz sein. Es kann als Eingangsgrößen den Informationssatz und den Sprachkontext (Dialoghistorie) erhalten und insbesondere einen in Vektordarstellung codierten oder umgerechneten Informationssatz.
Allgemein kann die erste Analyseeinheit aus der Wissensdatenbank eine Gruppe (Subset) von ggf. relevanten Informationen ermitteln und hieraus dann die Zielinformation bestimmen.
Letzteres erfolgt bevorzugt mittels des Attention-Mechanismus. Prinzipiell kann mittels des Attention-Mechanismus für jede Information des Subsets auf Basis der Dialoghistorie ein Wert (score) berechnet werden, der deren vermutete Relevanz angibt, zum Beispiel im Sinne einer Wahrscheinlichkeit. Niedrig bewertete Informationen können nicht als Zielinformation ausgewählt werden und keinen Einfluss auf die Antwortteilausgabe besitzen, da sie von der zweiten Analyseeinheit nicht berücksichtigt werden.
Gemäß einer Weiterbildung erhält die erste Analyseeinheit als Eingangsgröße eine
Vektordarstellung (oder, mit anderen Worten, Vektorrepräsentation) des Informationssatzes. Dies kann über ein sogenanntes Embedding erfolgen, bei der in der Wissensdatenbank hinterlegte Informationen (diejenigen, die der Entität zugeordnet sind) in Vektordarstellungen umgerechnet werden. Das Resultat kann der von der ersten Analyseeinheit ausgewertete bzw. untersuchte Informationssatz sein. Alternativ kann als Informationssatz der vor der
entsprechenden vektoriellen Umwandlung vorliegende Informationssatz betrachtet werden und infolge des Embeddings eine Vektorrepräsentation dieses Informationssatzes erzeugt werden.
Das Umrechnen in eine Vektorrepräsentation bietet allgemein den Vorteil, dass die
Analyseeinheit auf ein mathematisches Modell bzw. eine mathematische Funktion gestützt werden kann und daher die Eingangsgröße in Form einer Vektordarstellung besser verarbeiten kann. Hierbei können basierend auf bekannten Ansätzen wie„Word2Vec“ oder„GloVe“ vorteilhafterweise auch semantische Informationen eingebunden werden.
Gemäß einer weiteren Ausführungsform ist die zweite Analyseeinheit nicht dazu eingerichtet, zu den ermittelten Entitäten (selbst) Zielinformationen (bzw. Ziel-Entitäten) auf Basis eines Informationssatzes aus der Wissensdatenbank zu ermitteln. Insbesondere kann die zweite Analyseeinheit nicht dazu eingerichtet sein, relevante und/oder zugeordnete Zielinformationen (bzw. Ziel-Entitäten) zu ermitteln, insbesondere nicht auf Basis von Einträgen der
Wissensdatenbank und/oder vorstehend erläuterter Informationssätze. Insbesondere kann die Analyseeinheit hierfür nicht trainiert sein und/oder keine entsprechenden Zusammenhänge abbilden oder erkennen können. Allerdings kann die zweite Analyseeinheit dazu eingerichtet und insbesondere dazu trainiert sein, die Zielinformation zu verstehen und/oder darauf basierend eine passende Antwortteilausgabe zu erzeugen. Das Ermitteln der Zielinformation an sich soll aber bevorzugt durch die erste Analyseeinheit erfolgen. Dies ermöglicht, dass die zweite Analyseeinheit stattdessen auf andere Aufgaben spezialisiert und der Trainingsaufwand entsprechend angepasst werden kann. Beispielsweise sollte die zweite Analyseeinheit zwar gegebenenfalls mit Platzhaltern oder allgemein Entitäts-Klassifizierungen, wie„Filmtitel“ umgehen können, nicht aber sämtliche damit konkret assoziierten Entitäten bzw. Eigennamen erlernen müssen. Stattdessen können diese konkreten Entitäten (vorzugsweise aber nicht optional hierfür verwendete Platzhalter) aus dem Analyseumfang der zweiten Analyseeinheit gezielt ausgeklammert werden, die stattdessen bevorzugt allenfalls auf Basis der Platzhalter bzw. Entitäts-Klassifizierungen sowie der Zielinformationen und des Sprachkontextes
Antwortteilausgaben erzeugt und hierfür entsprechend trainiert wird.
Zusätzlich oder alternativ kann vorgesehen sein, dass die erste Sprachanalyseeinheit nicht den Sprachinformationssatz als eine Eingangsgröße erhält und/oder nicht dazu eingerichtet ist, eine (bzw. die) Antwortteilausgabe selbstständig zu erzeugen.
Die Erfindung betrifft ferner ein System zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation, mit:
a) einer Ermittlungseinheit, die dazu eingerichtet ist, zu ermitteln, ob eine
Spracheingabeinformation wenigstens eine vordefinierte Entität umfasst;
b) einer Sprachinformationssatz-Erzeugungseinheit, die dazu eingerichtet ist, einen
Sprachinformationssatz auf Basis der Spracheingabeinformation zu erzeugen, in dem eine ermittelte Entität nicht enthalten ist;
c) einer Informationssatz-Erzeugungseinheit, die dazu eingerichtet ist, einen Informationssatz zu der Entität zu erzeugen, wobei der Informationssatz der Entität zugeordnete
Informationen aus einer Wissensdatenbank enthält;
d) einer ersten Analyseeinheit, die dazu eingerichtet ist, wenigstens eine Zielinformation aus dem Informationssatz zu ermitteln, die hinsichtlich der Entität relevant ist;
e) einer zweiten Analyseeinheit, die dazu eingerichtet ist, eine Antwortteilausgabe auf Basis der ermittelten Zielinformation zu erzeugen; und
f) einer Antwortausgabeeinheit, die dazu eingerichtet ist, eine Antwortausgabe auf Basis der Antwortteilausgabe zu erzeugen.
Schließlich betrifft die Erfindung auch das Verwenden eines Systems gemäß dem vorigen Aspekt für das Erzeugen von Antwortausgaben bei nicht-zielgeführten Dialogen. Es hat sich gezeigt, dass das erfindungsgemäße Vorsehen der beiden Analyseeinheiten und somit Aufteilen der jeweiligen Analyseaufgaben bei entsprechenden nicht-zielgeführten Dialogen (zwischen einem Benutzer und einem computergestützten System) besonders vorteilhaft ist.
Das System kann allgemein dazu eingerichtet sein, ein Verfahren gemäß jeglichen der vorstehenden und nachstehenden Aspekte auszuführen. Sämtliche Weiterbildungen, die im Kontext mit analogen Verfahrensmerkmalen diskutiert werden, können bei den gleichlautenden Systemmerkmalen ebenso vorgesehen sein. Das System kann allgemein computerbasiert sein bzw. als ein computerbasiertes Sprachdialogsystem bezeichnet werden. Die Einheiten des Systems können als Softwaremodule und/oder als Bestandteil eines
Computerprogrammproduktes (zum Beispiel in Form einzelner Softwarefunktionen) realisiert sein. Das System kann optional eine Recheneinheit umfassen (z. B. einen Prozessor), auf der die Einheiten vorzugsweise ausführbar sind, und/oder eine Speichereinrichtung, auf der vorzugsweise die Wissensdatenbank abgespeichert ist.
Im Folgenden wird eine Ausführungsform der Erfindung anhand der beigefügten Figuren erläutert. Es stellen dar:
Fig. 1 eine Übersichtsdarstellung eines erfindungsgemäßen Systems gemäß einer
Ausführungsform;
Fig. 2 eine Detaildarstellung des Systems aus Fig. 1 ; und
Fig. 3 ein Ablaufschema von einem mit dem System der Figuren 1 und 2 ausgeführten erfindungsgemäßen Verfahren.
In Fig. 1 ist ein erfindungsgemäße System 10 gemäß einer Ausführungsform schematisch gezeigt. Dieses System 10 ist als ein Computerprogrammprodukt realisiert, bei dem in an sich bekannter Weise nachstehend erläuterte Funktionen bzw. Funktionsblöcke durch einzelne Programmmodule realisiert sein können. Das System 10 kann auf der Recheneinheit eines herkömmlichen PCs ausgeführt werden. Einzig die nachstehend erläuterte Wissensdatenbank 14 kann als eine Datensammlung nicht primär als ein Software-Modul oder eine von einer Recheneinheit ausführbare Funktion verstanden werden, sondern als eine Datensammlung des Systems 10 hinterlegt sein. Sämtliche hierin erwähnten Einheiten des Systems 10 können entsprechend als Softwaremodul, Computerprogrammprodukt oder Softwarefunktion realisiert sein. Das System 10 kann optional aber auch Hardwarekomponenten in Form einer Recheneinheit (Prozessor und/oder Grafikkarte) und/oder einer Speichereinrichtung für die Wissensdatenbank umfassen.
Das System 10 erhält als eine Eingangsgröße eine Spracheingabeinformation E in Form einer bereits in Textform umgewandelten Audioeingabe. In einer Ermittlungseinheit 12, die ein Eigennamenerkennungsmodul (NER - Named Entity Recogniser oder Named Entity Resolver) ist und auf bekannten Algorithmen beruht, können in der Spracheingabeinformation enthaltene vordefinierte Entitäten erkannt werden. Hierfür kann die Ermittlungseinheit 12 auf eine nachstehend erläuterte Wissensdatenbank 14 zurückgreifen, in der entsprechende Entitäten hinterlegt sind. Das Erkennen von Entitäten in Spracheingabeinformationen (insbesondere wenn diese bereits in Textform vorliegen) ist an sich bekannt und kann durch Verwenden herkömmlicher Named Entity Recogniser, die typischerweise auf neuronalen Netzen basieren können, praktisch umgesetzt werden.
Als Ausgangsgröße kann die Ermittlungseinheit 12 entsprechende in der
Spracheingabeinformation E enthaltene Entitäten definieren. Die Ausgangsinformation der Ermittlungseinheit 12 wird einer Sprachinformationssatz-Erzeugungseinheit 16 zugeführt, die auch als Konstruktor bezeichnet werden kann. Die Sprachinformationssatz-Erzeugungseinheit 16 erzeugt einen Sprachinformationssatz (z.B. in Form einer Textdatei), in dem die Entitäten jeweils durch einen Platzhalter ersetzt sind oder, allgemein ausgedrückt, in dem erkannte Entitäten nicht vorhanden sind. Dieser wird einem Analyseblock 18 als Eingangsgröße zugeführt.
Dies hat den Vorteil, dass eine nachstehend erläuterte zweite Analyseeinheit 24 (siehe Figur 2), die in dem in Fig. 1 lediglich schematisch angedeuteten Analyseblock 18 enthalten ist, nicht für eine Analyse von bzw. auf Basis der konkreten Entitäten eingerichtet sein muss, sondern allenfalls für den Umgang mit entsprechenden Platzhaltern. Es versteht sich, dass die Entitäten einer deutlich höheren Variation unterliegen als die Platzhalter, welche als Oberbegriff für eine Mehrzahl verschiedener Entitäten zu verstehen sind. Dies kann den Lern- bzw.
Trainingsaufwand reduzieren. Stattdessen kann die entsprechende zweite Analyseeinheit 24 dafür spezialisiert (und insbesondere darauf beschränkt) sein, den allgemeinen Sprachkontext zu ermitteln, wobei etwaige Entitäten gänzlich ausgeklammert oder lediglich als Platzhalter berücksichtigt werden (zum Beispiel in Form von„Film“ (Platzhalter) anstelle des konkreten Filmtitels (Entität) innerhalb einer die Spracheingabeinformation repräsentierenden Textdatei). Auch der Analyseblock 18 kann auf die Wissensdatenbank 14 zugreifen, wie durch
entsprechende Pfeile in Fig. 1 angedeutet. Als Ausgangsgröße gibt der Analyseblock 18 eine nachstehend erläuterte Antwortteilausgabe aus. Enthält diese nach wie vor Platzhalter, werden diese in einer Antwortausgabeeinheit 21 , die auch als Rekonstruierer bezeichnet werden kann, durch passende Entitäten ersetzt und somit mit der Antwortteilausgabe zu einer Antwortausgabe A kombiniert. Die Antwortausgabe A kann wiederum eine Textdatei sein oder umfassen und beispielsweise einem Benutzer nach Umwandlung in eine Audiodatei über ein Audioausgabegerät ausgegeben werden.
In Fig. 2 ist eine Detaildarstellung des Systems 10 aus Fig. 1 gezeigt. Darin sind insbesondere weitere Details des Analyseblocks 18 ersichtlich. Man erkennt wiederum die
Spracheingabeinformation E, die in Textform vorliegt, sowie die Ermittlungseinheit 12, die mit Hilfe der Wissensdatenbank 14 Entitäten innerhalb der Eingangsgröße E erkennen kann.
Ebenso gezeigt ist die Sprachinformations-Erzeugungseinheit 16.
Zu beachten ist, dass ein Zugriff der Ermittlungseinheit 12 auf die Wissensdatenbank 14 rein optional ist und z.B. erfolgen kann, um eine Erkennungsgenauigkeit zu erhöhen. Allgemein und nicht auf das vorliegende Beispiel und dessen weitere Details beschränkt, kann die
Ermittlungseinheit 12 ferner Information z.B. aus der Spracheingabeinformation E verarbeiten, um die Erkennungsgenauigkeit zu erhöhen. Enthält diese z.B. Schauspielernamen, steigt die Wahrscheinlichkeit, dass es sich bei einer weiteren Entität in der Eingabe um einen Filmtitel handelt.
Der Analyseblock 18 ist strichliert Umrissen und dessen einzelne Funktionsblöcke sind gezeigt. Man erkennt zunächst eine Vektorerzeugungseinheit 20 (Embedder), mit der ein nachstehend erläuterter Informationssatz als eine Vektorrepräsentation dargestellt werden kann. Hierfür kann eine in die Vektorerzeugungseinheit 20 integrierte Informationssatz-Erzeugungseinheit 25 auf die Wissensdatenbank 14 zugreifen und zunächst Informationen ermitteln, die laut der
Wissensdatenbank 14 mit der ermittelten Entität assoziiert sind bzw. dieser zugeordnet sind. Dies kann über eine sogenannte Hash-Anfrage erfolgen. Diese Informationen können dann als Informationssatz (Subset) zusammengefasst und in eine Vektorrepräsentation umgerechnet werden.
Letztere bildet dann eine Eingangsgröße einer ersten Analyseeinheit 22. Diese ist als ein„feed- forward“ neuronales Netz ausgebildet und kann unter Verwenden des als Vektorrepräsentation dargestellten Informationssatzes eine darin enthaltene Information als Zielinformation auswählen, auf deren Basis die nachstehend erläuterte zweite Analyseeinheit 24 eine Antwortteilausgabe ermitteln soll. Hierfür wird auch der nachstehend erläuterte Sprachkontext berücksichtigt, der ein Analyseergebnis der zweiten Analyseeinheit 24 ist (siehe entsprechende pfeilförmig dargestellte Verbindungen zwischen diesen Einheiten in Figur 2). Anschließend ermittelt das neuronale Netz der ersten Analyseeinheit 22 ein insbesondere in Anbetracht des aktuellen Sprach kontextes relevante Information aus dem der Entität zugeordneten
Informationssatz als Zielinformation. Hierbei handelt es sich bevorzugt um diejenige Information des Informationssatzes, die von der ersten Analyseeinheit 22 mit einer höchsten
Wahrscheinlichkeit als relevant eingestuft wird bzw. eine höchste Relevanzbewertung von der ersten Analyseeinheit 22 erhalten hat. Die Zielinformation bildet eine Ausgangsgröße der zweiten Analyseeinheit 22 und wird an die erste Analyseeinheit 24 ausgegeben.
Ferner erkennt man, dass der Analyseblock 18 die zweite Analyseeinheit 24 umfasst, die den Sprachinformationssatz der Erzeugungseinheit 16 und die Zielinformation der ersten
Analyseeinheit 22 als Eingangsgröße erhält.
Die zweite Analyseeinheit 24 ermittelt basierend auf diesen Eingangsgrößen und unter
Berücksichtigung von durch die Sprachinformationssatz-Erzeugungseinheit 16 eingefügten Platzhaltern sowie von einem fortlaufend ermittelten und aktualisierten Sprachkontext, eine Antwortteilausgabe. Der Sprachkontext deutet insbesondere daraufhin, welche Art von
Antwortausgabe A voraussichtlich relevant und aus Sicht des Benutzers angemessen wäre. Dieser Sprachkontext wird auch an die erste Analyseeinheit 22 ausgegeben um anschließend die hiervon ermittelte Zielinformation zu erhalten.
In der ermittelten Antwortteilausgabe sind weder die Entitäten der Spracheingabeinformation E noch die dazugehörigen Zielinformationen enthalten. Letztere werden in der vorstehend geschilderten Weise von der ersten Analyseeinheit 22 ermittelt und erst in dem
Antwortausgabeteil 21 eingebunden, und zwar in der Weise, dass etwaige in der
Antwortteilausgabe noch vorhandene Platzhalter zum Beispiel durch eine entsprechende Zielinformation ersetzt werden können.
Im Folgenden wird anhand von Figur 3 ein beispielhaftes Ablaufschema eines
erfindungsgemäßen Verfahrens geschildert. In einem Schritt S1 wird die
Spracheingabeinformation E in Textform erhalten und von der Ermittlungseinheit 12 auf vorhandene Entitäten überprüft. Werden keine Entitäten festgestellt, ermittelt der Analyseblock 18 allein mithilfe der zweiten Analyseeinheit 24 die Antwortausgabe A, wobei dieser Fall in Figur 3 nicht gesondert dargestellt ist. Wird das Vorhandensein einer Entität ermittelt, wird in einem Schritt S2 von der Sprachinformationssatz-Erzeugungseinheit 16 ein Sprachinformationssatz erzeugt, in dem Entitäten in der Spracheingabeinformation E jeweils durch einen Platzhalter ersetzt sind.
Zum Schritt S2 vorgelagert, nachgelagert (wie in Figur 3) oder zumindest teilweise parallel hierzu ermittelt die Informationssatz-Erzeugungseinheit 25 in Schritt S5 Informationen, die der Entität laut Wissensdatenbank 14 zugeordnet sind. Diese werden in dem vorstehend erwähnten Informationssatz zusammengefasst und im Schritt S6 von der Vektorerzeugungseinheit 20 in eine Vektordarstellung umgerechnet.
Die erste Analyseeinheit 22 ermittelt dann im Schritt S7 unter Berücksichtigung des
Sprach kontextes, der von der zweiten Analyseeinheit 24 erhalten werden kann, eine der Informationen des Informationssatzes als Zielinformation. Im Schritt S8 wird dann die
Antwortteilausgabe durch die zweite Analyseeinheit 24 anhand des Sprachinformationssatzes und der Zielinformation der ersten Analyseeinheit 22 bestimmt. Sind in der Antwortteilausgabe noch Platzhalter vorhanden, können diese mittels der Rekonstruktionseinheit 21 unter optionalen Zugriff auf die Wissensdatenbank 14 (sh. entsprechende Pfeile in Figuren 1 , 2) durch Entitäten ersetzt werden.
Ein Beispiel für eine Spracheingabeinformation ist„Mir gefällt der allererste James-Bond-Film sehr gut“. Als Entität kann darin die Bezeichnung„James-Bond“ als Filmtitel erkannt werden.
Als ein Platzhalter kann deshalb [Film] bzw. [movie] verwendet werden und aus der
Wissensdatenbank 14 können sämtliche zu diesem Film passenden Informationen als
Informationssatz ermittelt werden.. Die erste Analyseeinheit 22 ermittelt Zielinformationen aus dem Informationssatz, die in Anbetracht des Sprachkontextes sinnvoll erscheinen, zum Beispiel Schauspielernamen (hier beispielhaft X und Y). Die zweite Analyseeinheit 24 wird dann in Anbetracht dieser als Zielinformation ermittelten Entitäte(n) und in Anbetracht des
Sprachkontextes eine passende Antwortteilausgabe erzeugen, z.B. eine Rückfrage in der Weise„Mochten Sie lieber X oder Y als Darsteller?“ .
Gemäß einer nicht gesondert dargestellten Ausführungsform, die einen von den gezeigten Ausführungsbeispielen unabhängigen Aspekt der Erfindung darstellt, kann zumindest die erste Analyseinheit (optional aber auch die zweite) statt auf einem neuronalen Netz auf einem Expertenwissenmodell basieren. Vorteilhafterweise werden dann keine Trainingsdaten für eine entsprechende Analyseeinheit benötigt. Bezugszeichenliste
10 System
12 Ermittlungseinheit
14 Wissensdatenbank
16 Sprachinformationssatz-Erzeugungseinheit
18 Analyseblock
20 Vektorerzeugungseinheit
22 erste Analyseeinheit
24 zweite Analyseeinheit
25 Informationssatz-Erzeugungseinheit
A Antwortausgabe
E Spracheingabeinformation

Claims

Patentansprüche
1. Verfahren zum Erzeugen einer Antwortausgabe (A) in Reaktion auf eine
Spracheingabeinformation (E), mit:
a) Ermitteln, ob eine Spracheingabeinformation (E) wenigstens eine vordefinierte Entität umfasst;
und wenn dies der Fall ist:
b) Erzeugen eines Sprachinformationssatzes auf Basis der Spracheingabeinformation (E), in dem die Entität nicht enthalten ist;
c) Erzeugen eines Informationssatzes, wobei der Informationssatz der Entität
zugeordnete Informationen aus einer Wissensdatenbank (14) umfasst;
d) mit einer ersten Analyseeinheit (22): Ermitteln wenigstens einer Zielinformation aus dem Informationssatz, die hinsichtlich der Entität relevant ist;
e) mit einer zweiten Analyseeinheit (24): Erzeugen einer Antwortteilausgabe auf Basis der ermittelten Zielinformation; und
f) Erzeugen einer Antwortausgabe (A) auf Basis der Antwortteilausgabe.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass in dem
Sprachinformationssatz die Entität durch einen Platzhalter ersetzt ist, der anschließend wieder durch die Entität ersetzt wird, sofern er in der Antwortteilausgabe noch enthalten ist.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die erste und/oder die zweite Analyseeinheit (22, 24) ein neuronales Netz umfassen.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die zweite Analyseeinheit (24) ein neuronales Netz in Form eines Sequenz-zu-Sequenz Modells umfasst.
5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die erste Analyseeinheit (22) ein neuronales Netz in Form eines Feed-Forward-Netzes und/oder ein neuronales Netz mit einem Attention-Mechanismus umfasst.
6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erste Analyseeinheit (22) als Eingangsgröße eine Vektordarstellung des
Informationssatzes erhält.
7. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die zweite Analyseeinheit (24) nicht dazu eingerichtet ist, Zielinformationen zu den ermittelten Entitäten auf Basis eines Informationssatzes aus der Wissensdatenbank (14) zu ermitteln.
8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erste Analyseeinheit (22) nicht den Sprachinformationssatz als eine Eingangsgröße erhält und/oder nicht dazu eingerichtet ist, darauf basierend eine Antwortteilausgabe zu erzeugen.
9. System (10) zum Erzeugen einer Antwortausgabe (A) in Reaktion auf eine
Spracheingabeinformation (E), mit:
a) einer Ermittlungseinheit (12), die dazu eingerichtet ist, zu ermitteln, ob eine
Spracheingabeinformation (E) wenigstens eine vordefinierte Entität umfasst;
b) einer Sprachinformationssatz-Erzeugungseinheit (16), die dazu eingerichtet ist, einen Sprachinformationssatz auf Basis der Spracheingabeinformation zu erzeugen, in dem eine ermittelte Entität nicht enthalten ist;
c) einer Informationssatz-Erzeugungseinheit (25), die dazu eingerichtet ist, einen
Informationssatz zu der Entität zu erzeugen, wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank (14) enthält;
d) einer ersten Analyseeinheit (22), die dazu eingerichtet ist, wenigstens eine
Zielinformation aus dem Informationssatz zu ermitteln, die hinsichtlich der Entität relevant ist;
e) einer zweiten Analyseeinheit (24), die dazu eingerichtet ist, eine Antwortteilausgabe auf Basis der ermittelten Zielinformation zu erzeugen; und
f) einer Antwortausgabeeinheit (21 ), die dazu eingerichtet ist, eine Antwortausgabe auf Basis der Antwortteilausgabe zu erzeugen.
10. Verwenden eines Systems (10) nach Anspruch 9 für das Erzeugen von Antwortausgaben bei nicht-zielgeführten Dialogen.
PCT/EP2019/080901 2018-12-18 2019-11-11 Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation WO2020126217A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201980084669.4A CN113228165A (zh) 2018-12-18 2019-11-11 用于响应于语音输入信息来产生应答输出的方法、装置和应用

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018222156.1A DE102018222156A1 (de) 2018-12-18 2018-12-18 Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation
DE102018222156.1 2018-12-18

Publications (1)

Publication Number Publication Date
WO2020126217A1 true WO2020126217A1 (de) 2020-06-25

Family

ID=68581776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/080901 WO2020126217A1 (de) 2018-12-18 2019-11-11 Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation

Country Status (3)

Country Link
CN (1) CN113228165A (de)
DE (1) DE102018222156A1 (de)
WO (1) WO2020126217A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113192498A (zh) * 2021-05-26 2021-07-30 北京捷通华声科技股份有限公司 音频数据处理方法、装置、处理器及非易失性存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532444B1 (en) * 1998-09-09 2003-03-11 One Voice Technologies, Inc. Network interactive user interface using speech recognition and natural language processing
US20140379738A1 (en) * 2013-06-20 2014-12-25 Tencent Technology (Shenzhen) Company Limited Processing method and device of the user input information
US20150120288A1 (en) * 2013-10-29 2015-04-30 At&T Intellectual Property I, L.P. System and method of performing automatic speech recognition using local private data
US20160062983A1 (en) * 2014-09-02 2016-03-03 Samsung Electronics Co., Ltd. Electronic device and method for recognizing named entities in electronic device
US20180314689A1 (en) * 2015-12-22 2018-11-01 Sri International Multi-lingual virtual personal assistant

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075435B (zh) * 2007-04-19 2011-05-18 深圳先进技术研究院 一种智能聊天系统及其实现方法
DE102007042583B4 (de) * 2007-09-07 2010-12-09 Audi Ag Verfahren zur Kommunikation zwischen einer natürlichen Person und einem künstlichen Sprachsystem sowie Kommunikationssystem
US10956666B2 (en) * 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
CN108255934B (zh) * 2017-12-07 2020-10-27 北京奇艺世纪科技有限公司 一种语音控制方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532444B1 (en) * 1998-09-09 2003-03-11 One Voice Technologies, Inc. Network interactive user interface using speech recognition and natural language processing
US20140379738A1 (en) * 2013-06-20 2014-12-25 Tencent Technology (Shenzhen) Company Limited Processing method and device of the user input information
US20150120288A1 (en) * 2013-10-29 2015-04-30 At&T Intellectual Property I, L.P. System and method of performing automatic speech recognition using local private data
US20160062983A1 (en) * 2014-09-02 2016-03-03 Samsung Electronics Co., Ltd. Electronic device and method for recognizing named entities in electronic device
US20180314689A1 (en) * 2015-12-22 2018-11-01 Sri International Multi-lingual virtual personal assistant

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113192498A (zh) * 2021-05-26 2021-07-30 北京捷通华声科技股份有限公司 音频数据处理方法、装置、处理器及非易失性存储介质

Also Published As

Publication number Publication date
CN113228165A (zh) 2021-08-06
DE102018222156A1 (de) 2020-06-18

Similar Documents

Publication Publication Date Title
DE69010941T2 (de) Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache.
DE112018002601T5 (de) Verarbeitung natürlicher sprache unter verwendung von kontextspezifischen wortvektoren
DE69629763T2 (de) Verfahren und Vorrichtung zur Ermittlung von Triphone Hidden Markov Modellen (HMM)
DE60317130T2 (de) Vorrichtung und Verfahren zur Bereitstellung von Informationen mittels einer Sprachdialogschnittstelle
DE102016125918A1 (de) Komprimierte rekurrente neuronale Netzwerkmodelle
EP3652664A1 (de) Verfahren zur dialogführung zwischen mensch und computer
DE112016000509T5 (de) Batch-Normalisierungsschichten
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE112006000322T5 (de) Audioerkennungssystem zur Erzeugung von Antwort-Audio unter Verwendung extrahierter Audiodaten
EP3798922A1 (de) Vorrichtung und verfahren zum maschinenlernen und ansteuern einer maschine
DE112015003382T5 (de) Spracherkennungseinrichtung und Spracherkennungsverfahren
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
DE69333762T2 (de) Spracherkennungssystem
DE19849855C1 (de) Verfahren zur automatischen Generierung einer textlichen Äußerung aus einer Bedeutungsrepräsentation durch ein Computersystem
WO2020126217A1 (de) Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation
WO2022013045A1 (de) Verfahren zum automatischen lippenlesen mittels einer funktionskomponente und zum bereitstellen der funktionskomponente
DE102020215954A1 (de) Dialogsystem und verfahren zum steuern desselben
DE102015212650B4 (de) Verfahren und System zum rechnergestützten Verarbeiten einer Spracheingabe
EP2273383A1 (de) Verfahren und Vorrichtung zur automatischen Suche nach Dokumenten in einem Datenspeicher
DE202021101570U1 (de) System zur Zustandsdarstellung für eine Automatisierungsanlage
EP1754171A1 (de) Verfahren und system zur automatisierten erzeugung von computergestützten steuerungs- und analysevorrichtungen
DE102016125162B4 (de) Verfahren und Vorrichtung zum maschinellen Verarbeiten von Texten
EP0902420B1 (de) Verfahren zum Ermitteln eines Zuverlässigkeitsmasses für die Spracherkennung
DE10112587A1 (de) Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element

Legal Events

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

Ref document number: 19804676

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19804676

Country of ref document: EP

Kind code of ref document: A1