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

Information

  • Patent Application
  • 20070219780
  • Publication Number
    20070219780
  • 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 session, via one of a plurality of media gateways, from a user, an expression having a semantic structure. The semantic structure of the expression is evaluated. An expression type is identified, responsive to the evaluation of the semantic structure. Based on the expression type, a response to the expression is generated. A determination is made as to whether to store the received expression, the response, and an identification of the user.
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;



FIGS. 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 step of: (a) receiving, during a session, via one of a plurality of media gateways, from a user, an expression having a semantic structure;(b) evaluating the semantic structure of the expression;(c) identifying an expression type responsive to the evaluation of the semantic structure;(d) responding to the expression based on the expression type; and(e) determining whether to store the received expression, the response and an identification of the user.
  • 2. The method of claim 1, wherein step (a) further comprises receiving, during a session between the user and an interaction environment, via one of the plurality of mediate gateways, from the user, the expression having a semantic structure.
  • 3. The method of claim 1, wherein step (a) further comprises receiving, during the session, via one of the plurality of media gateways, from the user, a string having a semantic structure.
  • 4. The method of claim 1, wherein step (a) further comprises receiving, during the session, via one of the plurality of media gateways, from the user, a plurality of words having a semantic structure.
  • 5. The method of claim 1, wherein step (a) further comprises receiving, during the session, via one of the plurality of media gateways, from the user, a question having a semantic structure.
  • 6. The method of claim 1, further comprising the step of forwarding, by the one of the plurality of media gateways, the expression to a semantic evaluator.
  • 7. The method of claim 1, further comprising the step of forwarding, by one of the plurality of media gateways, the expression to an access control module.
  • 8. The method of claim 1, wherein step (b) further comprises evaluating a linguistic pattern of the expression.
  • 9. The method of claim 1, wherein step (b) further comprises evaluating a word order of the expression.
  • 10. The method of claim 1, wherein step (c) further comprises identifying the expression as a query.
  • 11. The method of claim 1, wherein step (c) further comprises identifying the expression as a request for information.
  • 12. The method of claim 1, wherein step (c) further comprises identifying the expression as a request for stored data.
  • 13. The method of claim 1, wherein step (c) further comprises identifying the expression as an implicit question.
  • 14. The method of claim 1, wherein step (c) further comprises identifying the expression as an explicit question.
  • 15. The method of claim 1, wherein step (c) further comprises identifying the expression as a command.
  • 16. The method of claim 1, wherein step (c) further comprises identifying the expression as a command to execute a computer program.
  • 17. The method of claim 1, wherein step (c) further comprises identifying the expression as a command to store data.
  • 18. The method of claim 1, wherein step (c) further comprises identifying the expression as a command to modify stored data.
  • 19. The method of claim 1 further comprising the step of querying a database to identify the expression type of the expression.
  • 20. The method of claim 1 further comprising the step of querying a database using a modified version of the expression.
  • 21. The method of claim 1, wherein step (d) further comprises responding to the expression by answering a question.
  • 22. The method of claim 1, wherein step (d) further comprises responding to the expression by executing a command.
  • 23. The method of claim 1, wherein step (d) further comprises responding to the expression by executing a computer program.
  • 24. The method of claim 1, wherein step (d) further comprises responding to the expression by transmitting, to the user, data stored in a repository.
  • 25. The method of claim 1, wherein step (e) further comprises determining to store the received expression, the response and an identification of the user.
  • 26. The method of claim 1, wherein step (e) further comprises determining to store, in a database, the received expression, the response and an identification of the user.
  • 27. The method of claim 1, wherein step (e) further comprises determining to store, in a searchable index, the received expression, the response and an identification of the user.
  • 28. The method of claim 1 further comprising the step of providing, during a second session, for the user, access to the stored expression and response.
  • 29. The method of claim 1, wherein step (e) further comprises determining not to store the received expression, the response and an identification of the user.
  • 30. 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, via one of a plurality of media gateways, an expression having a semantic structure;a semantic evaluator identifying an expression type for the received expression responsive to an evaluation of the semantic structure of the received expression; anda response generating component providing a response to the expression based on the identified expression type.
  • 31. The system of claim 30, wherein the interaction environment further comprises a collaborative web site.
  • 32. The system of claim 30, wherein the information retrieval component further comprises the search index.
  • 33. The system of claim 30, wherein the transceiver further comprises receiving, during a session between a user and the interaction environment, via one of the plurality of media gateways, from the user, the expression having a semantic structure.
  • 34. The system of claim 30, wherein the transceiver further comprises receiving, via one of the plurality of media gateways, from a user, the expression having a semantic structure, the plurality of media gateways including a media gateway receiving the expression from the user in an electronic mail message.
  • 35. The system of claim 30, wherein the transceiver further comprises receiving, via one of the plurality of media gateways, from a user, the expression having a semantic structure, the plurality of media gateways including a media gateway receiving the expression from the user via a text messaging service.
  • 36. The system of claim 30, wherein the transceiver further comprises receiving, via one of the plurality of media gateways, from a user, the expression having a semantic structure, the plurality of media gateways including a media gateway receiving the expression from the user via an instant messaging service.
  • 37. The system of claim 30, wherein the transceiver further comprises receiving, via one of the plurality of media gateways, from a user, the expression having a semantic structure, the plurality of media gateways including a media gateway receiving the expression from the user via a Hypertext Markup Language (HTML) user interface.
  • 38. The system of claim 30, wherein the transceiver further comprises receiving, via one of the plurality of media gateways, from a user, the expression having a semantic structure, the plurality of media gateways including a media gateway receiving the expression from the user via a user interface on a collaborative web site.
  • 39. The system of claim 30, wherein the transceiver further comprises a receiver receiving, during a session, via one of a plurality of media gateways, from a user, a string having a semantic structure.
  • 40. The system of claim 30, wherein the transceiver further comprises a receiver receiving, during a session, via one of a plurality of media gateways, from a user, a plurality of words having a semantic structure.
  • 41. The system of claim 30, wherein the transceiver further comprises a receiver receiving, during a session, via one of a plurality of media gateways, from a user, a question having a semantic structure.
  • 42. The system of claim 30, wherein the user interface module further comprises an access control module receiving, from one of the plurality of media gateways, the expression.
  • 43. The system of claim 30, wherein the semantic evaluator further comprises a means for evaluating a linguistic pattern of the expression.
  • 44. The system of claim 30, wherein the semantic evaluator further comprises a means for evaluating a word order of the expression.
  • 45. The system of claim 30, wherein the response generating component further comprises a means for querying the information retrieval component to generate the response, responsive to the identified expression type.
  • 46. The system of claim 30, wherein the response generating component further comprises a means for querying the information retrieval component, using a modified version of the expression, to generate a response, responsive to the identified expression type.
  • 47. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as a query.
  • 48. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as a request for information.
  • 49. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as a request for stored data.
  • 50. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as an implicit question.
  • 51. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as an explicit question.
  • 52. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as a command.
  • 53. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as a command to execute a computer program.
  • 54. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as a command to store data.
  • 55. The system of claim 30, wherein the semantic evaluator further comprises a means for identifying the expression as a command to modify stored data.
  • 56. The system of claim 30, wherein the response generating component further comprises a means for generating a response to the expression, the response answering a question.
  • 57. The system of claim 30, wherein the response generating component further comprises a means for generating a response to the expression, the response comprising execution of a command.
  • 58. The system of claim 30, wherein the response generating component further comprises a means for generating a response to the expression by transmitting, to the user, data stored in the collection of information.
  • 59. The system of claim 30, wherein the response generating component further comprises a means for generating a response to the expression by transmitting, to the user, data stored in the collection of information during a previous session between the user and the interaction environment.
  • 60. The system of claim 30, wherein the response generating component further comprises a means for determining to store the received expression, the response and an identification of the user.
  • 61. The system of claim 30, wherein the response generating component further comprises a means for determining not to store the received expression, the response and an identification of the user.
Provisional Applications (1)
Number Date Country
60804182 Jun 2006 US
Continuations (1)
Number Date Country
Parent 11376528 Mar 2006 US
Child 11622841 US