Speech correction system and speech correction method

The speech correction system includes a storage device, an audio receiver and a processing device. The processing device includes a speech recognition engine and a determination module. The storage device is configured to store a database. The audio receiver is configured to receive an audio signal. The speech recognition engine is configured to identify a key speech pattern in the audio signal and generate a candidate vocabulary list and a transcode corresponding to the key speech pattern; wherein the candidate vocabulary list includes a candidate vocabulary corresponding to the key speech pattern and a vocabulary score corresponding to the candidate vocabulary. The determination module is configured to determine whether the vocabulary score is greater than a score threshold. If the vocabulary score is greater than the score threshold, the determination module stores the candidate vocabulary corresponding to the vocabulary score in the database.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to Taiwan Application Serial Number 107132155, filed Sep. 13, 2018, which is herein incorporated by reference.

BACKGROUND

Technical Field

The present invention relates to a system for receiving speech, and in particular to a speech correction system and a speech correction method.

Description of the Related Art

In recent years, with the development of electronic devices such as mobile phones, tablets, car navigation systems and the like, there are more and more ways for users to enter information into electronic devices. For example, users can use voice signal to input information into electronic devices. Most traditional voice systems (such as the voice software developed by Google and Microsoft) are operated by a cloud server, an language analysis engine or model to determine the one or more vocabularies (i.e. the voice signal) that matches the voice command, and then ask the user whether the one or more vocabularies is correct that described by the user via user interface, thereby allowing the user to confirm whether the output is correct. If user confirms that the output is correct, the correct vocabulary is output directly. If the user confirms that all the corresponding vocabularies are wrong, the user are requested to input the correct vocabularies into the language analysis engine, and the speech analysis mechanism is retrained.

However, the disadvantage of the traditional voice system is that it is necessary to ask the user all the time to modify and improve the language analysis model, causing inconvenience to the user.

It can be seen that the above methods obviously still have inconveniences and defects, and need to be further improved.

BRIEF SUMMARY

An embodiment of the invention introduces a speech correction system. The speech correction system includes a storage device, an audio receiver and a processing device. The processing device includes a speech recognition engine and a determination module. The storage device is configured to store a database. The audio receiver is configured to receive an audio signal. The speech recognition engine is configured to identify a key speech pattern in the audio signal and generate a candidate vocabulary list and a transcode corresponding to the key speech pattern; wherein the candidate vocabulary list includes a candidate vocabulary corresponding to the key speech pattern and a vocabulary score corresponding to the candidate vocabulary. The determination module is configured to determine whether the vocabulary score is greater than a score threshold. If the vocabulary score is greater than the score threshold, the determination module stores the candidate vocabulary corresponding to the vocabulary score in the database. If all of the vocabulary scores in the candidate vocabulary list are not greater than the score threshold, the determination module stores the transcode in the database.

An embodiment of the invention introduces a speech correction method. The speech correction method comprises: receiving an audio signal, identifying a key speech pattern in the audio signal and generating a candidate vocabulary list and a transcode corresponding to the key speech pattern; and determining whether a vocabulary score is greater than a score threshold. The candidate vocabulary list comprises a candidate vocabulary corresponding to the key speech pattern and the vocabulary score corresponding to the candidate vocabulary. If the vocabulary score is greater than the score threshold, the candidate vocabulary corresponding to the vocabulary score is stored, and if all of the vocabulary scores in the candidate vocabulary list are not greater than the score threshold, the transcode is stored in a database.

DETAILED DESCRIPTION

Please refer toFIGS. 1-3,FIG. 1illustrates a speech correction system100according to an embodiment of the invention.FIG. 2is a schematic diagram illustrating a speech correction method200according to an embodiment of the invention.FIG. 3is a schematic diagram illustrating a speech correction method300according to an embodiment of the invention.

As shown inFIG. 1, the speech correction system100includes a storage device10, an audio receiver20and a processing device30. The processing device30includes a speech recognition engine31and a determination module35. In one embodiment, the processing device30further includes an analysis module37and a comparison module39.

In one embodiment, the storage device10can be implemented by a read-only memory, a flash memory, a floppy disk, a hard disk, an optical disk, a flash disk, a magnetic tape, a database accessible via a network, or a storage medium that can be easily conceived by those of ordinary skill in the art and has the same function. In one embodiment, the storage device10is used for storing database DB (as shown inFIG. 2).

In one embodiment, the audio receiver20uses for receiving an audio signal. In one embodiment, the audio receiver20can be a microphone or other device having similar function.

In one embodiment, the processing device30can be any electronic device having calculation function. In one embodiment, the speech recognition engine31, the determination module35, the analysis module37and the comparison module39can be individually or collectively implemented by, for example, a microcontroller, a microprocessor, a digital signal processor, an application specific integrated circuit (ASIC), or a logic circuit.

In one embodiment, referring toFIG. 2, the audio receiver20is configured to receive an audio signal for command SIG1(“audio signal”), and the analysis module37is configured to receive the audio signal SIG1from the audio receiver20.

In this example, the audio signal SIG1is “Put an Apple”. When the audio receiver20receives the audio signal SIG1, the audio signal SIG1is transmitted to the analysis module37. Then the analysis module37performs pre-processing to obtain a key speech pattern. In one embodiment, the audio signal can include commands as well as key speech pattern. The command refers to the operation that the user wants to perform, which is firstly defined in the speech correction system100. For example, the system developer defines and stores the commands in the storage device10, e.g., “Put”, “Get”, “Open”, etc. The key speech pattern is not predefined by the system. The key speech pattern refers to an object or target that the user wants the processing device30to perform the command. For example, “Apple”, “Orange”, “fridge”. In other words, the key speech pattern can be a vocabulary other than the command “Put” in the audio signal.

In one embodiment, when the audio signal SIG1is “open fridge”, the meaning of the audio signal SIG1is “enable” an application, such as a refrigerator management application. In one embodiment, the user can input the audio signal SIG1through the refrigerator management application (e.g., the refrigerator management application installed in a mobile phone, tablet, computer, etc.). In one embodiment, the audio signal SIG1may be a series of voices, such as “Put an Apple”, “Put an Orange”, “finish” (“finish” means to close the application). Thus, the user can record the type, behavior (i.e., command) and/or quantity of food in the refrigerator on their own electronic device (local terminal device, such as a mobile phone). However, the present invention is not limited to application to a refrigerator management system, and also can be applied to other management systems.

In one embodiment, the pre-processing on the audio signal SIG1by the analysis module37could use known techniques, such as noise removing, syllables analyzing and sentences grouping, to extract the command and/or the key speech pattern, so it will not be described here.

Next, the key speech pattern is transmitted to the speech recognition engine31. The speech recognition engine31is used to recognize the key speech pattern in the audio signal, and then generate a candidate vocabulary list LST1and a transcode corresponding to the key speech pattern (for example, as shown inFIG. 2: “Aipo”). The candidate vocabulary list LST1includes the candidate vocabularies corresponding to the key speech pattern (for example, “Apple”, “Applet”, “Apply” and “Pineapple”, as shown inFIG. 2) and each of the candidate vocabularies has a corresponding vocabulary score (for example: “Apple” corresponds to a vocabulary score 0.987, “Applet” corresponds to a vocabulary score 0.941, “Apply” corresponds to a vocabulary score 0.903 and “Pineapple” corresponds to a vocabulary score 0.862). The higher the vocabulary score, the higher level the candidate vocabulary matches the key speech pattern.

In another embodiment, as shown inFIG. 3, the analysis module37receives another audio signal SIG2from the audio receiver20. In this example, the audio signal SIG2is “Put Toufu” (the user may want to input a type of Chinese food called “doufu()”, pronounced “Toufu”). The analysis module37performs pre-processing on the audio signal SIG2to obtain the command and/or the key speech pattern. Then, the key speech pattern is transmitted to the speech recognition engine31. The speech recognition engine31is used to recognize the key speech pattern in the audio signal SIG2and then generates a candidate vocabulary list LST3and a transcode corresponding to the key speech pattern (for example, as shown inFIG. 3: “Toufu”). For example, the candidate vocabulary list LST3may include the candidate vocabularies corresponding to the key speech pattern (for example, “Tofu” and “Kungfu”, as shown inFIG. 3) and the corresponding individually vocabulary score (for example, the vocabulary score corresponding to “Tofu” is 0.932, and the vocabulary score corresponding to “Kungfu” is 0.895).

In one embodiment, the speech recognition engine31can be implemented by a known speech recognition program (for example, Google speech API, Microsoft Azure). The transcode can also be performed using a known speech recognition program.

In one embodiment, the speech recognition engine31includes at least one speech recognition program. In one embodiment, the transcode and the candidate vocabulary list LST1may be generated by the same or different speech recognition programs.

In one embodiment, the transcode is provided by the way of Roman Pinyin or other natural language pinyin. The speech recognition engine31also generates a speech code corresponding to the transcode codes (for example, inFIG. 2, the speech code corresponding to the transcode “Apia” is “0x13c”, and for another example, inFIG. 3, the speech code corresponding to the transcode “Toufu” is “0x254”). The generation of the speech code is helpful for programming.

In one embodiment, the transcode and the corresponding speech code shown inFIG. 2can be stored in the transcode table LST2. In one embodiment, the transcode and its corresponding speech code shown inFIG. 3can be stored in the transcode table LST4.

In one embodiment, the determination module35is configured to determine whether the vocabulary score is greater than a score threshold (for example, 0.95). If the vocabulary score is greater than the score threshold, the candidate vocabulary corresponding to the vocabulary score is stored in the database DB. If all the vocabulary scores in the candidate vocabulary list LST1are not greater than the score threshold, the transcode is stored in the database DB.

In an example, as shown inFIG. 2, the speech correction system100sets the score threshold as 0.95, and the determination module35determines whether each vocabulary score in the candidate vocabulary list LST1is greater than the score threshold. In the candidate vocabulary list LST1, the vocabulary score corresponding to “Apple” is 0.987 which is greater than the score threshold. Therefore, the determination module35stores “Apple” into the database DB.

In another example, as shown inFIG. 3, the speech correction system100sets the score threshold as 0.95, and the determination module35determines whether each vocabulary score in the candidate vocabulary list LST3is greater than the score threshold. When the determination module35determines that all the vocabulary scores in the candidate vocabulary list LST3are not greater than the score threshold, the determination module35stores the transcoding code “Toufu” into the database DB.

In one embodiment, the vocabulary candidate list LST1includes a plurality of candidate vocabularies corresponding to the key speech pattern, and the candidate vocabulary each corresponds to a vocabulary score. The determination module35determines whether at least one of the vocabulary scores is greater than the score threshold. If the determination module35determines that at least one of the vocabulary scores is greater than the score threshold, the candidate vocabulary corresponding to the maximum of the scores greater than the score threshold is stored in the database DB.

For example, as shown inFIG. 2, the speech correction system100sets the score threshold as 0.90, and the vocabulary score corresponding to “Apple” in the candidate vocabulary list LST1is 0.987, the vocabulary score corresponding to “Applet” is 0.941, and the vocabulary score corresponding to “Apply” is 0.903. Due to the three vocabulary scores are all greater than the score threshold (0.90), the determination module35would select the candidate vocabulary “Apple” corresponding to the maximum value of the vocabulary score greater than the score threshold (0.987) and stores the candidate vocabulary “Apple” into the database DB.

In one embodiment, when the audio receiver20receives a plurality of different audio signals, all the candidate vocabularies selected by the determination module35can be stored in the database DB. For example, firstly, the processing device30executes the process shown inFIG. 2to get the determination output of “Apple”. Then, the processing device30executes the process shown inFIG. 3to get the determination output of “Toufu”. The processing device30finally stores both output of “Apple” and “Toufu” in the database DB.

In one embodiment, the score threshold can be adjusted according to the actual system environment.

Next, please refer toFIG. 4, which is a schematic diagram illustrating a speech correction method400according to an embodiment of the invention. InFIG. 4, when the audio receiver20receives the audio signal SIG3, for example, “Get Toufu”, the audio receiver20transmits the audio signal SIG3to the analysis module37for performing pre-processing. After the analysis module37completes the pre-processing, the analysis module37transmits the key speech pattern to the comparison module39. The comparison module39receives the key speech pattern and compares the key speech pattern with the candidate vocabularies and transcodes stored in database DB (i.e., all the vocabularies and the transcodes in the database DB, such as “Apple”, “Orange”, “Cherry” . . . “Toufu” shown inFIG. 4), to generate a comparison result list LST5. The comparison result list LST5includes comparison scores individually corresponding to each of the candidate vocabularies and the transcode(s). For example, “Apple” corresponds to the comparison score as 0.553, “Orange” corresponds to the comparison score as 0.436, “Cherry” corresponds to the comparison score as 0.287 . . . , and “Toufu” corresponds to the comparison score as 0.989. Next, the determination module35determines whether each of the comparison scores is greater than a comparison threshold (for example, 0.95). In this example, only the comparison score that corresponds to “Toufu” (for example, 0.989) is larger than the comparison threshold (for example, 0.95), so the output result is “Toufu”.

In another embodiment, if the comparison scores of vocabularies in the database DB (for example, 0.97, 0.98, and 0.99, respectively) are greater than the comparison threshold (for example, 0.95), the determination module35selects the vocabulary corresponding to the maximum value of the comparison score (i.e., 0.99) as the output result.

In one embodiment, the comparison threshold can be adjusted according to an actual system environment.

Therefore, when the user repeats the same key speech pattern, if the vocabulary corresponding to the key speech pattern has been stored in the database DB, the speech correction system100can quickly correspond to the correct output result, if the vocabulary corresponding to the key speech pattern has not been stored in the database DB, the speech correction method200described inFIG. 2can be applied to define the new key speech pattern into the database DB.

In one embodiment, the speech correction method200,300can be applied to an application of a mobile phone or other electronic products. For example, the speech correction method200and/or300can be applied to a refrigerator management application. When the user says “Put an Apple” to the mobile phone, the known fruit “Apple” can be written in the database DB. Even if the user says an unrecognizable phrase to the phone (for example, the user has an accent, or the vocabulary to be entered is relatively unpopular), the database DB can still store the transcode, such as “Toufu”. Therefore, all the vocabulary that the speech correction system100can recognize or unrecognizable through the speech recognition engine31can be recorded in the database DB without requiring the user to confirm multiple times. In addition, when the user repeats the same key speech pattern, if the vocabulary corresponding to the key speech pattern has been stored in the database DB, the speech correction system100can quickly correspond to the correct output result.

The speech correction system and the speech correction method shown in the present invention can perform key speech pattern recognition accommodating different user's accent or new vocabularies when an audio signal is inputted. If the speech correction system does not recognize the vocabulary, the transcode would be stored, so the response of the speech correction system can be understood by other user. Since all vocabularies can be stored on the user's own electronic device, which is the local terminal device of the application, there is no need to compare the key speech pattern by uploading the key speech pattern to the cloud server. The speech correction system and the speech correction method can provide different user-defined speech vocabulary recognition effects. In addition, since it is not necessary to compare the key speech pattern by uploading the key speech pattern to the cloud server, it is only necessary to compare the key speech pattern with the contents of the database at the local terminal device of the application, thereby improving the efficiency of comparing the key speech pattern and the vocabulary.