System and method for providing an intelligent multi-step dialog with a user
First Claim
Patent Images
1. A method, comprising:
- receiving a question from a user;
building a knowledge session in the context of a knowledge map using a plurality of input;
creating at least one goal;
presenting at least one question to the user;
receiving at least one answer from the user;
changing a session state based on the answer;
resolving the at least one goal; and
presenting feedback to the user.
25 Assignments
0 Petitions
Accused Products
Abstract
A method and system are disclosed for retrieving information through the use of a multi-stage interaction with a client to identify particular knowledge content associated with a knowledge map.
-
Citations
101 Claims
-
1. A method, comprising:
-
receiving a question from a user;
building a knowledge session in the context of a knowledge map using a plurality of input;
creating at least one goal;
presenting at least one question to the user;
receiving at least one answer from the user;
changing a session state based on the answer;
resolving the at least one goal; and
presenting feedback to the user.
-
-
2. The method as recited in claim 1, further comprising:
refining at least one knowledge session tag.
-
3. The method as recited in claim 1, further comprising:
creating at least one knowledge session tag.
-
4. The method as recited in claim 1, further comprising:
representing the knowledge session in a markup language.
-
5. The method as recited in claim 1, wherein presenting at least one question to the user comprises using a taxonomy structure around a focus node of a goal to formulate the at least one question.
-
6. The method as recited in claim 5, wherein the at least one question comprises a list of alternatives presented to the user to choose from, wherein the list of alternatives derives from the taxonomy structure around the focus node of the goal.
-
7. The method as recited in claim 1, wherein the plurality of input comprises at least one of of user entry, autocontextualization of the question from the user, user profile data, the answer from the user, a common ground choice, browser interactions, interactions with documents, and interaction with graphical user interface (GUI) elements.
-
8. The method as recited in claim 1, wherein presenting at least one question to the user comprises presenting at least one question with an interaction form that comprises at least one of a parameterized query, a one drill down query, discriminating query and a disambiguating query.
-
9. A method, comprising:
-
associating at least one trigger with at least one node in at least one taxonomy to provide dialog control logic, wherein the at least one trigger comprises a condition, an event, and an action;
when the event of the at least one trigger occurs, evaluating the condition of the at least one trigger; and
when the condition of the at least one trigger is satisfied, performing the action of the at least one trigger.
-
-
10. The method as recited in claim 9, wherein the condition of the at least one trigger comprises a predicate, which comprises a concept set that comprises at least one of topic spotter concepts, confirmed concepts, profile concepts, and preferred concepts.
-
11. The method as recited in claim 10, further comprising:
testing whether any members of a concept set from a dialog state satisfy the condition of the at least one trigger.
-
12. The method as recited in claim 9, wherein the event of the at least one trigger includes at least one of:
- (1) start of iteration, (2) dialog start, (3) dialog finish, (4) goal creation, (5) goal retraction, (6) goal resolution, (7) action allowance, (8) constraint creation, (9) constraint removal, (10) declaration of a taxonomy as irrelevant, (11) declaration of a taxonomy as relevant, (12) escalation, (13) addition of a document to output, (14) addition of content, (15) addition to user'"'"'s home page, (16) concept node acceptance, (17) concept node rejection, and (18) dialog preference creation.
-
13. The method as recited in claim 9, wherein the action of the at least one trigger includes at least one of:
- (1) start iteration, (2) start dialog, (3) finish dialog, (4) create a goal, (5) retract a goal, (6) resolve a goal, (7) allow an action, (8) create a constraint, (9) remove a constraint, (10) declare a taxonomy as irrelevant, (11) declare a taxonomy as relevant, (12) escalate, (13) add a document to output, (14) add content, (15) add to user'"'"'s home page, (16) accept a concept node, (17) reject a concept node, and (18) create a dialog preference.
-
14. A method, comprising:
-
associating a concept trigger for a first set of concept nodes in a first set of taxonomies with a second set of nodes in a second set of taxonomies, the concept trigger having an action to create a goal at each node in the second set of concept nodes; and
when, during a dialog session, one of the nodes in the first set of concept nodes becomes confirmed, creating a goal in each of the second set of taxonomies and setting a focus node for each goal to be a node specified in the action of the concept trigger.
-
-
15. The method as recited in claim 14, wherein the one of the confirmed node becomes confirmed by being an answer to a question presented to a user during the dialog session.
-
16. The method as recited in claim 15, further comprising:
presenting at least one question to the user, the at least one question being derived from the focus node for one of the goals created in the second set of taxonomies.
-
17. The method as recited in claim 14, wherein performing the action of the concept trigger causes the second set of concept nodes to become active.
-
18. A method, comprising:
-
determining at least one member of a concept set satisfies a predicate of a trigger;
limiting relevant areas of a knowledge map using the predicate of the trigger; and
restricting or preferring relevant documents to those documents that are tagged to the relevant areas of the knowledge map.
-
-
19. The method of claim 18, comprising at least one of:
-
if the predicate of the trigger comprises an AT predicate, then the limiting relevant areas of the knowledge map comprises limiting to a specified concept node of the AT predicate;
if the predicate of the trigger comprises an UNDER predicate, then the limiting relevant areas of the knowledge map includes limiting to a specified node and descendants of the specified node of the UNDER predicate;
if the predicate of the trigger comprises a PATH predicate, then the limiting relevant areas of the knowledge map includes limiting to a specified node, ancestors of the specified node, and descendants of the specified node of the PATH predicate;
if the predicate of the trigger comprises an ABOVE predicate, then the limiting relevant areas of the knowledge map includes limiting to nodes above a specified node of the ABOVE predicate;
if the predicate of the trigger comprises a CONTAINS-ONE-OF predicate, then the limiting relevant areas of the knowledge map includes limiting to nodes that contain at least one of the nodes in a list of nodes of the CONTAINS-ONE-OF predicate;
if the predicate of the trigger comprises a CONTAINS-ALL-OF predicate, then the limiting relevant areas of the knowledge map includes limiting to nodes in a list of nodes of the CONTAINS-ALL-OF predicate;
if the predicate of the trigger comprises a PREFERENCE predicate, then the limiting relevant areas of the knowledge map includes limiting to at least one node in a list of nodes of the PREFERENCE predicate, and the restricting or preferring consists of preferring;
if the predicate of the trigger comprises a LEAF predicate, then the limiting relevant areas of the knowledge map includes limiting to leaf nodes of the LEAF predicate;
if the predicate of the trigger comprises a ROOT predicate, then the limiting relevant areas of the knowledge map includes limiting to root nodes of the ROOT predicate;
if the predicate of the trigger comprises a PARENT predicate and a specified node of the PARENT predicate includes child nodes, then the limiting relevant areas of the knowledge map includes limiting to the specified node of the PARENT predicate;
if the predicate of the trigger comprises a HAS-DOCUMENTS predicate and any documents are tagged to a specified node of the HAS-DOCUMENTS predicate, then the limiting relevant areas of the knowledge map includes limiting to the specified node of the HAS-DOCUMENTS predicate;
if the predicate of the trigger comprises a NOT-AT predicate, then the limiting relevant areas of the knowledge map includes excluding a specified node of the NOT-AT predicate from the relevant areas of a knowledge map;
if the predicate of the trigger comprises a NOT-UNDER predicate, then the limiting relevant areas of the knowledge map includes excluding a specified node and descendants of the specified node of the NOT-UNDER predicate from the relevant areas of a knowledge map;
if the predicate of the trigger comprises an UNDER-IF-TAGGED predicate, then the limiting relevant areas of the knowledge map includes limiting to a specified node and descendants of the specified node of the UNDER-IF-TAGGED predicate, and the restricting or preferring includes restricting relevant documents to those documents that are tagged to the limited relevant areas and to documents that are not tagged to a taxonomy of the specified node of the UNDER-IF-TAGGED predicate;
if the predicate of the trigger comprises a PATH-IF-TAGGED predicate, then the limiting relevant areas of the knowledge map includes limiting to a specified node, ancestors of the specified node, and descendants of the specified node of the PATH-IF-TAGGED predicate, and the restricting or preferring includes restricting relevant documents to those documents that are tagged to the limited relevant areas and to documents that are not tagged to a taxonomy of the specified node of the PATH-IF-TAGGED predicate.
-
-
20. The method of claim 19, further comprising evaluating a compound predicate of a trigger, the compound predicate comprising at least one Boolean operator and at least two predicates selected from the group consisting of AT, UNDER, PATH, ABOVE, CONTAINS-ONE-OF, CONTAINS-ALL-OF, PREFERENCE, LEAF, ROOT, PARENT, HAS-DOCUMENTS, NOT-AT, NOT-UNDER, UNDER-IF-TAGGED, and PATH-IF-TAGGED.
-
21. A method, comprising:
-
limiting an interaction space in a knowledge map to relevant areas with constraints;
restricting documents returned to the user to relevant areas in the knowledge map with constraints;
maintaining a set of available concept nodes;
generating positive constraints for accepted nodes;
generating negative constraints for rejected nodes;
unifying positive and negative constraints in an expression for a subgoal; and
joining expressions for different subgoals within a goal.
-
-
22. A method, comprising:
-
receiving a user inquiry from a user;
creating at least one goal based on the user inquiry;
evaluating at least one trigger associated with areas in a knowledge map that are relevant to the user inquiry;
posing at least one question to the user;
receiving at least one answer from the user;
confirming at least one node in areas of the knowledge map that are relevant to the at least one answer;
identifying at least one goal based on the at least one answer;
creating at least one constraint based on the at least one answer to limit relevant areas of the knowledge map; and
reaching a target set of at least one node to resolve the goals.
-
-
23. The method as recited in claim 22, further comprising:
-
creating at least one subgoal for a parent goal; and
resolving the at least one subgoal in parallel with other goals, until the parent goal is resolved.
-
-
24. The method as recited in claim 22, further comprising:
-
if the user chooses multiple nodes at a branching point, creating a plurality of subgoals for a parent goal; and
resolving each subgoal in parallel, until the parent goal is resolved.
-
-
25. The method as recited in claim 22, wherein the target set comprises at least one of:
- (1) all leaf nodes in a target taxonomy, (2) any specified node or set of nodes in the target taxonomy, (3) any node in the target taxonomy at or below a particular level, (4) any node in the target taxonomy that is at a specified number of levels below a subgoal focus node or lower, (5) any set of nodes in the target taxonomy defined by any taxonomic distance function from a specified node, (6) any set of nodes in the target taxonomy defined by a non-taxonomic distance function from a root node of the at least one goal, and (7) any set of nodes in the target taxonomy defined by a non-taxonomic distance function from a specified node.
-
26. The method as recited in claim 22, wherein reaching the target set comprises at least one of:
-
accepting at least one of the nodes in the target set;
rejecting all of the nodes in the target est;
deeming all of the nodes in the target set to be unavailable; and
deeming all of the nodes in the target set to be irrelevant.
-
-
27. The method as recited in claim 22, wherein the at least one question posed to the user comprises at least one of:
- (1) a parameterized query (PQ), (2) a drill down query (DDQ), (3) a discriminating query (DQ), and (4) a disambiguating query (DAQ).
-
28. A method, comprising:
-
receiving preference data associated with a user from a source;
storing the preference data as at least one tag, associated with the user, in a knowledge map; and
using the preference data during a dialog session with the user.
-
-
29. The method as recited in claim 28, wherein the source for receiving preference data comprises at least one of:
-
an application screen to profile the dialog session with the user;
user behavior during the dialog session;
autocontextualization during retrieval; and
an external application that initiated the dialog session.
-
-
30. The method as recited in claim 28, wherein using the preference data during the dialog session with the user comprises at least one of:
-
ranking documents at least in part by the preference data to return to the user;
pushing content to the user based on preference data;
preempting a question from a dialog engine to the user by automatically determining an answer to the question from preference data and passing the answer to the dialog engine without posing the question to the user; and
affecting a direction and content of the dialog session.
-
-
31. A method, comprising:
-
combining information in an existing goal and a recently created goal into a new goal during a dialog session with a user;
if a root node of the new goal is below a focus of the existing goal, advancing a focus of the new goal to the root node of the new goal; and
if the root node of the new goal is not in a path of a root node of the existing goal, creating at least one new subgoal.
-
-
32. The method as recited in claim 31, further comprising advancing a goal based on a source comprising at least one of at least one confirmed node, preference data, query text, at least one topic spotter node, an interation, and at least one other goal.
-
33. The method as recited in claim 31, further comprising preempting a question based on information in a dialog state, wherein the information comprises at least one of autocontextualization of a user query, preference data, and an answer from the user to a question.
-
34. A method, comprising:
-
storing at least one history in at least one user-provider dialog interaction, the at least one history comprising a list of accepted and rejected concept-nodes;
storing information about a traversal path through at least one taxonomy in the at least one history;
storing information about autocontextualization of a user request; and
using the at least one history to control a subsequent portion of the user-provider dialog interaction.
-
-
35. The method as recited in claim 34, wherein the history comprises at least one of user profile information, at least one user input for the at least one iteraction, at least one response returned by a provider for the at least one iteraction, and information about a dialog state.
-
36. A method, comprising:
-
conducting a dialog session with a user;
upon an escalate triggering event, forwarding a current state of the dialog session; and
initiating an escalate interaction.
-
-
37. A method comprising:
-
confirming a particular concept-node below a first root node in a hierarchical taxonomy; and
evaluating at least one trigger associated with at least one confirmation event associated with the particular concept-node and each concept-node above the particular concept-node, up to and including the first root node.
-
-
38. A method of providing an interaction to refine and satisfy a request for information, comprising:
-
receiving a dialog request;
mapping the dialog request into a dialog state;
modifying the dialog state; and
generating output based on the dialog state;
wherein the dialog state comprises concept nodes from a knowledge map, the knowledge map comprises at least one taxonomy, and the at least one taxonomy comprises a plurality of concept nodes.
-
-
39. The method as recited in claim 38, wherein the generated output is an output type comprising at least one of:
- text, a graphic, multimedia content, a document, a question posed to a user, a knowledge container, a link to a web site, a link to an email address, a link to an application, an escalation mechanism, an error message, a representation of a previous question, a representation of a previous answer, and a representation of the dialog state.
-
40. The method as recited in claim 39, wherein the link to the application passes data to the application, the data comprising at least one of:
- a user identifier, text, hard-coded data, transformed data, and nodes.
-
41. The method as recited in claim 39, wherein the escalation mechanism is capable of at least one of:
- initiating communication with a human expert, initiating communication with an automated system, escalating to a call center, escalating to a voice-over-internet protocol interaction, and calling an external application.
-
42. The method as recited in claim 41, wherein calling the external application is performed using a data transport selected from the group consisting of:
- uniform resource locator (URL), application program interface (API), dynamic URL, and extensible markup language (XML).
-
43. The method as recited in claim 38, further comprising repeating at least one of the mapping, modifying, and generating, until at least one of:
-
a predetermined number of outputs have been generated;
the modifying results in no changes to the dialog state;
the generated output meets a sufficiency condition;
a user terminates the interaction;
an external application terminates the interaction;
a user fails to respond within a specified time period;
an external application fails to respond within a specified time period;
exhaustion of at least one goal as defined by a control language;
exhaustion of at least one goal emanating from the knowledge map;
a search space is reduced below a size threshold associated with interaction termination;
a user opts out; and
a web session times out.
-
-
44. The method as recited in claim 43, wherein the sufficiency condition comprises at least one of:
-
the generated output includes none of the output types recited in claim 40;
a number of the output types recited in claim 40 falls below a predetermined threshold;
the generated output includes a particular output type designated as an output type that terminates an interaction; and
the generated output does not include any questions posed to a user.
-
-
45. The method as recited in claim 38, wherein generating output based on the dialog state further comprises:
-
identifying at least one concept node in the dialog state;
converting the at least one concept node into at least one follow-up question; and
including the at least one follow-up question in the generated output to present to the user.
-
-
46. The method as recited in claim 45, wherein the at least one follow-up question has an interaction form selected comprising at least one of:
- parameterized query (PQ), drill down query (DDQ), discriminating query (DQ), and disambiguating query (DAQ).
-
47. The method as recited in claim 38, wherein the dialog state comprises:
-
a plurality of concept nodes;
a plurality of constraints;
a plurality of goals;
a plurality of taxonomies; and
a dialog session ID.
-
-
48. The method as recited in claim 47, wherein the dialog state further comprises at least one of:
-
a plurality of events;
a plurality of text strings;
a plurality of user identifiers (IDs);
a plurality of application identifiers, each application identifier including a set of application attributes; and
a plurality of link identifiers, each link identifier including a set of link attributes.
-
-
49. The method as recited in claim 47, wherein the plurality of concept nodes is segregated into distinct node lists to distinguish:
-
topic spotter nodes;
confirmed nodes;
irrelevant nodes;
uncertain nodes;
rejected nodes;
dialog preference nodes; and
user preference nodes;
and wherein each node list comprises at least one of a positive list and a negative list.
-
-
50. The method as recited in claim 47, wherein the plurality of taxonomies is segregated into distinct taxonomy lists, distinguishing between at least two of:
-
taxonomies relevant to the dialog request;
taxonomies irrelevant to the dialog request;
taxonomies whose relevance to the dialog request is undetermined; and
taxonomies whose relevance to the dialog request is unknown.
-
-
51. The method as recited in claim 47, wherein a goal in the plurality of goals comprises:
-
a constraint type; and
a resolution condition.
-
-
52. The method as recited in claim 51, wherein the goal in the plurality of goals further comprises at least one focus node.
-
53. The method as recited in claim 51, wherein each of the at least one concept node in the dialog state is a focus node of a goal in the dialog state
-
54. The method as recited in claim 53, wherein the resolution condition comprises at least one of the following requirements:
-
that the focus nodes be leaf nodes;
that the focus nodes be child nodes of the focus nodes designated when the goal was created;
that the set of focus nodes be nonempty;
-
-
55. The method as recited in claim 53, further comprising:
-
generating a question from the goal;
wherein the resolution condition is that the question generated from the goal not have been asked more than a predetermined number of times.
-
-
56. The method as recited in claim 51, wherein each of the plurality of concept nodes in the dialog state is a focus node of a goal in the dialog state, forming a set of focus nodes.
-
57. The method as recited in claim 38, wherein the dialog state comprises:
-
a plurality of focus nodes;
a plurality of target nodes;
a plurality of constraints;
a plurality of background preferences;
a plurality of dialog preferences;
a plurality of confirmed nodes;
a plurality of goals;
a plurality of root nodes of goals;
a plurality of nodes returned by autocontextualization;
text returned by an interface module;
a plurality of taxonomies to which autocontextualization is applied;
a plurality of taxonomies from which documents are retrieved;
a plurality of taxonomies within which dialog navigation occurs;
a history of the interaction, the history comprising inputs, events, actions, and outputs of previous iterations; and
a user identifier (ID);
a first set of dialog state elements for dialog state known information; and
a second set of dialog state elements for dialog state new information.
-
-
58. The method as recited in claim 57, wherein at least one of said plurality of goals identifies an area of the knowledge map which is relevant to the resolution of the dialog request.
-
59. The method as recited in claim 38, wherein mapping further comprises:
-
receiving an answer to at least one question; and
mapping the answer into at least one of;
at least one concept node;
at least one constraint;
at least one taxonomy; and
at least one text string.
-
-
60. The method as recited in claim 38, wherein the dialog state is modified by an input comprising at least one of:
- input in a user entry context, autocontextualization of user entry text in a question context, user profile in a user context, answers in a dialog context, choices made in a common ground context, user choices in an interaction context, user actions in an interaction context, and data from an external application.
-
61. The method as recited in claim 60, wherein the dialog state is further modified by a context comprising at least one of:
- a link the user traversed, an extensible markup language (XML) packet describing the user'"'"'s situation, a blob of text describing the user'"'"'s situation capable of being autocontextualized, and data from an external application.
-
62. The method as recited in claim 60, wherein the dialog state is modified by the user profile in a user context selected from the group consisting of:
- a structured data record from a customer database, an extensible markup language (XML) packet, and a user knowledge container.
-
63. The method as recited in claim 38, wherein the dialog state is modified by at least one rule generated by a rule writer comprising at least one of:
- confirm a concept node based on the dialog state, set preferences based on the dialog state, set relevance scores based on the dialog state, constrain a search space based on the dialog state, and a trigger event based on the dialog state.
-
64. The method as recited in claim 38, wherein the dialog state is modified at least one inference engine comprising at least one of:
- a standard rules engine, a standard classification engine, and a topic spotting engine.
-
65. The method as recited in claim 38, wherein modifying the dialog state comprises:
-
advancing goals and firing triggers based on the dialog state new information;
reserving any results;
making the dialog state new information into dialog state old information;
making the reserved results into dialog state new information; and
repeating until no new information is obtained.
-
-
66. The method as recited in claim 38, wherein modifying the dialog state comprises:
-
generating items of the type represented in the dialog state;
updating the dialog state known information based on the dialog state new information;
replacing the dialog state new information with the generated items.
-
-
67. The method as recited in claim 66, wherein generating items of the type represented in the dialog state comprises:
-
firing triggers by evaluating conditions in each trigger; and
for any trigger with a true condition, taking an action specified in the trigger, the action resulting in generating items of the types represented in the dialog state.
-
-
68. The method as recited in claim 66, wherein generating items of the type represented in the dialog state comprises:
-
advancing each goal in the dialog state;
wherein advancing each goal comprises updating each of the goal'"'"'s focus nodes by replacing the focus node with a confirmed node that is connected to the focus node by a path in the focus node'"'"'s taxonomy, if such confirmed node exists.
-
-
69. The method as recited in claim 68, wherein generating items of the type represented in the dialog state further comprises:
resolving the goal, if the goal'"'"'s focus node satisfies the goal'"'"'s resolution condition.
-
70. A method of processing a query to identify knowledge containers relevant to the query, tagged to concept nodes of zero or more taxonomies within a knowledge map, the method comprising:
-
identifying at least one set of nodes in and a set of constraints over the knowledge map via an interaction with a user;
performing a content-based retrieval over the knowledge containers in the knowledge map to return those knowledge containers that satisfy the set of constraints;
assigning each retrieved knowledge container a numerical relevance score to represent a quality of association between the retrieved knowledge container and text provided by a user;
for each retrieved knowledge container, combining its numerical relevance score with numeric values representing a quality of association between the knowledge container and nodes in the at least one set of nodes to produce a single score; and
returning as a result a list of knowledge containers ordered by the single score.
-
-
71. The method as recited in claim 70, further comprising identifying the at least one set of nodes by autocontextualization of at least one query.
-
72. The method as recited in claim 70, wherein the identified set of constraints are those constraints associated in the knowledge map with the identified at least one set of nodes.
-
73. The method as recited in claim 70, wherein identifying the at least one set of nodes comprises:
- posing at least one question to the user, the at least one question having associated possible answers;
the possible answers being associated with the identified at least one set of nodes;
the identified at least one set of nodes being those associated with the answer selected by the user.
- posing at least one question to the user, the at least one question having associated possible answers;
-
74. The method as recited in claim 73, wherein the at least one question is selected from the group consisting of:
- drill-down questions or clarification questions, text questions, popular or parameterized queries, discriminating questions, and disambiguation questions.
-
75. The method as recited in claim 70, wherein in the combining its numerical relevance score with numeric values representing the strength or quality of association between the knowledge container and nodes in the at least one set of nodes identified in the interaction to produce a single score, the numeric value representing the strength or quality of association between the knowledge container and a node is modified by a function whose value depends on which set of nodes the node is in.
-
76. The method as recited in claim 70, further comprising logging data comprising at least one of:
- user profile information, user input, generated outputs, and internal state information.
-
77. The method as recited in claim 76, wherein the internal state information comprises:
-
information requested from the user;
a user profile;
concepts confirmed by the user as relevant to the current information request;
concepts disconfirmed by the user as or inconsistent with the current information request;
concepts determined to be relevant from the user'"'"'s profile;
concepts determined to be relevant from system configuration information sent with a user request;
concepts determined to be relevant from text information input by a user, or on a user'"'"'s behalf; and
a description of the manner in which each item of information is applied to assist in the completion of the retrieval process.
-
-
78. The method as recited in claim 76, wherein prior user input information is cross-correlated with subsequent user input information to determine future user input information.
-
79. The method as recited in claim 76, wherein user input information is correlated with documents in a domain of knowledge to determine less populated areas of the domain of knowledge.
-
80. The method as recited in claim 76, wherein user input information is cross-correlated with escalations to determine circumstances under which users are most likely to need external assistance to resolve a request for information.
-
81. The method as recited in claim 70, wherein the knowledge containers are retrieved through the conduct of a multi-step dialog.
-
82. The method as recited in claim 81, wherein the knowledge containers are identified from at least one answer to at least one parameterized question.
-
83. A knowledge map representation of selected discrete perspectives of a domain of knowledge, the knowledge map useable by a knowledge instance classification computer program to classify instances of knowledge according to said discrete perspectives, the representation comprising:
-
at least one taxonomy, the at least one taxonomy representing at least one discrete perspective of the knowledge domain;
wherein the at least one taxonomy is organized as a graph of concept nodes, connected by edges, each node of said graph corresponding to a conceptual area within the at least one discrete perspective that the at least one taxonomy represents and each edge of said graph representing a parent-child relationship between the conceptual areas to which the nodes connected to that edge correspond; and
at least one trigger associated with the at least one node of the taxonomy;
wherein the trigger is adapted to initiate a set of actions upon the occurrence of an event.
-
-
84. The knowledge map representation as recited in claim 83, further comprising:
-
at least one trigger associated with the at least one node of the taxonomy;
wherein the trigger is adapted to initiate a set of actions when the trigger'"'"'s condition is satisfied.
-
-
85. The knowledge map representation as recited in claim 83, wherein the event comprises an incident that takes place during a resolution of a user request for information.
-
86. The knowledge map representation as recited in claim 83, wherein the action comprises an incident that takes place in response to the occurrence of an event.
-
87. The knowledge map representation as recited in claim 83, wherein the event comprises at least one of:
- every iteration, dialog start, dialog finish, create a goal, retract a goal, goal resolution, allow action, allow event, create a constraint, remove a constraint, declare a taxonomy as irrelevant, declare a taxonomy as relevant, escalate, add document to output, add content to output, add document to user'"'"'s home page, accept a concept node, reject a concept node, and create a dialog preference.
-
88. The knowledge map representation as recited in claim 83, wherein an action comprises at least one of:
- a branch to at least a second concept node;
creation of a goal; and
, creation of a constraint.
- a branch to at least a second concept node;
-
89. The knowledge map representation as recited in claim 88, wherein the constraint comprises a Boolean expression of taxonomic predicates.
-
90. The knowledge map representation as recited in claim 89, wherein the taxonomic predicates comprise at least of:
- AT, UNDER, PATH, ABOVE, CONTAINS-ONE-OF, CONTAINS-ALL-OF, PREFERENCE, LEAF, ROOT, HAS-DOCUMENTS, NOT-AT, NOT-UNDER, UNDER-IF-TAGGED, and PATH-IF-TAGGED.
-
91. The knowledge map representation as recited in claim 90 wherein the constraint comprises meta-data.
-
92. The knowledge map representation as recited in claim 90, wherein the constraint is a combination of Boolean expressions of taxonomic predicates and meta-data.
-
93. A trigger comprising:
-
a label;
an event;
a condition to evaluate when the event occurs, the condition comprising at least one predicate, the predicate comprising at least one concept node; and
an action to perform when the condition is satisfied.
-
-
94. The trigger as recited in claim 93, wherein the at least one predicate comprises at least one of:
- AT, UNDER, PATH, ABOVE, CONTAINS-ONE-OF, CONTAINS-ALL-OF, PREFERENCE, LEAF, ROOT, HAS-DOCUMENTS, NOT-AT, NOT-UNDER, UNDER-IF-TAGGED, and PATH-IF-TAGGED.
-
95. A method, comprising:
-
encoding domain knowledge into a knowledge map that includes a dialog state;
presenting at least one question to a user based on a particular value of the dialog state; and
receiving at least one answer from the user in response to the at least one question, wherein the at least one answer identifies at least one concept node that becomes part of the dialog state;
-
-
96. The method as recited in claim 95, wherein the dialog state comprises:
-
at least one concept node;
at least one constraint;
at least one goal;
at least one taxonomy; and
at least one dialog session ID.
-
-
97. The method recited in claim 95, wherein the dialog state further comprises at least one of:
-
at least one event;
at least one text string;
at least one user identifier;
at least one application identifier comprising at least one application attribute; and
at least one link identifier comprising at least one link attribute.
-
-
98. A knowledge map comprising:
-
at least one taxonomy representing a discrete perspective of a knowledge domain, wherein the at least one taxonomy is organized into a group of concept nodes, the nodes representing conceptual areas, and wherein the nodes have an indication of knowledge content;
at least one trigger adapted to initiate an action upon the occurrence of an event; and
a dialog state, wherein the dialog state is adapted to record the progress of the query throughout a user interaction session.
-
-
99. A method of using the knowledge map recited in claim 98, the method comprising:
-
identifying, using at least one user query, at least one set of nodes and a plurality of constraints on the knowledge map via a multi-step interaction;
performing a content-based retrieval to return knowledge containers from the knowledge map to satisfy the plurality of constraints;
wherein each knowledge container is assigned a numerical relevance score representing the quality of association between the knowledge container and the nodes identified in the interaction to produce a single score; and
returning a plurality of knowledge containers, nodes and constraints.
-
-
100. The method as recited in claim 99, further including building a search string for a search engine from the contents of the dialog state.
-
101. The method as recited in claim 100, further comprising
performing a search for relevant documents using the search string and search engine; -
converting results of the search for relevant documents to nodes; and
updating the dialog state and restricting the knowledge map using the converted nodes.
-
Specification