METHOD AND SYSTEM FOR RESPONDING TO USER-INPUT BASED ON SEMANTIC EVALUATIONS OF USER-PROVIDED RESOURCES

Information

  • Patent Application
  • 20070219781
  • Publication Number
    20070219781
  • Date Filed
    January 12, 2007
    17 years ago
  • Date Published
    September 20, 2007
    17 years ago
Abstract
A method for processing user input includes the step of receiving, during a first session between a user and an interaction environment, via one of a plurality of media gateways, from the user, a resource including a plurality of predefined markers and at least one expression. An expression type is identified, responsive to an evaluation of the semantic structure and to one of the predefined markers. A determination is made as to whether to store at least one of: an identification of the user and the at least one expression. The resource is displayed in a viewable display format, responsive to a second predefined marker. A second expression is received. An expression type is identified, responsive to an evaluation of a semantic structure of the second expression. Based on the expression type and on the resource received during the first session, a response to the second expression is generated.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects, features, and advantages of the invention will become more apparent and better understood by referring to the following description taken in conjunction with the accompanying drawings, in which:



FIG. 1A is a block diagram depicting an embodiment of a network environment comprising client machines in communication with server machines;



FIG. 1B is a block diagram depicting an embodiment of a computer useful in connection with the methods and systems described herein;



FIG. 2A is a block diagram depicting one embodiment of a system for processing user input;



FIG. 2B is a screen shot depicting one embodiment of an interaction environment 110 accessed by a user via a media gateway;



FIG. 2C is a screen shot depicting one embodiment of a graphical user interface for associating an interaction environment with a level of permission;



FIGS. 2D and 2E are screen shots depicting user interfaces allowing a user to request information stored in a conversation object;



FIG. 2F is a block diagram depicting one embodiment of a number of users interacting with a plurality of systems for processing user input;



FIG. 3 through FIG. 27 are screen shots depicting various embodiments of a system for processing user input; and



FIG. 28A is a flow diagram depicting one embodiment of the steps taken in a method for processing user input;



FIG. 28B is a flow diagram depicting one embodiment of the steps taken to identify an expression type of a user-provided expression;



FIG. 28C is a flow diagram depicting one embodiment of the combinations of determinations which the semantic evaluator 134 may make in identifying an expression type;



FIG. 29A is a block diagram depicting another embodiment of a system for processing user input;



FIG. 29B is a block diagram depicting still another embodiment of a system for processing user input;



FIG. 30 is a flow diagram depicting one embodiment of the steps taken to process a user-provided resource;



FIG. 31A is a screen shot depicting one embodiment of a user interface element into which a page can be typed using a markup-language;



FIG. 31B is a screen shot depicting one embodiment of a user interface for specifying user preferences relating to user-provided resources;



FIG. 32 is a screen shot depicting one embodiment of a user interface element including a preview of a display of user-provided input;



FIG. 33 is a screen shot depicting one embodiment of a user interface element for displaying a page generated based on submitted user-input;



FIG. 34 is a screen shot depicting one embodiment of a user interface element for requesting from an interaction environment retrieval of user-provided input;



FIG. 35 is a flow diagram depicting one embodiment of the steps taken in a method for processing user input;



FIG. 36 is a block diagram depicting one embodiment of a system for hosting a programming environment;



FIG. 37A and 37B are screen shots depicting embodiments of user interface elements through which a user may provide program code to an interaction environment;



FIG. 38 is a flow diagram depicting one embodiment of the steps taken in a method for hosting a programming environment;



FIG. 39 is a block diagram depicting one embodiment of an information retrieval system for hosting a programming environment and processing user input;



FIG. 40 is a flow diagram depicting one embodiment of the steps taken in a method for hosting a programming environment and processing user input within an information retrieval system;



FIG. 41 is a block diagram depicting one embodiment of a system for receiving a user-defined display format and a user-identified computer program and displaying a user interface modified responsive to the received user input; and



FIG. 42 is a flow diagram depicting one embodiment of the steps taken in a method for receiving a user-defined display format and a user-identified computer program and displaying a user interface modified responsive to the received user input;



FIG. 43 is a screen shot depicting one embodiment of a system displaying an acknowledgement message to a user upon addition of user-provided input to the system;



FIG. 44 is a screen shot depicting one embodiment of a system recognizing a request for information within an expression;



FIG. 45 is a screen shot depicting one embodiment of a system recognizing an implicit command to add an expression to the system;



FIG. 46 is a screen shot depicting one embodiment of a system retrieving information requested in a natural language question;



FIG. 47 is a screen shot depicting one embodiment of a system for storing user-provided information;



FIG. 48 is a screen shot depicting one embodiment of a system for retrieving user-provided information;



FIG. 49 lists one embodiment of pseudo-code for programming language code in a system for supporting multiple conversations;



FIG. 50 is a block diagram of one embodiment of a system providing failover functionality by servers processing user input;



FIG. 51 is a block diagram of one embodiment of a system for accessing, by a server processing user input, a central database;



FIG. 52 is a block diagram depicting one embodiment of a server farm providing redundancy and scalability in a system for processing user input;



FIG. 53 is a screen shot depicting one embodiment of a user interface for receiving a user-provided resource;



FIG. 54 is a screen shot depicting another embodiment of a user interface element including a preview of a display of user-provided input;



FIG. 55 is a screen shot depicting another embodiment of a user interface element for displaying a page generated based on submitted user-input;



FIG. 56 is a screen shot depicting another embodiment of a user interface element for requesting from an interaction environment retrieval of user-provided input;



FIG. 57 is a screen shot depicting an embodiment of a what-you-see-is-what-you-get (WYSIWYG) user interface for receiving a user-provided resource;



FIG. 58 is a screen shot depicting an embodiment of a hypertext markup language (HTML) user interface for receiving a user-provided resource;



FIG. 59 is a flow diagram depicting one embodiment of the steps taken in a method for publishing a page including user-provided resources;



FIG. 60 is a flow diagram depicting one embodiment in the steps taken in a method for transforming a document from one format into a second format;



FIG. 61 is a screen shot depicting one embodiment of a user interface for receiving user-provided input;



FIG. 62 is a screen shot depicting one embodiment of a user interface for providing, by a user, programming code;



FIG. 63 is a screen shot depicting one embodiment of a user interface element into which a user has provided programming code;



FIG. 64 is a screen shot depicting one embodiment of a user interface displaying to a user an acknowledgement message confirming compilation of user-provided programming code;



FIG. 65 is a screen shot depicting one embodiment of a user interface displaying to a user an acknowledgement message confirming storage of user-provided programming code;



FIG. 66 is a screen shot depicting one embodiment of a user interface element displaying to the user an output resulting from execution of user-provided programming code;



FIG. 67 is a block diagram depicting one embodiment of an application including a client browser component and a server component;



FIG. 68 is a block diagram depicting one embodiment of a system in which JavaScript programming code is uploaded to a server;



FIG. 69 is a block diagram depicting one embodiment of a system for displaying a page for a user, the page including output resulting from an execution of user-provided programming code;



FIG. 70 is a screen shot depicting one embodiment of a page containing HTML and JavaScript;



FIG. 71 is a screen shot depicting one embodiment of a user interface element for providing, by a user, information for storage on a server;



FIG. 72 and FIG. 73 are screen shots depicting embodiments of a page including user-provided information;



FIG. 74 is a screen shot depicting one embodiment of a page including a user interface element for retrieving user-provided information;



FIG. 75 is a screen shot depicting one embodiment of a page displaying, to a user, retrieved information;



FIG. 76 is a screen shot depicting one embodiment of a chat interface for processing user input;



FIG. 77 is a screen shot depicting another embodiment of a chat interface for processing user input in which a user enters a command to store user input;



FIG. 78 is a screen shot depicting one embodiment of a modified chat interface reflecting the storage of user-provided input;



FIG. 79 is a screen shot depicting another embodiment of a modified chat interface reflecting the storage of user-provided input;



FIG. 80 is a screen shot depicting an embodiment of a user interface element for requesting a display of user-provided programming code;



FIG. 81 is a screen shot depicting an embodiment of a user interface element displaying user-provided programming code;



FIG. 82 is a screen shot depicting one embodiment of a user interface element for modifying displayed user-provided programming code; and



FIG. 83 is a screen shot depicting one embodiment of a user interface element allowing an administrator to modify programming code.


Claims
  • 1. A method for processing user input, the method comprising the steps of: (a) receiving, during a first session between a user and an interaction environment, via one of a plurality of media gateways, from the user, a resource including a plurality of predefined markers and at least one expression having a semantic structure;(b) storing the resource;(c) evaluating the semantic structure of the at least one expression;(d) identifying an expression type responsive to the evaluation of the semantic structure and to one of the plurality of predefined markers;(e) determining whether to store at least one of: an identification of the user and the at least one expression;(f) displaying the resource in a viewable display format, responsive to a second of the plurality of predefined markers;(g) receiving, during a second session, via one of a plurality of media gateways, from the user, a second expression having a semantic structure;(h) evaluating the semantic structure of the second expression;(i) identifying an expression type responsive to the evaluation of the semantic structure of the second expression; and(j) responding to the second expression based on the expression type and based on the resource received during the first session.
  • 2. The method of claim 1, wherein step (a) further comprises receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, from the user, the resource including a plurality of predefined markers identifying an expression type and the resource including the at least one expression having the semantic structure.
  • 3. The method of claim 1, wherein step (a) further comprises receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, from the user, the resource including a plurality of predefined markers expressed in a programming language and the resource including the at least one expression having the semantic structure.
  • 4. The method of claim 1, wherein step (a) further comprises receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, from the user, the resource including a plurality of predefined markers expressed in an Extensible Markup Language (XML) and the resource including the at least one expression having the semantic structure.
  • 5. The method of claim 1, wherein step (a) further comprises receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, from the user, the resource including a plurality of predefined markers identifying a display format and the at least one expression having the semantic structure.
  • 6. The method of claim 1, wherein step (c) further comprises evaluating a linguistic pattern of the at least one expression.
  • 7. The method of claim 1, wherein step (c) further comprises evaluating a word order of the at least one expression.
  • 8. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as a query.
  • 9. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as a request for information.
  • 10. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as a request for stored data.
  • 11. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as an implicit question.
  • 12. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as an explicit question.
  • 13. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as a command.
  • 14. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as a command to execute a computer program.
  • 15. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as a command to store data.
  • 16. The method of claim 1, wherein step (d) further comprises identifying the at least one expression as a command to modify stored data.
  • 17. The method of claim 1 further comprising the step of querying a database to identify the expression type of the at least one expression.
  • 18. The method of claim 1 further comprising the step of querying a database using a modified version of the at least one expression.
  • 19. The method of claim 1, further comprising the step of responding to the at least one expression based on the identified expression type.
  • 20. The method of claim 1, wherein step (e) further comprises determining to store the at least one expression.
  • 21. The method of claim 1 wherein step (e) further comprises determining not to store the received at least one expression, the response and an identification of the user responsive to a determination that the at least one expression and the response are duplicative of previously stored data.
  • 22. The method of claim 1 further comprising the step of responding to the at least one expression by executing a command.
  • 23. The method of claim 1 further comprising the step of responding to the at least one expression by executing a computer program.
  • 24. The method of claim 1, wherein step (f) comprises transforming the resource from a first format into a second format, responsive to a second of the plurality of predefined markers.
  • 25. The method of claim 24, wherein step (f) further comprises transforming the resource from an expression in Extensible Markup Language (XML) expression into an expression in Hypertext Markup Language (HTML).
  • 26. A system for processing user input comprising: an interaction environment executing in a virtual machine;an information retrieval component provided by the interaction environment and in communication with a search index and a collection of information; anda user interface module provided by the interaction environment and in communication with the information retrieval component, the user interface module comprising: a transceiver receiving, during a first session between a user and an interaction environment, via one of a plurality of media gateways, from the user, a resource including a plurality of predefined markers and at least one expression having a semantic structure, storing the resource, and receiving, during a second session between the user and the interaction environment a second expression having a semantic structure;a semantic evaluator identifying an expression type for the received at least one expression responsive to an evaluation of the semantic structure of the received expression and to one of the plurality of predefined markers and identifying an expression type for the second expression responsive to an evaluation of the semantic structure of the second expression;a display component displaying the resource in a viewable display format, responsive to a second of the plurality of predefined markers; anda response generating component providing a response to the second expression based on the identified expression type and to the resource received during the first session.
  • 27. The system of claim 26, wherein the transceiver further comprises a receiver receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, from the user, the resource including a plurality of predefined markers identifying an expression type and the resource including the at least one expression having the semantic structure.
  • 28. The system of claim 26, wherein the transceiver further comprises a receiver receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, from the user, the resource including a plurality of predefined markers expressed in a programming language and the resource including the at least one expression having the semantic structure.
  • 29. The system of claim 26, wherein the transceiver further comprises a receiver receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, the resource including a plurality of predefined markers expressed in an Extensible Markup Language (XML) and the resource including the at least one expression having the semantic structure.
  • 30. The system of claim 26, wherein the transceiver further comprises a receiver receiving, during the first session between the user and the interaction environment, via one of the plurality of media gateways, from the user, the resource including a plurality of predefined markers identifying a display format and the at least one expression having the semantic structure.
  • 31. The system of claim 26, wherein the semantic evaluator further comprises a means for evaluating a linguistic pattern of an expression.
  • 32. The system of claim 26, wherein the semantic evaluator further comprises a means for evaluating a word order of an expression.
  • 33. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as a query.
  • 34. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as a request for information.
  • 35. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as a request for stored data.
  • 36. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as an implicit question.
  • 37. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as an explicit question.
  • 38. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as a command.
  • 39. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as a command to execute a computer program.
  • 40. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as a command to store data.
  • 41. The system of claim 26, wherein the semantic evaluator further comprises a means for identifying an expression as a command to modify stored data.
  • 42. The system of claim 26, wherein the semantic evaluator further comprises a means for querying a database to identify the at least one expression type of an expression.
  • 43. The system of claim 26, wherein the semantic evaluator further comprises a means for querying a database using a modified version of an expression.
  • 44. The system of claim 26, wherein the response generating component further comprises a means for responding to the second expression by answering a question.
  • 45. The system of claim 26, wherein the response generating component further comprises a means for responding to the second expression by executing a command.
  • 46. The system of claim 26, wherein the response generating component further comprises a means for responding to the second expression by executing a computer program.
  • 47. The system of claim 26, wherein the response generating component further comprises a means for responding to the second expression by transmitting, to the user, data stored in a repository.
  • 48. The system of claim 26, wherein the display component further comprises a means for displaying the resource in a viewable display format, responsive to the second of the plurality of predefined markers.
  • 49. The system of claim 28, wherein the display component further comprises a means for transforming the resource from a first format into a second format, responsive to a second of the plurality of predefined markers.
  • 50. The system of claim 49, wherein the display component further comprises a means for transforming the resource from Extensible Markup Language (XML) into Hypertext Markup Language.
Provisional Applications (1)
Number Date Country
60804182 Jun 2006 US
Continuations (1)
Number Date Country
Parent 11376528 Mar 2006 US
Child 11622856 US