WO2009010358A1 - Verfahren zur spracherkennung - Google Patents
Verfahren zur spracherkennung Download PDFInfo
- Publication number
- WO2009010358A1 WO2009010358A1 PCT/EP2008/057646 EP2008057646W WO2009010358A1 WO 2009010358 A1 WO2009010358 A1 WO 2009010358A1 EP 2008057646 W EP2008057646 W EP 2008057646W WO 2009010358 A1 WO2009010358 A1 WO 2009010358A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- speech recognition
- vocabulary
- utterance
- partial
- hits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
- G01C21/3608—Destination input or retrieval using speech input, e.g. using speech recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Definitions
- the present invention relates to a method of speech recognition on utterances with multiple pronunciation parts.
- the invention further relates to a speech recognition device which is suitable for carrying out a corresponding method and to a computer program product which causes the execution of a speech recognition method on a program-controlled speech recognition device.
- Speech recognition methods supplementing man-machine interfaces are finding ever wider application fields.
- Command recognition or selection of entries from addresses in mobile terminals, such as mobile telephones, is now a standard function.
- speech recognition systems are used to z. B. to record start and finish targets for navigation facilities.
- Useful speech recognition methods are based, for example, on so-called hidden Markov models which, although they allow speech-independent speech recognition, require a great deal of computational effort. Since so-called embedded systems or embedded systems are frequently used as computers, especially in the case of motor vehicles, which have only limited computing and memory resources, simplified speech recognition often has to be carried out. In particular, the restriction of the search space for the search terms to be identified generally leads to lower demands on the computing power and storage capacities. However, a corresponding search space limitation and thus saving of resources often goes hand in hand with a less reliable speech recognition and / or less user-friendly operation by the user. In DE 102 07 895 Al z.
- a method for speech recognition is described in which a stepwise speech recognition for the input of multi-part utterances or commands is proposed.
- a speech recognition for a Einzelauß réelle with the spoken street name, which is displayed to the user on a display as a hit list.
- a matched to the city name second vocabulary for further speech recognition can be determined, which requires less memory than the combination of city names and street names.
- the disadvantage is that the user must first register the recognition result for the city name and manually make a selection from the hit list.
- a complete address input which z. B. the city name, the street name and a house number to recognize in a single perceptible to the user step by means of speech recognition and the user directly to display a selection of complete destination addresses.
- a corresponding extension of the utterance to be recognized is accompanied by considerably higher demands on memory and computing powers of the corresponding speech recognition device because of the many outermost parts (city names, street names, house numbers). In the past, therefore, only possible short commands or command sequences were recognized by a speech recognition and presented to the user as possible.
- a method for speech recognition according to claim 1 Accordingly, a method is provided for speech recognition of an utterance to be recognized with a plurality of ostentation parts to be recognized. In this case, a partial speech recognition is first carried out on a first selected exception part and, depending on a selection of hits for the first exception part recognized by the partial speech recognition, speech recognition is carried out on the first and further parts of the utterance.
- the utterance to be recognized includes several distinct utterances, such as the utterance of a destination address of city name plus street name plus house number, it is not necessary for the user to acknowledge certain utterances or detected utterances. Since an exception part is first selected from the entire utterance, a smaller vocabulary can be used context-dependent for the partial speech recognition, for example based essentially on city names. The corresponding context results from the intermediate result of the first partial speech recognition, which is not perceptible to the user.
- the recognized utterances includes several distinct utterances, such as the utterance of a destination address of city name plus street name plus house number, it is not necessary for the user to acknowledge certain utterances or detected utterances. Since an exception part is first selected from the entire utterance, a smaller vocabulary can be used context-dependent for the partial speech recognition, for example based essentially on city names. The corresponding context results from the intermediate result of the first partial speech recognition, which is not perceptible to the user.
- the first exception part is subjected to partial speech recognition on the basis of a hidden Markov model.
- the remaining outer parts for the partial speech recognition are covered with full data.
- These full data which are also referred to as garbage data or garbage data, require only a small memory and computational requirements for the generation of a corresponding vocabulary according to a hidden Markov model. For example, if a partial outlier to be recognized is at the beginning of the utterance, as is the case when entering an address through the city name, For example, a certain number of temporally first acquired phonemes can be trained within a hidden Markov model with known city names of a database, while the other detected clerical parts are trained with mull or full phonemes.
- the blanking portions occupied by full data in the first partial speech recognition step can be replaced by search words from the search vocabulary, for example street names. Therefore, in the second speech recognition step, in which the entire utterance is subject to speech recognition, the vocabulary can already be considerably restricted, since consistent potential search terms are modeled by the hidden Markov model only for the selection of hits for the first subset recognized by the sub-speech recognition Need to become. In principle, it does not matter which temporal position the first outermost part is present, which is the basis for the first speech recognition stage. Also, an utterance in which the first outrage part to be recognized is surrounded by other outrun parts can be processed by a speech recognition method according to the invention.
- the first utterance part it is also possible to recognize the first utterance part by determining the temporal energy curve of the entire utterance and to subject it to partial speech recognition.
- the noises are separable from each other by detectable pauses, so that a particularly low energy at certain times of the utterance can serve as an indicator of gaps between outrun parts. It is also possible to use known methods of voice activity recognition for determining the first utterance part in the utterance.
- the method for speech recognition preferably comprises one or more of the following method steps:
- the second vocabulary comprising a list of search word combinations of a plurality of search words, phoneme combinations and / or transition probabilities;
- the utterance can be recorded, for example, by a microphone and a downstream analog / digital converter, which provides the digital utterance to further arithmetic units, for example a CPU in an embedded system.
- the first vocabulary is z. B. by a control or computing device which accesses a database with search words and corresponding phoneme transcriptions of the search words are generated.
- the provision of a speech recognition vocabulary usually requires a high level of computing power and / or extensive storage space for intermediate storage of the vocabulary that can be read and processed for speech recognition, which is present, for example, in a software-implemented manner.
- the second speech recognition step which, contrary to the prior art, is not initiated by a user's verification or acknowledgment, further information on the matches from the partial speech recognition is added to a second vocabulary.
- This can be z. B. the generation of a vocabulary which adds consistent consistent street names to the recognized best city name from the sub-recognition step.
- the first vocabulary is deleted from the memory before the second vocabulary is read. It is thus ensured efficient storage use, especially in embedded systems.
- another variant of the speech recognition method provides that properties of the utterance and / or the utterance part determined during the partial speech recognition are reused in the speech recognition of the further utterance parts and / or the entire utterance.
- MFCC features and / or emission probabilities calculated in the partial speech recognition or vocabulary generation may be considered.
- MFCC MeI Frequency Cepstral Coefficients
- MFCC MeI Frequency Cepstral Coefficients
- the determination of MFCCs is done according to well-known methods which are used by a corresponding programmed CPU of the speech recognition system can be performed. Reuse in the second speech recognition step on the entire utterance e.g. B. thus reduces the computational burden of speech recognition.
- variants or derivatives of the MFCCs can be used.
- the invention further provides a speech recognition device having the features of claim 18.
- the speech recognition device preferably has a control device and a memory device, which are coupled to a database device.
- the database device provides search words of a vocabulary and / or a phonemic transcription of the search words.
- the database device can, for. B. be configured as a removable data carrier, such. For example, a DVD, SD memory card, USB
- SAMPA Speech Assessment Method Phonetic Alphabet. This corresponds to a phonetic alphabet representing a machine readable encoding as ASCII symbols of phonetic alphabets.
- the invention provides a computer program product, which causes the execution of an aforementioned method for speech recognition on a program-controlled speech recognition device.
- a realization of the computer program product for example in the form of a computer program stored on a computer-readable data carrier, is conceivable.
- CD-ROMs, floppy disks, DVDs, USB sticks, memory cards or other storage media come into question as well as the provision as a downloadable file from a server.
- FIG. 1 shows a schematic block diagram of a speech recognition device
- FIG. 2 shows a flow diagram of a first variant of the method for speech recognition
- FIG. 3 shows a flowchart of a second variant of the invention
- Figure 4 is a schematic representation of a multi-part utterance
- FIG. 5 schematically shows a hierarchical structure of a search word database
- Figure 6a, 6b an example of a timing diagram in a speech recognition device in the
- FIG. 1 shows a schematic block diagram of a speech recognition device 1.
- the speech recognition device 1 can be used, for example, as an embedded system for an automotive application, for example. B. be executed for a navigation system.
- a control device 2 for example a microprocessor or a CPU, which is preferably programmable and has an internal memory, for example a buffer memory 13.
- a storage device 5 is provided which z. B. a RAM memory 6 and a ROM memory 7 has.
- the ROM memory can, for. B. the operating system or control programs for the CPU 2 have.
- Memory 5 and CPU 2 are coupled together, which is shown in Figure 1 as a communication and data bus 3.
- the database 4 is housed for example in the trunk of a vehicle and a data communication between the CPU 2 and the database 4 via a vehicle bus system, such. B. the I2C bus. It is also conceivable that certain records in the database 4 for forming a speech recognition vocabulary are temporarily transmitted in the RAM 6 of the memory device 5.
- an analog / digital converter 9 is further coupled to which a microphone 8 is connected.
- An utterance A is thus received by the microphone 8 and provided digitized by the analog / digital converter 9.
- the control device or CPU 2 coordinates the filing in the memory 5.
- the speech recognition device 1 can have an input device 10 and an output device 11. This is z. B. implemented in the implementation of a GUI (Graphic User Interface).
- an input device for example, a keyboard, a knob or other haptic input means in question.
- output device 11 is z. As a display or even a voice output possible.
- Digital converters 9 together with a suitable data communication bus 3 are often implemented as embedded systems. In this case, the lowest possible manufacturing and space required, so that a corresponding CPU or microprocessor is usually operated at a clock frequency of 300 to 600 MHz. However, other values are also conceivable. As RAM memory 6 often 64 to 128 MB memory elements must be sufficient. These limited resources with regard to the computing capacity of the CPU 2 and the memory resources 5 require a particularly resource-saving method for speech recognition. Sequential input and acknowledgment of individual ostentation parts, such. B. initially the city, and after another prompt an address in the form of the street name and the house number, but is cumbersome, although thereby the size of the vocabulary to be used in speech recognition can be limited.
- FIG. 2 schematically shows a schematic flow diagram for an improved method for speech recognition for multipart utterances.
- a two-stage method is illustrated in which a partial speech recognition first takes place in step S1 or in the recognition stage S1, and subsequently a total speech recognition is carried out in the next level S2.
- the recognition is limited to an outrun part of the total Aussaustation and the remaining exteriors z. B. masked by mull models or full data.
- the city names in the active vocabulary are held in the first recognition step S1 via a partial speech recognition.
- the street names and house numbers are modeled by mull models or full phonemes. This can be z. B. in the context of a hidden Markov model.
- HMM Hidden Markov Model
- a sequence of phonemes is recorded and the likelihood determined using the an HMMs of the recorded phoneme history can be generated.
- each HMM corresponds to a class, so that by selecting the highest probability, the recorded phoneme sequence can be assigned to a class or to a word or phrase.
- Hidden Markov models for the phonemes of a language are trained.
- large search words recorded in the surroundings for speech recognition which are recorded in databases, are used.
- Corresponding databases have the search words, such as the city names and a transcription in phonemes.
- search words such as the city names and a transcription in phonemes.
- z. B. SAMPA transcriptions are known.
- the phonemes are then context-dependent, z. B. via triphone, modeled. The current phoneme is modeled differently depending on the former and successor phonemes.
- the vocabulary for a speech recognition algorithm or a correspondingly established speech recognition device is dynamically generated.
- a CPU 2 set up by an operating system or a control program is dynamically generated.
- the phoneme sequences of the search words taken from the database 4 are converted into state sequences.
- the step S1 of the partial speech recognition this is carried out only for, for example, the city names present in Germany. These are about 70,000 search words.
- a recognition vocabulary is again generated, which, however, in the example of the destination address input no longer has all the possible vocabularies.
- street names and city names as well as house numbers In Germany there are about 370,000 street names.
- the first recognition step by the partial speech recognition of a street name reduces this number from 370,000 search words to only 200 to 15,000 words.
- N hits are determined in the first step S1
- a smaller vocabulary is generally required in the second voice recognition step S2 for the total speech recognition of the detected utterance with a plurality of uttering parts than in the first partial speech recognition step S1, since only the N best city names are taken into account in the second step S2.
- further logical links between city names and associated street names can be considered in a grammar. It is Z. For example, it is possible that the same street names exist in different cities, which have different city names, but there are a different number of house numbers. Such logical operations can be implemented in a grammar for speech recognition.
- street vocabularies for city names which have assigned a particularly large number of street names are already precompiled and cached.
- Cities that have only a small number of roads, for example less than a predefinable threshold generally have smaller road vocabularies that can also be generated online in the operation of speech recognition.
- pre-compiled street vocabularies allow faster CPU access.
- this is the Memory requirement of the corresponding speech recognition system is reduced, since only the very large vocabularies are stored, but the smaller ones are generated directly online by querying the phonemes from the database.
- FIG. 3 shows a variant of a two-stage speech recognition method.
- a first step Tl the utterance is recorded. This can be z. B. in response to the voice recognition device shown in Figure 1 by the microphone 8 with the analogue
- the corresponding data can be stored digitally in the memory 5 and preferably in the RAM 6.
- the memory process can be coordinated by the CPU 2, which is designed to be programmable and controlled by an operating system in the ROM memory 7.
- a partial vocabulary is loaded or generated online.
- the search words for example city names and their corresponding phoneme transcription, are loaded from the database 4 and stored in the memory 6.
- a corresponding partial vocabulary for the implementation of the actual speech recognition or partial speech recognition is generated in step Sl.
- the omission parts can be covered with full data at which presumably the street names and house numbers that are initially irrelevant are present.
- FIG. 4 schematically shows an utterance A with different ejection parts A1-A5.
- the graph shows the amplitude of the sound waves picked up by the microphone over time t.
- the user enters the full search term "Munich Otto-Hahn-Ring Six".
- This address information can be regarded as a five-part utterance A.
- the city name "Munich” corresponds to first knockout part A1, "Otto” a second knockout part A2, "cock” a third flare part A3, “ring” a fourth flare part A4, and the house number "six" a fifth flare part A5.
- the phoneme parts are covered with full data, which probably will not correspond to a city name. In the example illustrated with reference to FIG. 4, this may be the cancellation parts which follow a predetermined number of initial phonemes.
- a corresponding HMM model for the speech recognition in which only the relevant pronunciation parts, that is to say the first alienation part A1, are relevant for the first step, a much smaller vocabulary and thus a smaller memory space can be used than For an HMM model that must take into account all the phonemes of all A1-A5 outliers.
- MFCCs may e.g. B. are calculated by the detected audio signal or the detected utterance is first divided into blocks or windows. At each window, a Fourier transform is then performed and an amount spectrum is generated. The magnitude spectrum is logarithmized to replicate human hearing. The usually high number of resulting frequency bands is limited to a few, z. B. 40 summarized. Subsequently, a discrete cosine transform is performed or principal component analysis is made. The calculation of MFCCs is well known.
- the calculated features are compared to those generated by the HMM. te vectors compared. This results in a distance or a measure of the deviation from the segments in the HMM. This is also called emission or emission probability.
- the underlying vocabulary for speech recognition has state sequences that have a sequence of the segments.
- a search is carried out based on the emissions of the recognition vocabulary and, if appropriate, a grammar or a language model. It is Z. As a tree search possible, but also other search algorithms conceivable to identify in the vocabulary of the HMM model, the detected utterance or the detected utterance part.
- step S1 therefore provides a
- step T3 the vocabulary can now be deleted from the memory.
- step T4 another vocabulary for the second stage of the speech recognition process is now generated and written into the memory.
- the corresponding recognizer vocabulary is generated by reading the street names associated with the city name of the hits HL-HN.
- the vocabulary for the total speech recognition ie the entire utterance A
- the vocabulary for the total speech recognition is compiled and compiled only with combinations of search words, ie city names, street names and house numbers, as is necessary as a function of the first partial speech recognition result, ie the hits HI-HN.
- This drastic reduction of the recognizer vocabulary for the recognition of the entire utterances A allows an implementation with or on resource-poor computer systems.
- the transfer time for initializing the speech recognition is also lower.
- a corresponding result with hits is then achieved, for example, via an HMM speech recognition. This is done in step T5 z. B. the user via an output device, such as a display shown. Due to the restricted search space, that is to say the specifically prescribed reduced vocabularies in the overall speech recognition in step S2, the recognition rate is also particularly high since illogical or impossible combinations of search words are excluded or at least suppressed by the special selection and generation of the recognizer vocabulary in the second stage become.
- step Sl In order to further reduce the computing load for the CPU 2, it may further be provided that already made calculations in the partial speech recognition of the step Sl, for example the determination of features such as MFCCs, are reused and taken into account in the vocabulary generation and / or total speech recognition in step S2.
- the features or the emission probabilities from the first partial speech recognition step S1 can be temporarily stored and reused in the second total speech recognition step S2. A multiple calculation that would be redundant is thereby prevented.
- Figures 6A and 6B show a possible timing diagram for a two-stage speech recognition method according to a variant of the invention.
- the time axis runs from top to bottom, wherein the four parallel dashed lines are occupied with actions or method steps which are performed by various elements or devices of a speech recognition system or a speech recognition device, as shown for example in FIG ,
- a speech recognition unit 2 for example, by the CPU together with a suitable programming z. B. by a speech recognition software in the ROM memory 7 rea- can be illustrated.
- the box is provided with the reference numeral 2.
- the second vertical dashed line is associated with a shared memory, such as the RAM memory 6.
- the third vertical dashed line is associated with a unit 4 that provides corresponding phonemes for a vocabulary for the recognizer or recognizer software.
- This can be z. B. can be provided directly from the database 4 or by suitable programming and the CPU via a program part that provides a so-called phoneme service delivered.
- the right vertical dashed line is associated with an input / output device 12, such as a GUI, which may be implemented, for example, as a touch screen or combined keyboard display unit.
- the speech recognition method is started, for example, in step R1 by inputting a country flag from the user through the GUI 12.
- the input is transmitted to the recognizer unit 2.
- a recognizer unit for example, a program part will be understood below that realizes a voice recognition functionality on a programmable computer device, such as the CPU 2.
- the recognizer unit 2 then begins in step T21 to query a corresponding first vocabulary for the corresponding country from the database or the phoneme service 4.
- the CPU or recognizer unit 2 sends a corresponding phoneme request R2 to the phoneme database 4 or the phoneme service 4. This is followed by the writing of the necessary phonemes and / or further information necessary for a speech recognition software in step R3 may be in the shared memory 6 of the speech recognition device 1.
- the memory area used is small compared to the complete database 4, since only the city names, ie an outermost part, are actively modeled, while remaining parts of the utterance to be included in the first recognition step are unimportant.
- step R4 After the memory has been written with the necessary phoneme data, this is terminated in step R4 with an acknowledge signal or a Done command.
- the phoneme service 4 likewise delivers an acknowledgment signal R5 to the recognizer unit, which then reads out the present phoneme data from the shared memory 6 in the subsequent step R6.
- the corresponding recognizer software or recognizer device 2 now creates the first vocabulary for the patient in step T22
- the memory area for the phoneme data can be released in step R7. This is communicated to the phoneme service unit 4.
- Step R4 is the partial speech recognition fully prepared.
- a prompt e.g. B. are transmitted via the GUI 12 to the user.
- the user uses a push-to-talk to pronounce the complete destination address for the navigation system. This takes place in step T1.
- the user enters the entire destination address in a complete sentence without making any further entries via the GUI.
- the start of the voice input is signaled by the user of the recognizer unit 2 by a signal, for example a push of a button.
- a signal for example a push of a button.
- the first partial speech recognition begins for determining a hit list from the vocabulary on search words, which in this case comprises a list of N hits with the best city names.
- An exemplary list of first hits HL-HN is shown in FIG.
- the result of this first stage speech recognition in step S1 can optionally also be displayed in step RIO of the GUI.
- this is not absolutely necessary, since speech recognition automatically also takes into account the other outermost parts in the second stage, ie those relating to street names and house numbers. For this purpose, a new vocabulary for the speech recognition unit 2 must first be provided.
- step RIII a query is made of the phoneme data for the street names and / or house numbers which relate to the first hit Hl of the first stage of speech recognition.
- the corresponding phoneme data are transferred to the shared memory 6 in step R12, which is acknowledged in step R7 and communicated to the recognizer unit 2 in step R14.
- step R15 the recognizer unit 2 reads the corresponding phoneme data and, in step T41, creates the vocabulary for the second stage of speech recognition relating to the first hit of the first stage Hl.
- step R16 queries for street name data of the further hits, z. B. the second hit H2 in step R16 queried by the phoneme database 4.
- the corresponding phoneme data are written into the memory in step R17, which is acknowledged in step R18, and communicated from the phoneme database to the recognizer 2 in step R19.
- the phoneme database or the phoneme service 4 thus confirms the successful transmission of the requested phoneme data into the memory 6 of the recognizer unit 2.
- the recognizer unit creates in step T42 that vocabulary for the second level of speech recognition, as it is z. B.
- the recognizer unit 2 interrogates the utterance in step R20 and performs the second voice recognition step and the second voice recognition stage S2, respectively. This is done with the vocabulary generated depending on the results of the first recognizer stage.
- step R21 a hit display is made, which z.
- the following options for destination addresses may be included:
- the above-described variants of the method for speech recognition reduce the vocabulary necessary for recognition, in particular multi-part utterances.
- the speech recognition of the complex utterance with several utterance parts is carried out in two or optionally also several steps. Depending on the recognition result of the first step, the vocabularies of the following steps are created.
- the invention has been explained essentially with reference to two recognition stages or recognition steps, a generalization to several steps is easily possible. Large vocabulary recognition significantly reduces the vocabulary size for each step or recognition level.
- the multilevel speech recognition method also has the advantage that a reduced loading time of the respective phoneme data or vocabulary data is provided by a database.
- the recognition rate is also improved over a conventional strategy in which independent recognition methods for a first cancellation part and a second cancellation part are performed. This can be done in particular by the use of logical links or consistency checks in hierarchical databases with a generic term, such as city names, and other associated terms, such as street names and house numbers.
- the above-described methods thus provide an improved recognition rate in comparison to conventional recognition methods. There is a reduced need for storage and computation borrowed. Since the vocabularies and phoneme data are reduced, the data bus is burdened with less data transfer. Access to phoneme data and / or sub-vocabularies is faster because sub-vocabularies, such as street name vocabularies, can be cached for particularly large cities with many street names. Vocabulary parts that correspond, for example, to small cities with few streets can be dynamically generated online and do not need to be precompiled. By the single-acting for the user speech recognition of complex input utterance, which can be seen, the input time of the destination address is reduced. No multi-level or acknowledgment processes by the user are necessary.
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Navigation (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur Spracherkennung einer zu erkennenden Äußerung (A), welche mehrere zu erkennende Außerungsteile (A1-A5) aufweist, wobei eine Teilspracherkennung (S1) an einem ersten ausgewählten Außerungsteil (A1) erfolgt und in Abhängigkeit von einer durch die Teilspracherkennung (S1) erkannten Auswahl von Treffern für den ersten Außerungsteil (A1) eine Spracherkennung (S2) an dem ersten (A1) und weiteren Außerungsteilen (A2-A5) der Äußerung (A) durchgeführt wird.
Description
Beschreibung
Verfahren zur Spracherkennung
Die vorliegende Erfindung betrifft ein Verfahren zur Spracherkennung an Äußerungen mit mehreren Außerungsteilen. Die Erfindung betrifft ferner eine Spracherkennungsvorrichtung, welche zur Durchfuhrung eines entsprechenden Verfahrens geeignet ist sowie ein Computerprogrammprodukt, welches die Durchfuhrung eines Spracherkennungsverfahrens auf einer programmgesteuerten Spracherkennungsvorrichtung veranlasst.
Verfahren zur Spracherkennung als Ergänzung für Mensch- Maschine-Schnittstellen finden immer breitere Anwendungsfel- der. Die Befehlserkennung oder Auswahl von Eintragen aus Ad- ressbuchern bei mobilen Endgeraten, wie beispielsweise Mobiltelefonen, ist mittlerweile ein Standardfunktionsumfang. Insbesondere auch bei Kraftfahrzeugen werden Spracherkennungs- systeme eingesetzt, um z . B. Start- und Zielvorgaben für Na- vigationseinrichtungen zu erfassen.
Gebrauchliche Spracherkennungsverfahren basieren zum Beispiel auf sogenannten Hidden-Markov-Modellen, die zwar eine spre- cherunabhangige Spracherkennung ermöglichen, jedoch einen ho- hen Rechenaufwand bedingen. Da insbesondere bei Kraftfahrzeugen häufig sogenannte eingebettete Systeme bzw. Embedded Systems als Rechner zum Einsatz gelangen, welche nur begrenzte Rechen- und Speicherressourcen aufweisen, müssen häufig vereinfachte Spracherkennungen durchgeführt werden. Insbesondere die Einschränkung des Suchraums für die zu identifizierenden Suchbegriffe fuhrt in der Regel zu geringeren Anforderungen an die Rechenleistung und Speicherkapazitäten. Allerdings geht eine entsprechende Suchraumeinschrankung und damit Ersparnis an Ressourcen häufig einher mit einer weniger zuver- lassigen Spracherkennung und/oder einer weniger komfortablen Bedienung durch den Nutzer.
In der DE 102 07 895 Al ist z. B. ein Verfahren zur Spracherkennung beschrieben, bei dem eine stufenweise Spracherkennung für die Eingabe von mehrteiligen Äußerungen bzw. Befehlen vorgeschlagen wird. Dort ist vorgesehen, beispielsweise bei der Eingabe eines Stadtenamens und darauffolgender Eingabe eines Straßennamens zunächst eine Spracherkennung für eine Einzelaußerung mit dem gesprochenen Straßennamen vorzunehmen, welche dem Benutzer auf einem Display als Trefferliste angezeigt wird. Nach Quittierung durch den Benutzer kann dann ein auf den Stadtenamen abgestimmtes zweites Vokabular für eine weitere Spracherkennung bestimmt werden, welches einen geringeren Speicherbedarf bedingt als die Kombination von Stadtenamen und Straßennamen. Nachteilig ergibt sich jedoch, dass der Benutzer zunächst das Erkennungsergebnis für den Stadte- namen registrieren muss und manuell eine Auswahl aus der Trefferliste vornehmen muss.
Ferner ist es besonders wünschenswert, eine vollständige Adresseingabe, welche z. B. den Stadtenamen, den Straßennamen sowie eine Hausnummer umfasst, in einem einzigen für den Nutzer wahrnehmbaren Schritt mittels einer Spracherkennung zu erkennen und dem Benutzer direkt eine Auswahl von kompletten Zieladressen anzuzeigen. Üblicherweise geht eine entsprechende Verlängerung der zu erkennenden Äußerung wegen der vielen Außerungsteile (Stadtenamen, Straßennamen, Hausnummer) mit erheblich höheren Forderungen an Speicher- und Rechenleistungen der entsprechenden Spracherkennungsvorrichtung einher. In der Vergangenheit wurden deshalb möglichst nur kurze Befehle oder Befehlssequenzen durch eine Spracherkennung erkannt und dem Nutzer dargestellt.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zur Spracherkennung bereitzustellen.
Diese Aufgabe wird durch ein Verfahren zur Spracherkennung gemäß Patentanspruch 1 gelost.
Demgemäß ist ein Verfahren zur Spracherkennung einer zu erkennenden Äußerung mit mehreren zu erkennenden Außerungsteilen vorgesehen. Dabei wird zunächst eine Teilspracherkennung an einem ersten ausgewählten Außerungsteil durchgeführt und in Abhängigkeit von einer durch die Teilspracherkennung erkannten Auswahl von Treffern für den ersten Außerungsteil eine Spracherkennung an dem ersten und weiteren Außerungsteilen der Äußerung durchgeführt.
Obwohl die zu erkennende Äußerung mehrere verschiedene Außerungsteile umfasst, wie beispielsweise der Ausspruch einer Zieladresse aus Stadtenamen plus Straßennamen plus Hausnummer, ist es nicht notwendig, dass der Nutzer bestimmte Außerungsteile oder erkannte Außerungsteile quittiert. Da zu- nächst ein Außerungsteil aus der gesamten Äußerung ausgewählt wird, kann kontextabhängig ein kleineres Vokabular für die Teilspracherkennung, beispielsweise im Wesentlichen auf Stadtenamen bezogen, verwendet werden. Der entsprechende Kontext ergibt sich aus dem für den Nutzer nicht wahrnehmbaren Zwi- schenergebnis der ersten Teilspracherkennung. Die erkannte
Auswahl von Treffern durch die Teilspracherkennung ermöglicht es zum Beispiel, die gesamte Äußerung erneut einer Spracherkennung zu unterziehen, welche ein gegenüber allen möglichen Kombinationen aus Stadtenamen, Straßennamen und Hausnummern wegen der Vorauswahl durch die Teilspracherkennung ein erheblich reduziertes Vokabular benotigt. Damit geht auch eine geringere Anforderung an Speicher- und Rechenkapazitat einher.
In einer Variante des Verfahrens wird der erste Außerungsteil einer Teilspracherkennung anhand eines Hidden-Markov-Modells unterzogen. Dabei werden die übrigen Außerungsteile für die Teilspracherkennung mit Fulldaten überdeckt. Diese Fulldaten, welche auch als Mulldaten oder Garbage-Daten bezeichnet werden, bedingen nur einen geringen Speicher- und Rechenbedarf für die Erzeugung eines entsprechenden Vokabulars gemäß einem Hidden-Markov-Modell . Falls beispielsweise eine zu erkennende Teilaußerung am Beginn der Äußerung steht, wie es bei der Eingabe einer Adresse durch den Stadtenamen der Fall ist,
kann eine bestimmte Anzahl von zeitlich ersten erfassten Phonemen im Rahmen eines Hidden-Markov-Modells mit bekannten Stadtenamen einer Datenbank trainiert werden, wahrend die weiteren erfassten Außerungsteile mit Mull oder Fullphonemen trainiert werden. Im zweiten Spracherkennungsschritt können die im ersten Teilspracherkennungsschritt mit Fulldaten belegten Außerungsteile durch Suchworte aus dem Suchwortschatz, beispielsweise Straßennamen, ersetzt werden. In dem zweiten Spracherkennungsschritt, in dem die gesamte Äußerung einer Spracherkennung unterzogen wird, kann das Vokabular daher bereits erheblich eingeschränkt werden, da nur zu der Auswahl von Treffern für den ersten mittels der Teilspracherkennung erkannten Außerungsteil konsistente potenzielle Suchbegriffe durch das Hidden-Markov-Modell modelliert werden müssen. Prinzipiell spielt es dabei keine Rolle an welcher zeitlichen Position der erste Außerungsteil vorliegt, welcher der ersten Spracherkennungsstufe zugrunde gelegt wird. Auch eine Äußerung, bei der der erste zu erkennende Außerungsteil von anderen Außerungsteilen umgeben ist, kann durch ein Erfindungsge- maßes Spracherkennungsverfahren verarbeitet werden.
Es ist ferner möglich, den ersten Außerungsteil durch eine Bestimmung des zeitlichen Energieverlaufs der gesamten Äußerung zu erkennen und der Teilspracherkennung zu unterziehen. In der Regel sind die Außerungsteile durch detektierbare Sprechpausen voneinander trennbar, sodass eine besonders niedrige Energie zu bestimmten Zeitpunkten der Äußerung als Indikator für Zwischenräume zwischen Außerungsteilen dienen kann. Es können auch bekannte Verfahren der Sprachaktivitats- erkennung zur Ermittlung des ersten Außerungsteils in der Äußerung verwendet werden.
Vorzugsweise umfasst das Verfahren zur Spracherkennung einen oder mehrerer der folgenden Verfahrensschritte:
- Aufnehmen einer Äußerung, welche mehrere Außerungsteile umfasst;
- Bereitstellen eines ersten Vokabulars, welches eine erste Liste von Suchworten, Phonemkombinationen und/oder Ubergangs- wahrscheinlichkeiten umfasst;
- Durchfuhren einer Teilspracherkennung für den ausgewählten ersten Außerungsteil der aufgenommenen Äußerung mittels dem bereitgestellten ersten Vokabular zum Bestimmen einer Auswahl von Treffern aus der Liste von Suchworten;
- Bereitstellen eines zweiten Vokabulars, in Abhängigkeit von der Auswahl von Treffern, wobei das zweite Vokabular eine Liste von Suchwortkombinationen von mehreren Suchworten, Phonemkombinationen und/oder Ubergangswahrscheinlichkeiten umfasst; und
- Durchfuhren einer Spracherkennung für die aufgenommene Äußerung mittels dem zweiten Vokabular zum Bestimmen einer Auswahl von Treffern aus der Liste von Suchwortkombinationen.
Das Aufnehmen der Äußerung kann beispielsweise durch ein Mikrophon und einen nachgeschalteten Analog-/Digitalwandler erfolgen, welcher die digitale Äußerung weiteren Recheneinheiten, beispielsweise einer CPU in einem Embedded System, bereitstellt. Das erste Vokabular wird z. B. durch eine Steuer- oder Recheneinrichtung, welche auf eine Datenbank mit Suchworten und entsprechenden Phonemtranskriptionen der Suchworte zugreift, erzeugt werden. Die Bereitstellung eines Spracher- kennungsvokabulars erfordert üblicherweise eine hohe Rechenleistung und/oder umfangreichen Speicherplatz zum Zwischen- speichern des für eine Spracherkennung, welche beispielsweise softwareimplementiert vorliegt, les- und verarbeitbaren Vokabulars .
Bei dem zweiten Spracherkennungsschritt, welcher entgegen dem Stand der Technik nicht durch eine Verifizierung oder Quittierung durch den Benutzer initiiert wird, werden weitere Informationen zu den Treffern aus der Teilspracherkennung einem zweiten Vokabular hinzugefugt. Dies kann z. B. die Erzeugung
eines Vokabulars umfassen, welches den erkannten besten Stad- tenamen aus dem Teilerkennungsschritt entsprechende konsistente Straßennamen zufugt.
Es ist z. B. denkbar, dass eine Datenbank vorliegt, welche alle Stadtenamen eines Landes umfasst sowie alle Straßennamen und die zugehörigen Hausnummern. Das erste für die Teilspracherkennung notwendige Vokabular musste neben Fulldaten lediglich auf die Städte- oder Ortsnamen als Oberbegriff zugreifen. Als weitere Begriffe in dem zweiten Spracherken- nungsschritt werden dann als Unterbegriffe Straßennamen und Hausnummern zugefugt. Allerdings sind nicht alle der Datenbank entnehmbare Straßennamen für die Spracherkennung relevant, sondern lediglich diejenigen, welche den Stadtenamen als Oberbegriffe zugeordnet sind und welche als Treffer von der Teilspracherkennung identifiziert wurden.
Vorteilhafterweise wird bei einer Variante des erfindungsge- maßen Verfahrens zur Spracherkennung das erste Vokabular aus dem Speicher geloscht, bevor das zweite Vokabular eingelesen wird. Es wird somit eine effiziente Speichernutzung insbesondere bei Embedded Systems gewahrleistet.
Um die Ressourcen eines entsprechenden Spracherkennungssys- tems effizienter zu nutzen, sieht eine weitere Variante des Spracherkennungsverfahrens vor, dass bei der zunächst durchgeführten Teilspracherkennung ermittelte Eigenschaften der Äußerung und/oder des Außerungsteils bei der Spracherkennung der weiteren Außerungsteile und/oder der gesamten Äußerung wiederverwendet werden.
Insbesondere kommen bei der Teilspracherkennung oder Vokabularerzeugung berechnete MFCC-Merkmale und/oder Emissionswahrscheinlichkeiten in Frage. Unter MFCC (= MeI Frequency Cepstral Coefficients) werden berechenbare Merkmale von er- fassten Audioaußerungen verstanden. Die Bestimmung von MFCCs erfolgt nach allgemein bekannten Verfahren, welche von einer entsprechenden programmierten CPU des Spracherkennungssystems
vollzogen werden können. Eine Wiederverwendung in dem zweiten Spracherkennungsschritt an der gesamten Äußerung z. B. reduziert damit den Rechenaufwand der Spracherkennung. Ebenso können Varianten oder Derivate der MFCCs verwendet werden.
Die Erfindung schafft ferner eine Spracherkennungsvorrichtung mit den Merkmalen des Patentanspruchs 18.
Die Spracherkennungsvorrichtung weist vorzugsweise eine Steu- ereinrichtung und eine Speichereinrichtung auf, welche an eine Datenbankeinrichtung gekoppelt sind. Dabei stellt die Datenbankeinrichtung Suchworte eines Vokabulars und/oder eine phonemische Transkription der Suchworte bereit. Die Datenbankeinrichtung kann z. B. als Wechseldatentrager ausgestal- tet sein, wie z. B. eine DVD, SD-Speicherkarte, ein USB-
Stick, eine CD-ROM oder weitere bekannte Speichermittel. Entsprechende Datenbanken für Navigationssysteme oder andere Spracherkennungsanwendungen werden z. B. in einem SAMPA- Format vertrieben. Dabei steht SAMPA für Speech Assessment Method Phonetic Alphabet. Dies entspricht einem phonetischen Alphabet, welches eine maschinenlesbare Codierung als ASCII- Symbole von phonetischen Alphabeten darstellt.
Ferner liefert die Erfindung ein Computerprogrammprodukt, welches die Durchfuhrung eines vorgenannten Verfahrens zur Spracherkennung auf einer programmgesteuerten Spracherkennungsvorrichtung veranlasst. Dabei ist eine Realisierung des Computerprogrammprodukts beispielsweise in Form eines auf einem computerlesbaren Datenträger abgespeicherten Computerpro- gramms denkbar. Z. B. kommen CD-ROMs, Floppy-Disks, DVDs, USB-Sticks, Speicherkarten oder weitere Speichermittel in Frage sowie auch die Bereitstellung als herunterladbare Datei von einem Server.
Weitere vorteilhafte Ausgestaltungen der Erfindung und Weiterbildungen sind Gegenstand der Unteranspruche sowie der im Folgenden beschriebenen Ausfuhrungsbeispiele. Im Weiteren wird die Erfindung anhand von Ausfuhrungsbeispielen unter Be-
zugnahme auf die beigelegten Figuren naher erläutert. Es zeigt dabei:
Figur 1 ein schematisches Blockdiagramm einer Spracher- kennungsvorrichtung;
Figur 2 ein Ablaufdiagramm einer ersten Variante des Verfahrens zur Spracherkennung;
Figur 3 ein Ablaufdiagramm einer zweiten Variante des
Verfahrens zur Spracherkennung;
Figur 4 eine schematische Darstellung einer mehrteiligen Äußerung;
Figur 5 schematisch eine hierarchische Struktur einer Suchwortdatenbank;
Figur 6a, 6b ein Beispiel für ein zeitliches Ablaufdiagramm in einer Spracherkennungsvorrichtung bei der
Durchfuhrung eines Verfahrens zur Spracherkennung .
In den Ausfuhrungen sind gleiche bzw. funktionsgleiche EIe- mente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.
Die Figur 1 zeigt ein schematisches Blockdiagramm einer Spracherkennungsvorrichtung 1. Die Spracherkennungsvorrich- tung 1 kann z.B. als ein Embedded System für eine Automobilanwendung z. B. für ein Navigationssystem ausgeführt sein. Es ist eine Steuereinrichtung 2, beispielsweise ein Mikroprozessor oder eine CPU vorgesehen, welche vorzugsweise programmierbar ist und einen internen Speicher, zum Beispiel einen Pufferspeicher 13 aufweist. Ferner ist eine Speichereinrichtung 5 vorgesehen, welche z. B. einen RAM-Speicher 6 und einen ROM-Speicher 7 aufweist. Der ROM-Speicher kann z. B. das Betriebssystem oder Steuerprogramme für die CPU 2 aufweisen.
Speicher 5 und CPU 2 sind miteinander gekoppelt, was in der Figur 1 als Kommunikations- und Datenbus 3 dargestellt ist. Es ist dabei denkbar, dass die Datenbank 4 beispielsweise im Kofferraum eines Fahrzeuges untergebracht ist und eine Daten- kommunikation zwischen der CPU 2 und der Datenbank 4 über ein Fahrzeugbussystem, wie z. B. dem I2C-Bus erfolgt. Es ist auch denkbar, dass bestimmte Datensatze in der Datenbank 4 zum Bilden eines Spracherkennungsvokabulars vorübergehend in dem RAM-Speicher 6 der Speichereinrichtung 5 übertragen wird.
An dem Kommunikations- und Datenbus 3 ist ferner ein Analog- /Digitalwandler 9 gekoppelt, an dem ein Mikrophon 8 angeschlossen ist. Eine Äußerung A wird somit vom Mikrophon 8 aufgenommen und vom Analog-/Digitalwandler 9 digitalisiert bereitgestellt. Die Steuereinrichtung bzw. CPU 2 koordiniert die Ablage im Speicher 5. Ferner kann die Spracherkennungs- vorrichtung 1 eine Eingabeeinrichtung 10 und Ausgabeeinrichtung 11 aufweisen. Dies ist z. B. in der Implementierung eines GUI (Graphic User Interface) verwirklicht. Als Eingabe- einrichtung kommt zum Beispiel eine Tastatur, ein Drehknopf oder sonstige haptische Eingabemittel in Frage. Als Ausgabeeinrichtung 11 ist z. B. ein Display oder aber auch eine Sprachausgabe möglich.
Insbesondere die CPU 2, der Speicher 5 und der Analog-
/Digitalwandler 9 zusammen mit einem geeigneten Datenkommunikationsbus 3 werden häufig als Embedded Systems implementiert. Dabei ist ein möglichst geringer Herstellungs- und Platzaufwand gewünscht, sodass eine entsprechende CPU oder Mikroprozessor üblicherweise mit einer Taktfrequenz von 300 bis 600 MHz betrieben wird. Denkbar sind jedoch auch andere Werte. Als RAM-Speicher 6 müssen häufig 64 bis 128 MB- Speicherelemente ausreichen. Diesen begrenzten Ressourcen hinsichtlich der Rechenkapazitat der CPU 2 und der Speicher- ressourcen 5 bedingen ein besonders ressourcensparendes Verfahren zur Spracherkennung.
Ein sequenzielles Eingeben und Quittieren von einzelnen Außerungsteilen, wie z. B. zunächst die Stadt, und nach einer weiteren Eingabeaufforderung eine Adresse in Form des Straßennamens und der Hausnummer, ist jedoch umständlich, obwohl dadurch die Große des zu verwendenden Vokabulars bei der Spracherkennung begrenzt werden kann.
In der Figur 2 ist ein schematisches Ablaufdiagramm für ein verbessertes Verfahren zur Spracherkennung für mehrteilige Äußerungen schematisch dargestellt. Es ist dabei ein zweistufiges Verfahren illustriert, bei dem zunächst eine Teilspracherkennung im Schritt Sl oder in der Erkennungsstufe Sl erfolgt und anschließend eine Gesamtspracherkennung in der Folgestufe S2 durchgeführt wird.
Im ersten Schritt Sl wird die Erkennung auf einen Außerungsteil der Gesamtaußerung beschrankt und die übrigen Außerungsteile z. B. durch Mullmodelle oder Fulldaten überdeckt. Am Beispiel des Eingehens einer Zieladresse für ein Navigations- System werden im ersten Erkennungsschritt Sl über eine Teilspracherkennung nur die Stadtenamen im aktiven Vokabular gehalten. Die Straßennamen und Hausnummern werden durch Mullmodelle oder Fullphoneme modelliert. Dies kann z. B. im Rahmen eines Hidden-Markov-Modells erfolgen.
Bei einem Hidden-Markov-Modell (HMM) zur Spracherkennung werden Ubergangswahrscheinlichkeiten von einem Phonem zum nächsten in einer Abfolge von Phonemen betrachtet. Phoneme sind die kleinsten bedeutungsunterscheidenden Einheiten eines Sprachsystems. Ein Hidden-Markov-Modell ist dabei durch die Parameter λ = (A, B, π) charakterisiert, wobei A = {aij} die Ubergangswahrscheinlichkeiten von einem (verborgenen) Zustand i zum Zustand j, π = {τi±} die Startwahrscheinlichkeiten für den Zustand i und B = [1O1] die Wahrscheinlichkeiten für eine Beobachtung i, wobei ein jeweiliger Zustand i eine Beobachtung Ot zum Zeitpunkt t emittiert. Bei dem Hidden-Markov- Spracherkennungsmodell wird eine Sequenz von Phonemen aufgezeichnet und die Wahrscheinlichkeit bestimmt, mit der gemäß
eines HMMs der aufgenommene Phonemverlauf erzeugt werden kann. Jedes HMM entspricht dabei beispielsweise einer Klasse, sodass durch Auswahl der höchsten Wahrscheinlichkeit die aufgenommene Phonemsequenz einer Klasse bzw. einem Wort oder Wortfolge zugeordnet werden kann.
Mittels bekannter Hidden-Markov-Technologie lassen sich spre- cherunabhangige Spracherkennungen realisieren. Dazu werden Hidden-Markov-Modelle für die Phoneme einer Sprache trai- niert. Es werden dabei in der Regel große in der Umgebung für die Spracherkennung aufgenommene Suchworte, welche in Datenbanken aufgenommen werden, verwendet. Entsprechende Datenbanken weisen die Suchworte, wie die Stadtenamen und eine Transkription in Phoneme auf. Bekannt sind z. B. SAMPA- Transkriptionen. Bei üblichen Spracherkennungsalgorithmen werden die Phoneme dann kontextabhängig, z. B. über Triphone, modelliert. Das aktuelle Phonem wird dabei abhangig von den Vorganger- und Nachfolger-Phonemen unterschiedlich modelliert .
Üblicherweise wird das Vokabular für einen Spracherkennungs- algorithmus oder eine entsprechend eingerichtete Spracherken- nungseinrichtung, wie es beispielsweise in der Figur 1 eine durch ein Betriebssystem oder ein Steuerprogramm eingerichte- te CPU 2 ist, dynamisch generiert. Dazu ist zunächst notwendig, die Phonemabfolge der zu erkennenden Suchworte anzugeben und in eine für die Spracherkennung verstandliche Form zu kompilieren. D. h., die aus der Datenbank 4 entnommenen Phonemsequenzen der Suchworte werden in Zustandsfolgen umgewan- delt. Je großer dabei die Anzahl der Suchworte ist desto mehr Rechenaufwand ist bei der Vokabularerzeugung z. B. durch die CPU 2 zu vollziehen. Für die erste Spracherkennungsstufe, also der Schritt Sl der Teilspracherkennung, wird dies nur für beispielsweise die in Deutschland vorliegenden Stadtenamen durchgeführt. Dies sind etwa 70.000 Suchworte. Für die Gesamtspracherkennung in der zweiten Stufe bzw. im Schritt S2 wird erneut ein Erkennungsvokabular erzeugt, welches jedoch bei dem Beispiel der Zieladresseingabe nicht mehr alle mogli-
chen Straßennamen und Stadtenamen sowie Hausnummern umfassen muss, sondern deutlich reduziert ist. In Deutschland existieren etwa 370.000 Straßennamen. Die erste Erkennungsstufe durch die Teilspracherkennung eines Straßennamens reduziert jedoch diese Anzahl von 370.000 Suchworten auf nur noch 200 bis 15.000 Worte. Werden beispielsweise N Treffer im ersten Schritt Sl ermittelt, wird im zweiten Schritt nur noch ein Vokabular für die Durchfuhrung einer Spracherkennung zusammengestellt, welches die für die N Trefferstadtenamen rele- vanten Straßennamen umfasst. Bei durchschnittlich 30 Straßen pro Stadtenamen ergeben sich bei N = 10 Treffern für die Städte Vokabulare zwischen 200 bis 15.000 Worten. Dabei wird Berlin als größte Stadt mit 13.000 Straßen berücksichtigt.
Beim zweiten Spracherkennungsschritt S2 für die Gesamtspracherkennung der erfassten Äußerung mit mehreren Außerungsteilen ist demnach in der Regel ein kleineres Vokabular notwendig als im ersten Teilspracherkennungsschritt Sl, da im zweiten Schritt S2 nur noch die N besten Stadtenamen berücksichtigt werden. Darüber hinaus lassen sich weitere logische Verknüpfungen zwischen Stadtenamen und zugehörigen Straßennamen in einer Grammatik berücksichtigen. Es ist z. B. möglich, dass in verschiedenen Städten, die verschiedene Stadtenamen aufweisen, zwar dieselben Straßennamen existieren, aber eine un- terschiedliche Anzahl von Hausnummern vorliegt. Derartige logische Verknüpfungen lassen sich in einer Grammatik für die Spracherkennung implementieren.
Um die Erzeugung von Erkennervokabularen weiter zu verbes- sern, ist es möglich, dass Straßenvokabulare für Stadtenamen, die eine besonders große Anzahl von Straßennamen zugeordnet haben bereits vorkompiliert und zwischengespeichert werden. Städte, die nur eine geringe Anzahl von Straßen, beispielsweise weniger als ein vorgebbarer Schwellwert aufweisen, ha- ben in der Regel kleinere Straßenvokabulare, die auch online im Betrieb der Spracherkennung erzeugt werden können. Bei vorkompilierten Straßenvokabularen ist jedoch ein schnellerer Zugriff seitens der CPU möglich. Ferner wird dadurch der
Speicherbedarf des entsprechenden Spracherkennungssystems reduziert, da nur die besonders großen Vokabulare gespeichert werden, die kleineren allerdings direkt online durch Abfrage Der Phoneme aus der Datenbank erzeugt werden.
In der Figur 3 ist eine Variante eines zweistufigen Verfahrens zur Spracherkennung dargestellt. In einem ersten Schritt Tl wird die Äußerung aufgenommen. Dies kann z. B. im Ruckgriff auf die in der Figur 1 dargestellte Spracherkennungs- Vorrichtung durch das Mikrophon 8 mit dem Analog-
/Digitalwandler 9 erfolgen. Die entsprechenden Daten können digital im Speicher 5 und dabei vorzugsweise im RAM-Speicher 6 abgelegt werden. Die Speichervorgange können dabei von der CPU 2, welche programmierbar ausgestaltet ist und von einem Betriebssystem im ROM-Speicher 7 gesteuert ist, koordiniert werden .
Im Folgeschritt T2 wird ein Teilvokabular geladen bzw. online erzeugt. Dazu werden die Suchworte, beispielsweise Stadtena- men und deren entsprechende Phonemtranskription von der Datenbank 4 geladen und im Speicher 6 abgelegt. Anschließend wird ein entsprechendes Teilvokabular für die Durchfuhrung der eigentlichen Spracherkennung bzw. Teilspracherkennung im Schritt Sl erzeugt.
Wie bereits eingangs erläutert wurde, können bei der Durchfuhrung des Spracherkennungsalgorithmus, beispielsweise mittels einem HMM-Modell die Außerungsteile mit Fulldaten abgedeckt werden, an denen voraussichtlich die zunächst nicht re- levanten Straßennamen und Hausnummern vorliegen.
In der Figur 4 ist schematisch eine Äußerung A mit verschiedenen Außerungsteilen A1-A5 dargestellt. Die graphische Darstellung zeigt die Amplitude der vom Mikrophon aufgenommenen Schallwellen über die Zeit t. Der Nutzer gibt beispielsweise den vollständigen Suchbegriff "München Otto-Hahn-Ring Sechs" ein. Diese Adressangabe kann als fünfteilige Äußerung A auf- gefasst werden. Dabei entspricht der Stadtename "München" ei-
nem ersten Außerungsteil Al, "Otto" einem zweiten Außerungsteil A2, "Hahn" einem dritten Außerungsteil A3, "Ring" einem vierten Außerungsteil A4 und die Hausnummer "Sechs" einem fünften Außerungsteil A5. Dabei dauert die sprachliche Ausga- be von "München" vom Zeitpunkt ti bis zum Zeitpunkt t2, "Otto" vom Zeitpunkt t2 bis t3, "Hahn" vom Zeitpunkt t3 bis t4, "Ring" vom Zeitpunkt t4 bis t5 und "Sechs" vom Zeitpunkt t5
Es gibt verschiedene Möglichkeiten, die Außerungsteile zu i- dentifizieren . Es kann z. B. ein HMM-Modell erzeugt werden, bei dem davon ausgegangen wird, dass der erste Außerungsteil Al einem Stadtenamen entspricht und damit ein Oberbegriff für die übrigen Außerungsteile, nämlich Straße und Hausnummer, darstellt. Es ist dabei z. B. möglich, sogenannte Garbage- Modelle zu erzeugen, die die Phoneme der Stadtenamen in der Datenbank, beispielsweise "München" und weitere Fulldaten- Phoneme aufweist. Z. B. können verschiedene Pfade für die Spracherkennung modelliert werden:
<Munchen><Mull><Mull><Mull><Mull><MullXMull>
<MunchlingenXMull><Mull><Mull><Mull>
<MunchhausenXMull><Mull>
In der vollständigen Phonemsequenz, die der Äußerung entspricht, also der Eingabe einer vollständigen Zieladresse in einem Satz und ohne Unterbrechungen werden die Phonemanteile mit Fulldaten überdeckt, die voraussichtlich keinem Stadtenamen entsprechen. Dies kann in dem bezuglich der Figur 4 dargestellten Beispiel diejenigen Außerungsteile sein, die einer vorgegebenen Anzahl von Anfangsphonemen folgen. Durch den Aufbau eines entsprechenden HMM-Modells für die Spracherken- nung, bei dem nur die relevanten Außerungsteile, also der erste Außerungsteil Al, für den ersten Schritt relevant sind, berücksichtigt werden, kann ein viel kleineres Vokabular und damit ein geringerer Speicherplatz verwendet werden als für
ein HMM-Modell, das alle Phoneme aller Außerungsteile A1-A5 berücksichtigen muss.
Es ist auch denkbar, dass der Beginn und das Ende der ver- schiedenen Außerungsteile A1-A5 durch eine Energiemessung der Äußerung zu bestimmen. Zwischen gesprochenen Worten tritt häufig eine Pause oder eine besonders geringe Energie des erzeugten Schalls auf. Dies ist in der Figur 4 insbesondere an den Zeitpunkten t±, t∑, tz, t4, t5 und te der Fall. Die Bestim- mung derartiger Minima kann somit dazu dienen, die Grenzen zwischen verschiedenen Außerungsteilen zu bestimmen. Es sind jedoch auch weitere standardisierte Sprachaktivitatserkennun- gen bekannt. Zur Bestimmung von Wortgrenzen wird ein sogenanntes VAD (Voice Activity Detection) -Verfahren eingesetzt. Prinzipiell sind beliebige Methoden zur Bestimmung des jeweiligen Außerungsteils für den ersten Spracherkennungsschritt Sl möglich.
Übliche Spracherkennungsverfahren weisen hintereinanderge- schaltete Schritte wie Feature- oder Merkmalsberechnung, E- missionsberechnung und Suche auf. Bei der Merkmalsberechnung wird das erfasste Audiosignal in Merkmale umgewandelt, beispielsweise MFCC-Merkmale . Diese in der Regel standardisierten Merkmale können für die eigentliche Spracherkennung aus dem Audiosignal extrahiert werden. MFCCs können z. B. berechnet werden, indem das erfasste Audiosignal bzw. die erfasste Äußerung zunächst in Blocke oder Fenster unterteilt wird. An jedem Fenster wird dann eine Fourier-Transformation durchgeführt und ein Betragspektrum erzeugt. Das Betragspektrum wird logarithmisiert, um die menschliche Gehorwahrnehmung nachzubilden. Die in der Regel hohe Anzahl von entstehenden Frequenzbandern wird auf wenige, z. B. 40, zusammengefasst . Anschließend wird eine diskrete Kosinustransformation durchgeführt oder Hauptkomponenten-Analyse gemacht. Die Berechnung von MFCCs ist allgemein bekannt.
Im folgenden Spracherkennungsschritt werden die berechneten Merkmale, beispielsweise MFCCs, mit den durch das HMM erzeug-
te Vektoren verglichen. Daraus ergibt sich ein Abstand oder ein Maß für die Abweichung von den Segmenten im HMM. Dies wird auch als Emission oder Emissionswahrscheinlichkeit bezeichnet. Das zugrundeliegende Vokabular für die Spracherken- nung weist Zustandsfolgen auf, die eine Aneinanderreihung der Segmente aufweist. Im letzten Suchschritt wird, um ein Erkennungsergebnis oder ein Treffer aus dem Vokabular bzw. den Suchwortschatz zu ermitteln, eine Suche auf Basis der Emissionen des Erkennungsvokabulars und gegebenenfalls einer Gram- matik oder einem Sprachmodell durchgeführt. Es ist z. B. eine Baumsuche möglich, aber auch andere Suchalgorithmen denkbar, um im Vokabular des HMM-Modells die erfasste Äußerung bzw. den erfassten Außerungsteil zu identifizieren.
Die Teilspracherkennung im Schritt Sl liefert daher eine
Trefferliste mit N Listenubereinstimmungen für den Stadtena- men. In der Figur 5 ist dies auf der linken Seite dargestellt. Als mögliche Treffer ergibt die Teilspracherkennung z. B. "München" Hl, "Munchlingen" H2 und weitere Eintrage bis "Munchhausen" HN.
Bezugnehmend auf die Figur 3 kann im Schritt T3 nun das Vokabular aus dem Speicher geloscht werden. Im Schritt T4 wird nun ein weiteres Vokabular für die zweite Stufe des Spracher- kennungsverfahrens erzeugt und in den Speicher eingeschrieben. Das entsprechende Erkennervokabular wird erzeugt, indem die den Stadtenamen der Treffer Hl-HN zugehörigen Straßennamen ausgelesen werden.
In der mittleren Spalte der Figur 5 werden für den ersten Treffer München Hl, M Straßennamen benotigt. In einer entsprechend hierarchisch organisierten Datenbank sind "München" Hl beispielsweise SNIl-SNlM Eintrage zugeordnet. Für den zweitbesten Treffer H2 "Munchlingen existieren in der Daten- bank O Straßennamen SN21-SN2O. Für den N-ten Treffer HN
"Munchhausen" liegen in der Datenbank SNNl-SNNP Eintrage vor. Ferner sind, um eine vollständige Spracherkennung der Zieleingabe "München Otto-Hahn-Ring 6" zu erkennen, noch die
Hausnummern der jeweiligen Straßennamen SNIl-SNlM, SN21-SN2O und SNNl-SNNP notwendig. Dabei ist es nicht notwendig, für jeden Straßennamen die maximal mögliche Anzahl von Hausnummern für das Vokabular zu verwenden. Vielmehr kann beruck- sichtigt werden, dass beispielsweise die Arabellastraße SNIl in München 100 Hausnummern NB111-NB11Q mit Q = 100 aufweist. In einer anderen Stadt konnte eine andere Anzahl von Hausnummern möglich sein. Der Zweigweg SNlM in München Hl weist beispielsweise nur vier Hausnummern NB1M1-NB1MR mit R = 4 auf.
Analog wird das Vokabular für die Gesamtspracherkennung, also die gesamte Äußerung A nur mit Kombinationen von Suchworten, also Stadtenamen, Straßennamen und Hausnummern zusammengestellt und kompiliert, wie dies in Abhängigkeit von dem ers- ten Teilspracherkennungsergebnis, also den Treffern Hl-HN notwendig ist. Durch diese drastische Reduzierung des Erkennervokabulars für die Erkennung der gesamten Äußerungen A ist eine Implementierung mit oder auf ressourcenschwachen Rechnersystemen möglich. Zudem ist durch die Reduktion der zu u- bertragenden Daten zwischen der Datenbank 4 und dem Embedded System 14 auch die Transferzeit zur Initialisierung der Spracherkennung geringer.
Im folgenden Gesamtspracherkennungsschritt S2 wird dann bei- spielsweise über eine HMM-Spracherkennung ein entsprechendes Ergebnis mit Treffern erzielt. Dies wird im Schritt T5 z. B. dem Benutzer über eine Ausgabeeinrichtung, wie ein Display, eingezeigt. Durch den eingeschränkten Suchraum, also die speziell vorgegebenen reduzierten Vokabulare bei der Gesamt- Spracherkennung im Schritt S2 ist auch die Erkennungsrate besonders hoch, da unlogische oder nicht mögliche Kombinationen von Suchworten durch die spezielle Auswahl und Erzeugung des Erkennervokabulars in der zweiten Stufe ausgeschlossen oder zumindest unterdruckt werden.
Um die Rechenlast für die CPU 2 weiter zu reduzieren, kann ferner vorgesehen sein, dass bereits vorgenommene Berechnungen in der Teilspracherkennung des Schritts Sl, beispielswei-
se die Bestimmung von Merkmalen wie MFCCs, wiederverwendet werden und in die Vokabularerzeugung und/oder Gesamtspracherkennung im Schritt S2 berücksichtigt werden. Die Merkmale o- der Emissionswahrscheinlichkeiten aus dem ersten Teilsprach- erkennungsschritt Sl können zwischengespeichert werden und in dem zweiten Gesamtspracherkennungsschritt S2 wiederverwendet werden. Eine mehrfache Berechnung, die redundant wäre, wird dadurch verhindert.
Neben dem Beispiel einer Zieleingabe im Navigationssystem für ein Kraftfahrzeug sind auch andere Anwendungsmoglichkeiten denkbar. Es ist beispielsweise möglich, bei einem MP3-Player oder einer allgemeinen Audiowiedergabeeinrichtung, welche sprachgesteuert sein soll, den Benutzer den vollständigen Satz aus Kunstler, Album und Titel sprechen zu lassen und zunächst eine Teilspracherkennung an dem Außerungsteil, der den Kunstler betrifft, durchgeführt wird. Im zweiten Spracherken- nungsschritt ist dann ein deutlich verminderter Erkennervoka- bularumfang möglich. Der Nutzer muss in keinem Fall die Ge- samtaußerung manuell in Einzelteile spalten oder einzelne Außerungsteile quittieren. Das dargestellte Verfahren ermöglicht dabei eine besonders komfortable und benutzerfreundliche Spracherkennung bei viel- bzw. mehrteiligen Äußerungen, die zu erkennen sind.
Die Figuren 6A und 6B zeigen ein mögliches zeitliches Ablaufdiagramm für ein zweistufiges Spracherkennungsverfahren nach einer Variante der Erfindung. Dabei verlauft die Zeitachse von oben nach unten, wobei die vier parallel gestrichelten Linien mit Aktionen bzw. Verfahrensschritten besetzt sind, die von verschiedenen Elementen oder Einrichtungen eines Spracherkennungssystems bzw. einer Spracherkennungsvorrich- tung, wie sie beispielsweise in der Figur 1 dargestellt ist, durchgeführt werden.
Dazu ist eine Spracherkennungseinheit 2, die beispielsweise durch die CPU zusammen mit einer geeigneten Programmierung z. B. durch eine Spracherkennungssoftware im ROM-Speicher 7 rea-
lisiert werden kann, dargestellt. Der Einfachheit halber ist der Kasten mit dem Bezugszeichen 2 versehen. Die zweite vertikale gestrichelte Linie ist einem gemeinsam verwendeten Speicher, beispielsweise dem RAM-Speicher 6, zugeordnet. Die dritte vertikale gestrichelte Linie ist einer Einheit 4 zugeordnet, die entsprechende Phoneme für ein Vokabular für die Erkennereinrichtung oder Erkennersoftware bereitstellt. Dies kann z. B. direkt von der Datenbank 4 bereitgestellt werden oder aber mittels geeigneter Programmierung auch von der CPU über einen Programmteil, der einen sogenannten Phonem-Service bietet, geliefert werden. Die rechte vertikale gestrichelte Linie ist einer Ein-/Ausgabeeinrichtung 12 zugeordnet, beispielsweise einem GUI, das zum Beispiel als Touchscreen oder kombinierte Tastatur-Display-Einheit ausgeführt sein kann.
Das Spracherkennungsverfahren wird beispielsweise im Schritt Rl durch die Eingabe einer Landerkennzeichnung von dem Nutzer durch das GUI 12 gestartet. Die Eingabe wird der Erkennereinheit 2 übermittelt. Als Erkennereinheit wird im Folgenden zum Beipiel eine Programmteil verstanden, der eine Spracherken- nungsfunktionalitat auf einer programmierbaren Rechnereinrichtung, wie der CPU 2, realisiert. Die Erkennereinheit 2 beginnt dann im Schritt T21, ein entsprechendes erstes Vokabular für das entsprechende Land von der Datenbank bzw. dem Phonem-Service 4 abzufragen. In der ersten Stufe der Spracherkennung ist es notwendig, beim Beispiel bei der Zieleingabe für ein Navigationssystem, ein Teilvokabular für die Stadte- namen zu erstellen, wobei, falls ein HMM-Modell für die Spracherkennung eingesetzt wird, die übrigen Außerungsteile, also diejenigen, welche nicht den erwarteten Außerungsteil, welcher den Stadtenamen betrifft, entsprechen im Rahmen des HMM-Modells mit Mulldaten modelliert werden.
Die CPU bzw. Erkennereinheit 2 sendet eine entsprechende Pho- nem-Anfrage R2 an die Phonem-Datenbank 4 bzw. den Phonem- Service 4. Daraufhin erfolgt im Schritt R3 das Schreiben der notwendigen Phoneme und/oder weiterer Angaben, die für eine Spracherkennungssoftware notwendig sein können, in den ge-
meinsam genutzten Speicher 6 der Spracherkennungsvorrichtung 1. Der verwendete Speicherbereich ist gegenüber der vollständigen Datenbank 4 gering, da lediglich die Stadtenamen, also ein Außerungsteil, aktiv modelliert wird, wahrend übrige Au- ßerungsteile der aufzunehmenden Äußerung im ersten Erkennungsschritt unwichtig sind. Nachdem der Speicher mit den notwendigen Phonemdaten beschrieben wurde, wird dies im Schritt R4 mit einem Quittungssignal oder Done-Befehl beendet. Der Phonem-Service 4 liefert ebenfalls ein Quittungssig- nal R5 an die Erkennereinheit, welche daraufhin im Folgeschritt R6 aus dem gemeinsam verwendeten Speicher 6 die vorliegenden Phonemdaten ausliest.
Die entsprechende Erkennersoftware oder Erkennereinrichtung 2 erstellt nun im Schritt T22 das erste Vokabular für die
Durchfuhrung der ersten Teilspracherkennung, z. B. für ein HMM-Modell mit Mull- oder Fulldaten für die nicht zu berücksichtigenden Außerungsteile. Anschließend kann der Speicherbereich für die Phonemdaten im Schritt R7 freigegeben werden. Dies wird der Phonem-Serviceeinheit 4 mitgeteilt. Nach dem
Schritt R4 ist die Teilspracherkennung vollständig vorbereitet.
Somit kann im Schritt R8 eine Eingabeaufforderung, z. B. über das GUI 12 dem Nutzer übermittelt werden. Eine Möglichkeit besteht darin, dass der Nutzer über ein Push-to-Talk die vollständige Zieladresse für das Navigationssystem ausspricht. Dies erfolgt im Schritt Tl. Der Nutzer gibt dabei in einem vollständigen Satz die gesamte Zieladresse ein, ohne über das GUI weitere Eingaben vorzunehmen. Beim Push-to-Talk wird der Start der Spracheingabe durch ein Signal, beispielsweise einen Knopfdruck, durch den Nutzer der Erkennereinheit 2 signalisiert. Dadurch ist ein fest definierter Anfang der Äußerung, welche durch die Erkennereinheit bzw. Software zu erkennen ist, vorgegeben, was den Rechenaufwand erniedrigt, da kein Außerungsanfang aufwandig bestimmt werden muss.
Somit beginnt im Schritt R9 die erste Teilspracherkennung zum Bestimmen einer Trefferliste aus dem Vokabular an Suchworten, welches in diesem Fall eine Liste von N Treffern mit den besten Stadtenamen umfasst. Eine beispielhafte Liste mit ersten Treffern Hl-HN ist in der Figur 5 dargestellt. Das Ergebnis dieser ersten Stufe der Spracherkennung im Schritt Sl kann optional auch im Schritt RIO von dem GUI angezeigt werden. Dies ist jedoch nicht zwingend notwendig, da die Spracherkennung selbsttätig in der zweiten Stufe auch die weiteren Auße- rungsteile, also diejenigen, die Straßennamen und Hausnummern betreffen, berücksichtigt. Dazu muss zunächst ein erneutes Vokabular für die Spracherkennungseinheit 2 bereitgestellt werden .
Es erfolgt daher im Schritt RIl eine Abfrage der Phonemdaten für die Straßennamen und/oder Hausnummern, welche den ersten Treffer Hl der ersten Stufe der Spracherkennung betreffen. Die entsprechenden Phonemdaten werden im Schritt R12 in den gemeinsam genutzten Speicher 6 übertragen, was im Schritt R7 quittiert wird und im Schritt R14 der Erkennereinheit 2 mitgeteilt wird. Im Schritt R15 liest die Erkennereinheit 2 die entsprechenden Phonemdaten und erstellt im Schritt T41 das Vokabular für die zweite Stufe der Spracherkennung, die den ersten Treffer der ersten Stufe Hl betrifft.
Analog werden Abfragen für Straßennamendaten der weiteren Treffer, z. B. dem zweiten Treffer H2 im Schritt R16 von der Phonemdatenbank 4 abgefragt. Wiederum werden die entsprechenden Phonemdaten im Schritt R17 in den Speicher eingeschrie- ben, was im Schritt R18 quittiert wird, und im Schritt R19 von der Phonemdatenbank an die Erkennereinrichtung 2 mitgeteilt wird. Die Phonemdatenbank oder der Phonem-Service 4 bestätigt somit die erfolgreiche Übermittlung der angefragten Phonemdaten in den Speicher 6 der Erkennereinheit 2. Anhand der vorliegenden Phonemdaten und optionaler weiterer Daten, die für den Aufbau eines Vokabulars für die Erkennereinheit erforderlich sind, erstellt die Erkennereinheit im Schritt T42, dass Vokabular für die zweite Stufe der Spracherkennung,
wie es z. B. in der Figur 5 anhand der Straßennamen SN21-SN2O und Hausnummern NB211-NB21S und NB2O1-NB2OT illustriert ist. Entsprechende Phonemdatenabfragen und Vokabularerstellungen erfolgen nun für alle Treffer der ersten Erkennungsstufe Hl- HN. Mittels dem derart aufgebauten Erkennervokabular kann nun die zweite Stufe der Spracherkennung an der gesamten Äußerung erfolgen .
Die Äußerung kann z. B. ebenfalls im Speicher 6 digitalisiert abgelegt sein. Somit fragt die Erkennereinheit 2 die Äußerung im Schritt R20 ab und fuhrt den zweiten Spracherkennungs- schritt bzw. die zweite Spracherkennungsstufe S2 durch. Dies erfolgt mit dem Vokabular, welches abhangig von den Ergebnissen der ersten Erkennerstufe erzeugt wurde. Schließlich wird im Schritt R21 eine Trefferanzeige vorgenommen, welche z. B. bei dem in der Figur 4 dargestellten Äußerung die folgenden Möglichkeiten für Zieladressen umfassen kann:
München Otto-Hahn-Ring 6, München Otto-Hahn-Ring 60, München Otto-Hahn-Weg 6, München Otto-Hahn-Ring 16.
Die vorbeschriebenen Varianten des Verfahrens zur Spracher- kennung reduzieren das für die Erkennung, insbesondere mehrteilige Äußerungen, notwendige Vokabular. Damit sind auch es- sourcenschwache Embedded Systems in der Lage, sprecherunabha- gige Spracherkennungen zu realisieren. Die Spracherkennung der komplexen Äußerung mit mehreren Außerungsteilen wird in zwei oder optional auch mehreren Schritten durchgeführt. Abhangig vom Erkennungsergebnis des ersten Schrittes werden die Vokabulare der folgenden Schritte erstellt. Obwohl die Erfindung im Wesentlichen anhand von zwei Erkennungsstufen oder Erkennungsschritten erläutert wurde, ist eine Verallgemeine- rung auf mehrere Schritte leicht möglich. Bei der Erkennung großer Wortschatze wird die Vokabulargroße für die einzelnen Schritte oder Erkennungsstufen jeweils deutlich reduziert.
Das mehrstufige Verfahren zur Spracherkennung hat ferner den Vorteil, dass eine reduzierte Ladezeit der jeweiligen Phonemdaten oder Vokabulardaten von einer Datenbank erfolgt. Konventionelle Erkenner, welche längere Äußerungen mit mehreren Außerungsteilen einer Spracherkennung unterziehen, müssen das vollständige Vokabular mit seiner gesamten Komplexität am Anfang der Spracherkennung laden. Dies belastet den jeweiligen Daten- oder Kommunikationsbus und erfordert einen besonders großen Speicher. Durch die zwei- oder mehrstufige Spracher- kennung gemäß der Varianten der Erfindung sind lediglich geringe Speicherplatze notwendig, und die Übertragung der jeweiligen Phonem- oder Vokabulardaten auf einem Datenbus ist reduziert .
Durch die Verwendung der ersten, beispielsweise N Treffer aus dem ersten Erkennungsschritt wird auch die Erkennungsrate gegenüber einer üblichen Strategie, bei der unabhängige Erkennungsverfahren für einen ersten Außerungsteil und einen zweiten Außerungsteil durchgeführt wird, verbessert. Dies kann insbesondere durch die Verwendung logischer Verknüpfungen o- der Konsistenzuberprufungen bei hierarchischen Datenbanken mit einem Oberbegriff, wie Stadtenamen, und weiteren zugeordneten Begriffen, wie Straßennamen und Hausnummern, geschehen. Wenn in der ersten Erkennungsstufe, beispielsweise für N = 20 Treffer ermittelt werden, wobei die Äußerung "München Otto- Hahn-Ring 6" ist und "München" aufgrund beispielsweise der Storumstande nur achtzehnter Stelle erkannt wird, kann dennoch die Kombination "München Otto-Hahn-Ring 6" in der zweiten Stufe als bester Treffer auftreten, wenn an den übrigen Orten wie Munchlingen oder Munchhausen entweder kein Straßenname "Otto-Hahn-Ring" existiert oder nur andere Hausnummern vorliegen. Die Verknüpfung der ersten und zweiten Erkennungsstufe liefert damit eine besonders zuverlässige Spracherkennung von komplexen mehrteiligen Äußerungen.
Die vorbeschriebenen Verfahren bieten somit eine verbesserte Erkennungsrate im Vergleich zu üblichen Erkennungsverfahren. Es ist ein reduzierter Speicher- und Rechenbedarf erforder-
lieh. Da die Vokabulare und Phonemdaten reduziert werden, ist der Datenbus mit geringerem Datentransfer belastet. Der Zugriff auf Phonemdaten und/oder Teilvokabulare ist schneller, da Teilvokabulare, beispielsweise Straßennamen- Vokabulare für besonders große Städte mit vielen Straßennamen zwischengespeichert werden können. Vokabularteile, die beispielsweise kleinen Städten entsprechen, mit wenigen Straßen können dynamisch online generiert werden und müssen nicht vorkompiliert werden. Durch die für den Benutzer einstufig wirkende Spracherkennung der komplexen Eingabeaußerung, welche zu erkennen ist, verringert sich die Eingabezeit der Zieladresse. Es sind keine mehrstufigen oder Quittiervorgange durch den Nutzer notwendig.
Obwohl die vorliegende Erfindung anhand bevorzugter Ausfuhrungsbeispiele und Varianten des Spracherkennungsverfahrens erläutert wurde, ist sie nicht darauf beschrankt, sondern vielfaltig modifizierbar. Die vorbeschriebenen Beispiele anhand einer Zieleingabe für ein Navigationssystem ist abwan- delbar. Zumindest immer dann, wenn eine mehrere Außerungsteile umfassende Äußerung hierarchisch organisiert ist, d. h., wenn beispielsweise ein erster Außerungsteil ein Oberbegriff für weitere Außerungsteile darstellt kann die Erfindung eine Spracherkennung verbessern. Insofern lasst sich der in der Figur 5 dargestellte Verzweigungsbaum auf vielerlei Anwendungen beziehen, wie z. B. die erwähnte Suche von Musikstucken bei einem Musikabspielgerat, wobei als Oberbegriff z. B. der Interpret, als weiterer Begriff das Album und schließlich die Tracknummer oder Songnummer verwendet werden kann. Auch die Anzahl der Außerungsteile und deren Anordnung in der Äußerung sind abwandelbar. Der erste zu erkennende Außerungsteil kann z. B. auch am Ende der Gesamtaußerung vorliegen.
Claims
1. Verfahren zur Spracherkennung einer zu erkennenden Äußerung (A), welche mehrere zu erkennende Außerungsteile (A1-A5) aufweist, wobei eine Teilspracherkennung (Sl) an einem ersten ausgewählten Außerungsteil (Al) erfolgt und in Abhängigkeit von einer durch die Teilspracherkennung (Sl) erkannten Auswahl von Treffern für den ersten Außerungsteil (Al) eine Spracherkennung (S2) an dem ersten (Al) und weiteren Auße- rungsteilen (A2-A5) der Äußerung (A) durchgeführt wird.
2. Verfahren nach Anspruch 1, wobei der erste Außerungsteil (Al) einer Teilspracherkennung (Sl) anhand eines Hidden-Markov-Modells unterzogen wird, bei dem die übrigen Außerungsteile (A2-A5) für die Teilspracherkennung (Sl) mit Fulldaten überdeckt werden.
3. Verfahren nach Anspruch 1 oder 2, wobei der erste Außerungsteil (Al) durch eine Bestimmung des zeitlichen Energieverlaufs der Äußerung (A) erkannt wird und einer Teilspracherkennung (Sl) unterzogen wird.
4. Verfahren nach einem der Ansprüche 1 - 3, wobei der erste Außerungsteil (Al) durch eine Sprachaktivi- tatserkennung in der Äußerung (A) ermittelt wird und einer Teilspracherkennung (Sl) unterzogen wird.
5. Verfahren nach einem der Ansprüche 1 - 4, wobei in Abhängigkeit von der durch die Teilspracherkennung (Sl) erkannten Auswahl von Treffern (Hl-HN) für den ersten
Außerungsteil (Al) eine Spracherkennung (S2) an der gesamten Äußerung durchgeführt wird.
6. Verfahren nach einem der vorherigen Ansprüche, wobei mindestens einer der folgenden Verfahrensschritte durchgeführt wird: a) Aufnehmen (Tl) einer Äußerung (A), welche mehrere Außerungsteile (A1-A5) umfasst; b) Bereitstellen eines ersten Vokabulars (T2), welches eine erste Liste von Suchworten, Phonemkombinationen und/oder U- bergangsWahrscheinlichkeiten umfasst; c) Durchfuhren einer Teilspracherkennung (Sl) für den ausge- wählten ersten Außerungsteil (Al) der aufgenommenen Äußerung (A) mittels dem bereitgestellten ersten Vokabular (Sl) zum Bestimmen einer Auswahl von Treffern (Hl-HN) aus der Liste von Suchworten; d) Bereitstellen eines zweiten Vokabulars (T4) , in Abhangig- keit von der Auswahl von Treffern (Hl-HN), wobei das zweite
Vokabular eine Liste von Suchwortkombinationen von mehreren Suchworten, Phonemkombinationen und/oder Ubergangswahrschein- lichkeiten umfasst; und e) Durchfuhren einer Spracherkennung (S2) für die aufgenomme- ne Äußerung (A) mittels dem zweiten Vokabular zum Bestimmen einer Auswahl von Treffern aus der Liste von Suchwortkombinationen .
7. Verfahren nach Anspruch 6, wobei die Auswahl von Treffern (Hl-HN) aus Suchworten gebildet wird, welche wahrscheinlichsten Treffern für die Teilau- ßerung (Al) in dem ersten Vokabular entsprechen.
8. Verfahren nach Anspruch 6 oder 7, wobei die Auswahl von Treffern aus Suchwortkombinationen gebildet wird, welche wahrscheinlichsten Treffern für die aufgenommene Äußerung (A) in dem zweiten Vokabular entsprechen.
9. Verfahren nach einem der vorherigen Ansprüche 5 - 7, wobei das zweite Vokabular Suchwortkombinationen entspricht, welche durch Zuordnen von Zusatzworten und/oder Zusatzwortfolgen zu den Treffern der Teilspracherkennung (Hl-HN) gebildet werden.
10. Verfahren nach einem der vorherigen Ansprüche 5 - 8, wobei das Verfahren zum Erkennen von gesprochenen Eintragen einer Datenbank (4) ausgestaltet ist, wobei die Datenbank (4) hierarchisch aufgebaut ist und einem jeweiligen Oberbegriff weitere Begriffe zugeordnet sind, welchen weitere Unterbegriffe zugeordnet sind.
11. Verfahren nach Anspruch 10, wobei der Oberbegriff einen Stadtenamen, die weiteren Begriffe Straßennamen und die weiteren Unterbegriffe Hausnummern umfassen .
12. Verfahren nach einem der vorherigen Ansprüche 5 - 11, wobei das zweite Vokabular eine Unterauswahl eines Gesamtvokabulars für die gesamte Äußerung aufweist und ausgewählte Kombinationen von Treffern aus der Liste von Suchworten des ersten Vokabulars mit weiteren Suchworten des Gesamtvokabulars aus dem zweiten Vokabular ausgeschlossen werden.
13. Verfahren nach einem der vorherigen Ansprüche 5 - 12, wobei nach dem Durchfuhren der Teilspracherkennung (Sl) das erste Vokabular aus einem Speicher geloscht (T3) wird und das zweite Vokabular eingelesen wird (T4).
14. Verfahren nach einem der vorherigen Ansprüche, wobei bei der Teilspracherkennung (Sl) ermittelte Eigenschaften der Äußerung (A) und/oder des Außerungsteils (Al), insbesondere bestimmte MFCC-Merkmale und/oder berechnete Emissi- onswahrscheinlichkeiten, bei der Spracherkennung (S2) der weiteren Außerungsteile (A2-A5) und/oder der gesamten Äußerung (A) wieder verwendet werden.
15. Verfahren nach einem der vorherigen Ansprüche, wobei der erste Außerungsteil (Al) am Anfang der zu erkennenden Äußerung (A) steht.
16. Verfahren nach einem der vorherigen Ansprüche, wobei zumindest Teile des zweiten Vokabulars vorkompiliert werden.
17. Verfahren nach Anspruch 12 und 16, wobei Referenzvektoren eines Hidden-Markov-Modells für Teilvokabulare des Gesamtvokabulars berechnet und abgespeichert werden .
18. Spracherkennungsvorrichtung (1), welche derart ausgestaltet ist, dass ein Verfahren nach einem der Ansprüche 1 - 17 ausgeführt wird.
19. Spracherkennungsvorrichtung (1) nach Anspruch 18, wobei die Spracherkennungsvorrichtung als ein Embedded System, insbesondere für den Automotivebereich, ausgeführt ist.
20. Spracherkennungsvorrichtung (1) nach Anspruch 18 oder 19, wobei die Spracherkennungsvorrichtung (1) eine Steuereinrich- tung (2) und eine Speichereinrichtung (5), welche an eine Datenbankeinrichtung (4) gekoppelt sind, wobei die Datenbankeinrichtung (4) Suchworte eines Vokabulars und/oder eine phonemische Transkription der Suchworte bereitstellt.
21. Spracherkennungsvorrichtung (1) nach einem der Ansprüche 18 - 20, wobei die Spracherkennungsvorrichtung als Teil eines Navigationssystems, insbesondere für ein Kraftfahrzeug, ausgestaltet ist.
22. Spracherkennungsvorrichtung (1) nach einem der Ansprüche 18 - 21, wobei die Spracherkennungsvorrichtung (1) als Teil eines Mobiltelefons und/oder einer Audiowiedergabeeinrichtung, insbe- sondere eines MP3-Players, ausgestaltet ist.
23. Kraftfahrzeug, insbesondere ein Automobil, welches eine Spracherkennungsvorrichtung (1) nach einem der Ansprüche aufweist .
24. Computerprogrammprodukt, welches die Durchführung eines Verfahrens nach einem der Ansprüche 1 - 17 auf einer programmgesteuerten Spracherkennungsvorrichtung (1) veranlasst.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP08761127.3A EP2176858B1 (de) | 2007-07-18 | 2008-06-18 | Verfahren zur spracherkennung |
| US12/452,707 US8527271B2 (en) | 2007-07-18 | 2008-06-18 | Method for speech recognition |
| CN2008800250885A CN101755301B (zh) | 2007-07-18 | 2008-06-18 | 用于语音识别的方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102007033472A DE102007033472A1 (de) | 2007-07-18 | 2007-07-18 | Verfahren zur Spracherkennung |
| DE102007033472.0 | 2007-07-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2009010358A1 true WO2009010358A1 (de) | 2009-01-22 |
Family
ID=39731426
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2008/057646 Ceased WO2009010358A1 (de) | 2007-07-18 | 2008-06-18 | Verfahren zur spracherkennung |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8527271B2 (de) |
| EP (1) | EP2176858B1 (de) |
| CN (1) | CN101755301B (de) |
| DE (1) | DE102007033472A1 (de) |
| WO (1) | WO2009010358A1 (de) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009109169A1 (de) * | 2008-03-03 | 2009-09-11 | Navigon Ag | Verfahren zum betrieb eines navigationssystems |
| EP2357647A1 (de) | 2010-01-11 | 2011-08-17 | Svox AG | Verfahren zur Spracherkennung |
| CN103632664A (zh) * | 2012-08-20 | 2014-03-12 | 联想(北京)有限公司 | 一种语音识别的方法及电子设备 |
| CN113051898A (zh) * | 2019-12-27 | 2021-06-29 | 北京阿博茨科技有限公司 | 一种面向自然语言搜索结构化数据的词义积累及分词方法、工具和系统 |
Families Citing this family (136)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
| US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
| US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
| US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
| WO2010019831A1 (en) * | 2008-08-14 | 2010-02-18 | 21Ct, Inc. | Hidden markov model for speech processing with training method |
| US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| GB2470357A (en) * | 2009-05-18 | 2010-11-24 | Denso Corp | Disambiguation of location inputs to a navigation system |
| US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
| DE102009024570A1 (de) * | 2009-06-08 | 2010-12-16 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren zum Organisieren der Wiedergabe von Medienstücken |
| WO2011037587A1 (en) * | 2009-09-28 | 2011-03-31 | Nuance Communications, Inc. | Downsampling schemes in a hierarchical neural network structure for phoneme recognition |
| US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
| US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
| DE102010040553A1 (de) * | 2010-09-10 | 2012-03-15 | Siemens Aktiengesellschaft | Spracherkennungsverfahren |
| DE102010049869B4 (de) * | 2010-10-28 | 2023-03-16 | Volkswagen Ag | Verfahren zum Bereitstellen einer Sprachschnittstelle in einem Fahrzeug und Vorrichtung dazu |
| WO2012073275A1 (ja) * | 2010-11-30 | 2012-06-07 | 三菱電機株式会社 | 音声認識装置及びナビゲーション装置 |
| US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
| US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
| DE102012202407B4 (de) * | 2012-02-16 | 2018-10-11 | Continental Automotive Gmbh | Verfahren zum Phonetisieren einer Datenliste und sprachgesteuerte Benutzerschnittstelle |
| US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
| US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
| KR102081925B1 (ko) * | 2012-08-29 | 2020-02-26 | 엘지전자 주식회사 | 디스플레이 디바이스 및 스피치 검색 방법 |
| DE112014000709B4 (de) | 2013-02-07 | 2021-12-30 | Apple Inc. | Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten |
| US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
| US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
| WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
| US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| KR101959188B1 (ko) | 2013-06-09 | 2019-07-02 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
| KR101749009B1 (ko) | 2013-08-06 | 2017-06-19 | 애플 인크. | 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화 |
| US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
| US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
| WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
| US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
| US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
| US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US9953646B2 (en) | 2014-09-02 | 2018-04-24 | Belleau Technologies | Method and system for dynamic speech recognition and tracking of prewritten script |
| US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
| US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
| DE112014007287B4 (de) * | 2014-12-24 | 2019-10-31 | Mitsubishi Electric Corporation | Spracherkennungsvorrichtung und Spracherkennungsverfahren |
| US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
| US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
| US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
| US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
| US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
| US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
| US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
| US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
| US10366158B2 (en) * | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
| US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
| US9792907B2 (en) | 2015-11-24 | 2017-10-17 | Intel IP Corporation | Low resource key phrase detection for wake on voice |
| US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
| US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US9972313B2 (en) * | 2016-03-01 | 2018-05-15 | Intel Corporation | Intermediate scoring and rejection loopback for improved key phrase detection |
| US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
| US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
| US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
| DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
| US10043521B2 (en) | 2016-07-01 | 2018-08-07 | Intel IP Corporation | User defined key phrase detection by user dependent sequence modeling |
| US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
| US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
| US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
| US10083689B2 (en) * | 2016-12-23 | 2018-09-25 | Intel Corporation | Linear scoring for low power wake on voice |
| CN106653022B (zh) * | 2016-12-29 | 2020-06-23 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音唤醒方法和装置 |
| US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
| DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
| US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
| US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
| DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
| US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
| DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
| DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
| US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
| DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
| DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
| DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
| US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
| DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
| US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
| US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
| US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
| JP2019057123A (ja) * | 2017-09-21 | 2019-04-11 | 株式会社東芝 | 対話システム、方法、及びプログラム |
| US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
| US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
| CN108053822B (zh) * | 2017-11-03 | 2021-01-15 | 深圳和而泰智能控制股份有限公司 | 一种语音信号处理方法、装置、终端设备及介质 |
| US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
| US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
| US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
| US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
| US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
| US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
| US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
| US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
| DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
| US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
| US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
| DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
| US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
| US10714122B2 (en) | 2018-06-06 | 2020-07-14 | Intel Corporation | Speech classification of audio for wake on voice |
| US10650807B2 (en) | 2018-09-18 | 2020-05-12 | Intel Corporation | Method and system of neural network keyphrase detection |
| US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
| US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
| US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
| US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
| US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
| US10878013B1 (en) | 2018-11-26 | 2020-12-29 | CSC Holdings, LLC | Bi-directional voice enabled system for CPE devices |
| CN109885649A (zh) * | 2018-12-29 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 设置唤醒词的方法和装置、机器可读存储介质及处理器 |
| US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
| US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
| US11127394B2 (en) | 2019-03-29 | 2021-09-21 | Intel Corporation | Method and system of high accuracy keyphrase detection for low resource devices |
| US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
| US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
| DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
| US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
| US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
| US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
| US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
| DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
| DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
| US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
| US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
| WO2021167654A1 (en) | 2020-02-17 | 2021-08-26 | Cerence Operating Company | Coordinating electronic personal assistants |
| US11810578B2 (en) | 2020-05-11 | 2023-11-07 | Apple Inc. | Device arbitration for digital assistant-based intercom systems |
| CN111586469B (zh) * | 2020-05-12 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 弹幕显示方法、装置及电子设备 |
| CN114694641B (zh) * | 2020-12-31 | 2025-07-25 | 华为技术有限公司 | 语音识别方法及电子设备 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2372676A1 (en) * | 1994-10-25 | 1996-05-02 | British Telecommunications Public Limited Company | Voice-operated services |
| DE10207895A1 (de) * | 2002-02-23 | 2003-09-18 | Harman Becker Automotive Sys | Verfahren zur Spracherkennung und Spracherkennungssystem |
| EP1793371A2 (de) * | 2005-11-30 | 2007-06-06 | Volkswagen Aktiengesellschaft | Verfahren zur Spracherkennung |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5440662A (en) * | 1992-12-11 | 1995-08-08 | At&T Corp. | Keyword/non-keyword classification in isolated word speech recognition |
| US6061653A (en) * | 1998-07-14 | 2000-05-09 | Alcatel Usa Sourcing, L.P. | Speech recognition system using shared speech models for multiple recognition processes |
| US6223155B1 (en) * | 1998-08-14 | 2001-04-24 | Conexant Systems, Inc. | Method of independently creating and using a garbage model for improved rejection in a limited-training speaker-dependent speech recognition system |
| US7181399B1 (en) * | 1999-05-19 | 2007-02-20 | At&T Corp. | Recognizing the numeric language in natural spoken dialogue |
| WO2001001389A2 (de) * | 1999-06-24 | 2001-01-04 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zur spracherkennung |
| DE10012572C2 (de) | 2000-03-15 | 2003-03-27 | Bayerische Motoren Werke Ag | Vorrichtung und Verfahren zur Spracheingabe eines Zielortes mit Hilfe eines definierten Eingabedialogs in ein Zielführungssystem |
| EP1162602B1 (de) | 2000-06-07 | 2004-12-15 | Sony International (Europe) GmbH | Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars |
| JP2002358095A (ja) * | 2001-03-30 | 2002-12-13 | Sony Corp | 音声処理装置および音声処理方法、並びにプログラムおよび記録媒体 |
| US7016849B2 (en) * | 2002-03-25 | 2006-03-21 | Sri International | Method and apparatus for providing speech-driven routing between spoken language applications |
| AU2002325930A1 (en) * | 2002-08-01 | 2004-02-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for automatic speech recognition |
| US7031915B2 (en) * | 2003-01-23 | 2006-04-18 | Aurilab Llc | Assisted speech recognition by dual search acceleration technique |
| DE102005030380B4 (de) * | 2005-06-29 | 2014-09-11 | Siemens Aktiengesellschaft | Verfahren zur Ermittlung einer Hypothesenliste aus einem Vokabular eines Spracherkennungssystems |
| US8180641B2 (en) * | 2008-09-29 | 2012-05-15 | Microsoft Corporation | Sequential speech recognition with two unequal ASR systems |
| US8595010B2 (en) * | 2009-02-05 | 2013-11-26 | Seiko Epson Corporation | Program for creating hidden Markov model, information storage medium, system for creating hidden Markov model, speech recognition system, and method of speech recognition |
-
2007
- 2007-07-18 DE DE102007033472A patent/DE102007033472A1/de not_active Ceased
-
2008
- 2008-06-18 WO PCT/EP2008/057646 patent/WO2009010358A1/de not_active Ceased
- 2008-06-18 CN CN2008800250885A patent/CN101755301B/zh not_active Expired - Fee Related
- 2008-06-18 US US12/452,707 patent/US8527271B2/en active Active
- 2008-06-18 EP EP08761127.3A patent/EP2176858B1/de not_active Not-in-force
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2372676A1 (en) * | 1994-10-25 | 1996-05-02 | British Telecommunications Public Limited Company | Voice-operated services |
| DE10207895A1 (de) * | 2002-02-23 | 2003-09-18 | Harman Becker Automotive Sys | Verfahren zur Spracherkennung und Spracherkennungssystem |
| EP1793371A2 (de) * | 2005-11-30 | 2007-06-06 | Volkswagen Aktiengesellschaft | Verfahren zur Spracherkennung |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009109169A1 (de) * | 2008-03-03 | 2009-09-11 | Navigon Ag | Verfahren zum betrieb eines navigationssystems |
| EP2357647A1 (de) | 2010-01-11 | 2011-08-17 | Svox AG | Verfahren zur Spracherkennung |
| CN103632664A (zh) * | 2012-08-20 | 2014-03-12 | 联想(北京)有限公司 | 一种语音识别的方法及电子设备 |
| CN113051898A (zh) * | 2019-12-27 | 2021-06-29 | 北京阿博茨科技有限公司 | 一种面向自然语言搜索结构化数据的词义积累及分词方法、工具和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101755301A (zh) | 2010-06-23 |
| US8527271B2 (en) | 2013-09-03 |
| US20100286984A1 (en) | 2010-11-11 |
| DE102007033472A1 (de) | 2009-01-29 |
| EP2176858B1 (de) | 2016-03-23 |
| CN101755301B (zh) | 2012-11-28 |
| EP2176858A1 (de) | 2010-04-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2176858B1 (de) | Verfahren zur spracherkennung | |
| DE102007052055B4 (de) | Kraftfahrzeug mit einer Sprachschnittstelle | |
| DE19709518C5 (de) | Verfahren und Vorrichtung zur Spracheingabe einer Zieladresse in ein Zielführungssystem im Echtzeitbetrieb | |
| DE19533541C1 (de) | Verfahren zur automatischen Steuerung eines oder mehrerer Geräte durch Sprachkommandos oder per Sprachdialog im Echtzeitbetrieb und Vorrichtung zum Ausführen des Verfahrens | |
| DE60125542T2 (de) | System und verfahren zur spracherkennung mit einer vielzahl von spracherkennungsvorrichtungen | |
| EP1892700A1 (de) | Verfahren zur Spracherkennung und Sprachwiedergabe | |
| WO2005013261A1 (de) | Verfahren zur spracherkennung und kommunikationsgerät | |
| DE19847419A1 (de) | Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äußerung | |
| WO1998010413A1 (de) | Sprachverarbeitungssystem und verfahren zur sprachverarbeitung | |
| DE102014201676B4 (de) | Verfahren für das Steuern des Dialogs von Sprachsystemen | |
| EP1884924A1 (de) | Verfahren zum Erzeugen einer kontextbasierten Sprachdialogausgabe in einem Sprachdialogsystem | |
| DE60318385T2 (de) | Sprachverarbeitungseinrichtung und -verfahren, aufzeichnungsmedium und programm | |
| EP3152753B1 (de) | Assistenzsystem, das mittels spracheingaben steuerbar ist, mit einer funktionseinrichtung und mehreren spracherkennungsmodulen | |
| DE69331247T2 (de) | Spracherkennungssystem | |
| DE112006000322T5 (de) | Audioerkennungssystem zur Erzeugung von Antwort-Audio unter Verwendung extrahierter Audiodaten | |
| DE102017211447B4 (de) | Verfahren zum Auswählen eines Listeneintrags aus einer Auswahlliste einer Bedienvorrichtung mittels Sprachbedienung sowie Bedienvorrichtung | |
| EP3685373B1 (de) | Kraftfahrzeug | |
| DE102014010315B4 (de) | Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben | |
| EP2012303B1 (de) | Verfahren zur Erkennung eines Sprachsignals | |
| DE102011112887A1 (de) | Verfahren zur kontextbezogenen Informationsabfrage | |
| CH717305A1 (de) | Verfahren und Automat zur Spracherkennung deutscher Dialekte. | |
| EP2357647B1 (de) | Verfahren zur Spracherkennung | |
| WO2004029932A1 (de) | Verfahren und vorrichtung zum rechnergestützten vergleich einer ersten folge lautsprachlicher einheiten mit einer zweiten folge lautsprachlicher einheiten, spracherkennungseinrichtung und sprachsyntheseeinrichtung | |
| DE10359624A1 (de) | Spracherkennung mit sprecherunabhängiger Vokabularerweiterung | |
| WO2004029928A1 (de) | Sprachsteuerungs-vorrichtung, verfahren zum rechnergestützten steuern einer anordnung, telekommunikationsgerät und autoradio |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200880025088.5 Country of ref document: CN |
|
| DPE2 | Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101) | ||
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08761127 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2008761127 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 12452707 Country of ref document: US |