Method and apparatus for speech recognition using device usage pattern of user

09824686 · 2017-11-21

Assignee

Inventors

Cpc classification

International classification

Abstract

A method and apparatus for improving the performance of voice recognition in a mobile device are provided. The method of recognizing a voice includes: monitoring the usage pattern of a user of a device for inputting a voice; selecting predetermined words from among words stored in the device based on the result of monitoring, and storing the selected words; and recognizing a voice based on an acoustic model and predetermined words. In this way, a voice can be recognized by using prediction of whom the user mainly makes a call to. Also, by automatically modeling the device usage pattern of the user and applying the pattern to vocabulary for voice recognition based on probabilities, the performance of voice recognition, as actually felt by the user, can be enhanced.

Claims

1. A method of voice recognition by a device to which voice is input, the method comprising: monitoring, by the device, whether a telephone number registered in the device is used; updating, by the device, a word model by storing a name corresponding to the used telephone number; and recognizing, by the device, a word corresponding to the input voice using the updated word model and a predetermined acoustic model.

2. The method of claim 1, wherein the word model is selected according to a usage pattern of a user.

3. The method of claim 1, wherein the monitoring of whether a telephone number registered in the device is used further comprises monitoring whether a user makes a call to a predetermined telephone number by using the device, and in the updating of the word model, if the telephone number to which the call is made matches a telephone number stored in a first storage of the device, a name corresponding to the called telephone number is selected from a plurality of words corresponding to the telephone numbers in the device and the name is stored.

4. The method of claim 1, wherein the monitoring of whether the telephone number registered in the device is used further comprises monitoring whether a user receives a call from a predetermined telephone number by using the device, and in the updating of a word model, if the telephone number from which the call is received matches a telephone number stored in a first storage of the device, a name corresponding to the telephone number is selected from a plurality of words corresponding to the telephone numbers in the device and the name is stored.

5. The method of claim 1, wherein the monitoring of whether a telephone number registered in a device is used further comprises monitoring whether a user searches for a predetermined telephone number by using the device, and in the updating of a word model, if the searched for telephone number matches a telephone number stored in a first storage of the device, a name corresponding to the called telephone number is selected from a plurality of words corresponding to the telephone numbers in the device and the name is stored.

6. The method of claim 1, after the recognizing of a word corresponding to the voice, further comprising determining whether a result of the voice recognition matches the word model, wherein according to a result of determining, the word model are updated.

7. The method of claim 1, wherein the monitoring of whether a telephone number registered in the device is used comprises calculating the probability values of the word model that is to be input as the voice, and in the recognizing of a word corresponding to the voice, the voice is recognized based on the probability value.

8. The method of claim 1, wherein the telephone number and a name corresponding to the telephone number are stored in a predetermined memory corresponding to a phone book of the device.

9. The method of claim 1, wherein the word model is a name stored in a predetermined memory of the device.

10. The method of claim 9, wherein the memory is a cache.

11. The method of claim 1, wherein in the storing of the name corresponding to the used telephone number, if a new telephone number is registered in a phone book of the device, the number of telephone numbers registered in the phone book is increased, and the word model is selected from a plurality of words corresponding to the telephone numbers.

12. The method of claim 1, wherein in the storing of the name corresponding to the used telephone number, if a telephone number stored in a phone book of the device is deleted, the number of telephone numbers in the phone book is decreased, and the word model is selected from a plurality of words corresponding to the telephone numbers in the device.

13. At least one non-transitory computer readable recording medium comprising computer readable instructions that control at least one processor to implement the method of any one of claims 1 through 5, 8 through 9 and 10 through 12.

14. A device for voice recognition to which voice is input, the device comprising: a processor, configured: to monitor whether a telephone number registered in a device is used; to update a word model by storing a name corresponding to the used telephone number; and to recognize a word corresponding to the input voice using the updated word model and a predetermined acoustic model.

15. The device of claim 14, wherein the processor is configured to monitor whether a user makes a call to or receives a call from a predetermined telephone number by using the device, and if the telephone number to which the call is made or from which the call is received, matches a telephone number stored in a first storage of the device, the processor is configured to select a name corresponding to the calling telephone number from a plurality of words corresponding to telephone numbers stored in the first storage and stores the name.

16. The device of claim 14, wherein the processor is configured to monitor whether the user searches for a predetermined telephone number by using the device, and if the searched for telephone number matches a telephone number stored in a first storage of the device, the processor is configured to select a name corresponding to the searched for telephone number from a plurality of words corresponding to telephone numbers stored in the first storage and stores the name.

17. The device of claim 14, wherein the processor is further configured to determine whether a result of the voice recognition matches the sword model, and the processor is configured to update the word model according to a result of determining.

18. The device of claim 14, wherein the processor is configured to register a new telephone number in a first storage or delete a registered telephone number from the first storage.

19. The device of claim 14, wherein the device is a mobile device.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:

(2) FIG. 1 is a schematic block diagram illustrating a voice recognition apparatus according to conventional technology;

(3) FIG. 2 is a schematic block diagram illustrating a voice recognition apparatus using analysis of usage patterns by user according to conventional technology;

(4) FIG. 3 is a schematic block diagram illustrating a voice recognition apparatus using a device usage pattern of a user according to an embodiment of the present invention;

(5) FIG. 4 is a schematic block diagram illustrating a voice recognition apparatus using a device usage pattern of a user according to another embodiment of the present invention;

(6) FIG. 5 is a diagram illustrating an example of a storage structure of a phone book according to an embodiment of the present invention;

(7) FIG. 6 is a diagram illustrating an example of a storage structure of a user word model unit according to an embodiment of the present invention;

(8) FIG. 7 is a flowchart of a method of updating a user model unit according to an embodiment of the present invention;

(9) FIG. 8 is a flowchart of a method of updating a user model unit according to another embodiment of the present invention;

(10) FIG. 9 is a flowchart of a method of updating a user model unit according to another embodiment of the present invention;

(11) FIG. 10 is a flowchart of a method of updating a user model unit according to another embodiment of the present invention;

(12) FIG. 11 is a flowchart of a method of updating a user model unit according to another embodiment of the present invention; and

(13) FIG. 12 is a diagram illustrating an example of recognition performance according to an embodiment of the present invention;

DETAILED DESCRIPTION OF THE INVENTION

(14) The present invention will now be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown.

(15) FIG. 3 is a schematic block diagram illustrating a voice recognition apparatus using a device usage pattern of a user according to an embodiment of the present invention.

(16) Referring to FIG. 3, the voice recognition apparatus 300 is composed of a voice recognition unit 310, a user word model unit 320, an update unit 330, a monitoring unit 340, a word storage unit 350, an acoustic model unit 360, and a vocabulary unit 370.

(17) The voice recognition unit 310 receives an acoustic model appropriate to an input voice signal, from the acoustic model unit 360, and extracts a word matching the input voice, from the vocabulary unit 370, thereby recognizing the voice. The voice recognition unit 310 also includes a converter (not shown) converting an analog voice signal into a digital voice signal, and a feature extraction unit (not shown) extracting the feature of the converted voice signal.

(18) Also, according to the current embodiment, the voice recognition unit 310 receives the probability value of a word that a user frequently uses, and performs voice recognition by using the probability value together with the acoustic model described above.

(19) According to the device usage pattern of the user, the user word model unit 320 selects telephone numbers or names that are frequently used by the user from among telephone numbers stored in a device, and stores the numbers or names for modeling. Also, as hardware, the user word model unit 320 can be implemented as a memory, and more particularly, it can be implemented as a cache memory.

(20) In this case, the size of the cache memory is determined by considering the adaptation speed of voice recognition. For example, when telephone numbers that the user mainly dials or receives a call from, among telephone numbers registered in a telephone, suddenly change, the performance actually felt by the user is temporarily lowered. However, as the device is used more, the performance actually felt by the user improves. In this case, if the size of the cache is big, restoration takes a longer time, but if the size of the cache is small, restoration takes a shorter time. Meanwhile, in relation to how accurately the device usage pattern of the user is modeled, an inverse relationship occurs. That is, if the size of the cache is big, the device usage pattern of the user is more accurately modeled, and if the size of the cache is small, the device usage pattern of the user is less accurately modeled.

(21) Also, if there are many types of telephone numbers that the user frequently dials or receive a call from, the size of the cache should be big, and if there are not many types of telephone numbers, the size of the cache can be small.

(22) The update unit 330 updates a user word model when an event of the device usage pattern of the user occurs, for example, when a call from a telephone number registered in a phone book is received, when a telephone number registered in the phone book is dialed, when a registered telephone number is searched for by using voice or a keypad when a new telephone number is registered in the phone book, or when a registered telephone number is deleted from the phone book.

(23) Also, in addition to these events, if a voice recognition result is confirmed to match with words stored in the user word model unit 320, the update unit 330 updates the user word model unit 320.

(24) The monitoring unit 340 monitors calls of the events described above, and calls made to or received from telephone numbers of predetermined persons. Here, the calls made to or received from telephone numbers includes calls made or received using a short message service (SMS) message or a multimedia messaging service (MMS) message as well as connected calls for telephone conversation.

(25) Also, the monitoring unit 340 monitors cases such as where the user searches the phone book by using a device, such as a mobile phone. Searching of the phone book includes searching the phone book for both names and telephones.

(26) The word storage unit 350 stores predetermined words, which are stored in the device, such as a mobile phone, for example, telephone numbers and names.

(27) The acoustic model unit 35 stores information on forms in which a voice signal can be expressed. A basic unit of this information is a phoneme or a phoneme-like unit. For example, a hidden Markov model (HMM) is a model most widely used for voice recognition. According to the HMM model, assuming that a voice signal is generated by a Markov model, parameters of a model are estimated in a training stage, and by using the estimated parameters, a model most appropriate to an unknown voice input is searched for in a recognizing unit.

(28) The vocabulary unit 370 provides the voice recognition unit 310 with words matching a voice signal which is expressed by using a predetermined acoustic model.

(29) FIG. 4 is a schematic block diagram illustrating a voice recognition apparatus using a device usage pattern of a user according to another embodiment of the present invention.

(30) Referring to FIG. 4, in addition to the structure of the voice recognition apparatus 300 illustrated in FIG. 3, the voice recognition apparatus according to the current embodiment further includes a calculation unit 400, a number registration unit 410, a call monitoring unit 420, a retrieval monitoring unit 430, and a result confirmation unit 440.

(31) The calculation unit 400 calculates the value of a probability that with a voice input which is to be input by a user through an input unit of a device, the user utters a name stored in the user word model unit 320. By using the word storage unit 350 storing words, such as names and telephone numbers, stored in a memory of the device, and the user word model unit 320, which stores names that the user frequently uses from among the words, and by modeling the names, the calculation unit 400 calculates the probability of a name stored in the user word model unit 320.

(32) According to ordinary speaker adaptation-type voice recognition, a feature vector is extracted from a voice input, and by using the feature vector, a value having a high score in relation to a word, is thereby obtained as a recognition result. A score formula for identifying a word (w) corresponding to an input voice vector (x) is given by equation 1 below.
score(w)=P(w|x)  (1)

(33) If this value is calculated with respect to each word, and the result is arranged, the voice recognition result can be obtained.

(34) If Bayes rule is applied to equation 1 and the result is expanded, the result is given by equation 2 below.

(35) P ( w | x ) = P ( x | w ) P ( w ) P ( x ) ( 2 )

(36) Here, P(x) is independent of w, and even if P(x) is removed from equation 2, it does not affect retrieval or recognition results. Accordingly, in the case of voice recognition, the final expression is argmax{P(x|w)P(w)}. Since in an ordinary isolated word recognizing apparatus, the probability of P(w) is assumed to have a uniform distribution characteristic, it is not considered in recognition of an isolated word or in retrieval by using voice. However, the isolated word recognition is recognizing the utterance of only one word, and is appropriate for applications, such as voice recognition-based name retrieval or name dialing according to the current embodiment.

(37) According to the current embodiment, the performance of name retrieval or name dialing based on voice recognition can be enhanced by using the telephone usage pattern of the user. A methodology of voice recognition or retrieval according to the method is expressed by equation 3 below.

(38) w ~ = arg max w W P ( w | x , u ) ( 3 )

(39) That is, it is assumed that user information (u) is additionally given. If this is expanded according to the Bayes rule and a part independent of w is removed, the result is given by equation 4 below.

(40) w ~ = arg max w W P ( x | w , u ) P ( w | u ) ( 4 )
Here, P(x|w,u) is a probability that when a speaker-adapted word model exists, a feature vector (x) appears, and P(w|u) is a probability that when a speech recognition user is u, a word w is uttered. In this case, when the value P(w|u) is calculated, the calculation is not dependent on a predetermined recognition apparatus.

(41) Here, in the case of an HMM-based recognition apparatus, the value P(w|u) is a likelihood score of a word model, and in a pattern matching method, such as dynamic time warping (DTW) that is a voice recognition algorithm, the value P(w|u) can be expressed as a value which is inversely proportional to a matching distance.

(42) Also, selectively, a speaker-dependent model or a speaker-independent model can be used. Here, the speaker-dependent model requires a process in which speech of a predetermined speaker is recognized and a user inputs his or her voice to train a recognition apparatus. The speaker-independent model does not require this process, and can use an HMM- or neural network (NM)-based voice recognition algorithm.

(43) Furthermore, a speaker-adaptation model may be formed by using a maximum a posterior (MAP) technique or a maximum likelihood linear regression (MLLR)-based speaker adaptation technique. In order to perform voice recognition or retrieval by applying a user word model according to the current embodiment, equation 5 below is used.
score(w)=log P(x|θ.sub.w)+α.sub.u log P(w|u)  (5)
Here, θ.sub.w is a speaker-independent acoustic model or a speaker-dependent acoustic model, and α.sub.w is a weight of a user model.

(44) In order to calculate a user-based word probability, a cache memory is used to track the recent statistics in relation to the recent telephone usage of the user, and from the statistics, a word probability is calculated as given by equation 6 below.
P(w|u)=(1−λ.sub.cache)P(w)+λ.sub.cache.Math.P(w|cache)  (6)

(45) Equation 6 is an expression of a user-based word probability according to the current embodiment. Since P(w) is the probability of a stored word, it has a constant value. That is, if the number of registered words is N.sub.T, the word probability can be expressed by equation 7 below.

(46) P ( w ) = 1 N T ( 7 )

(47) Since P(w|cache) reflects the usage pattern of the user, it is a value dependent on the telephone usage of the user. In equation 6, λ.sub.cache is a weight with respect to the degree of reflecting a user-based word probability, and has a value greater than 0 and less than 1. If the value is 0, the P(w|u) value in equation 6 is P(w) which is the same as the value used in the conventional name dialing, and therefore, the result will be the same as that of the conventional method.

(48) Calculation of P(w|cache) is expressed by a ratio of an appearance frequency of a word registered in the cache. That is, if N.sub.c words in the recent list are stored in the cache and the word w is stored N.sub.w times, the cache probability in relation to the word w is expressed by equation 8 below.

(49) P ( w | cache ) = N w N c ( 8 )
Accordingly, if equations 7 and 8 are combined, the user-based word probability can be calculated.

(50) The number registration unit 410 performs a function by which the user registers a new telephone number in the phone book of the device or deletes a registered telephone number. That is, the number registration unit 410 performs storage of the registration or deletion of information, together with the word storage unit 350.

(51) The call monitoring unit 420 monitors calls of the user, that is, a telephone number which the user dials or from which a call is received, and provides the information to the update unit 330. If the user retrieves a predetermined name or telephone number from the phone book of the device, the retrieval monitoring unit 430 monitors the retrieved telephone number, and provides the information to the update unit 330 in the same manner as the call monitoring unit 420.

(52) The result confirmation unit 440 determines whether or not the voice recognition result of the voice recognition unit 310 matches with words stored in the user word model unit 320. If it is determined that the result matches with the words, the recognized word is updated in the user word model unit 320.

(53) FIG. 5 is a diagram illustrating an example of a storage structure of a phone book according to an embodiment of the present invention.

(54) As illustrated in FIG. 5, the phone book has a structure in which names next to their corresponding telephone numbers are sequentially stored, and the total number of registered telephone numbers of the phone book is defined as N.sub.T. The total number of telephone numbers is used to obtain the probability of P(w) by using equation 7 as described above.

(55) FIG. 6 is a diagram illustrating an example of a storage structure of a user word model unit according to an embodiment of the present invention.

(56) Referring to FIG. 6, examples of the user word model are illustrated. In order to reduce a memory space used by the names and telephones illustrated in FIG. 5, only matching names are sequentially stored. The total number of user word models is defined as N.sub.C. The total number of user word models is used for calculation of P(w|cache).

(57) Also, by selectively storing only a pointer corresponding to a name, waste of memory can be reduced. Also, the memory for storing the user word models may be a cache memory, and if the memory space is completely filled by stored items, previous contents may be deleted by being overwritten in the order of oldest items first.

(58) FIGS. 7 through 11 illustrate embodiments of updating user word models. According to the embodiments, when a user receives a call, it is determined whether or not the telephone number the call from which is received is registered. Then, if it is determined that the telephone number is a registered one, the user name corresponding to the telephone number is updated in the user word model. Also, when the user makes a call to a telephone number registered in the phone book, the user name corresponding to the telephone number is updated in the user word model.

(59) Also, when a registered telephone number is retrieved by using voice or keypad, the user word model is updated. When a new telephone number is registered in the phone book, the name and the corresponding telephone number are stored together, and the total number (N.sub.T) of the word storage unit is increased by 1.

(60) FIG. 7 is a flowchart of a method of updating a user model unit according to an embodiment of the present invention.

(61) Referring to FIG. 7, a call to a user is received in operation 700. In operation 702, it is determined whether or not the telephone number of the caller is a telephone number registered in the phone book. In operation 704, if the caller's telephone number is a registered telephone number, the name corresponding to the telephone number is updated in the user word model unit 320.

(62) FIG. 8 is a flowchart of a method of updating a user model unit according to another embodiment of the present invention.

(63) Referring to FIG. 8, a user makes a call in operation 800. In operation 802, it is determined whether or not the telephone number to which the call is made is a telephone number registered in the phone book. In operation 804, if the called telephone number is a registered telephone number, the name corresponding to the telephone number is updated in the user word model unit 320.

(64) FIG. 9 is a flowchart of a method of updating a user model unit according to another embodiment of the present invention.

(65) Referring to FIG. 9, in operation 900, a user searches the phone book by using voice or predetermined buttons of the device. Here, the phone book corresponds to the word storage unit 350 according to an embodiment of the present invention. In operation 902, it is determined whether or not the searched for telephone number is a telephone number registered in the word storage unit 350. In operation 904, if the searched for telephone number is a registered telephone number, the name corresponding to the telephone number is updated in the user word model unit 320 in operation 906.

(66) FIG. 10 is a flowchart of a method of updating a user model unit according to another embodiment of the present invention.

(67) In operation 1000, a user registers a new telephone number in a phone book by using a device. Then, in operation 1002, the name and telephone number are stored in the phone book. In operation 1004, the total number of words stored in the word storage unit 350, that is, N.sub.T, is increased by 1. A process for deleting a telephone number illustrated in FIG. 11 is performed in the same manner as the process for registering a telephone number illustrated in FIG. 10. When a telephone number is deleted, the total number of words in the word storage unit 350 is decreased by 1.

(68) FIG. 12 is a diagram illustrating an example of recognition performance according to an embodiment of the present invention;

(69) Referring to FIG. 12, the horizontal axis indicates a probability that a word stored in the user word model illustrated in FIG. 6 is uttered, and the vertical axis indicates the performance of recognition. In general, since in the whole vocabulary that is the object of recognition, the words that are actually frequently used are limited, the probability that words stored in the user word model are uttered is high. Accordingly, the performance of voice recognition according to the present invention is much better than that of the conventional method.

(70) According to the present invention as described above, the usage pattern of a user of a device for inputting voice is monitored, predetermined words from among words stored in the device are selected based on the result of monitoring, and then, are stored, and based on an acoustic model and predetermined words, a voice is recognized. In this way, a voice can be recognized by using a prediction of who the user mainly calls. Also, by automatically modeling the device usage pattern of the user and applying the pattern to vocabulary for voice recognition based on probabilities, the performance of voice recognition, as actually felt by the user, can be enhanced.

(71) Furthermore, in a mobile device, while reducing battery consumption, the performance of voice recognition can be effectively enhanced with less computation.

(72) The present invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet).

(73) While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims. The preferred embodiments should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the appended claims, and all differences within the scope will be construed as being included in the present invention.