Abstract:
The vocabulary size of a speech recognizer for a large task is reduced by providing a recognizer only for the most common vocabulary items. Uncommon items are catered for by providing aliases from the common items. This allows accuracy to remain high while also allowing uncommon items to be recognized when necessary.

Description:
This application is the US national phase of international application PCT/GB02/01748 filed 15 Apr. 2002 which designated the U.S. 
     BACKGROUND 
     1. Technical Field 
     The present invention is concerned with speech recognition, particularly although not exclusively for use in automated voice-interactive services for use over a telephone network. 
     2. Related Art 
     A typical application is an enquiry service where a user is asked a number of questions in order to elicit replies which, after recognition by a speech recogniser, permit access to one or more desired entries in an information bank. An example of this is a directory enquiry system in which a user, requiring the telephone number of a customer, is asked to give the town name and road name of the subscriber&#39;s address, and the customer&#39;s surname. 
     The problem with a system which is required to operate for a large number of customer entries, the whole of the UK which has about 500 thousand different surnames, for example, is that once the surname vocabulary becomes very large the recognition accuracy falls considerably. Additionally the amount of memory and processing power required to perform such a task in real time becomes prohibitive. 
     One way of overcoming this problem is described in our co-pending patent application EP 95934749.3 in which,
         (i) the user speaks the name of a town;   (ii) a speech recogniser, by reference to stored town data identifies several towns as having the closest matches to the spoken town name, and produces a “score” or probability indicating the closeness of the match;   (iii) a list is compiled of all road names occurring in the identified towns;   (iv) the user speaks the name of a road;   (v) the speech recogniser identifies several road names, of the ones in the list, having the closest matches to the spoken road name, again with scores;   (vi) the road scores are each weighted accordingly to the score obtained for the town the road is located in, and the most likely “road” result considered to be the one with the best weighted score.       

     A disadvantage of such a system is that if the correct town is not identified as being one of the closest matches then the enquiry is bound to result in failure. 
     BRIEF SUMMARY 
     According to a first aspect of the present invention there is provided a method as set out in claim  1 . 
     According to a second aspect of the present invention, there is provided a device as set out in claim  6 . 
     According to a third aspect of the present invention, there is provided a device having corresponding apparatus features to the method features of any of claims  1  to  5 . 
     According to a fourth aspect of the present invention, there is provided a method having corresponding method features to the apparatus features of any one of claims  6  to  9 . 
     According to a fifth aspect of the present invention, there is provided a carrier medium as set out in claim  10 . 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       An embodiment of the present in invention will now be described with reference to the accompanying drawings in which: 
         FIG. 1  illustrates an architecture for a directory enquiries system; 
         FIG. 2  is a flow chart illustrating the operation of the directory enquiries system of  FIG. 1  using the method according to the present invention; 
         FIG. 3  is a second flowchart illustrating the operation of the directory enquiries system of  FIG. 1  in using a second embodiment of a method according to the present invention; 
         FIG. 4  is a flow chart illustrating a method of generating association between surnames which do not have an audio representation stored in the store  8  of  FIG. 1  and surnames which do have an audio representation stored in the store  8 . 
         FIG. 5  is a flow chart illustrating a second method of generating association between surnames which do not have an audio representation stored in the store  8  of  FIG. 1  and surnames which do have an audio representation stored in the store  8 . 
     
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     An architecture of a directory enquiry system will be described with reference to  FIG. 1 . A speech synthesiser  1  is provided for providing announcements to a user via a telephone line interface  2 , by reference to stored, fixed messages in a message data store  3 , or from variable information supplied to it by a main control unit  4 . Incoming speech signals from the telephone line interface  2  are conducted to a speech recogniser  5  which is able to recognise spoken words by reference to, respectively, town name, road name or surname recognition data in recognition data stores of  6 ,  7 ,  8 . 
     A main directory database  9  contains, for each telephone customer in the area covered by the directory enquiry service, an entry containing the name, address and telephone number of that customer, in text form. The town name recognition data store  6  contains, in text form, the names of all the towns included in the directory database  9 , along with stored data to enable the speech recogniser  5  to recognise those town names in the speech signal received from the telephone line interface  2 . In principle, any type of speech recogniser may be used, in this embodiment of the invention the recogniser  5  operates by recognising distinct phonemes in the input speech, which are decoded by reference to stored audio representations in the store  6  representing a tree structure constructed in advance from phonetic translations of the town names stored in the store  6 , decoded by means of a Viterbi algorithm. The stores  7 ,  8  for road name recognition data and surname recognition data are organised in the same manner. 
     The audio representation may equally well be stored in a separate store which is referenced via data in stores  6 ,  7  and  8 . In this case the audio representation of each phoneme referenced by the stores  6 ,  7  and  8  needs only to be stored once in said separate store 
     Each entry in the town data store  6  contains, as mentioned above, text corresponding to each of the town names appearing in the database  9 , to act as a label to link the entry in the store  6  to entries in the database  9  (though other kinds of label may be used if preferred). If desired, the store  6  may contain an entry for every town name that the user might use to refer to geographical locations covered by the database, whether or not all these names are actually present in the database. Noting that some town names are not unique (there are four towns in the UK called Southend), and that some town names carry the same significance (e.g. Hammersmith, which is a district of London, means the same as London as far as entries in that district are concerned), a vocabulary equivalence store  39  is also provided, containing such equivalents, which can be consulted following each recognition of a town name, to return additional possibilities to the set of town names considered to be recognised. For example if “Hammersmith” is recognised, London is added to the set; if “Southend” is recognised, then Southend-on-Sea, Southend (Campbeltown), Southend (Swansea) and Southend (Reading) are added. 
     The equivalence data store  39  could, if desired, contain similar information for roads and surnames, or first names if these are used; for example Dave and David are considered to represent the same name. 
     As an alternative to this structure, the vocabulary equivalence data store  39  may act as a translation between labels used in the name stores  6 ,  7 ,  8  and the labels used in the database (whether or not the labels are names in text form). 
     The use of text to define the basic vocabulary of the speech recogniser requires that the recogniser can relate one or more textual labels to a given pronunciation. That is to say in the case of a ‘recognition tree’, each leaf in the tree may have one or more textual labels attached to it. 
     Attaching several textual labels to a particular leaf in the tree is a known technique for dealing with equivalent ways of referring to the same item of data in a database as described above. The technique may also be used for dealing with homophones (words which are pronounced in the same way but spelled differently) for example, “Smith” and “Smyth”. 
     Surname data of the population of the UK, and probably many other areas, is skewed, in that all surnames are not equally likely. In fact of the approximately 500 thousand surnames used in the UK, about 50 thousand (i.e. 10%) are used by about 90% of the population. If a surname recogniser is used to recognise 500 thousand surnames then the recognition accuracy is reduced significantly for the benefit of the 10% of the population who have unusual names. 
     In this embodiment of the invention the recognition data store  8  contains audio representations of about 50 thousand surnames which correspond to the surnames of about 90% of the population of the UK. Several textual labels are associated with a particular audio representation by attaching textual labels to a particular leaf in a tree. These textual labels represent surnames which sound similar to said particular audio representation. Therefore a list of surnames are provided which sound similar to the surname which is represented by a particular audio representation, but which are not themselves represented by audio data in the store  8 . Therefore a greater number of surnames are represented by a smaller data structure, thus reducing the amount of memory required. Furthermore the amount of processing power required is much less and it is possible to perform the speech recognition in real time, using a less powerful processor. Another advantage is that the recognition accuracy for these most popular 10% of names remains much higher than if the remaining 90% of names were also represented in the store  8 . In the remainder of this description the most popular 10% of surnames will be referred to as ‘common surnames’ and the remaining 90% of surnames will be referred to as ‘uncommon surnames’. It will be understood that different percentages could be used, and that the percentages used may depend upon the characteristics of the particular data being modelled 
     The operation of the directory enquiry system of  FIG. 1  is illustrated in the flow chart of  FIG. 2 . The process starts ( 10 ) upon receipt of an incoming telephone call signalled to the control unit  4  by the telephone line interface  2 ; the control unit responds by instructing the speech synthesiser  1  to play ( 11 ) a message stored in the message store  3  requesting the caller to give the required surname. The caller&#39;s response is received ( 12 ) by the recogniser. The recogniser  3  then performs its recognition process ( 13 ) with reference to the audio representations stored in the store  8 . For common surnames which meet a prescribed threshold of similarity with the received reply any associated uncommon surnames are determined ( 14 ) by reference to the town recognition data store  6 . All of the common surnames which meet a prescribed threshold of similarity with the received reply, together with any uncommon surnames which are associated with the audio representations of these common surnames are then communicated to the control unit  4 . 
     The control unit  4  then instructs the speech synthesiser to play ( 15 ) a further message from the message data store  3  requesting the required street name. A further response, relating to the street name, is received ( 17 ) from the caller and is processed by the recogniser  3  utilising the data store  7  and the recogniser then communicates to the control unit  4  a set of all of the road names which meet a prescribed threshold of similarity with the received reply. 
     The control unit  4  retrieves ( 20 ) from the database  9  a list of all customers having any of the surnames in the set of surnames received by the control unit at step  14  and residing in any of the street names received by the control unit at step  18 . 
     For example, the speech signal received at step  12  is an utterance of the uncommon surname ‘Dobson’. The set of words which meet the prescribed threshold of similarity with the received reply includes the common surname ‘Robson’. ‘Robson’ is associated with similar sounding surnames ‘Hobson, Dobson and Fobson’. The speech signal received at step  17  is an utterance of the street name ‘Dove Street’. The set of words which meet the prescribed threshold of similarity with the received reply includes the street name ‘Dove Street’. However there is no customer with the name ‘Robson’ living in ‘Dove Street’, but there is a customer named ‘Dobson’ living in ‘Dove Street’ therefore the database retrieval at step  22  retrieves the details for customer ‘Dobson’ in ‘Dove Street’ even though the name recognition data store  8  does not contain an audio representation for the name ‘Dobson’. 
     It is worth noting at this point that similar sounding names, for example Roberts and Doberts may both exist in the set of common surnames and may in fact each have an identical list of associated uncommon surnames as the other one. 
     In fact, in a practical application relating to a large area (for example the whole of the UK) the directory enquiries system would operate as illustrated in  FIG. 3 , where further information relating to the town name is requested from the caller at step  19 . A further response, relating to the town name, is received ( 20 ) from the caller and is processed ( 21 ) by the recogniser  3  utilising the data store  6  and the recogniser then communicates to the control unit  4  a set of all of the town names which meet a prescribed threshold of similarity with the received reply. This set of town name data is then used, along with street name and surname data in the database retrieval step  22 . If data relating to more than one customer is retrieved from the database then further information may be elicited from the user (steps not shown). 
     In another embodiment of the invention the speech recogniser  5  provides a score as to how well each utterance matches each audio representation. This score is used to decide which customer data is more likely in the case where data relating to more than one customer is retrieved from the database. In the case of associated uncommon surname the score used can be weighted according to statistics relating to that surname such that the more uncommon a surname is the smaller the weighting factor applied to the score from the recogniser  5 . 
       FIG. 4  is a flow chart illustrating a method of generating associations between uncommon surnames and common surnames for use in this invention. At step  30  a speech utterance of a known uncommon surname is received by a speech recogniser, which may be any type of speech recogniser including a phoneme based speech recogniser as described earlier. The received speech utterance is compared with audio representations of the common surnames at step  31 , and at step  32  an association is made between the known uncommon surname and the common surname to which the speech recogniser determines that the unknown surname is most similar. 
       FIG. 5  illustrates an alternative method of generating associations between uncommon and common surnames for use in the invention. At step  40  a textual representation of an uncommon surname is received. At step  41  this textual representation is converted into a phoneme sequence. Such a conversion my be done using a large database associating text to phoneme sequences. The conversion also may be done using letter to sound rules for example as described in Klatt D, ‘Review of text-to-speech conversion for English’, J acoustic Soc Am 82, No. 3 pp 737-793. September 1987. The phoneme sequence representing the uncommon surname is then compared to all the phoneme sequences for common surnames for example using a dynamic programming technique such as that described in “Predictive Assessment for Speaker Independent Isolated Word Recognisers” Alison Simons, ESCA EUROSPEECH 95 Madrid 1995 pp 1465-1467. Then at step  43  the uncommon surname is associated with the common surname for which the phonemic sequences are found to be most similar. 
     Using either of the above techniques (or any other) the association may be recorded by associating a label representing the known uncommon surname to a leaf in the common surname recognition tree, if a tree based phoneme recogniser is to be used in the directory enquiries system, or by use of a vocabulary equivalence store as discussed previously. 
     An advantage of the second technique is that it is not necessary to collect speech data relating to all of the possible uncommon surnames in the database, which is a time consuming exercise. Instead all that is needed is a textual representation of such uncommon surnames. In order to take into account the particular characteristics of a particular speech recogniser it is possible to use a phoneme confusion matrix which records the likelihood of a particular recogniser confusing each phoneme with every other phoneme. Such a matrix is used in the comparison step  42  as described in the above referenced paper. 
     It will be understood that the use of common and uncommon surnames in a directory enquiries system is merely an example of how this invention may be used. Application of the invention may be found in any voice operated database access system, where the frequency of certain items of data is much greater than the frequency of other items of data. 
     Furthermore the technique could be extended to cover other pattern matching areas such as image retrieval again where the frequency of requests for certain items of data are likely to be much greater than requests for other items of data.