throbber

`
` |*2d
`
`US0072
`
`ay
`a
`1379B2
`
`(12)
`
`United States Patent
`Parikh et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,231,379 B2
`Jun. 12, 2007
`
`NAVIGATION IN A HIERARCHICAL
`STRUCTURED TRANSACTION
`PROCESSING SYSTEM
`
`(75)
`
`Inventors: Prashant Parikh, New York, NY (US);
`Stanley Peters. Menlo Park, C.A (US)
`
`(73)
`
`Assignee: Noema, Ine., New York, NY (US)
`
`6.038560 A BI2000 Witt wi csceussnecsessscneercees 707/S
`6,405,188 Bl
`6/2002 Schwartz et al.
`6,408,290 Bl1*
`6/2002 Thicsson et al. 0.0... 706/42
`6,510,406 BL
`1/2003 Marehisio
`6,654,731 BL”
`11/2003 Mahesh ww. T0645
`6.675.159 Bl
`1/2004 Lin et al.
`6,678,677 B2*
`1/2004 Roux et ab. wcccscceeecnes TO7T/3
`6.859.212 B2
`2/2005 Kumar et al.
`
`* cited by examiner
`Notice:—Subject to any disclaimer, the term ofthis
`Primary Examiner—Yicun Wu
`patent is extended or adjusted under 35
`(74) Attorney, Agent, er Firm-—Morgan & Finnegan L[.P
`U.S.C. 154(b) by 485 days.
`
`(21)
`
`(22)
`
`(65)
`
`(51)
`
`(52)
`(58)
`
`(56)
`
`Appl. No.: 10/299,359
`
`Filed:
`
`Nov, 19, 2002
`
`Prior Publication Data
`
`US 2004/0098381 Al
`
`May 20, 2004
`
`Int. Cl.
`(2006.01)
`GO6F 17/30
`UWS. Ch ceccceccsscecsescccce
`707/22 707/60: 707/3: 707/4
`Field of Classification Seareh ............... 7O7/1,
`707/2, 3, 4, 5,6, 7,8, 9.10, 100, 101, 102,
`707/103, 104.1
`See application file for complete search history.
`References Cited
`
`U.S, PATENT DOCUMENTS
`
`5,812,134 A *
`
`9/1998 Pooser et al... 707/102
`
`(37)
`
`ABSTRACT
`
`A method performed in a system having multiple navigable
`nodes interconnected in a hierarchical arrangement involves
`receiving an inpul containing al least one word identifiable
`with at
`least one keyword, identifving at least one node,
`other than the first node, not directly connected to the first
`node, but associated with the at least one keyword, and
`jumping to the identified node. A transaction processing
`system having a hierarchical arrangement of nodes and is
`configured for user navigation among the nodes. The system
`has an inverted index correlating keywords with at
`least
`some nodes in the arrangement so that when the user
`provides an input in response to a verbal description and the
`response includes a meaningful word correlatable with a
`keyword, the system will
`identify at
`least one node corre-
`lated to the meaningful word by (he inverted index and jump
`to that node without first traversing any other node.
`
`7 Claims, 11 Drawing Sheets
`
`
` eywords
`
`Eliminate stop words from
`ki
`
`
`Eliminate duplicate words
`from thesaurus
`
`
`
`918
`
`PETITIONERS - EXHIBIT 1001
`PETITIONERS- EXHIBIT 1001
`
`IPR2022-00217
`
`IPR2022-00217
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 1 of 11
`
`US 7,231,379 B2
`
`
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 2 of 11
`
`US 7,231,379 B2
`
`FIG. 2
`
`200NX
`204NX
`
`é202
`J206
`
` Business
`
`Class
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet3 of 11
`
`US 7,231,379 B2
`
`a402
`400NY
`
`ug406
`404Se
`
`
`
`Programs
`
`FIG. 4
`
`Restaurants
`
`500Le
`J502
`
`504Ny
`
`ar
`asi
`Fic.
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 4 of 11
`
`US 7,231,379 B2
`
`600
`
`Initial Node
`
`
`
`
`
`Domestic
`International
`International
`Domestic
`Reservations
`Arrivals
`Arrivals Info
`Reservations
`
`
`
`
`a3
`at
`a2
`a4
`
`
`
`
`604.
`
`
`
`go
`il<
`ad
`x
`
`
`
`
`
`Business
`Economy
`Class
`Class
`
`a9
`a8
`
`
`B16— SCS 620—
`
`
`
`
`
`First/Business
`Class
`
`
`
`Economy
`Class
`
`612
`
`
`
`FIG. 6
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 5 of 11
`
`US 7,231,379 B2
`
`Readfile p
`
`
`
`
`
`
`Extract keywords from ‘p'
`
`
`
`Store keywords from 'p'
`
`Readfile f
`
`
`
`
`
`Extract keywords from ‘'f
`
`Store keywords from 'f
`
`FIG. 7A
`
`Readfile w
`
`
`
`
`
`Extract thesaurus words
`from 'w'
`
`Store thesaurus words
`trom 'w'
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet6 of 11
`
`US 7,231,379 B2
`
`902
`
`Load stop words from 's'
`
`FIG. 9
`
`904
`
`
`
`Has
`keywordfile been
`
`YES
`
`
`processed?
`
`
`
`Construct inverted index
`
`
`
`NO
`
`Raail tiles
`
`
`
`Eliminate stop words from
`keywords
`
`Eliminate duplicate words
`
`from keywords
`
`Mark keywordfile as
`processed
`
`
`Have both
`
`
`eyword and thesaurus
`files been
`
`
`
`processed?
`
`920
`
`Eliminate stop words from
`thesaurus
`
`Eliminate duplicate words
`from thesaurus
`
`922
`
`i
`
`@
`
`924
`
`Mark thesaurus file as
`processed
`
`Copyinverted index and
`thesaurusto t.cfg
`
`918
`
`DONE
`
`YES
`
`

`

`U.S. Patent
`
`FIG. 10
`
`Wee
`
`1004
`
`1006
`
`1008
`
`1010
`
`Jun, 12, 2007
`
`Sheet7 of 11
`
`US 7,231,379 B2
`
`Add keywords (p + f) ta
`thesaurus words (w)
`
`Create matrix with thesaurus
`words as ‘row-words' and
`keywords as ‘column-words'
`
`‘row-word'
`
`Count co-occurrenceof 'row-
`words' with 'column-words’ in
`document 'w'tofill matrix cells
`
`Calculate cosine value ofall
`pairs of rows correspondingto
`all 'row-words' and rows
`corresponding to ‘column words’
`
`Take keywords matching top
`‘n’ cosine values for every
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 8 of 11
`
`US 7,231,379 B2
`
`FIG. 11
`
`1102
`
`Readfiles t.cfg, |.cfg, f, x ands
`
`1104
`
`Loadfiles t.cfg, |.cfg, 'f, 's' and 'x’
`
`1106
`
`Provideinitial verbal description
`
`Receive response/input from user
`
`1108
`
`1112
`
`
`
`
`Does
`response contain unknown
`word?
`
`
`=e
`
`NO
`
`YES
`
`
`;
`;
`
`
`Does userwish to continue?
`
`
`NO
`
`END
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 9 of 11
`
`US 7,231,379 B2
`
`1202
`
`Identify Keywords from response/input
`
`1204
`
`4206
`
`
`Identify thesaurus words in t.cfg and |.cfg, if
`any, identified from response/input
`
`
`
`Select node with verbal description(s) that
`
`best match keywords and thesaurus words
`
`
`
`
`
`
`Any
`
`
`nodes
`Select top level node
`
`
`selected?
`
`
`
`Issue verbal
`
`
`
`single leaf node
`description for node
`selected?
`and receive response
`
`
`YES
`
`1208
`
`1210
`
`
`
`|ssue verbal
`
`4242 ES|description for nodeverbal description
`corresponding to
`and (if applicable)
`
`receive response
`
`NO
`
`
`
`
`
`
`
`1222
`
`4244
`
`
`is form for
`
`verbal description
`YES (w)
`
`available?
`
`NO
`
`&
`
`FIG. 12
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 10 of 11
`
`US 7,231,379 B2
`
` 1302
`
`
`
`
`Is it
`
`YES
`
`a response
`form?
`
`
`
`
`
`
`Issue questions based on form
`to user and accept response
`
`Execute corresponding action
`returning another form
`
`1308
`
`Issue response
`to user
`
`FIG. 13
`
`

`

`U.S. Patent
`
`Jun. 12, 2007
`
`Sheet 11 of 11
`
`US 7,231,379 B2
`
` 140
`
`Is word
`
`presentin
`|.cfg?
`
`
`
`
`
`
`
`
`
`
`
`
`Add the wordto thelist of
`learned words with
`keywords from selected
`prompt as synonyms
`
`
`YES
`
`Merge keywords from
`selected promptinto the
`list of synonyms
`associated with the word
`
`1408
`
`Copy changesto I.cfg
`
`FIG. 14
`
`

`

`US 7,231,379 B2
`
`1
`NAVIGATION IN A HIERARCHICAL
`STRUCTURED TRANSACTION
`PROCESSING SYSTEM
`
`FIELD OF THE INVENTION
`
`invention relates to information processing
`The present
`and, more particularly, computer based transaction process-
`ing.
`
`NOTICE OF COPYRIGHT RIGHTS
`
`A portion of the disclosure of this patent document,
`particularly the Appendix, contains material that is protected
`by copyright. The copyright owner has no objection to the
`facsimile reproduction of the patent document or the patent
`disclosure as it appears in the Patent and Trademark Office
`file or records, but otherwise reserves all copyright rights
`whatsoever.
`
`BACKGROUND OF THE INVENTION
`
`2
`the caller or user of the system will have some goal. By
`“goal” we mean a combination oftransactions and informa-
`tion accesses which the user seeks to accomplish. By “trans-
`action” we mean an operation performed electronically with
`a user.
`In general,
`there will also be a combination of
`vertices or nodes in the graph that best represent or are
`closest to the goal the user is trying to accomplish, We call
`these vertices the “goal vertices”.
`For the user, the object in navigating the graph is to get
`from the first vertex to the goal vertices. I! this is not done
`as quickly and efficiently as possible the user may become
`frustrated and give up. Moreover, as the numberofpossible
`choices or nodes in the network becomeslarger, the number
`of possible pathways between the first vertex and the goal
`vertices multiplies rapidly. Therefore, the ability to reach the
`voal vertex can become more diflicult, require navigation of
`an excessive number of choices or nodes, or discourage a
`user before the goal vertex is even reached.
`
`wa
`
`wi
`
`SUMMARYOF THE INVENTION
`
`=
`
`45
`
`45
`
`forth in a
`In everyday life, networks of choices set
`particular order or hierarchy are encountered with increasing
`frequency. Usually, it is desired to traverse the network in 4
`the mostefficient manner possible to accomplish a particular
`goal.
`In modern mathematics. graph theory is used to study
`networks of hierarchical choices. The hierarchical networks
`can be represented as a graph structure. Graph theory finds
`practical applications in chemistry, computer science, ecu-
`nomics, electronics and linguistics,
`A graph structure is a collection of points, called “verti-
`ces”, and a collection of lines, called “edges”, Each edge
`joins a pair of vertices or a single pointto itself.
`A simple example of a network represented by a graph
`structure is a road map. The vertices represent
`towns or
`cities. The edges represent the roads that connect the towns
`and cities,
`Another type of network familiar to anyone who has a
`telephone is an automated telephone voice response system,
`such as commonly utilized by many large companies,
`to
`direct incoming calls to particular individuals or depart-
`ments or to assist the caller in performing a transaction, such
`as making a purchase.
`‘That type of telephone network can also be represented as
`a graph structure. When the system answers an incoming
`call, (transmits a verbal description or prompt to the caller:
`“Tf you would like to speak to Harry, press 1; if you would
`like to speak to Fred, press 2”. (In general, we will use
`“verbal descripuon” to mean a set of words relating to the
`subject matter whether presented audibly or in written form.
`The verbal deseriptions may range from a few words to an
`entire document worth of text), A first vertex on the graph
`represents the initial prompt, which a caller hears upon
`reaching the telephone response system,
`If the user's
`response is pressing |, calls are directed along a first edge to
`Harry, represented by a second vertex. If the response is
`pressing 2, the call is directed along a second edge to Fred.
`represented bya third vertex. Then. if the chosen person is
`not available, the caller is asked whether the caller wishes to
`leave a message. If the response ts positive, the caller is
`directed along another edge to the selected person’s voice
`mail, which would be represented by another vertex ofthe
`graph.
`In general. whether for a telephone response network or
`for any other application representable by a graph structure.
`
`_
`
`65
`
`invention creates a method for navigating
`The present
`efficiently aud naturally through a series of choices to obtain
`information, performtransactions, or accomplish some simi-
`lar goal. The invention is implemented in a programmed
`computer that has a hierarchically configured decisional
`network that must be navigated as part of the processing and
`is constructed to accept inputs or data and process them in
`a mannerthat facilitates navigation of the network vertices
`more efficiently.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG, 1 is an example graph representing a simple, generic
`hierarchically arranged transaction processing or decisional
`system suitable for use with the invention;
`PG, 2 is an example portion of a graph used to illustrate
`jumping amony, nodes in accordance with one variant of the
`invention:
`
`FIG, 3 is an example portion of a graph in a simple
`interactive voice response (“TVR”) system used to illustrate
`grouping in accordance with one variant of the invention;
`FIG, 4 is an example portion of a graph in a simple
`interactive television program listing used to illustrate
`another variant of the invention:
`FIG. § is an example portion of a graph in a simple
`geographic information system used to illustrate a further
`variant of the invention;
`FIG. 6 is an example portion of a graph for a simple
`automated voice response system used to illustrate a more
`complex variant of the invention:
`FIGS, 7A, 7B, and 8-10 are collectively a flowchart
`illustrating an example setup process for use in accordance
`with an example implementation of one variant of the
`present invention: and
`FIGS. 11-14 are collectively an overall flowchart illus-
`trating an example process in accordance with a further
`variant of the present invention,
`
`DETAILED DESCRIPTION
`
`In graph theory, mathematicians refer to a “path” from
`one vertex ina graph to another specified vertex in the graph
`as consisting of a sequence of edges that connect the vertices
`between the first vertex and the final vertex. If the path
`
`

`

`3
`contains an edge sequence that is “closed”. meaning that it
`loops back on itself,
`the path is called a “circuit” or a
`“evele”. A graph structure is consideredto be “connected” if
`there is at least one path connecting every pair of vertices.
`Our invention js particularly applicable to transactional
`processing as applied to instances where graph theorycan be
`used to represent the transactions as a set of options and
`when the options are structured according to a connected
`graph that contains no circuits. We call such a graph a “tree”.
`We use the term “menu tree” for a network that provides a
`“menu” of options, typically presented as verbal descrip-
`tions, to assist a user in making a series of choices through
`which he or she is able to accomplish one or more of his or
`her information access or transaction goals. Informally, a
`“menu tree” can be regarded as a series of vertices in a
`hierarchy or ordered pattern, arranged in rows of increasing
`numbers of vertices. More precisely, a “menu tree™ can be
`represented as a “tree” in which (i) the vertices are all the
`options provided anywhere in the “menu tree”, plus a first
`es
`vertex. (ii) every vertex except the first vertex, 1e., every 2
`“option vertex”, is associated with the verbal description (or
`such other means) by which a “menu” presents that option,
`(ii) an edge connects the first vertex to each vertex that the
`first “menu” presents to the user as an option, and (iv) each
`other vertex is similarly connected by edges to every other
`vertex that (he corresponding “menu” presents to the user as
`an opuion. As the number of options increases, so does the
`length of paths from the first vertex to goal vertices.
`In overview,
`in accordance with the teachings of our
`invention, the user can navigate the graph or tree in a way
`that allows them to skip from one vertex to another vertex
`that may be many rows down the graph or tree and/or where
`the vertices may not be connected together by an edge. This
`eliminates the necessity for making many choices.
`Particular implementations make it possible to jump lat-
`erally from one vertex to another if the navigation enters a
`wrong branch of the tree or if the user changes his poal, The
`approach is accomplished through associating each vertex
`with a verbal description (or prompt), and matching words
`in users’ requests and responses with these verbal descrip-
`lions to enable the selection of vertices that may not be
`directly connected to the user's current location in the graph
`or tree by an edge
`In some variants, we create a system with the unique
`ability to learn by incorporating previously unknown words,
`keyword or synonyms of keywords so that
`the system
`modifies itself to thereby increase the likelihood that a user
`will efficiently and quickly reach the goal.
`Por purposes of illustration,
`the invention will be
`described by way of example, first using a series of simple
`examples followed by a more complex example of a more
`detailed and commercially suitable example variant. in the
`context of a menu-type automated telephone voice response
`system for a publication, a hierarchical network of the type
`that
`is frequently encountered and easily understood that
`implements a combination of some of the features of the
`simple examples in order to illustrate how those features can
`be combined or overlayed.
`invention is
`the present
`lt should be understood that
`applicable to a wide range ofdifferent networks. which can
`be mathematically represented by graph structures consist-
`ing of vertices and edges and should not be considered to be
`limited to the particular application described. Representa-
`tive examples of suitable applications for the invention
`include implementing an enhanced and more efficient
`“Find” function or file system browser for personal com-
`puler operating systems, 4 navigation systemfor television
`
`s
`
`45
`
`ws
`
`a&
`
`US 7,231,379 B2
`
`4
`programlisting. document managementor retrieval systems_
`a “geographic information system” in an automobile that
`allows location of addresses or business(es) meeting certain
`criteria. or other devices that incorporate some hierarchical
`navigation aspect as part ofits operation.
`In order to more fully understand the invention, various
`independent aspects are now presented below by way of
`simple illustrative examples. In this manner the teachings of
`the invention can be understood in a way that makes it
`possible to use, overlay and/or combine those aspects in a
`beneficial manner in an implementation of the invention.
`Depending upon the particular implementation ofthe inven-
`lion, one or more ofthe aspects may be used together in
`various permutations and/or combinations, with the under-
`standing that different permutations and/or combinations
`may be better suited for particular applications or have more
`or less benefits or advantages than others.
`these basic
`The underlying scenario common to all
`examples is that there is a hierarchical arrangement to the
`possible choices that can be illustrated in a form of “tree”
`structure,
`
`wa
`
`2
`
`FIG. 1 is an example graph 100 representing a possible
`hierarchically arranged transaction processing or decisional
`system suitable for use with the invention. The individual
`boxes 102-120 are referred to as “nodes” and each repre-
`sents a specific choice or option in the hierarchy. Por
`purposes described in more detail below, each node is
`arbitrarily uniquely identified in some manner.
`In the
`example of FIG. 1, the individual nodes 102-120 are num-
`bered 1]
`through 10 starting from the top node 102 in the
`hierarchy,
`Bach “node” is associated with exactly one verbal
`description, for example in the case ofan airline system, a
`verbal description relating to some aspect ofthe reservation
`tuaon
`5 process, Each such description contains “key” words that are
`deemed to be of importance and other words that can be
`disregarded. For example, one node may have the associated
`verbal description “Would you like to make a reservation?”
`In this description, there is only one “key” word—‘reser-
`vation” deemed important, so all of the other words in the
`description can be ignored.
`A level in the hierarchy belowthat one may be used to
`obtain further narrowing information, for example, using the
`verbal description “Is the reservation for a domestic or
`international flight?” In this description, the terms “domes-
`tie” and “international” are “key” words, Similarly, the word
`“flight” could be a “key” word, for example, lor a system
`that involves not onlyairline travel but also rail and/or cruise
`travel or it could be an “ignored” or stop word for a purely
`airline related system because it has minimal meaning in that
`context, Again, the other words can be ignored as well.
`The unique identification of each node allows the creation
`ofa list of all the key words and their associated nodes so
`that, ia key word is duplicated in two or more nodes,it need
`only be listed onee. For example, a hierarchical ree related
`to “pens” might have nodes for ball-point pens, fine point
`pens, mediumpoint pens, fountain pens, felt-tip pens, quill
`pens, erasable pens, etc. By using this approach, one could
`list the keyword “point™ once, but associate it with each of
`the nodes where that keyword appears by usiny the unique
`identifier for each node where the term appears.
`In this manner the keywords are oblained from the
`collection of available descriptions found in the particular
`application in which the invention will be used. In addition,
`each particular node where the keyword appears is associ-
`aled with the keyword. Thus. with respect
`to the pen
`application above,
`the keyword “point” mighi appear in
`
`usan
`
`

`

`US 7,231,379 B2
`
`5
`
`nodes 2, 3, 6, 7, 13 and 15. Similarly, the keyword “eras-
`able” might appear in nodes 3. 4, 5, 6 and 22. An index, as
`described more fully below, associating these keywords with
`the nodes containing them is then created. for example:
`point: 2, 3, 6, 7, 13, 15
`erasable: 3, 4, 5, 22
`By making use of these associations the “tree” can be
`negotiated by allowing presentation of relevant verbal
`descriptions for the nodes associated with a term, irrespec-
`tive of where in the hierarchy they are, thereby causing a
`“jump” to a particular node without necessarily traversing
`the tree in the rigid hierarchical manner.
`Various examples will now be presented to illustrate
`certain concepts related to the invention. It should be under-
`stood that while these examples are presented in the context
`ofthings andlikely experiences ofordinary people, the same
`approach can be applied to other forms of transaction
`processing including navigating through hierarchically
`nested data files in a computer system, pattern analysis or
`image processing, etc. the term “transaction” as used herein
`relating to traversal
`through a hierarchy to a goal, not
`mathematical calculation per se.
`Moreover,
`the specific formats used and presented in
`these examples are purelyfor illustration purposes. It should
`be understood that other techniques for interrelating data,
`such as hash tables, direct or indirect indexing, etc. can be
`substituted in a straightforward manner. Thus, for example,
`the relationship between the word and a node could be
`configured such that the location of the word ina list as the
`“n-th” item could be used as an index into another list
`containing the nodes correlated to the list. A similar
`approach could be used for the thesaurus,
`the important
`aspect relative to the invention being the relationship among
`certain words and the node(s) in which they occur and.
`where applicable. the relationship between certain words
`and “synonyms”for those words, not the data structure orits
`form or format whereby that information is kept or main-
`tained.
`
`EXAMPLE 1
`
`Example | illustrates, in simplified form, how an index is
`used to jump among nodes with reference to PIG. 2. In this
`example, the hierarchical tree 200 represents a portion of a
`more complex tree specifically involving possible decision
`relating to fruit and a decision between two specific types of
`fruits, an apple and an orange.
`In prior art hierarchical trees, navigation ofthis graph 200
`would necessarily involve going through the “fruit” node
`202 in order to reachthe “apple” 204 or “orange” 206 nodes.
`As a result, assuming this simple tree was part ofa larger
`tree for an on-line supermarket that prompted the user for
`what they wanted to purchase, the exchange would be both
`rigid and time consuming, For example,
`in response to a
`prompt “What do you want to purchase?” if the response
`was anything other than “fruit” traversal to the “fruit” node
`202 could not occur, At the point in the tree that would lead
`to the “fruit” node 202, neither apple nor orange would be
`an acceptable response.
`In accordance with the invention, assuming the only
`relevant keywords [or that portion of the tree were “fruit”,
`“apple” and “orange”, an inverted index would be created
`that includes an association of “Fruit” with the top node 202,
`“Apple” with the bottomleft node 204, and “Orange” with
`the bottom right node 206. As shown above, that association
`can be created using node identifiers, in this example, the
`
`wi
`
`L
`
`hy
`
`io
`
`a
`
`of
`
`6
`node identifiers 1A01. LA02 and 1A03 are arbitrarily
`assigned and used. Thus, the information can be stored in a
`file, for example, as lollows:
`Fruit, LAOL
`Apple, 1A02
`Orange, 1403
`Accordingly, to navigate the system 200, when a response
`to a verbal description is provided by a user, possible
`keywords are identified in the response and used to search
`the index and identify any node to which the response may
`be directed,
`irrespective of the hierarchy. Thus, a user
`response of “an orange” to a verbal description located
`above the “fruit” node 202 in the hierarchy, for example.
`“What would you like to buy today?” would cause the
`system to identify “orange” as a key word from the response,
`search the index. and directly identify node 1A03 (206) as
`ihe node whose verbal description should be presented next,
`thereby avoiding the need to traverse intervening nodes. for
`example, through the “fruit” node (202) 1.A01, al all. This
`illustrates an example of a simple jump according to the
`invention.
`
`EXAMPLE 2
`
`Having illustrated a simple “node jump” a more complex
`(and likely) scenario can be shown. In this example, the
`Example | graph of FIG. 2 applies, but relevant portion of
`the index is as follows:
`Fruit, 1A01
`Apple, LA02, 2F09
`Orange, 1A03
`As a result, there are two nodes relevant to the keyword
`“apple” one being the node 204 in the portion of the graph
`shown in FIG. 2 and one in the node uniquely identified as
`5 2F09 located somewhere else in the hierarchy (not shown).
`In this example, a user response containing the keyword
`“apple” would identify nodes with identifiers LA02 and
`2F09.
`In this case. and unlike the prior art,
`the verbal
`descriptions from both nodes would be presented to the user.
`likely in alternative fashion. Thus, if the user did not want
`an apple. they wanted apple cider, node 21°09 might be more
`appropriate because it is part of the “drinks” portion of the
`overall hierarchy.
`Thus. presenting the user with the verbal description [rom
`both nodes would likely result in a jump to the portion of the
`graph nearer to node 2F09 since itis closer to the user's goal
`thereby speeding up the process and avoiding potentially
`confusing or frustrating the user.
`EXAMPLE3
`
`While the verbal descriptions associated with various
`nodes will generally be chosen to accurately represent the
`node, in accordance with certain variants ofthe invention, it
`is possible to create a situation where a user response takes
`them away from their ultimate desired goal. Nevertheless.
`by using the teachings ofthe present invention, the user can
`ofien still be brought to their goal quicker than possible with
`the prior art because the user need not rigidly trace through
`the hierarchy, This is accomplished by virtue ofthe “group-
`ing” aspect inherent in some implementations ofthe inven-
`lion,
`This example illustrates the “grouping” aspect using a
`simplified graph 300 representing a portion of an airline
`reservation system as shown in PIG. 3.
`In particular, the graph of FIG.3 can be thought of as part
`ofa very simple interactive voice response (“IVR") system.
`
`

`

`US 7,231,379 B2
`
`7
`As described above, each node is uniquely identified, for
`example, by the numbers 1
`through 7 and the identified
`terms “Reservation”. “Domestic”, “International”, “Busi-
`ness Class”, “Economy Class’ are deemed the relevant
`keywords. Note, there is no requirement fora the “keyword”
`to be a single word,
`in some implementations, keywords
`could be single words, phrases of two or more words, or
`even some other form of information like a specilic data
`pattern.
`Again, an inverted index is created as described above
`associating those keywords with the nodes, in this case;
`Reservation, 1
`Domestic, 2
`International, 3
`Business Class, 4, 6
`EconomyClass, 5. 7
`Assuming that the top nodeis assigned the number1, its
`two child nedes (Domestic and International) are assigned
`the numbers 2 and 3, and the grandchild nodes (i.e, at the
`lowest level in the hierarchy) have been assigned numbers 4,
`5,6. and 7 takenfromleft to nght each node can be uniquely
`located, Note that the last two entries in the inverted index
`are each associated with two nodes, 4 and 6 inthe first case,
`and § and 7 in the second.
`Using the above, the concept of grouping of nodes from
`different parts of the graph (i.c. nodes that are notsiblings or
`nodes that do not have a common parent) can be explained.
`Presume that the response to a verbal description pre-
`sented as aninitial query of “What do you want to do?” was
`“Make a business class reservation.” In this case there are
`two keywords present, “reservation” and “business class”.
`Depending upon the particular implementation, as noted
`previously,
`the verbal descriptions associated with each
`identified node could be presented together or in sequence.
`Altematively. and as is the case here, a set of rules can be
`established, for example. such that if an identified nodeis a
`sub-node of another identified node, only the verbal deserip-
`tion of the sub-node(s) is provided because of inherent
`redundaney. Thus. since both “business class” nodes 310.
`314 are sub-nodes of the “reservation” oode 302, the verbal
`description associated with the “reservations” node can be
`suppressed if it can be determined that business class
`necessarily implies reservations.
`In this example, a search of the inverted index would
`identify nodes 4 and 6 (310, 314) from different parts of the
`ree are associated with the keywords in the query, and thus
`the system, in presenting the verbal descriptions from each,
`in effect, alters the tree structure and groups these nodes in
`the result. Thus, the combination of result nodes presented .
`depends upon the user query or response, not that predeter-
`mined by the graph structure itself
`Of course, the goal would still not be reached because of
`the ambiguity caused by “Business Class” being under both
`“Domestic” and “International”, However, that ambiguity
`can be handled by suitable wording of the following verbal
`descriptions and whether they are combined or provided
`sequentially or by other nodes.
`
`EXAMPLE 4
`
`A persistent and further drawback present in the prior art
`is the inability to operate if any term other than the specific
`allowed terms are provided. Thus, in an [VR of the prior art,
`providing anything other than the recognized term(s) will
`likely result in meaningless repeat of the same inquiry by the
`IVR or an error.
`
`wn
`
`an
`
`a
`
`8
`the teachings of the present invention
`Advantageously,
`allow for construction of a more flexible system than ayail-
`able in the prior art. Specifically, we can incorporate a
`thesaurus to accommodate synonyms for the keywords.
`Example 4 illustrates the addition of a simple thesaurus as
`an aspect of a system so thal a synonym ol a keyword may
`also be used by the system to jump to the desired nodes in
`the graph, Example 4 is discussed with relerence to a portion
`400 of an interactive television program listing system as
`shown in FIG. 4.
`Such a system implementing the invention will allow a
`user to speak to or interact with a device to look for
`programs of his choice by time slot, genre. favorite actor or
`actress, etc,
`
`This example, as with the other examples above, use an
`inverted index, in this case one where each node 402, 404,
`406 is uniquely identified by a string of six characters, the
`portion of which corresponding to FIG. 4 is shown as
`follows.
`Programs; acgyet
`Sitcoms: ifgnxh
`Films; vaymos
`Since a common synonym for “Films” is “Movies” a
`thesaurus can be created associating the two. Depending
`upon the particular implementation, thesaurus terms to be
`equated to the keywords can be taken from a standard
`thesaurus or can be custom created for the particular appli-
`cation. In addition, the equating of terms can be done in any
`of a myriad of different ways, the exact implementation
`details of Which however re irrelevant to the invention, but
`a fewrepresentative examples of which however are con-
`tained herein for purposes of illustration.
`In one example case, the equating can be done on a purely
`word basis. Por example, afile can be constructed such that
`one or more single word synonyms are directly associated
`with an index word, for example as follows:
`Movies, Flicks —Films
`Alternatively, the synonyms can be equated with the node
`idlentifier(s) corresponding to the index term, for example as
`follows:
`Movies. Flicks —vnymos
`In the former case, the system would still have to search
`the index after the thesaurus has provided the proper index
`term(s). In the latter case, the thesaurus provides a directlink
`to the respective node(s) so that re-searching Is not required.
`In the system of Example 4, a user who provides the input
`“Movies” would cause the processing to occur as lollows,
`The system would search the inverted index of keywords
`and fail
`to locate “Movies” as a keyword, As a result,
`it
`would search the thesaurus and find that the word “Movies
`is a synonymthat can be correlated with a keyword, At this
`point, depending upon the particular thesaurus,
`it would
`either return to the inverted index and search using th

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket