Abstract:
Methods and apparatus provide the capability of receiving at least a portion of a message in natural language format from a user prior to submission of the message to an automated agent for a response, analyzing the at least the portion of the message, and providing a suggestion to the user, based upon the analyzed at least the portion of the message, for altering the message to improve ability of the automated agent to respond to the message.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     The present application claims the benefit of U.S. Provisional Patent Application No. 60/706,915, filed on Aug. 10, 2005, which is incorporated herein by reference. 
    
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH 
     Not Applicable. 
     BACKGROUND OF THE INVENTION 
     As is known in the art, one goal of a natural language system is to ‘understand’ queries sent by end users and provide the requested information. Similar to human-to-human communication, the quality/focus of an answer to a query often depends upon how the query is phrased. During an in person conversation, the recipient of a question tends to give feedback and ‘hints’, such as facial expressions, words and utterances, and other feedback, as to the level of understanding of the question formulated by the asker. For example, a person being asked a question may have a quizzical expression if that person has no idea what the other person is asking. This can be considered interactive feedback that enables the asker to better formulate a question and increase the likelihood of an appropriate answer. However, known systems having human-to-computer interaction do not provide such interactive feedback. 
     SUMMARY OF THE INVENTION 
     The present invention provides systems and methods for helping a user better formulate a query to an automated agent, for example, by giving feedback to the user prior to submission of the query. The automated agent, which can textually converse in so-called natural language interaction, can run on a computer, such as a server. As the user is typing the query, before submitting the query to the automated agent to get an answer, the system analyzes the query and provides a suggestion to the user on how the query can be modified to enhance the results generated by the system. 
     In one aspect of the invention, a method comprises receiving at least a portion of a message in natural language format from a user prior to submission of the message to an automated agent for a response analyzing the at least a portion of the message, and providing a suggestion to the user, based upon the analysis of the at least a portion of the message, for altering the message to improve an ability of the automated agent to respond to the message. 
     The method can further include one or more of the following features: receiving the at least a portion of the message by a server hosting an automated agent where at least a portion of the analysis is performed by the server, the suggestion includes using fewer words, the suggestion includes using at least one different word, providing a display for the user to visualize the suggestion, the display includes the suggestion and a pointer to a part of the message from which the suggestion was generated, the suggestion includes an alternative phrasing for the message, a mechanism to enable the user to select the alternative phrasing, the suggestion is provided in iconic format, the suggestions are partially formulated by a server and finalized on client software, and the suggestions are fully formulated by a server hosting the automated agent. 
     In another aspect of the invention, a system comprises a server, an automated agent system operatively coupled to the server, the automated agent system including: an answering module to respond to a natural language message from a user, and a suggestion engine to provide suggestions to the user after analysis of the query to enable the user to alter the query for improving an ability of the answering module to respond to the message. 
     The system can further include one or more of the following features: the suggestion includes using fewer words, the suggestion includes using at least one different word, a module to provide a display for the user to visualize the suggestions, the module to provide the display further including a mechanism to enable the user to select an alternative phrasing, the suggestions are fully formulated by the server, and the suggestions are partially formulated by the server and finalized by client software. 
     In a further aspect of the invention, an article comprises a storage medium having stored thereon instructions that when executed by a machine result in the following: receiving at least a portion of a message in natural language format from a user prior to submission of the message to an automated agent for a response, analyzing the at least a portion of the message, and providing a suggestion to the user, based upon the analysis of the at least a portion of the message, for altering the message to improve an ability of the automated agent to respond to the message. 
     The article can further include instructions for receiving the at least a portion of the message by a server hosting an automated agent where at least a portion of the analysis is performed by the server, the suggestion includes using at least one different word, and/or instructions for providing a display for the user to visualize the suggestion. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The exemplary embodiments contained herein will be more fully understood from the following detailed description taken in conjunction with the accompanying drawings, in which: 
         FIG. 1  is a block diagram of a system having interactive query formulation in accordance with the present invention; 
         FIG. 2  is a flow diagram showing an exemplary sequence of steps to provide interactive query formulation in accordance with the present invention; and 
         FIG. 3  is a pictorial representation of exemplary interactive query formulation feedback in accordance with the present invention; 
         FIG. 3A  is a pictorial representation of window having a user query modified in accordance with a suggestion; 
         FIG. 3B  shows a further pictorial representation of a window having a user query modified in accordance with a suggestion; and 
         FIG. 4  is a pictorial representation of exemplary interactive query formulation feedback in accordance with the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  shows a system  10  providing interactive user query formulation in accordance with exemplary embodiments of the present invention. A user  20  interacts with a workstation  30  having a client application  40 , such as a Web browser, to facilitate communication via a network  50 , such as the Internet, with a server  60 . The server  60  includes an automated agent system  150  having a natural language query answering engine  151 . 
     In an exemplary embodiment, the client workstation  30  includes a suggestion engine module  110  and the server  60  includes a server suggestion engine  152 . In general, the client and server suggestion engines  110 ,  152 , provide feedback to a user as the user formulates a query for increasing the likelihood that the server can provide useful results in response to the user query, as described more fully below. In one embodiment, the user generates natural language textual queries for submission to the automated agent  150 . 
     While the invention is primarily shown in conjunction with typed natural language interaction between a human and a computer, it is understood that other natural language forms can be used include audio, speech, and the like. 
     The natural language query processor  151  processes the user queries using conventional natural language processing techniques. Natural language processing is well known to one of ordinary skill in the art. 
     While shown as separate components, it is understood that the server side suggestion engine  152  and the natural language query processor  151  can be separate, or partially or totally integrated. They can reside on the same or different hardware. One skilled in the art will readily recognize a variety of architectures and hardware and software partitioning without departing from the present invention. 
     In one embodiment, as the user is preparing a query for submission to the automated agent  150 , the query is processed by the client side suggestion engine  110  and/or the server side suggestion engine  152 . It is understood that the feedback functionality between the client-side and server side suggestion engines  110 ,  152  can vary. For example, in one embodiment, the client side suggestion engine  110  provides suggestions based upon relatively straightforward criteria, such as number of words, and the client side suggestion engine  152  provide suggestions on more sophisticated criteria, such as suggested rephrasing of the original message/query for better results. 
       FIG. 2 , in conjunction with  FIG. 1 , shows an exemplary sequence of steps to provide interactive query formulation by the client and server suggestion engines  110 ,  152 . In step  200 , a user  20  types in a natural language query using the client workstation  30 . In step  202 , the user types the query, and at intervals and/or as changes are made to the query (new character typed, or new word completed, etc.), the query is transmitted to the client side suggestion engine  110  in step  204 . In step  206 , the query is transmitted to the server side suggestion engine  152 . In one embodiment, the query in progress is transmitted/analyzed without the user explicitly requesting transmission to the automated agent. Alternatively, the query is not transmitted until requested by the user. 
     In step  208 , the server side suggestion engine  152  analyzes the current query and generates a partial or complete analysis in step  210 , and in step  212 , completes the analysis and suggestions. In step  214 , the analysis, e.g., suggestion, is sent back to the client side suggestion engine  110  for display by the user workstation  30  in step  216 . 
     In step  218 , it is determined whether the query is in final form, e.g., submitted by the user. If not, processing continues in step  200 . If so, in step  220  the query is submitted for processing by the natural language query processor  151 , which generates a response to the query. In step  222 , the natural language query processor  151  sends the processed answer to the user through the client workstation  30 . 
     It is understood that suggestions for query changes can be processed on the client workstation, on the server, or as a combination. Thus, the server side suggestion engine  152  can perform the query processing for transmission to the client workstation. Similarly, the analysis may be performed on the client side by the client side suggestion engine  110 . 
     It is understood that analysis of the query to generate suggested changes can utilize various criteria and input. One exemplary criteria includes query length. If the query length becomes excessive, e.g., more than a predetermined number of words and/or characters, and/or the query contains multiple sentences, a warning can be presented to the user suggesting shortening of the query. As part of the suggestions, shorter queries can be displayed. If the typed query is too short or contains insufficient descriptions, warnings can be presented to the user that can include examples of longer/more complete queries. 
     A further exemplary criteria includes determining whether the words in the query are known to the system. If words are not known by the system, it can be suggested to replace these specific words by synonyms, or to correct their spelling if it is detected that words with a similar spelling are known to the system. 
     Another illustrative criteria, which requires server-side processing, includes analyzing the input currently entered to check whether it might allow the system to clearly understand the user with minimal ambiguity. 
     Regardless of the criteria, the resulting analysis can be displayed in a variety of forms including text but also iconic forms, for example. In another embodiment, exemplary criteria can include the grammatical structure of the input. For example, if the input takes a non-question form when the system is designed to answer questions, it can suggest to the user to rephrase it into a question. The grammatical structure of the query can be determined using well known natural language processing techniques. 
       FIG. 3  shows an illustrative pictorial representation of interactive query feedback displayed to a user. A display window  300  that can be viewed by a user includes a text region  302  to display text generated by the user  304  and text generated by the automated agent  306 . A text input region  307  can enable the user to input the current query. 
     The window  300  can further include a suggestion region  308  in which the client and/or server suggestion engine  110 ,  152  can provide suggestions as interactive feedback prior to submission of the query. 
       FIG. 3A  shows the window  300  after the user has shortened the query in the text input region  307 . In this case, the user followed the suggestion shown in  FIG. 3  to shorten the query. Another suggestion in the suggestion region  308  indicates that the term “passphrase” is not recognized by the system. 
       FIG. 3B  shows the window  300  after the user has replaced the term “passphrase” with the term “password” as suggested in  FIG. 3A . The user can then submit the query by clicking on a submit button  311 . In another embodiment, the user can click on the term password to replace passphrase. 
     It is understood that the format of the feedback can take various forms. In the illustrated embodiment, the suggestions as provided as text. In other embodiments, the suggestions can be provided in other visual formats, sounds, and other media. 
     For example,  FIG. 4  shows an exemplary window  400  having a text region  402  and a text input region  407 . Feedback in the form of a suggestion is provided in a text box  420  having a pointer  422  to a particular portion of the sentence to which the feedback is directed. In the illustrated embodiment, the text box  420  pointer  422  points to the term “passphrase” since the suggestion is to replace this term as it is not understood by the system. 
     In another embodiment of the invention, suggestions are displayed in an iconic form. For example, initially, an icon of a person listening can be displayed as long as the question is not complete/long enough to generate acceptable results. An icon of a puzzled person can be displayed when the question becomes too long or does not generate good results. Many other such variations will be apparent to one of ordinary skill in the art in view of the present disclosure. 
     One skilled in the art will appreciate further features and advantages of the invention based on the above-described embodiments. Accordingly, the invention is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated herein by reference in their entirety.