Background
The present invention relates to voice-operated services, for example services (such as home banking) which may be offered on a telephone network. In particular, the invention concerns allocation and recognition of user identifiers which a user must enter in order to identify himself or herself to the apparatus operating the service.
Summary
In a system for allocating a user identifier to a user of a voice-operated service, the user is requested to utter words in a set of requested words. A speech recognizer compares each received word with a set of speech recognition templates, each template corresponding to the requested words. For each word uttered the speech recognizer generates codes (W1, W2) which are the first and second best matched templates, and further generates scores (D1, D2) indicating the extent of deviation of the received uttered words from the first and second best matched templates. The speech recognizer then computes a reliability criterion for each word by subtracting the scores (D1, D2) and comparing the subtraction result with a threshold. Words having the greatest reliability criterion above the threshold are selected for the user identifier.
The present invention in its various aspects is defined in the claims.
Note that the word "template" is used to signify data representing the sound of a word, with which a comparison can be made; it is not intended to imply any particular type of speech recognition.
Brief Description of the Drawings
FIG. 1 is a schematic view of apparatus for allocating a user identifier to a user of a voice operated service.
FIG. 2 is a schematic view showing steps executed by the apparatus of FIG. 1 for allocating a user identifier.
Detailed Description of the Drawings
The apparatus shown in the figure forms part of the control equipment of a telephone banking service. A telephone line 1 is connected to a speech recogniser 2 and a speech synthesizer 3. A controller 4 (e.g. a microprocessor system or other digital computer) can transfer commands to the synthesizer 3 to cause desired words to be uttered and receives data output from the recogniser 2.
The recogniser, of conventional design, compares words received over the telephone line with a set of templates and produces at its data output
(i) a code W1 indicating the template which most closely matches
(ii) a code W2 indicating the next closest template
(iii) scores D1, D2 indicating the goodness of fit between the word and those two templates.
In order to use the service, an initial log-on procedure requires the user to identify himself or herself by uttering a plurality of words, preferably a series of digits, though other words could of course be used. A five digit log-on number is hereafter assumed. The resulting codes W1 are received by the controller 4 and thus identify the user. Further steps (with which we are not here concerned) then follow; for example the checking of a personal identify number (PIN)--for which of course speaker dependent recognition (i.e. using templates specific to the particular user) may now be employed. Speaker independent recognition of course must necessarily be used to recognise the log-on number.
The aspect of the system with which we are here particularly concerned is the allocation of the log-on number for a new user, the object being to avoid digits which represent a high probability of mis-recognition during subsequent log-on procedures.
The user is asked to utter the words one, two, three, four, five, six, seven, eight and nine (step 20, FIG. 2). These voice samples along with any other desired words, may be recorded for the formation of templates for speaker-dependent recognition. For present purposes, however, they are passed (step 22, FIG. 2) to the speech recogniser 2, which compares each received uttered word with the set of templates (step 24, FIG. 2) and produces, for each word, the codes W1 and W2, and scores D1, D2 as indicated in table 1 below (step 26, 28)
The codes shown for W1, W2 are simply the actual numbers which are deemed by the recogniser to have been recognised. The scores are numbers, on an arbitrary scale, indicating the extent of deviation of the received word from the template; thus a low score indicates a good match whilst a high score indicates a poor match. The scores given are assumed to be actual results for a particular user. Looking at the example given in Table 1, it can be seen that the words, "one" and "three" have been correctly recognised, whilst the word "two" has been mistaken for "three".
The controller 4, having received this data applies certain criteria to ascertain which digits (if any) offer such poor reliability of recognition that they should be excluded from the log-on number (step 30). For the example user of Table 1, the word two is rejected since mis-recognition has actually occurred. However the remaining digits are also examined (step 32). For reliable recognition, what is important is not that the score obtained should be low, but that the score obtained with the "correct" template is significantly better than with the second choice template. Thus in the example the word "three" has scores of 21 and 42 and will therefore be more reliably recognised than "one" where the scores, though lower, are similar and mis-recognition may occur. Thus, in this embodiment, the criterion applied is that (D2-D1) is greater than some threshold T.
The controller 4, computes the difference (D2-D1) for each digit, compares the differences with the threshold T and rejects any digits which do not meet the criterion. It then allocates to the user a five-digit log-on number none of whose digits is one which has failed to meet the criterion. Clearly, if more acceptable digits are available than are needed, it is preferable to use those with the larger differences. This allocation can be in accordance with any convenient procedure--e.g., selection of the next unused number which does not contain a rejected digit.
The threshold T can be selected on the basis of experience at a level falling between one at which digits are rarely rejected and one at which many digits are consistently rejected. With a practical selection for T it may occur, with users having particularly poor diction, that eight or even nine digits are rejected. Therefore, the controller may reduce the threshold T for that particular user down to a level such that a desired minimum number of digits meet the criterion - for example, it may be decided that a five-digit log-on number should contain at least three mutually different digits.
Two modifications to this procedure will now be described. In the first, it is assumed that the controller, when operating a log-on procedure, is capable of resolving ambiguities in recognition--i.e., a situation where scores D1 and D2 are the same or differ by a small amount (say 5)--by offering the first choice back to the user (via the speech synthesizer 3) and asking for confirmation, and, if this is not forthcoming, offering the second choice. (Such arrangements are the object of our pending UK patent application No. 2192746A).
In order to allow in extreme cases the use of digits which are incorrectly recognised (but where the second choice is correct) during the allocation procedure, the criterion is modified as follows:
(i) if neither the first nor second best score is incorrect, is given a zero rating;
(ii) if the first is correct, the rating is defined as (D2-D1)+5 (i.e., occupying a rating range from 5 upwards);
(iii) if the second is correct, the rating is defined as 5(D2-D1): a negative result is deemed to be zero (i.e. those cases where the difference is less than 5 occupy the rating range from 1 to 4).
The rating is then compared with the threshold value, in the same manner as previously.
In the second modification, cognisance is taken of the fact that recognition may be improved by using different templates for male and female speakers. In this case, during the allocation process, speech recognition scores are obtained using both sets of templates. The controller determines which set gives the best results (i.e. which set gives the largest (D1-D2) values, or which set gives measures which are in general larger than does the other) and carries out the remainder of the allocation process using the results from that set only.
If the first digit of the allocated number is chosen to indicate whether the user is male or female, for example by allocating 1, 2 or 3 in the former case and 4, 5 or 7 in the latter, then the recogniser can be arranged during the log-on process to use, for the first digit, male templates for 1, 2 and and female templates for 4, 5 and 7. The set of templates to be used for recognition of the remaining few digits is then determined by the recognition result from the first digit.