U.S. patent application number 11/071001 was filed with the patent office on 2006-07-06 for method for automatic graphical profiling of a system.
Invention is credited to Cecilia M. Castillo, Theodore J. Roycraft, James Wilson.
Application Number | 20060147020 11/071001 |
Document ID | / |
Family ID | 36013653 |
Filed Date | 2006-07-06 |
United States Patent
Application |
20060147020 |
Kind Code |
A1 |
Castillo; Cecilia M. ; et
al. |
July 6, 2006 |
Method for automatic graphical profiling of a system
Abstract
A method and apparatus for processing unique dialogs from a
dialog system to identify paths through the dialog system, each
unique dialog having a corresponding identified path and generating
a visual call flow representation as a function of the identified
paths of the dialog system, the call flow representation including
nodes and edges connected to correspond to the identified
paths.
Inventors: |
Castillo; Cecilia M.;
(Lebanon, NJ) ; Roycraft; Theodore J.; (Califon,
NJ) ; Wilson; James; (Berkeley Heights, NJ) |
Correspondence
Address: |
AT&T Corp.
Room 2A-207
One AT&T Way
Bedminster
NJ
07921
US
|
Family ID: |
36013653 |
Appl. No.: |
11/071001 |
Filed: |
March 3, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60638207 |
Dec 22, 2004 |
|
|
|
Current U.S.
Class: |
379/220.01 |
Current CPC
Class: |
G06F 11/3604 20130101;
G06F 11/3612 20130101; G06F 11/3636 20130101 |
Class at
Publication: |
379/220.01 |
International
Class: |
H04M 7/00 20060101
H04M007/00 |
Claims
1. A method, comprising: processing unique dialogs from a dialog
system to identify paths through the dialog system, each unique
dialog having a corresponding identified path; and generating a
visual call flow representation as a function of the identified
paths of the dialog system, the call flow representation including
nodes and edges connected to correspond to the identified
paths.
2. The method according to claim 1, wherein the visual call flow
representation includes a representation of a call flow
specification.
3. The method according to claim 2, wherein the visual call
representation includes the paths of the unique dialogs overlayed
onto the call flow specification.
4. The method according to claim 1, further comprising: processing
additional unique dialogs, each unique dialog having a
corresponding identified path; and updating the visual call flow
representation as a function of the identified paths of the dialog
system.
5. The method according to claim 1, further comprising: comparing
the visual call flow representation to a call flow specification
showing an expected operation of the dialog system, wherein
identified paths shown by the visual call flow representation which
are outside of the expected operation are identified on the visual
call flow representation.
6. The method according to claim 1, wherein the visual call flow
representation includes at least one of color, line type and
additional visual attributes to identify one of the unique
dialogs.
7. The method according to claim 1, further comprising: processing
one of the unique dialogs which was incomplete when initially
processed resulting in an incomplete corresponding identified path;
and updating the visual call flow representation as a function of
the fully processed one of the unique dialogs.
8. The method according to claim 1, wherein the visual call flow
representation includes statistical values.
9. The method according to claim 8, wherein the statistical values
include a raw count of a number of times each node and edge of the
visual call flow representation is traversed by the unique
dialogs.
10. The method according to claim 8, wherein the statistical values
include percentages of node and edge traversal.
11. The method according to claim 1, wherein the visual call flow
representation includes statistical values for a subset of the
unique dialogs.
12. The method according to claim 1, wherein the visual call flow
representation includes one of fading the paths having usage less
than a first predetermined value and enhancing the paths having
usage greater than a second predetermined value.
13. The method according to claim 1, further comprising dividing
the visual call flow representation into separate pages.
14. The method according to claim 13, further comprising providing
indices to relate the separate pages.
15. An apparatus for analyzing a dialog system, comprising: a
processor; a display coupled to the processor; and a memory coupled
to the processor, the memory storing instructions adapted to be
executed by the processor to, process unique dialogs from the
dialog system to identify paths through the dialog system, each
unique dialog having a corresponding identified path, and generate
a visual call flow representation as a function of the identified
paths of the dialog system, the call flow representation including
nodes and edges connected to correspond to the identified
paths.
16. The apparatus according to claim 15, wherein the visual call
flow representation includes at least one of color, line type and
additional visual attributes to identify one of the unique
dialogs.
17. The apparatus according to claim 15, wherein the visual call
flow representation includes statistical values.
18. The method according to claim 17, wherein the statistical
values include one of a raw count of a number of times each node
and edge of the visual call flow representation is traversed by the
unique dialogs and percentages of node and edge traversal.
19. A method, comprising: transmitting system dialog to a
communications network from a dialog system server; receiving user
dialog from at least one user communication device via the
telecommunications network; and generating a visual call flow
diagram in real time using the system dialog and user dialog.
20. The method according to claim 19, further comprising comparing
the visual call flow diagram with a call flow specification.
21. The method according to claim 19, wherein the visual call flow
diagram includes a path based on the user dialog and the system
dialog corresponding to the user dialog.
22. The method according to claim 21, wherein the path is
identified by at least one of color, line type and additional
visual attributes.
Description
BACKGROUND INFORMATION
[0001] Dialog systems have evolved to become very complex and can
be composed of large numbers of components (both hardware and
software) which have to interact and work together correctly to
bring about the result desired by the user. Due to the complexity
of the system involved, it is vital that extensive testing be
carried out before the deployment of the dialog system for use by
customers and to verify the performance and correctness of the
dialog. After the dialog system has been deployed and used by the
customers, it is still important to monitor its performance and
correctness to optimize the system's use of resources and to
monitor the complex interactions between the different components
of the system, as well as to evaluate the current callflow
effectiveness and correctness
[0002] Modeling of the dialog system is a vital part of
pre-deployment testing as well as of providing subsequent
performance improvements, physical improvements and user interface
improvements, e.g., improvements to the dialog itself. However, the
analysis of the dialog system can be exceedingly difficult because
of the very large number of transactions with the users that take
place during a given period of time, and because of the complexity
of the steps that may be performed by the many components for each
transaction. One type of system which has gained popularity is a
natural language dialog system, in which the users can speak in
natural language and be understood by the dialog system. In the
spoken dialog system, large numbers of specific dialogs travel from
root nodes to leaf nodes of the dialog system. Each dialog
represents a call or an exchange of data, communication or
information between customers and the system.
[0003] One way of analyzing the dialog system is to use reports.
However, the reports are generally prepared in response to defined
requirements and to analyze and resolve a specific problem. Thus,
the reports are not well suited to uncover more general problems
within the dialog system, and to review the operation of the dialog
system as a whole. Call flows, also known as sequence diagrams, are
more useful to analyze dialog systems because they allow the
developer to visually depict the messages and interactions which
take place between the dialog system's components and the users,
and the associated state transitions between the components. Call
flows are well suited to represent and model the flow of messages,
events and actions which takes place between the components of a
complex system and a user. Call flows may be used to design,
document and validate the architecture and logic of a system by
describing the sequence of actions needed to carry out a task.
SUMMARY OF THE INVENTION
[0004] In one aspect, embodiments of the present invention are
directed to a method to process unique dialogs from a dialog system
to identify paths through the dialog system. Each unique dialog has
a corresponding identified path. This is used to generate a visual
call flow representation as a function of the identified paths of
the dialog system, the call flow representation including nodes and
edges connected to correspond to the identified paths.
[0005] In another aspect, embodiments of the present invention are
directed to an apparatus for analyzing a dialog system which
includes a processor, a display coupled to the processor and a
memory coupled to the processor. The memory stores instructions
adapted to be executed by the processor to process unique dialogs
from the dialog system to identify paths through the dialog system,
each unique dialog having a corresponding identified path, and
generate a visual call flow representation as a function of the
identified paths of the dialog system, the call flow representation
including nodes and edges connected to correspond to the identified
paths.
[0006] In addition, a method of transmitting system dialog to a
communications network from a dialog system server, receiving user
dialog from at least one user communication device via the
telecommunications network and generating a visual call flow
diagram in real time using the system dialog and user dialog.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] FIG. 1 shows a dialog system according to an exemplary
embodiment of the present invention.
[0008] FIG. 2 shows a call flow diagram according to an exemplary
embodiment of the present invention.
[0009] FIG. 3 shows a method for analyzing a dialog system
according to an exemplary embodiment of the present invention.
DETAILED DESCRIPTION
[0010] The present invention may be further understood with
reference to the following description and the appended drawing,
wherein like elements are referred to with the same reference
numerals. The present invention addresses shortcomings in the field
of monitoring and testing communication systems, and in particular,
spoken dialog systems. More specifically, the invention is related
to monitoring systems using a graphical call flow to analyze and
display a system, and to dynamically monitor the system in real
time.
[0011] A spoken dialog system has become increasingly common in
deployed communication systems and services. Several types of the
spoken dialog system exist today which provide the user with some
freedom in communicating with the dialog system. In some dialog
systems, speech inputs by the user are allowed, but there are many
constraints on what the user can say that will be understood by the
dialog system. Other dialog systems are more flexible and allow the
user to use unconstrained fluent speech to communicate with the
dialog system to perform some action. Such dialog systems are
generally very complex, and often include a variety of components
which have to work together to perform the task requested by the
user. Many actions may be required to perform the tasks requested,
adding to the complexity of the dialog system.
[0012] Those of skill in the art will understand that the analysis
tool of the present invention may be applied to any system that can
be depicted as a call flow/network. For Interactive Voice Response
("IVR") systems a call flow may be used to represent systems that
use, for example, touch tone, directed dialog (e.g., say or press
one) or natural language. A call flow based on any of these
exemplary systems can be complex, e.g., a touch tone application is
not necessarily less complex than a natural language application
from the perspective of analysis or design. However, the present
invention is not limited to IVR systems, but may be used with any
system that can be depicted as a call flow/network.
[0013] FIG. 1 shows a dialog system 50 according to an exemplary
embodiment of the present invention. The dialog system 50 includes
a user communication device 52. The user communication device 52
may be, for example, a telephone. The user communication device 52
may transmit and receive information (e.g., voice communications)
via a network 54 (e.g., a telecommunications network). A dialog
system server 56 may be in communication with the network 54 to
transmit information (e.g., system dialog) to the user
communication device 52. A computer 58 may receive and process
information (e.g., user dialog) from the user communication device
52 via the network 54. As one of ordinary skill in the art will
understand, the dialog system server 56 and computer 58 may be
co-located in the dialog system 50. Furthermore, embodiments of the
dialog system 50 may include any number of additional user
communication devices 52, dialog system servers 56, and/or
computers 58.
[0014] Due in part to the complexity of dialog systems, it is
necessary to conduct extensive pre-deployment testing to ensure
that the dialog systems (e.g., dialog system 50) perform as
expected and properly carry out the instructions and requests
received from the user. A continuous monitoring of the dialog
systems may be also necessary to make sure that the dialog systems
continue to perform as required and to optimize the use of the
various components of the dialog systems. The identification and
correction of problem areas of the dialog systems is also important
during the continuing monitoring of the dialog systems. These tasks
are rendered more complex by the large volume of interactions which
take place between users and the dialog systems, making it
impossible to monitor every single interaction.
[0015] One method of monitoring a deployed dialog system is to use
summary reports. Summary reports may be prepared on a daily, weekly
or other time basis. These give a breakdown of outcomes of the
transactions undertaken by users with the dialog system, such as
completions, discontinuations and transfers to other dialog
systems. However, these reports typically are not sufficiently
detailed to be used as a diagnostic tool to determine which parts
of the dialog system are not performing as expected. Reports are
also generally prepared in response to defined requirements and
specifications, and thus are not well suited to uncovering new
problems within the flow of communications taking place in the
dialog system. The reports also cannot give an overall assessment
of the flow of calls in the dialog system, and cannot provide
feedback in real time to the developers.
[0016] A number of methods of analyzing the dialog systems may be
used. For example, a call flow diagram (also known as a "sequence
diagram") may be used to visually inspect the behavior of a dialog
system (e.g., dialog system 50). The call flow in its simplest form
is a graph representing the dialog system, and in some cases
containing cycles over some portions of the network being
represented. The call flow diagram (or call flow) is an example of
a graphical or visual call flow representation. As used in this
description, the term call flow specification is used to refer to
all possibilities/behaviors of a particular system. A call flow
diagram is a graphical representation of the call flow
specification, i.e., a graphical representation of the entire
dialog system. A call flow diagram may be separated into multiple
diagrams representing smaller pieces or sections of the entire
dialog system. In contrast, a single path through the call flow
diagram is one dialog (e.g., one user interaction (or session) with
the dialog system). As will be described in more detail below, a
call flow diagram may have a root node and multiple interior and
leaf nodes. A dialog is represented by a path which traverses these
nodes. Those of skill in the art will understand that there may be
other types of call flow representations.
[0017] An exemplary embodiment of a call flow diagram 100 is shown
in FIG. 2. The call flow diagram 100 represents the call flow
specification, e.g., all possible user paths through the dialog
system as each individual dialog progresses. The call flow diagram
100 may be organized in a tree fashion, with sub-dialogs (e.g.,
interior nodes, leaf nodes and paths) occurring in some of the
branches which involve repeated interactions with the user. For
example, the call flow diagram 100 may begin with a root note 102.
A path 103 extending from the root node 102 to an interior node 104
within the call flow 100 represents a specific dialog, or a
specific exchange of information taking place between a user and
the dialog system 50. An interior node is a node which has a
successor node (e.g., nodes 104, 108 and 110 each have one or more
successor nodes and are therefore interior nodes). A leaf node is a
node which does not have any successor nodes (e.g., nodes 116, 118,
120 and 122 do not have any successor nodes and are therefore leaf
nodes). A particular dialog may traverse through multiple paths and
interior nodes and terminate at either an interior node or a leaf
node.
[0018] As one of ordinary skill in the art will understand, the
call flow diagram 100 shown in FIG. 2 may represent a portion of a
larger and more complex call flow diagram which includes loops and
complex branching. The call flow diagram 100 is the call flow
specification and thus is a representation of the entire dialog
system's behavior. Each dialog which traverses through the paths
and nodes of the call flow diagram 100 may be mapped or overlayed
onto the call flow diagram 100. Therefore, the call flow may
contain a very large number of unique dialogs (i.e., paths,
interior nodes and leaf nodes), for example tens of thousands or
even an unbounded number of unique dialogs. The large number of
unique dialogs existing in the dialog system 50, and the complex
interactions between components of the dialog system 50 which may
be required by each of those unique dialogs contribute to make the
call flow very complex.
[0019] One problem encountered by the designers and developers of
the dialog system is the difficulty in analyzing the call flows
once the dialog system has been deployed. The dialog system is
designed to receive calls from users that are attempting to perform
a variety of tasks. Thus, there are usually large variations of
behavior between individual calls due to the different requests
made by the users. Because of the large number of calls processed,
it is not practical to inspect and evaluate the performance of the
dialog system with respect to each call, and there is a need for
monitoring tools which are able to provide an overall analysis of
the system's performance, and to point out individual calls within
the system which do not fall within certain acceptable
parameters.
[0020] Exemplary embodiments of the present invention provide a
developer/designer of a dialog system (or any system which can be
modeled or depicted as a call flow or network diagram) with tools
necessary to analyze a large number of calls or transmissions which
take place within the dialog system (e.g., dialog system 50). The
present invention may be utilized to map summaries of the plurality
of dialogs to a call flow diagram so that any variations from the
specification of one or more dialog can be noticed and analyzed
further. By utilizing a graphical interface, the developer/designer
can visually inspect the behavior of the dialog system (e.g., to
validate standard flows, identify anomalies in the call flows, and
to point out deviations from the expected norms). A visual
representation of the behavior of the dialog system is extremely
helpful because a very large amount of data can be displayed
simultaneously, and abnormal patterns may be easily noticed. In
particular, the expected normal behavior of the dialog system may
also be displayed along with any data representing an aberrant
interaction allowing such an interaction to be spotted very
easily.
[0021] The visual display of call flows according to embodiments of
the present invention permits the developer to browse the call flow
by monitoring the overall patterns of the calls. At the same time,
the present invention permits the developer to look more closely at
calls or at portions of the call flow which appear to fall outside
of the normal expected behavior of the dialog system. For example,
the developer may investigate anecdotal field observations, to
determine whether an anomalous process is responsible for the
unexpected results. Inefficient aspects of the dialog system may
also be uncovered by analyzing the visual representation of the
call flow, to determine whether streamlining or other improvements
to the dialog system may be carried out. Using the analysis tools
provided by exemplary embodiments of the present invention shortens
the time necessary to uncover problems and to improve the
performance of the dialog system.
[0022] A call flow diagram represents a specification for a dialog
system. The call flow diagram may specify, for example, the actions
that the application or the dialog system should carry out based on
the inputs and commands provided by the user. In some cases,
external information (e.g., retrieved from a database) may also be
used to guide how the dialog system reacts to the control inputs.
As discussed above, the call flow diagram represents all the
possible user paths through the dialog system. The call flow
diagram may be generated based on actual usage of the dialog system
(e.g., recording multiple dialogs which represent all possible
scenarios). However, it is more likely that the call flow diagram
will be based on a design specification of the dialog system (e.g.,
the dialog system designers specify all potential paths through the
system).
[0023] The overlayed or mapped dialogs on the call flow diagram
represent one or more paths followed by users through the dialog
system. Typically, the mapped dialogs represent many users over
many interactions, and thus create a visual representation of
actual user experience with the dialog system. The results may be
viewed utilizing a visualization tool which produces a graphical
representation of the dialogs within the call flow diagram. The
developer may then evaluate and implement modifications to the
dialog system based on the observed call flow.
[0024] The embodiments of the present invention provide the
developer or designer of a system, and in particular of a spoken
dialog system (e.g., dialog system 50), with the tools to analyze
the dialog system, to graphically display the results of the
analysis and to update the results to obtain a dynamic
representation of the dialog system in real time. Call flow
diagrams are the tool used to analyze the dialog system in the
exemplary embodiment of the present invention. A call flow diagram
typically represents a specification for the dialog system.
According to the present invention, the automatic graphical
profiling process may record every node and every edge of the call
flow that each unique dialog traverses in the course of carrying
out a procedure requested by the user. As a result, the automatic
graphical profiling process according to the present invention can
update the call flow and can summarize the results of many dialogs
in an output which then can be analyzed by the developer.
[0025] In one embodiment of the present invention, the results
generated by the original call flow and by the updated call flow
can be represented graphically (e.g., call flow diagram 100), to
simplify the analysis of the dialog system. For example, a
percentage or a raw count of how many times each node or edge was
visited by the unique dialogs can be produced, which can be used to
visually indicate how calls were routed through the call flow. A
display system using color encoding and shape properties may be
used to reflect the results obtained, and to graphically present
them to the developer. For example, different shapes and colors may
be utilized to represent the various users of the system, the
devices within the spoken dialog system that are utilized, and the
various actions taken as a result of the unique dialogs.
[0026] In many cases it may be beneficial to have a real time
representation of the dialogs taking place within the dialog
system. This permits the developer to monitor the dialog system's
performance, take some action to optimize and improve that
performance, and to observe the results of those actions.
Accordingly, a run time dialog system is provided which can send
the information to the process according to the present invention,
and which in turn can generate a call flow which is updated
dynamically to display the progress of the dialog. Accordingly, the
automatic graphical profiling process according to the present
invention provides a tool for graphically summarizing and profiling
dialogs within the dialog system by using the dialog system's call
flow, and for graphically following the execution of a dialog in
real time by dynamically updating the call flow.
[0027] The automatic graphical profiling process according to
embodiments of the present invention reflects the run time behavior
of a dialog with respect to the call flow which defines it. A real
time representation of the dialogs which exist within the dialog
system can thus be constructed to evaluate, test and monitor the
dialog system. A graphical interface provides one of the most
intuitive and usable methods of analyzing the results of the
exemplary automatic graphical profiling process. Graphical tools
for drawing call flows typically have interfaces which allow
applications to manipulate the shapes and other properties of the
call flow, for example to reflect nodes and edges of the call flow.
For example, Microsoft Visio graphic software may be used for this
purpose.
[0028] FIG. 3 shows a diagram of an exemplary embodiment of the
automatic graphical profiling process according to the present
invention. In the step 210, the developer designs a desired call
flow for the dialog system, i.e., the call flow specification. As
described above, the call flow specification provides all the
potential paths through the dialog system. This specification
represents the norm, or the expected behavior of the many dialogs
which will exist within the dialog system. In step 220, the call
flow diagram is created from the call flow specification. As also
described above, the call flow diagram is a graphical
representation of the call flow specification, i.e., a graphical
representation of all potential paths through the dialog
system.
[0029] In step 230, the data from each of the unique dialogs is
collected, e.g., the user interactions with the dialog system. The
automatic graphical profiling process then generates a path which
represents each of the unique dialogs (step 240). There may be a
large amount of unique dialogs which will be shown graphically to
the developer. The results of the mapping of the dialogs to the
call flow diagram are displayed graphically in the step 250. For
example, the graphical representation of the call flow, with its
unique dialogs, may be superimposed on a graphical representation
of the call flow specification (e.g., the call flow diagram). This
procedure allows the developer to visually inspect the various
components of the call flow, and to rapidly determine whether any
branches or nodes of the call flow do not behave as expected
respective to the norm. By comparing the actual unique dialogs
within the call flow to the call flow specification, the developer
may discern any anomalies which may exist in certain portions of
the dialog system.
[0030] In many cases, call flows are very large due to the large
numbers of dialogs represented therein, and the complex procedures
undertaken with each dialog. To simplify the inspection, call flows
may be broken down into separate pages, representing various
elements of the dialog system. Each shape in the call flow may be
given a specific identifier within the automatic graphical
profiling process, for example composed of a page index and a shape
index. The unique identifier can then be stored in the
implementation of the dialog. When the dialog is then run, it is
able to record which shapes it visits during its execution, by
storing the unique identifiers of the shapes. The stored
information about the path taken by every specific dialog can then
be used to build a profile of the paths traversed by the dialog,
which becomes part of the graphical display of the call flow.
[0031] The exemplary automatic graphical profiling process
according to the present invention is also adapted to take the
recorded shape information from a selected unique dialog, and to
modify the corresponding graphical call flow representation to
visually identify the paths taken by the unique dialogs. For
example, the color, line size, or other attributes of the graphical
representations may be modified during this step, to reflect the
amount of use various paths receive. The automatic graphical
profiling process according to the present invention is also
designed to take any number of unique dialogs, and calculate
statistical values regarding those dialogs. For example, counts and
percentages of how often each point in the call flow was visited by
the unique dialogs can be computed, and then can be represented
visually on the call flow graphic representation. A large number of
dialogs may thus be summarized visually, for easy inspection by the
developer.
[0032] In one exemplary embodiment of the automatic graphical
profiling process, various paths taken by the unique dialogs may be
faded out if they are not followed frequently, and may be visually
enhanced if they are used extensively. By using this or a similar
graphical convention, it is easy to differentiate and identify
portions of the dialog system which are often taken or seldom taken
by the dialogs. The developer may thus make changes to the dialog
system which may result in greater efficiency in carrying out the
processes specified by the dialogs.
[0033] The automatic graphical profiling process according to the
present invention also supports a dynamic update capability, as was
described above. According to this process, a running dialog is
designed to send its shape information to the automatic graphical
profiling process, so that the process in turn can update the call
flow with the new information. As a result, the developer is able
to observe the actions of the unique dialogs in real time, as
represented by the call flow, and as depicted by the graphical
interface. This feature of the automatic graphical profiling
process according to the present invention helps the developer to
understand the call flow, and also is helpful in debugging those
dialogs which do not behave properly.
[0034] The shape information necessary to construct a dynamic, run
time call flow can be automatically embedded in each of the unique
dialogs by following methods such as those described in the U.S.
Patent Application [please provide the reference for this
application] titled "Converting Graphical Call flows into Finite
State Machines". The subject matter of the above application is
hereby included by reference in its entirety.
[0035] As shown in FIG. 3, the developer is able to visually
evaluate the call flow generated in the step 250, as described
above. For example, deviations from the norm, paths with excessive
traffic and paths with sparse traffic may be further analyzed by
the developer. If the developer is satisfied with the dialogs
presented in the graphical call flow, the process continues to the
step 260, where the call flow is updated by following the real time
execution of the dialogs, as described above. If the developer is
not satisfied with the call flow, he may decide in the step 270
what changes to make to the dialog system to correct those
deficiencies. The changes may be implemented in the step 280, by
changing some of the dialog system parameters. The run time update
then may continue to step 260, where the call flow is updated.
[0036] According to the exemplary embodiment of the present
invention, the automatic graphical profiling process builds a high
level view of the call flow representing the spoken dialog system.
This high level view shows how each page of the call flow is
related to all other pages. Similarly, every shape within a page is
related to the other shapes on that page. The high level view
provided by the exemplary automatic graphical profiling process is
also adapted to trace the behavior of dialogs among the various
pages, and to identify those pages which are rarely or never
utilized by the dialogs. As described above, this feature may be
invaluable in allowing the developer to troubleshoot and optimize
the operation of the dialog system.
[0037] The automatic graphical profiling process described herein
may be used to visually display and analyze a variety of systems
which can be represented by a call flow. The graphical call flow
may be translated into a runtime system, which can be analyzed in
real time. The present process is well suited to display and
analyze spoken dialog systems, due to the large number of
interactions and the complexity of the interactions contained
therein. One example of such dialog systems is the HMIHY (How May I
Help You) system.sup.SM developed by AT&T Corp. In this system,
customers can talk with machines, expressing what they want in
spoken natural language. In this context, natural language refers
to a system where the machine understands and acts upon what the
users actually say, in contrast to systems where the users have to
say what the machine expects them to say. This technology shifts
the burden from users to the machine, greatly increasing peoples'
capability and willingness to use automation. This is in contrast
to the prior generation of voice interfaces, where users must speak
a small set of words in some fixed order to carry out a process
within the system. According to the HMIHY system.sup.SM, the
machine understands the user's spoken responses and determines what
service the user wants, conducting a dialog with the user, if
necessary, to gather additional information.
[0038] The present invention has been described with reference to
specific exemplary embodiments. Those skilled in the art will
understand that changes may be made in the details of the
invention, without departing from the teaching of the invention.
For example, various other graphical display applications may be
used to graphically represent the results of the process, and the
entire process may be applied to different complex systems which
can be represented by call flows. Accordingly, various
modifications and changes may be made to the embodiments without
departing from the broadest scope of the invention as set forth in
the claims that follow. The specifications and drawing are,
therefore, to be regarded in an illustrative rather than a
restrictive sense.
* * * * *