INTERACTTVΈ TELECOMMUNICAΉONS
This invention relates to interactive telecommunications services, and in particular, but not exclusively, to a method of operating an interactive telecommunications device comprising a voiced message score and connected to a telephony- network for access by a user.
Various interactive telecommunications services are known. For example, interactive voiced message services are available in which a user accesses selected information messages. The user selection is performed by keypad input on a telephone handset using DTMF tones in response to a voiced menu when a telephone call is made to the interactive telecommunications service.
It is also known to allow a user to request a telefax message to be sent by an interactive telecommunications device. For example, a user may- request a telefax from a stocks and shares information service, detailing prices. The particular stock or share is selected by the user by use of DTMF tones using a known code .
However, in these known services, the information supplied is of a static nature, that is to say the information is predetermined before the user accesses
the service, and the response received by the user is one of a limited set of possible responses.
A further known interactive telecommunications service is an ordering service for products advertised by television. The customer is advised of a telephone number to dial, and only a single product can be ordered. Again, the user is presented with static information only.
In accordance with a first aspect of the present invention there is provided a method of operating an. interactive telecommunications system comprising a voiced message store and connected to a telephony network, the method comprising steps of: transmitting via said telephony network a firs voiced message from said store requesting at least one parameter to be input by a user; detecting said at least one user input parameter on receipt thereof via said telephony network; performing in said system a calculation using said at least one user input parameter; and composing in said system a message informing the user of a result of said calculation.
In a preferred embodiment, the method comprises the step of transmitting via said telephony network a telefax message corresponding to said composed message. Thus, the user can be provided with a hard
copy of the results of the interactions.
In a preferred embodiment, the at least one user input parameter includes a parameter indicating a product unit to be ordered by the user. Thus, the invention can be used to realise a product ordering service.
The at least one user input parameter preferably includes a plurality of parameters each respectively indicating a different product unit to be ordered by the user. Thus, the user can be presented with a catalogue of products and a number of products can be ordered during the course of a single telephony call if desired.
In an interactive ordering service, the composed message preferably informs the user of a total price of the order, in accordance with the calculation. The user can then be informed of the total price before confirming the order.
In an interactive ordering service, the method preferably comprises the step of composing in said system a supply order for an ordered product unit. Where the user orders a number of different product units supplied by different sources, a number of separate supply orders can be generated. In a particularly utile embodiment of the invention, in an interactive ordering service the
method comprises comparing in said system a location of the user and locations of sources for an ordered product unit, to identify an optimal source location to which said supply order is to be transmitted. Thi allows for a particularly cost effective and/or efficient delivery of the ordered product unit to be made to the user.
In a further embodiment of the invention said at least one user input parameter includes a parameter relating to the wages of a wage earner. Thus, the present invention can be employed to realise interactive wage calculation, or payroll, services. The calculation is then preferably performed to derive a taxed value for the entered wages . In the interactive payroll service, the method preferably comprises the step of composing in said device a wage slip for said wage earner for transmission to the user. The wage slip is preferably transmitted to the user by telefax. The present invention is particularly suitable for use by relatively small business concerns having relatively small products orders and/or relatively small numbers of employees. Due to lack of economies of scale, such small business concerns often perform ordering and payroll calculations manually, rather than the automated systems generally employed in
larger organisations . The present invention alleviates the need for such manual processing, by providing interactive telecommunications services to large numbers of business concerns. All that is required is a link to a telephone network, which needless to say most business concerns already have .
In accordance with a further aspect of the present invention there is provided a method of remotely operating an interactive telecommunications system comprising a voiced message store and connected to a telephony network, the method comprising the steps of: scanning a barcode of a product using a barcode reader; converting said barcode to DTMF signals; transmitting said signals, via said telephony network, to said system; and confirming an order for the product on receipt of a voiced message detailing the product, from said voiced message store.
Thus, products can be ordered via telephone by the scanning of barcodes . The barcodes may be taken from an existing product, or from a catalogue provided by the interactive telecommunications system operator. In a yet further aspect of the present invention there is provided a method of taking an order using an
interactive telecommunications system comprising a memory and connected to a telephony network, the method comprising the steps of : prestoring a limited set of product indications in said memory; detecting a voiced order received via said telecommunications network; performing voice recognition, using said limited sets of product indications, to determine the contents of said order; and confirming said order with a user of a system. The prestoring of a limited set of product indications, which may correspond with product indications given in a catalogue supplied by the interactive telecommunications system operator, allows a high success rate to be achieved in the voice recognition step .
In accordance with a yet further aspect of the invention, there is provided a method of operating an interactive telecommunications system having a memory and connected to a telephony network, the method comprising the steps of: creating a plurality of records in said memory, each for storing data relating to a user, each said record also having a unique identification; supplying a user with a unique identification for
one of said records; allowing said user to access said record via said telephony network, by means of said uniσue identification which has been supplied; and allowing said user to update said data stored in the record, via said telephony network. This provides for a whole host of interactive telecommunications services which provide more than simple access to static information. Preferred embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Figure 1 is a block diagram of an interactive telecommunications system connected to a telephony network;
Figures 2A and 2B are a flow diagram relating to a first embodiment of the present invention;
Figures 3A to 3D are flow diagrams relating to a different embodiment of the invention. Referring now to Figure 1, the interactive telecommunications system includes a voice engine 2, a file server 6 having a large capacity store 8 and a workstation 14. The large capacity store 8 has a first portion 10 for the storage of procedures to be accessed and used by the voice engine 2. A second portion 11 is for the storage of voiced messages, and
3 a third portion 12 is for the storage of data records accessed and updated by the voice engine 2.
A workstation 14 is connected to the file server 6, allowing operator input and retrieval of data independently of telephone access to the voice engine 2. It is also provided with software for converting messages generated in the voice engine 2 in the ASCII format to a compressed image format. The file server store 8 stores the compressed image files for transmission as telefax signals.
The voice engine 2 is connected via an ISDN link to a public service telecommunications network (PSTN) 20, whereby a user terminal 22 accesses the interactive telecommunications system. In this embodiment the voice engine 2 is a C3 voice processing system using a TELi-LINK operating system and a 4 Voice applications development language
(ADD , all supplied by Computers and Communications
Co. Ltd. of Cambridge, Britain. It includes a 48-5 processor, 8 megabytes of RAM, a Novell network card, 30 port voice cards and 12 port fax cards, and a 100 megabyte hard disk drive containing the voice engine operating system.
The file server 6 has a 48S processor, 8 megabytes of RAM, a Novell network card and a Novell 3.1 operating system. The large capacity store 8 is
a one gigabyte hard disk drive, and is backed up by a DAT tape drive .
The workstation 14 is a conventional personal computer, with a Novell network card and a 4 port voice card for the input and output of voiced, messages .
When a user wishes to access the interactive telecommunications system, the user dials a predetermined directory number on the user terminal 22. The user terminal may be a conventional analog telephone handset, or a conventional combined telephone/fax unit. The call is routed to the interative telecommunications system via the PSTN 20.
When a telephone call is received by the voice engine 2, a request is sent to the PSTN 20 for details as to the directory number dialled by the user (the voice engine 2 can operate on a number of dialled directory numbers) , and the directory identity of the caller. This is received and logged by the voice engine 2.
The voice engine 2 then calls up an operating procedure from the memory portion 10 of the file server store 8, and executes the procedure.
When the voice engine 2 is to transmit, or play, a voiced message, it at first retrieves one or more sound files from the voiced message store 11, and
executes the file to produce the message which is sent via the ISDN link to the PSTN 20 and onwards to the user terminal 22, where it is heard by the user.
The voice engine 2 is provided with a standard vocabulary for producing voiced numerals and other simple and frequently used words. When a relatively complex message is to be played by the voice engine 2, this is recorded in a separate sound file for separate retrieval when required. Different embodiments of the invention will now be described below. First Embodiment
Figures 2A and 2B are a flow diagram for a procedure executed by the voice engine 2 for taking orders from a customer.
In order to register to use the interactive telecommunications ordering service, a customer provides the service operator with a name, delivery address, billing address, etc. A PIN (personal identity number) is allocated to the customer for access to the service. This information is then entered via workstation 14 to create a record personal to the customer which is stored in data store portion 12. The customer is provided with a catalogue of products and their associated product codes, whereby to perform ordering.
In the first step 30 of the procedure, a welcome message is played to the customer by the voice engine 2. The voice engine 2 then requests the user to press a certain telephone button to determine whether the telephone generates DTMF tones, step 32. If no DTMF tone is detected in response, the voice engine 2 informs the user, by a suitable message, that a DTMF tone telephone is required, step 34, and disconnects the line, step 36. If the requested DTMF tone is detected, the voice engine 2 requests, by a voiced message, the user to input an account number, step 38. It then verifies that this an existing account number. If the account number entered does not exist, a voiced message is sent requesting the user to open an account with the interactive service operator, step 40, and the line is disconnected, step 42.
If the account number exists, a personal identification number (PIN) is solicited in step 44. If the user fails- to enter, using DTMF tones, the correct PIN, the voice engine 2 plays a message indicating that the PIN entered in invalid, step 46, and disconnects the line, step 48.
If the entered PIN is verified, the voice engine presents the user with a voiced message indicating the service options available, step 50. The user may either place an order, change their PIN, or receive a
help message . A given DTMF tone is allocated to each choice.
If help is requested, the voice engine 2 plays a message assisting the user to proceed, step 56. If the user wishes to alter the PIN, a voiced message is generated requesting the user to enter, using DTMF tones, a new PIN, step 54. Once a new PIN is entered, the user is played a voiced message repeating the entered PIN, and confirmatory input is requested from the user, step 64. If the user provides negative confirmation, the user is once again requested to enter the new PIN, step 54. If a positive confirmation is received, the voice engine updates the PIN record for the user, step 66, plays a final voiced message to the user, step 68, and disconnects the line, step 70.
If in step 50 the user requests an order placement, the voice engine plays a voiced message soliciting a product code from the user, step 52. Once the user has entered the product code using DTMF tones, the user is requested to enter the quantity of product units to be ordered, step 58, which again the user enters using DTMF tones .
Once the voice engine 2 recognises a valid product code and has the quantity information obtained in step 58, a calculation is performed, whilst the
user remains on line, to calculate the value of the order (sub-total) relating to the product in question, step 60. For this, the voice engine uses price records stored in the data portion 12 of the store 8. Having calculated the sub-total, the voice engine
2 then generates a message in a predefined format informing the user of the product sub-total, step 62. The user is then requested to confirm the product order, step 72, by DTMF. tone input. If the user provides negative confirmation, the order relating to the current product is deleted, and the procedure returns to step 52 to obtain a further product order.
If the product order is confirmed by the user, the voice engine 2 updates its current order record, step 74, and requests the user to indicate whether the ordering is to continue, step 76. If so, the procedure returns to step 52 to retrieve further product details .
Once the user has completed ordering, the voice engine 2 proceeds to add together each of the subtotals to calculate a total cost of the order, step 78. A message indicating the total cost of the order is then played to the user, step 80. The user is then requested to confirm the order, step 82. If the user fails to confirm the order, the voice engine generates a message indicating that the order
has been cancelled, step 86, and the line is disconnected, step 88.
If on the other hand the order is confirmed, an order reference is generated by the voice engine and is transmitted to the user by a voiced order reference message, step 8 .
The user is then requested to indicate whether a telefax confirmation of the order is desired, step 90. If a telefax confirmation is desired, a master invoice is prepared as a text file listing all products, product quantities, product sub-totals and the order total, for the order. The text file is then sent to be text-to-ASCII converted by the workstation 14. The text file is converted to a compressed image file suitable for transmission to a telefax terminal 22 and stored in data store portion 12, in step 92.
Once the telefax for the user has been prepared, the user is played a voice message requesting that the "receive fax" button on the user's fax machine be pressed, step 94. The voice engine 2 then transmits, via the ISDN link and the PSTN 20, the invoice as telefax signals and the invoice is printed out at user station 22. After the telefax has been sent in step 96, or if no telefax invoice is requested, the voice engine 2 searches a list of supplier depots stored in the data store portion 12 for each of the product
ordered by the user, step 98, in order to identify a supplier depot which is nearest to the user (whose location is also in the data store 12), in step 98. Once a suitable supplier has been identified for each product, a text file invoice is created for each supplier detailing the product to be delivered to the user by that supplier, along with the cost thereof and an indication of the user's identity and/or address. The created invoices are then text-to-image converted and stored subsequent transmission, step 100. The line is then disconnected, step 102, the order having been completed.
Once the user has been disconnected, the supplier invoice telefaxes are sent by the voice engine 2, via the PSTN network 20, to the selected supplier depots. The invoices sent may thus be presented to the user by the supplier upon delivery of the product . Second Embodiment
In this embodiment, although the procedures followed by the voice engine 2 are the same as those described in relation to Figures 2A and 2B the mode of user input is different . Rather than entering responses by keypad input and the user terminal 22, the user is provided with a barcode reader and barcode-to-DTMF tone converter whereby to input responses. Also provided is a catalogue having, in
place of or in addition to alphanumeric product codes, barcodes associated with each product, and a barcode representing each character on a conventional telephone keypad (0-9,#,*). Thus, by scanning the appropriate barcodes, the user replicates the DTMF tone responses which are otherwise provided by a user when using keypad input, with less effort. The ordering procedure can also be made less time consuming. The user can also receive telefaxes from the interactive telecommunications service by connecting a telefax terminal to the telephone line along with the barcode-to-DTMF tone converter.
A barcode-to-DTMF converter apparatus is available under the name Pen-Vox (Registered Trademark), supplied by Pen-Vox of U.S.A. Third Embodiment
In a third embodiment of the invention, a procedure similar to that illustrated in Figures 2A and 2B is adopted. In this embodiment however, rather than transmitting tones from the user terminal in response to a request from the voice engine, a voice recognition procedure is used to identify the user' s voiced response. As speaker-independent voice recognition system is used, which allows the voice recognition to be successful without requiring a user
training period which is used in other voice recognition systems . Such a system is provided by the firm ernout and Kauspie of Belgium.
At each instance at which the voice engine requests input from the user, by transmission of a voiced message, the voice engine 2 is provided with a limited vocabulary of responses (optimally up to 200) . In some instances, such as at steps where a simple yes/no response is solicited, the range of allowed responses is limited to two (yes or no) . However, at other steps a more extensive allowable vocabulary is specified.
In step 50, the voiced responses "place order", "change PIN" and "help" are recognised as allowable responses. In step 52, rather than requesting product codes, the user is requested to name the product itself. Thus, the names of each of the products in the ordering catalogue, or otherwise available via the interactive ordering system, is specified in the vocabulary of allowable responses in step 52.
In step 58, a numeric vocabulary (for example 1 to 200) is specified as the allowable set of responses .
Thus, it will be seen that a different set of allowable responses is specified at different steps of the ordering process, in accordance with the expected
responses . This improves the success rate of word recognition at each step.
Also, the voice engine is adapted to request repetition of a voiced response by the user where an a recognition probability below a preset threshold is generated when identifying the response. The voice engine requests the user to clarify whether the response was that of the most likely candidate (having the highest recognition probability) or that of the second most likely candidate (that having the second highest recognition probability) , until a recognition probability value above the preset threshold is achieved, at which point the response is accepted.
Fourth Embodiment An embodiment of the invention relating to an interactive telecommunications payroll service follows a procedure illustrated in Figures 3A to 3D.
In order to register to use the interactive communications payroll service, an employer provides the service operator with pertinent payroll details for each of its employees, including an hourly, weekly, or monthly salary, a tax code, a national insurance number, taxable pay for the year to date, etc. A PIN is allocated to the employer for access to the service. This information is then entered via workstation 14 to create a record personal to the
employer which is stored in data store portion 12.
In the interactive telecommunications payroll service procedure, the voice engine 2 begins by playing a user welcome message, step 110. Steps 112 to 128 are similar to steps 32 to 48 of the procedure illustrated in Figure 2A and will not be described in further detail .
Once the PIN number of the user has been verified, the user is requested to provide a response indicating the period number for which a payroll service is required. This may be a week number (e.g. week 38 of 52) , or a month number (e.g. month 2 of 12) . The period number is obtained by informing the user of the current period number (for which no wages information has yet been received) , and requesting whether the user wishes to obtain a service relating to the current period number, or to advance the period number until the desired period number is reached.
If the period number selected is one indicating the end of the tax year, a year end report is generated by the voice engine 2 and stored in the employer record in data portion 12, step 132 and the user is informed that the year end report is available if desired, step 134. In step 136, the voice engine presents the user with a voiced message indicating the various services
available, and the DTMF tone responses which correspond with each service option. The user is also provided with the option to disconnect, in which case a final voiced message is played to the user in sceo 138, and the line is disconnected, step 140.
Referring to Figure 3B, if the user wishes to enter wages details for the period selected in step 130, the user makes the appropriate DTMF tone response, and the procedure moves to step 142 in which the voice engine 2 requests the user to input an employee number, allocated upon registration of the user with the service operator. The employee number is entered by DTMF tone signals.
Next, the voice engine requests the user to enter the wages of the employee selected in step 142 during the period selected in step 130. Firstly, the user is asked for appropriate keypad input to indicate whether the employee's pay for the period is to be entered as gross of tax, net of tax or as time (e.g. hours) worked.
Once the user responds, the user is requested by the voice engine 2 to enter the employee wage details . Once the wage details are obtained, the voice engine 2 proceeds to calculate the payable, or paid, taxes in step 146. In the case where the wages details are entered as gross of tax, or as time worked, the
calculation is performed by appropriate use of the employees tax codes and fiscal information ( all stored in data store portion 12 ) relating to the level of taxes . The taxes due are calculated and subtracted from the gross total to produce a net total .
On the other hand, where the wages details are entered as net of tax, due to the difficulty in directly reconstructing the different taxes paid at different levels (which are based primarily on the pay gross of tax) , an iterative calculation method is used. A maximum possible value for the gross pay
( e . g . double the net pay) is estimated, and a median value between the maximum possible gross pay and the net pay is chosen as the possible gross pay . The possible gross pay value is then used to recalculate the net pay, and according to whether the recalculated net pay is above or below the original figure , a new , restricted, set of limits to the possible gross pay is chosen from the original maximum gross pay, the net pay, and the median value . A new median is then taken from the two new chosen limits to provide a new, and probably more accurate , possible gross pay. This iterative procedure is repeated until such time as the recalculated net pay is the same as the original net pay. The possible gross pay is then taken as the actual gross pay .
Once the taxes due or paid have been calculated, the employer record in data portion 12 is updated in step 148.
The voice engine then requests the user to enter an indication as to whether there are further employee details to be entered, 150. If so, the procedure returns to step 142. If not, the procedure returns to step 136.
Referring now to Figure 3C, if the user wishes to receive a report for the period selected in step 130, the voice engine 2 creates the desired report by retrieving each of the employee's current details from the employer record in data portion 12 and performing a text-to image file conversion, step 156. The user is then requested to indicate, via keypad input, the preferred method of receipt of the report, in step 158.
If the user wishes to receive a report by telefax, the voice engine requests the user to press the "receive fax" button on the user terminal 22 in sten 162. The voice engine 2 then proceeds to transmit the report created in step 156.
If the user requests in step 158 to receive a voiced report, the report created in step 156 in the form of a text file is read by the voice engine 2 to the user 22, step 166.
Otherwise, the user is taken to wish a report to be sent to him via mail, in which case the report created in step 156 is added to a mailing list stored in record database 12, in step 160. After transmission of the voiced report, or allocation of the report to the mailing list, the voice engine plays a final message, step 168, and disconnects the line, step 170. On the other hand the line is disconnected immediately after the transmission of a report by telefax.
If on the other hand the user requests receipt of a year report, for example a year-to-date report, or a year end report, the procedure moves from step 136 to step 158, after which the report is sent in accordance with a user selection.
If in step 136 the user requests to change employee details, the voice engine 2 obtains the requested changes by appropriate questioning and responses, after which the employer record in data portion 12 is updated, steps 152 and 154.
Other service options may be presented in step 136, such as a PIN change service as provided in embodiments one, two and three.
A further possible service option is that of the user depositing a voice mail message with the voice engine 2, for retrieval by the service operator.
Other Embodiments
Where the voice engine 2 is configured to provide both the interactive telecommunications ordering service of any of the first three embodiments, the interactive telecommunications payroll service of the fourth embodiment is associated with a different telephone dialling number, so that the voice engine 2 can recognise immediately which service to provide on receipt of the information packet associated with each incoming call.
It will also be appreciated that the modifications made to embodiment one in embodiments two and three, and described hereinbefore, could equally be applied in respect of the fourth embodiment .
Other modifications and variations are possible which do not exceed the scope of the present invention, which is defined in the appended claims.