U.S. patent application number 11/273590 was filed with the patent office on 2006-05-04 for enhanced directory assistance automation.
This patent application is currently assigned to Volt Information Sciences Inc.. Invention is credited to Gregory J. Bielby, Robert C. Detrie, Michael G. Thorpe.
Application Number | 20060093120 11/273590 |
Document ID | / |
Family ID | 35768009 |
Filed Date | 2006-05-04 |
United States Patent
Application |
20060093120 |
Kind Code |
A1 |
Thorpe; Michael G. ; et
al. |
May 4, 2006 |
Enhanced directory assistance automation
Abstract
The present invention enhances directory assistance automation
by searching traditional directory assistance databases with
independent listing and locality queries. Initially, a caller's
speech responses from a directory assistance inquiry are
individually converted to independent listing and locality search
queries. The listing and locality queries are determined by
processing the caller's speech responses using a defined speech
recognition grammar. The listing and locality queries are used to
search a directory assistance database. Once the listing results
are returned from the directory assistance database, the records in
the listing results are analyzed to select a number for the
caller's directory assistance request.
Inventors: |
Thorpe; Michael G.;
(Fairport, NY) ; Detrie; Robert C.; (Penfield,
NY) ; Bielby; Gregory J.; (Pointe Claire,
CA) |
Correspondence
Address: |
Jenkens & Gilchrist, a Professional Corporation
Suite 3700
1445 Ross Avenue
Dallas
TX
75202
US
|
Assignee: |
Volt Information Sciences
Inc.
New York
NY
|
Family ID: |
35768009 |
Appl. No.: |
11/273590 |
Filed: |
November 14, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09642730 |
Aug 21, 2000 |
6999563 |
|
|
11273590 |
Nov 14, 2005 |
|
|
|
Current U.S.
Class: |
379/218.01 ;
379/88.01 |
Current CPC
Class: |
H04M 2201/40 20130101;
H04M 3/4931 20130101 |
Class at
Publication: |
379/218.01 ;
379/088.01 |
International
Class: |
H04M 3/42 20060101
H04M003/42; H04M 1/64 20060101 H04M001/64 |
Claims
1. A method for automating directory assistance without operator
intervention comprising: a) receiving an audible listing and
locality response from a caller requesting directory assistance; b)
determining a listing query based on the listing response and a
locality query based on the locality response; c) initiating a
search of a directory assistance database using the listing query
and the locality query; d) receiving a listing response containing
at least one record having a listing associated with a number; and
e) selecting a record containing a number corresponding to the
audible listing and locality response for announcement to the
caller.
2. The method of claim 1 wherein the determining step further
comprises determining the listing query based on the listing
response using listing grammar derived from most frequently
requested listings for the directory assistance database.
3. The method of claim 2 wherein the listing grammar associates a
plurality of potential listing responses with a general listing and
the determining step further comprises determining that the listing
response is one of the plurality of potential listing responses and
determining the listing query based on the general listing.
4. The method of claim 2 wherein the determining step further
comprises determining the locality query based on the locality
response using locality grammar derived from most frequently
requested listings for the directory assistance database.
5. The method of claim 1 wherein the listing query is not based on
the locality response and the locality query is not based on the
listing response.
6. The method of claim 2 wherein the most frequently requested
listings are not a function of locality.
7. The method of claim 1 wherein the determining step further
comprises: a) sending the listing response for grammar processing
to determine listing query information; b) sending the locality
response for grammar processing to determine locality query
information; c) receiving the listing query information and
locality query information; and d) deriving the listing query and
locality query from the listing query information and locality
query information.
8. The method of claim 1 wherein the determining step further
comprises: a) sending the listing response for grammar processing
to determine listing query information based on most frequently
requested listings for the directory assistance database; b)
sending the locality response for grammar processing to determine
listing query information; c) receiving the listing query
information and locality query information; and d) deriving the
listing query and locality query from the listing query information
and locality query information.
9. The method of claim 1 wherein the determining step further
comprises: a) sending the listing response for grammar processing;
b) sending the locality response for grammar processing; c)
receiving a grammar tag including listing and locality information
based on the listing response and the locality response; and d)
deriving the listing query and locality query from the grammar
tag.
10. The method of claim 1 wherein when the listing response
includes a plurality of records, the selecting step further
comprising sifting to eliminate ones of the plurality of records
until there is one record or a common number throughout any
remaining records.
11. The method of claim 10 wherein when at least one of the
plurality of records includes a locality matching the caller's
locality response and the sifting step further comprises removing
all other records in the plurality of records not containing the
locality.
12. The method of claim 10 wherein the determining step further
determines an expected number for a frequently requested listing
corresponding to the listing response and when at least one of the
plurality of records includes the expected number the sifting step
further comprises removing all other records in the plurality of
records not containing the expected number.
13. The method of claim 12 wherein when certain of the plurality of
records contain a given listing and locality the sifting step
further comprises removing all records not having a toll-free
number if one of the certain records contains the toll-free
number.
14. The method of claim 13 wherein when certain of the plurality of
records contain a given listing and number the sifting step further
comprises combine the certain records into one.
15. The method of claim 14 wherein when the sifting step fails to
eliminate ones of the plurality of records until there is one
record or a common number throughout any remaining records,
transferring the listing response and locality response to an
operator.
16. The method of claim 1 further comprising initiating
announcement of the selected number to the caller.
17. The method of claim 2 further comprising generating the listing
grammar by: a) identifying the most frequently requested listings
independent of locality; b) grouping synonymous listings within the
most frequently requested listings; and c) determining a common
vocabulary for a group of synonymous listings, wherein when a
requested listing matches any listing in the group of synonymous
listings, the grammar constructed to produce the common vocabulary
for generating the listing query used to search the directory
assistance database.
18. The method of claim 17 further comprising generating the
locality grammar by: a) identifying the most frequently requested
localities independent of listing; b) grouping synonymous
localities within the most frequently requested localities; and c)
determining a common vocabulary for a group of synonymous listings,
wherein when a requested locality matches any locality in the group
of synonymous localities, the grammar will produce the common
vocabulary for generating the locality query used to search the
directory assistance database.
19. A method for directory assistance automation comprising: a)
requesting a desired listing and locality from a caller; b) storing
a listing response and a locality response from the caller; c)
generating a listing search query based on comparing the listing
response with most frequently requested listings similar to the
listing response, said listing search query independent of the
locality response; d) generating a locality search query
independent of the listing response and based on the locality
response; e) searching a directory assistance database using the
listing and locality queries; and f) processing results of the
directory assistance database search to select a number
corresponding to the listing response and locality response.
20. A system for automated directory assistance automation without
operator intervention comprising a control system associated with a
telephony line interface and a network interface, said control
system adapted to: a) receive an audible listing and locality
response from a caller requesting directory assistance via said
telephony line interface; b) determine a listing query based on the
listing response and a locality query based on the locality
response; c) initiate a search of a directory assistance database
using the listing query and the locality query via the network
interface; d) receive a listing response containing at least one
record having a listing associated with a number via the network
interface; and e) select a record containing a number corresponding
to the audible listing and locality response for announcement to
the caller, wherein the listing and locality searches are
substantially independent of one another and directory assistance
automation is provided without operator assistance.
21. The system of claim 20 wherein said control system is
configured to: a) send the listing response to a speech recognition
system to determine listing query information; b) send the locality
response to the speech recognition system to determine listing
query information; c) receive the listing query information and
locality query information from the speech recognition system; and
d) derive the listing query and locality query from the listing
query information and locality query information.
22. The system of claim 20 wherein said control system is
configured to: a) send the listing response to a speech recognition
system to determine listing query information based on most
frequently requested listings for the directory assistance
database; b) send the locality response to a speech recognition
system to determine listing query information; c) receive the
listing query information and locality query information from the
speech recognition system; and d) derive the listing query and
locality query from the listing query information and locality
query information.
23. The system of claim 20 wherein said control system is
configured to provide speech recognition based on a defined
grammar, said control system adapted to: a) process the listing
response based on the grammar; b) process the locality response
based on the grammar; and c) derive the listing query and locality
query.
24. The system of claim 20 further comprising a speech recognition
system in communication with said control system, said speech
recognition system having a grammar based on most frequently
requested listings for the directory assistance database, a) said
control system adapted to: i) send the listing response for grammar
processing; ii) send the locality response for grammar processing;
iii) receive a grammar tag including listing and locality
information based on the listing response and the locality
response; and iv) derive the listing query and locality query from
the grammar tag, and b) said speech recognition system adapted to:
i) receive the listing response and provide the grammar processing;
ii) receive the locality response and provide the grammar
processing; iii) construct the grammar tag based on the grammar
processing; and iv) send the grammar tag to the control system.
25. The system of claim 20 further comprising a speech recognition
system in communication with said control system, said speech
recognition system having a grammar based on most frequently
requested listings for the directory assistance database, a) said
control system adapted to: i) send the listing response for grammar
processing; ii) send the locality response for grammar processing;
iii) receive listing and locality information based on the listing
response and the locality response; and iv) derive the listing
query and locality query from the grammar tag, and b) said speech
recognition system adapted to: i) receive the listing response and
provide the grammar processing; ii) receive the locality response
and provide the grammar processing; iii) determine listing and
locality information based on the listing response and the locality
response using the grammar based on most frequently requested
listings; and iv) send the listing and locality information to the
control system.
26. A system for directory assistance automation comprising: a)
means for requesting a desired listing and locality from a caller;
b) means for storing a listing response and a locality response
from the caller; c) means for generating a listing search query
based on comparing the listing response with most frequently
requested listings similar to the listing response, said listing
search query independent of the locality response; d) means for
generating a locality search query independent of the listing
response and based on the locality response; e) means for searching
a directory assistance database using the listing and locality
queries; and f) means for processing results of the directory
assistance database search to select a number corresponding to the
listing response and locality response.
27. A computer readable medium having software for facilitating
automated directory assistance automation without operator
intervention and comprising instructions for a computer to: a)
process an audible listing and locality response from a caller
requesting directory assistance; b) determine a listing query based
on the listing response and a locality query based on the locality
response; c) initiate a search of a directory assistance database
using the listing query and the locality query; d) receive a
listing response containing at least one record having a listing
associated with a number; and e) select a record containing a
number corresponding to the audible listing and locality response
for announcement to the caller.
28. The computer readable medium of claim 27 further comprising
instructions to determine the listing query based on the listing
response using listing grammar derived from most frequently
requested listings for the directory assistance database.
29. The computer readable medium of claim 28 further comprising
instructions to determine the locality query based on the locality
response using locality grammar derived from most frequently
requested listings for the directory assistance database and
wherein the listing query is not based on the locality response and
the locality query is not based on the listing response.
30. The computer readable medium of claim 27 further comprising
instructions to: a) send the listing response for grammar
processing to determine listing query information; b) send the
locality response for grammar processing to determine locality
query information; c) receive the listing query information and
locality query information; and d) derive the listing query and
locality query from the listing query information and locality
query information.
31. The computer readable medium of claim 27 further comprising
instructions to: a) send the listing response for grammar
processing to determine listing query information based on most
frequently requested listings for the directory assistance
database; b) send the locality response for grammar processing to
determine listing query information; c) receive the listing query
information and locality query information; and d) derive the
listing query and locality query from the listing query information
and locality query information.
32. The computer readable medium of claim 27 further comprising
instructions to: a) send the listing response for grammar
processing; b) send the locality response for grammar processing;
c) receive a grammar tag including listing and locality information
based on the listing response and the locality response; and d)
derive the listing query and locality query from the grammar
tag.
33. The computer readable medium of claim 27 further comprising
instructions wherein when the listing response includes a plurality
of records, ones of the plurality of records are eliminated until
there is one record or a common number throughout any remaining
records.
34. A method for generating grammar for automated directory
assistance comprising: a) identifying the most frequently requested
listings independent of locality; b) grouping synonymous listings
within the most frequently requested listings; and c) determining a
common vocabulary for a group of synonymous listings to define a
grammar, wherein when a requested listing matches any listing in
the group of synonymous listings, the grammar is used to generate a
listing query used for searching a directory assistance
database.
35. The method of claim 34 further comprising: a) identifying the
most frequently requested localities independent of listing; b)
grouping synonymous localities within the most frequently requested
localities; and c) determining a common vocabulary for a group of
synonymous localities to define a locality grammar, wherein when a
requested locality matches any locality in the group of synonymous
localities, the locality grammar is used to generate a locality
query used to search the directory assistance database.
Description
FIELD OF THE INVENTION
[0001] The present invention relates generally to directory
assistance automation, and in particular, to enhancing directory
assistance automation by allowing more efficient automation for a
greater number of listings.
BACKGROUND OF THE INVENTION
[0002] Directory assistance has been necessary since the onset of
the public switched telephone system. In the beginning, operators
would manually find listings according to caller requests. As the
telephone networks grew, increased demand for directory assistance
followed, and automation became necessary to control the costs
associated with providing listing information to callers. Modern
directory assistance automation has continued to progress from this
archaic system throughout the years.
[0003] A major development was the advent of special switches to
connect directory assistance calls to dedicated operators. The
switches are referred to as Toll Operator Position Switches (TOPS).
During a directory request, callers are connected to an operator
having access to a database of listings. The operator asks the
caller for the requested listing and locality and queries the
database for the appropriate number. Upon determining the number,
the operator gives the caller the number. Current systems now
automate the announcement of the number by having the TOPS connect
the caller to an announcement system, which synthesizes or plays a
voice announcement of the number.
[0004] The next significant advance automated the operator's
request for the listing and locality from the caller by providing a
synthesized or recorded listing and locality request. The caller's
response is recorded and automatically played to the next available
operator, who queries the database for the proper listing. This
automation technique is referred to as "store and forward." The
store and forward technique is currently used in directory
assistance automation.
[0005] The next phase of automation incorporated speech recognition
into automated directory assistance systems to identify numbers for
frequently requested listings (FRLs) in a given locality without
any interaction from an operator. Unfortunately, these systems have
not been commercially accepted for several reasons. The percentage
of directory assistance calls that existing systems have been able
to fully automate is low. Further, the cost and time required to
develop and implement such systems is prohibitive given the low
percentage of automation.
[0006] In operation, directory assistance systems facilitate access
to one or more directory assistance databases containing listings
for any number of localities. Historically, when an operator
handles a call, the operator will develop the database query,
initiate the database search, and parse through the returned
listings to find the number requested. The operator will signal the
TOPS to connect the caller to the announcement system, which will
announce the requested number.
[0007] When the call is fully automated to the exclusion of the
operator, current directory assistance systems attempt to recognize
the requested listing and locality and search a special database
containing a predefined listing of the most frequently requested
numbers. This database that is separate from the primary directory
assist database has proven to be very costly to initially create
and to subsequently maintain. In essence, statistical data is
gathered from the primary directory assistance database to
determine the most frequently requested listings. Once the most
frequently requested listings are identified, each listing is
associated with a particular locality and number. The rigidity of
this association precludes efficient updating, and more
importantly, prevents intermingling frequently requested listings
and localities for voice recognition. Further, the automation can
only occur for previously defined listings incorporated into the
special directory assistance database. Less than five percent of
calls are automated in the few systems in operation.
[0008] Large department stores, such as Kmart or Wal-Mart are
typically some of the most frequently requested listings and
highlight the deficiencies of the current systems. Assume that the
most frequently requested listings are gathered for North Carolina
and that there are approximately 100 Kmarts in North Carolina.
Statistically, the most frequently requested Kmart listings are
those in the more metropolitan areas. As such, although there are
100 Kmarts in North Carolina, only 10 may be within the top 2000
most frequently requested listings. The remaining Kmart listings
are not listed in the special directory assistance database and
will not be automated, even though the speech recognition system
could theoretically recognize the name Kmart and likely synonyms,
such as Super Kmart or Big K. Automation is prohibited for new
Kmarts until the special directory assistance database is updated
and the listing makes its way into the top 2000 most frequently
requested listings. Moreover, frequently requested Kmarts that
close, move or change numbers are not considered until the special
directory assistance database is updated.
[0009] These limitations to directory assistance automation
continue to render commercial embodiments impractical. Thus, there
is a need for a more efficient directory assistance automation
overcoming the deficiencies of existing systems.
SUMMARY OF THE INVENTION
[0010] The present invention enhances directory assistance
automation by searching traditional directory assistance databases
with independent listing and locality queries. Initially, a
caller's speech responses from a directory assistance inquiry are
individually converted to independent listing and locality search
queries. The listing and locality queries are determined by
processing the caller's speech responses using a defined speech
recognition grammar. The listing and locality queries are used to
search a directory assistance database. Once the listing results
are returned from the directory assistance database, the records in
the listing results are analyzed to select a number for the
caller's directory assistance request.
[0011] If there are multiple records returned, they are preferably
processed as follows. If an exact caller-specified locality appears
for any number, all other records are discarded. If an expected
frequently requested listing number is present, all other records
are discarded. When the same locality and listing have a local and
a toll-free (800/888) number, the toll-free number is selected and
the records having the local number are discarded. When the same
name and number appears in multiple communities, the records are
combined. If the results have less than a predefined number of
records remaining, the caller is given the option to choose the
desired listing. Otherwise, the request is transferred to a
directory assistance operator. During any of the above steps, once
a single record or number within records remains, the number for
the remaining record is announced to the caller.
[0012] The grammar for listings may be derived from the most
frequently requested listings and localities in the directory
assistance database. Preferably, the grammar for listings is
derived independently of locality information to maximize the
listing recognition, and vice versa. The grammar may be created by
1) identifying the most frequently requested localities independent
of the listing; 2) grouping synonymous localities within the most
frequently requested localities; and 3) determining a common
vocabulary for a group of synonymous listings to define a locality
grammar. When a requested locality matches any locality in the
group of synonymous localities, the locality grammar is used to
generate a locality query used to search the directory assistance
database.
[0013] Preferably, a central directory assistance system is
configured to interact with a speech recognition system. In
operation, the speech responses are provided to the speech
recognition system, which processes the listing and locality
responses and returns listing and locality information, preferably
in the form a grammar tag. The grammar tag contains the listing and
locality information. Other advantages of the present invention
will become apparent to those skilled in the art from the following
description wherein there is shown and described preferred
embodiments of this invention. As will be realized, the invention
is capable of other different aspects, all without departing from
the invention. Accordingly, the drawings and description will be
regarded as illustrative in nature and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWING FIGURES
[0014] The accompanying drawings incorporated in and forming a part
of the specification illustrate several aspects of the present
invention, and together with the description serve to explain the
principals of the present invention.
[0015] FIG. 1 is representation of a directory assistance network
according to the present invention.
[0016] FIG. 2 is a flow diagram outlining preferred directory
assistance processing.
[0017] FIG. 3 is a block representation of a directory assistance
system according to a preferred embodiment of the present
invention.
[0018] FIG. 4 is a block representation of a speech recognition
system according to a preferred embodiment of the present
invention.
[0019] FIG. 5 is a block representation of a directory assistance
database.
[0020] FIG. 6 is a table defining possible results of an initial
telephone number search according to the present invention.
[0021] FIG. 7 is a table defining possible results of a
pre-run-time search according to the present invention.
[0022] FIG. 8 is a table defining possible results of a run-time
search according to the present invention.
[0023] FIGS. 9A and 9B are flow diagrams outlining a sifting
process according to the preferred embodiment of the present
invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024] The present invention provides enhanced directory assistance
automation and is described in detail below. Upon reading the
following description in light of the accompanying drawing figures,
those skilled in the art will understand the concepts of the
invention and will recognize applications of these concepts not
particularly addressed herein. It should be understood that these
concepts and applications fall within scope of this disclosure and
the accompanying claims. The embodiments set forth below represent
the necessary information to enable those skilled in the art to
practice the invention and point out the best mode of practicing
the invention.
[0025] FIG. 1 shows a network capable of providing the enhanced
automated directory assistance of the present invention. The public
switched telephone network (PSTN) 10 makes up the core of the
network and provides callers associated with telephones 12 access
to a directory assistance system (DAS) 14. Although described in
conjunction with PSTN 10, the invention is equally applicable to
wireless or internet telephony directory assistance. Callers are
connected to the DAS 14 via the Total Operator Position Switch
(TOPS) 16. The TOPS 16 is typically dedicated to directory
assistance and may route connections for directory assistance calls
from the telephones 12 to the DAS 14, to operator terminals 18, or
to the announcement system 22 as necessary.
[0026] In general, the DAS 14 initially processes the directory
assistance call and either routes or processes the call as
necessary to provide a number corresponding to a requested listing
and locality. Calls that cannot be automated are routed to the next
available operator at an operator terminal 18, while the DAS 14
processes calls that can be automated. Regardless of whether the
DAS 14 or an operator is responsible for directory assistance, a
query for a listing and locality is ultimately determined by the
DAS 14 or operator based on the caller's request and sent to a
directory assistance database (DAD) 20. The directory assistance
database searches listings based on the query and responds with a
number or list of numbers for the requested listing. If there is a
list of numbers, either the operator (un-automated) or DAS 14
(automated) will analyze the list and select a number to provide to
the caller. Once the number is determined, the directory assistance
database 20 is instructed to send the number to an announcement
system 22. Concurrently, the TOPS 16 is instructed to connect the
caller to the announcement system 22, which will audibly announce
the selected number to the caller.
[0027] The DAS 14 provides the primary control for directory
assistance automation, and the operation of DAS 14 is outlined in
FIG. 2 in conjunction with FIG. 1. As noted, directory assistance
is initiated upon routing a directory assistance call to the DAS 14
using the TOPS 16 (block 100). The DAS 14 will provide the initial
greeting such as, "Welcome to Bell East" followed by a request for
the desired listing and locality (block 102). The DAS 14 records
the response for the listing and the response for the locality
provided by the caller (block 104). Notably, the listing and
locality requests and listing and locality recordings are typically
made individually. For example, the preferable order is to request
a listing; record the caller's listing response; request a
locality; and record the caller's locality response.
[0028] The DAS 14 will then submit the listing response and
locality response to a speech recognition system 24 (block 106).
The speech recognition system 24 processes the listing response and
locality response individually to determine if the listing and
locality responses match predefined grammar for directory
assistance. Grammar is defined here as words, phrases and rules
associated with recognizable speech. Preferably, the grammar for
the speech recognition system will include frequently requested
listings and frequently requested localities. Importantly, the
frequently requested listings and localities are not linked to one
another. As such, the comparison of the listing response with the
listing grammar is exclusive of the comparison of the locality
response with the locality grammar. The configuration of the speech
recognition system 24 and details for the grammar are provided
below.
[0029] Preferably, the DAS 14 will receive from the speech
recognition system 24 either a grammar tag indicating listing and
locality matches were found or a message indicating no matches were
found (block 108). The grammar tag preferably includes information
for searching the directory assistance database 20 and analyzing
the results provided thereby. The information is analogous to that
an operator would generate upon hearing the listing and locality
responses. Additional details for creating the grammar tag and the
preferred format for the grammar tag are discussed in detail
below.
[0030] If the speech recognition system 24 fails to find matches
for either of the listing or the locality (block 110), the recorded
listing and locality responses are forwarded to the next available
operator at one of the operator terminals 18 (block 112).
Typically, the operator will listen to the recorded responses,
generate a query for the database, and send the query to the
directory assistance database 20 to carry out the search. When the
search results are received, the operator selects the proper number
and initiates a signal to the directory assistance database 20 and
directory assistance announcement system 22 to transfer and
announce the selected number to the user in traditional fashion
(block 120).
[0031] If the speech recognition system 24 returns a match for the
listing and locality responses (block 110), the DAS 14 processes
the returned grammar tag and develops a query for the directory
assistance database 20 (block 114). Importantly, the directory
assistance database 20 that receives the query is the same one
normally used for traditional directory assistance. The query is
not sent to a special database having the most frequently requested
listings for particular listings in a particular locality. Once the
DAS 14 sends the query, the directory assistance database 20 will
process the query and select all listings matching the query. The
processing of the query by the directory assistance database 20
does not have to be any different than for the processing of
queries from operators. Hence, a dynamic search of the primary
directory assistance database 20 occurs with each automation.
[0032] Upon receipt of the listings from the directory assistance
database 20 (block 116), the DAS 14 will process the returned
listings to select the listing matching the caller's initial
request (block 118). If the database query returns a single
listing, the DAS 14 simply initiates the announcement of the number
for the returned listing by the announcement system 22 (block 120).
If the database query returns multiple listings, the DAS 14 will
determine the most likely listing for the caller's request based on
analysis rules and the associated grammar tag received from the
speech recognition system, as detailed below.
[0033] As shown in FIG. 3, the DAS 14 has a traditional structure
including a central processing unit (CPU) 28 having memory 30 with
the necessary software 32 to control operation. Typically the CPU
28 is associated with a network interface 34 for communications
over a packet-switched network with systems such as the directory
assistance database 20 and the speech recognition system 24. A
telephony interface 36 is provided to interact with the caller over
the telephony connection controlled by the TOPS 16. The CPU 14 will
include or be associated with the necessary hardware and software
to provide greetings to the caller, ask the caller for desired
listing and locality, as well as store and forward the caller's
response in traditional fashion. For the present invention, the CPU
28 and software 32 are configured to facilitate directory
assistance automation by interacting with the speech recognition
system 24 and directory assistance database 20 as described.
[0034] As depicted in FIG. 4, the speech recognition system (SRS)
24 is preferably configured as a server for the DAS 14 and includes
a CPU 38 having memory 40 with software 42 sufficient to control
operation. The memory 42 is configured to process locality and
listing responses from the caller based on the scripts, rules, and
algorithms embodied in the software 42 and provided by the list
extraction and grammar system 26 for the frequently requested
listings and localities. The speech recognition system 24 has a
network interface 44 for interaction with the DAS 14. The audible
responses from the caller may be transferred to the speech
recognition system 24 from the DAS 14 in a digital format. Further
the DAS 14 and speech recognition system 24 may be merged into a
single system if desired.
[0035] With reference to FIG. 5, the directory assistance database
20 is of standard configuration and includes the necessary software
and hardware to form a search engine 46 for searching a
master-listing repository 48 containing the directory listings.
Again, the directory assistance database 20 is not dedicated to the
inventive automation process. In contrast, the invention strives to
search existing directory assistance databases currently in use.
The directory assistance database 20 will include a network
interface 50 for communicating with the DAS 14 over a
packet-switched network.
[0036] Prior to providing the described automation, the speech
recognition system 24 requires initial configuration. As depicted
in FIG. 1, the configuration is based on information received from
the directory assistance database 20. The list extraction and
grammar system 26 represents the system and process for analyzing
the directory assistance database 20 data and providing the initial
configuration. Preferably, the list extraction and grammar system
26 will define rules for listing standardization, grammar
production, and confirmation prompt production.
[0037] Listing standardization is beneficial to optimize
automation. A first step in listing standardization is identifying
frequently requested listings, regardless of locality, for
performing a search of the directory assistance database 20. In
other words, the actual company names are searched without
limitation by the associated locality, and vice versa. Studies have
shown that highly requested listings, such as United Parcel
Service, Wal-Mart, and US Airways, have many individual listings
throughout many localities. Unfortunately, there are inconsistent
spellings and formatting for these listings. To the exclusion of
locality, the finding names for the most frequently requested
listings preferably standardized for searching. As such, the
directory assistance database 20 may be updated to include a new
finding name field to further maximize the number of listings
capable of being automated. Since non-residential listings, such as
businesses and governments, are most frequently requested, a new
field could be modeled after the operators' Business/Government
finding field and constructed from the same original finding name
fields. Since this newly constructed finding name field is only
used for automated searching, cryptic or unobvious names can be
used to minimize the length of the finding name and avoid matching
names that are not capable of being automated. An example would be
to place "U_P_S" in the finding name field, instead of "United
Parcel Service."
[0038] Another use of the newly constructed finding name field is
to use a keyword to identify types of member listings for related
captions. A member listing is a number associated with a company,
such as a main number, reservations number, or baggage claim
number. For example, there are many types of member listings that
might be considered as a "main" or "general information" number.
The only way to identify these listings is by identifying analogous
words or phrases and using conversion rules to insert an
identifying keyword into the listing as a finding name. In the
"main" number example, the following words and phrases may be used
to identify listings considered to be a "main" number: "any
number," "home number," "main entrance," "main store," or "main
telephone." A conversion rule may replace any occurrence of the
listed words or phrases with the keyword "MAIN_SFT," which can be
used by the DAS 14 to search the directory assistance database 20
to locate a "general information number." Similar conversion rules
are preferable to identify commonly used member listings.
Typically, the conversions that occur in the newly constructed
finding name field are replacements, not aliases. Those skilled in
the art will recognize additional steps for listing
standardization.
[0039] As noted, grammar creation is based on frequently requested
listings derived from directory assistance statistics for the
directory assistance database 20. Preferably, an initial telephone
number search of the frequently requested listings is provided to
identify the name of the listing corresponding to the specified
phone number. The results of the telephone number search indicate
there are none, one, or multiple listings associated with a given
number as indicated in the table of FIG. 6. If no listings are
found, then the supplied number has either been changed or is
restricted, either of which means automation is not available. If a
single listing and locality is found for a given number, a name is
constructed for the listing.
[0040] When multiple listings for a given number are returned,
additional analysis is necessary. If all of the listings for the
number are in the same locality, then all listings are equivalent
because they have the same number. As such, the listings vary in
configuration and spelling and may require a "richer," or more
detailed, grammar to recognize each of the possible variations.
Further, the grammar may be configured to associate the various
listings to reduce the need for subsequently sifting search results
from the DAS 14. If the listings for the given number are spread
over multiple localities, the number is likely a regional or
national listing, which should not be handled in a local fashion.
In this situation, the grammar is configured to ignore locality and
provide a national number regardless of locality.
[0041] Once the initial telephone number search is analyzed, a
pre-runtime (static) search of the initial telephone search results
is performed. The possible scenarios in the telephone number search
results are shown in FIG. 7. The pre-runtime search has three
primary purposes. The first is to test whether the listing (name)
is searchable by the speech recognition system 24. For example,
free format text may not be searchable. If the text is not
searchable, words in the text may be edited until the listing can
be found.
[0042] The second is to identify "special" listings with a common
number for many localities without name confusion. Identifying
these special listings as regional or national listings in which
locality does not matter improves the automation rate of the actual
run-time search of the directory assistance database 20 provided by
the DAS 14. The third is to discover whether the same listing
matches multiple numbers, either in the same community or in
different communities. The latter is problematic and typically must
be resolved during the run-time search by the DAS 14; however,
enhancing the vocabulary for these listings may assist the run-time
search. Alternatively, a particular number can be selected as the
frequently requested listing by definition.
[0043] In the preferred embodiment, grammar creation entails
defining a grammar tag based on recognizable responses of the
caller. The recognition grammar is a text-based data file that is
delivered to the speech recognition system 24 to define what is
recognizable. In other words, the recognition grammar defines what
a caller will say in response to the query "what listing?" or "what
locality?" For each listing to be automated, a grammar tag is
created. The grammar tag is a text string, which is returned to the
DAS 14 upon recognition of the word or phrase making up the
caller's listing request. The grammar tag is used to pass
information to the DAS 14 informing it how to search for the
listing to automate and how to process the data that will be
returned from the directory assistance database 20 as the result of
the search.
[0044] Preferably, the grammar includes a string of words that make
up the spoken vocabulary, such as "Home Depot," that is recognized.
The grammar can also contain an alternative vocabulary surrounded
by parentheses and separated by vertical bars (|). An example would
include "Home Depot (StorelGarden Center)." In this example, the
speech recognition system would recognize either "Home Depot Store"
or "Home Depot Garden Center." Optional words or phrases may be
supported by the grammar and included in the grammar. If optional
portions are enclosed in brackets, a grammar tag may take the form
"Sears Roebuck [and Company]." In this example, the speech
recognition system 24 would recognize either "Sears Roebuck" or
"Sears Roebuck and Company."
[0045] In practice, the grammar tag includes tag fields, which are
preferably text strings of any length and limited to alphanumeric
characters and the following characters: dash (-), ampersand
(&), single quote (`), and underscore (_). The tag fields in
listing automation are used to pass information to the DAS 14
specifying how to retrieve the correct listing for each utterance
that is recognized. The information embedded in the tag fields is
sent to and processed by the DAS 14 upon successful recognition.
Within a grammar tag, tag fields may be separated by the "&"
character. Preferably, a three-character tag in the beginning of
the tag field identifies the particular tag field. The character
tag is made up of two upper-case alphanumeric characters followed
by a dash (e.g. "FN-" for a tag for the FINDING NAME tag field).
The remainder of the tag field contains variable length data.
Periods are used instead of spaces in text strings. The following
identifies certain ones of the numerous types of tag fields used in
the preferred embodiment of the invention.
[0046] The FINDING NAME tag field is identified by "FN-" and is
used for listing grammar. The tag field contains multiple words
that are to be used as the finding name field for the directory
assistance database search.
[0047] The LISTING STYLE CODE tag field is identified by "ST-" and
is used for listing grammar. The tag field contains information
used for tool development and debugging and represents the style
code, including the caption header, straight line, etc., of the
listings that generated the grammar.
[0048] The RECORD ID tag field is identified by "ID-" and is used
for both listing and locality grammar. The tag field is also used
for tool development and debugging and represents the record
identification number for one of the listings that generated the
grammar.
[0049] The SIFTING KEY tag field is identified by "Sn-" and is used
for listing grammar where n is a number zero through nine. The tag
field contains one or more words that are used as sifting keys by
the DAS 14. These keys may be used for identification of members in
a set of numbers to be used for automation once the results are
returned from the directory assistance database 20. Sifting is
described in greater detail below.
[0050] The PRIMARY PROMPT IDENTIFICATION tag field is identified by
"P0-" and is used for listing and locality grammar. The tag field
contains a text string identifying the primary listing confirmation
prompt to be provided or played to the caller. This prompt is
usually the only prompt for a straight line listing or header, but
may be combined with a secondary prompt for a member listing. For
example, a primary prompt may be "US Airways" and may be associated
with a secondary prompt "Passenger Reservations."
[0051] The SECONDARY PROMPT IDENTIFICATION tag field is identified
by "P1-" and is used for listing and locality grammar. The tag
field contains a text string identifying the secondary listing
confirmation prompt to be provided or played to the caller
following a primary prompt. The secondary prompt is typically used
only for member listings.
[0052] The PRIMARY PROMPT FILE NAME tag field is identified by
"X0-" and is used for listing and locality grammar. The tag field
contains the file name of the primary listing confirmation prompt.
This prompt is typically the only prompt for a straight line
listing or header, but may be combined with a secondary prompt for
a member listing.
[0053] The SECONDARY PROMPT FILE NAME tag field is identified by
"X1-" and is used for listing grammar. The tag field contains the
file name of the secondary listing prompt and is typically used
only for a member listing.
[0054] The FILE PLACEMENT tag field is identified by "FP-" and is
used for listing and locality grammar. The tag field indicates the
type of listing, which is typically Business, Government, or
Business Special to direct the DAS 14 on how and where to search
for the listings.
[0055] The GRAMMAR ID tag field is identified by "GI-" and is used
for listing and locality grammar. The tag field contains a unique
record identification for the grammar element and is used to assist
in keeping the identification record consistent across multiple
versions of grammar.
[0056] The FRL TELEPHONE NUMBER tag field is identified by "Tn-"
(where n is a number from 0 to 99) and is used for listing grammar.
The tag field contains a text string for the seven to ten digits
representing a number for a frequently requested listing for the
associated grammar. This field is used to assist in identifying a
listing to be used for automation.
[0057] The FINDING STREET tag field is identified by "FS-" and is
used in the listing grammar. This field may contain one or more
words that are to be used in the finding street field for the
directory assistance database search.
[0058] The SOURCE tag field is identified by "SR-" and is used in
the listing grammar to identify the source of the grammar, either
"a" for autogrammar generated through a rules-based software
process or "t" for transcriptions of actual calls. This field is
informational only, and is not used in the run-time processing of a
directory assistance call.
[0059] The TRANSCRIPTION COUNT tag field is identified by "TC-" and
is used in the listing grammar to indicate the number of times a
transcription of this grammar occurred. This field is informational
only, and is not used in the run-time processing of a directory
assistance call.
[0060] The LOCALITY tag field is identified by "FL-" and is used
for locality grammar. The tag field contains a text string for the
locality name to be used in the directory assistance database
search query. The text string is the recognized result
corresponding to the "what city" prompt. When used with a listing
tag, this locality overrides the recognized locality.
[0061] The AREA tag field is identified by "FA-" and is used for
locality grammar. The tag field contains a text string of the area
name to be used in the directory assistance database search query
in conjunction with the LOCALITY tag field. When used in a listing
tag, the area overrides the area associated with the recognized
locality. The text string is a recognized result corresponding to
the "what city" prompt. These tag fields may be used in any number
of combinations to form grammar tag for use by the DAS 14. An
exemplary tag using the described syntax is as follows: [0062]
FN-USAIRWAYS.RESERVATIONS_KW&SR-a&FA-&ST-CM&ID-0200011235&SO-RESERVATIONS-
_KW&P0-U.S.AIRWAYS&P1-RESERVATIONS&FP-B&GI-x.0200011235.0.0&T0-8004284322&
[0063] The mapping of certain frequently requested caption members
into general categories, such as "Main" or "General Information
Number," is used to facilitate the generation of the speech
recognition grammar as well as the processing of the retrieved
listing for automation by the DAS 14. For example, many caption
sets have a member listing that contains the number of the
switchboard, IVR system for incoming calls, or a standard toll-free
number used for general access for a particular company. There is
no standardization of how the number is listed, nor is there a
relationship between the finding name of the member listing and how
the caller will ask for the number. For example, a caption for a
bank might take the following format: [0064] First National Bank
(header) [0065] South Beach Branch (member listing) [0066] For Toll
Free Assistance Dial (member) A caption for a telephone company
might take the following format: [0067] Rochester Power and Gas
(header) [0068] For General Information Call (member)
[0069] In both of the above examples, the member listing in bold is
designated the "Main Information" number. If a caller asks for
"First National Bank" or "Rochester Power and Gas," the bolded,
member listing is automated. Preferably, these classes of listings
are identified by keywords within the finding names of the members.
These keywords are replaced by a new finding name, such as
"MAIN_SFT" in the case of the general information number. In this
way, the DAS 14 can directly search for "First National MAIN_SFT"
or "Rochester Power Gas MAIN_SFT." Alternatively, "MAIN_SFT" may be
specified as a sift key from the SIFT KEY tag field in the grammar
tag, and the DAS 14 can look for listings with MAIN_SFT in their
finding name and attempt to automate the listing. In addition to
the "Main" or "General Information Number," any number of
categories, such as "Customer Service," "Reservations or Ticket
Office," or "Passenger Information," may be created.
[0070] Once the grammar and rules are established, the speech
recognition system 24 is ready for operation. The speech
recognition system 24 operates to accept a streamed speech input
from the DAS 14 for the listing response and the locality response
of the caller. Using the loaded grammar and rules, the listing
response and the locality response are individually processed to
determine vocabulary matches and generate a grammar tag. The
grammar tag is returned to the DAS 14 and processed to generate a
listing query and a locality query. The queries are sent to the
directory assistance database 20 to carry out a run-time search,
and a listing response is returned to the DAS 14. Preferably, the
listing and locality queries are formed having substantially the
same format as those formed by the operator terminals 18 in
response to operator commands. This is because the directory
assistance database 20 is preferably being used for both operator
assisted and automated calls.
[0071] The listing response returned from the directory assistance
database 20 includes records having a listing and locality with
each telephone number. The DAS 14 then provides a run-time search
analysis. The likely search results are depicted in the table of
FIG. 8. The run-time analysis provided by the DAS 14 is as follows.
If no numbers are returned, automation is abandoned, and the search
is transferred to an operator. If there is a single number, the
number is selected and announced to the caller. If there are
multiple numbers in the listing response, the DAS 14 must sift
through the returned listings to either select a single number
within the listings or transfer the directory assistance request to
an operator.
[0072] As noted, the SIFTING KEY tag field in the grammar tag
provides one or more key words to facilitate the final selection of
a number from the listing response. Other tag fields providing
expected numbers, localities and listings are also used to
eliminate erroneous records and to select the proper number. The
overriding sifting rule is to stop sifting once the listing
response is narrowed to one number and to initiate announcement of
the final number to the caller.
[0073] The preferred sifting analysis is outlined in FIGS. 9A and
9B. Between each primary processing step, the DAS 14 will determine
if the listings have been paired down to a single listing (blocks
202, 206, 210, 214, and 218). If an exact caller-specified locality
appears for any number, the DAS 14 will remove all other numbers
(block 200). If the expected frequently requested listing number
(derived from the grammar tag) is present, the DAS 14 will remove
all other numbers (block 204). When the same locality and listing
have a local and a toll-free (e.g. 800/888) number, the DAS 14 will
select the toll-free number and discard the listing having the
local number (block 208). When the same name and number appear in
multiple communities, the DAS 14 will combine the listings (block
212). If the result has less than a predefined number of candidates
remaining, the DAS 14 will let the caller choose by announcing the
options and responding to caller feedback in the form of a voice
command or a key-press (block 216). Otherwise, the DAS 14 will
transfer the directory assistance request to an operator (block
220). During any of the above steps, once only a single number is
left, the DAS 14 will trigger automation and announcement of the
remaining listing (block 222).
[0074] For automated directory assistance inquiries, the DAS 14
will preferably provide a confirmation prompt to the caller to
ensure the request was properly automated. The confirmation prompt
is an announcement to the caller identifying the listing name
provided to the caller before announcing the number for the
automated listing. The confirmation prompt is preferably based on
the listing information sufficient to automate the prompt. For
example, if the caller asks for the "Hilton Inn" and the speech
recognition system 24 returned that a synonym for "Hilton Inn" is
"Hilton Hotel," the confirmation prompt would say, "We found a
listing for Hilton Hotel." Although not identical, the confirmation
prompt in this particular case should not confuse the caller.
[0075] In certain cases, the listing may not contain information
that leads to a reasonable, non-confusing confirmation prompt. An
example is the listing for "Rochester War Memorial," which has
recently been renamed the "Blue Cross Blue Shield Arena." In order
to optimize automation of this listing, a recognition grammar is
created that contains both "Rochester War Memorial" and "Blue Cross
Arena," since most callers will state one of these two names when
requesting the listing. The FINDING NAME tag field (FN-) in the
grammar tag would contain "Blue.Cross.Blue.Shield" for searching
the directory assistance database 20. The related confirmation
prompt tag fields in the grammar tag for the listing would differ
for the two grammars. In other words, the grammar for the speech
recognition system 24 would include information sufficient to
return one file name for searching regardless of the listing
requested by the caller. Further, given the substantial difference
in the old and new listings, the confirmation prompt will reflect
what the caller actually said when requesting the listing.
Otherwise, the caller may be confused and answer in the negative to
the confirmation, thereby erroneously avoiding automation. For
confirmation prompts, the user is typically instructed to provide a
vocal response or press a certain key to accept or deny the
listing.
[0076] Although the primary emphasis of the description focuses on
the grammar and processing for listings rather than localities, the
concepts outlined herein are equally applicable to localities. In
practice, localities are less in number, more consistent and more
easily defined than listings. The primary automation difficulty
associated with locality information is callers requesting the
wrong locality or not knowing the exact locality. As such, the
grammar for a particular locality may be associated with a larger
area or group of localities as defined by the FINDING AREA tag
field. Accordingly, the DAS 14 can expand or broaden the directory
assistance database 20 search as necessary if no listings or wrong
listings are returned. Whether listings or localities, the present
invention emulates operator action and allows automation using the
existing directory assistance database 20 rather than requiring a
special database having frequently requested listings. Further, the
unique ability to process and search listings and localities
independent of one another greatly expands the number of listings
capable of being automated. In addition, automation for a listing
does not require preprocessing, especially if the new listing
shares a common name, but is located in a different locality.
[0077] The foregoing description of preferred embodiments of the
invention has been presented for purposes of illustration and
description. It is not intended to be exhaustive or to limit the
invention to the precise form disclosed. The embodiments were
chosen and described in order to best illustrate the principles of
the invention and its practical application to thereby enable one
of ordinary skill in the art to best utilize the invention in
various embodiments and with various modifications as are suited to
the particular uses contemplated. It is intended that the scope of
the invention be defined by the claims appended hereto.
* * * * *