Patent Publication Number: US-8117178-B2

Title: Natural language based service selection system and method, service query system and method

Description:
BACKGROUND OF THE INVENTION 
     1. Field of Invention 
     The present invention relates to the field of natural language processing, and in particular to a natural language based service selection system and method as well as a service query system and method, which can complement incomplete queries so as to obtain a selected service and provide the corresponding query answer. 
     2. Description of Prior Art 
     The existing service selection system based on natural language allows a user to query various services in natural language, and then the system selects any service corresponding to the user&#39;s query from these services and feeds the answer back to the user. Such conventional service selection system based on natural language, however, can process only a complete natural language query from the user. If the user enters an incomplete query, that is, the query lacks some essential parameters, the system has difficulty in effectively handling such query, especially in finding the lost part of the query. 
     There have been some natural language based service selection systems, which can analyze and retrieve a service database according to the query inputted by a user so as to select a service corresponding to the user query from various service. 
     Patent Application No. JP2002351913 proposes a method in which a web service having optimal waiting time can be selected from all types of web services according to the history of user access to these web services (which particularly contains user name, longest waiting time, service type, latest access time, etc.) so as to avoid excessive load on network and service. 
     Patent Application No. JP2004054781 discloses a method which can extracts key words for retrieval from a user query in natural language and then select from various services the service corresponding to the key words for retrieval. 
     Patent Application No. JP2004288118 provides a method which can, based on service register data supplied by a service provider, select not only a service corresponding to a user query but also other services relevant to the service from a plurality of services. 
     SUMMARY OF THE INVENTION 
     The present invention is made to address the above problems. The object of the present invention is to process effectively an incomplete query. In other word, even though a query entered by the user is not complete, the invention can process it accordingly to obtain a selected service and thus a query answer. 
     According to the first aspect of the present invention, a natural language based service selection system for complementing incomplete queries is provided, comprising a semantic analyzing device which analyzes an incomplete query from a user semantically, a service selecting device which complements the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, and a retrieving device which retrieves an answer according to the selected service. 
     According to the second aspect of the present invention, a natural language based service selection method for complementing incomplete queries is provided, comprising a semantic analyzing step of analyzing an incomplete query from a user semantically, a service selecting step of complementing the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, and a retrieving step of retrieving an answer according to the selected service. 
     According to the third aspect of the present invention, a query system is provided, comprising a query receiver which receives a user query, a semantic analyzing device which parses the user query and semantically analyzes the query, a service selecting device which complements the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, a retrieving device which retrieves an answer according to the selected service, and an answer sender which sends the answer to the user. 
     According to the fourth aspect of the present invention, a query method is provided, comprising a query receiving step of receiving a user query, a semantic analyzing step of parsing the user query and semantically analyzes the query, an service selecting step of complementing the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, a retrieving step of retrieving an answer according to the selected service, and an answer sending step of sending the answer to the user. 
     According to the fifth aspect of the present invention, a query system is provided, comprising a query receiver which receives a user query, a semantic analyzing device which parses the user query and semantically analyzes the query, a determining device which determines whether the user query is an complete user query, a first service selecting device which performs a process on the complete query so as to acquire a first selected service, a second service selecting device which complements the incomplete query so as to acquire a second selected service, a retrieving device which retrieves an answer according to the first selected service or the second selected service, and an answer sender which sends the answer to the user. 
     According to the sixth aspect of the present invention, a query method is provided, comprising a query receiving step of receiving a user query, a semantic analyzing step of parsing the user query and semantically analyzes the query, a determining step of determining whether the user query is an complete user query, a first service selecting step of performing a process on the complete query so as to acquire a first selected service, a second service selecting step of complementing the incomplete query so as to acquire a second selected service, a retrieving step of retrieving an answer according to the first selected service or the second selected service, and an answer sending step of sending the answer to the user. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1   a  is a schematic diagram showing a natural language based service selection system according to the present invention; 
         FIG. 1   b  is a flowchart showing a natural language based service selection method according to the present invention; 
         FIG. 2   a  is a block diagram showing an example of a service mapping rule base according to the present invention; 
         FIG. 2   b  is a flowchart showing a method for generating a service mapping rule base; 
         FIG. 3  is a block diagram showing an example of a user query history base according to the present invention; 
         FIG. 4   a  is a block diagram showing an example of a fact base according to the present invention; 
         FIG. 4   b  is a schematic diagram showing a known semantic analyzing device; 
         FIG. 5   a  is a schematic diagram showing a service selecting device according to the present invention; 
         FIG. 5   b  is a schematic diagram showing a service selecting method according to the present invention; 
         FIG. 6   a  is a block diagram showing a semi-automatic service selecting section according to the present invention; 
         FIG. 6   b  is a flowchart showing a semi-automatic service selecting method; 
         FIG. 6   c  shows an example of semi-automatic service selection; 
         FIG. 7   a  is a block diagram showing a automatic service selecting section according to the first embodiment of the present invention; 
         FIG. 7   b  is a flowchart showing a automatic service selecting method according to the first embodiment of the present invention; 
         FIG. 7   c  shows an example of service selection; 
         FIG. 8   a  is a block diagram showing a service selecting section according to the second embodiment of the present invention; 
         FIG. 8   b  is a flowchart showing a service selecting method according to the second embodiment of the present invention; 
         FIG. 8   c  shows another example of service selection; 
         FIG. 9   a  is a block diagram showing a service selecting section according to the third embodiment of the present invention; 
         FIG. 9   b  is a flowchart showing a service selecting method according to the third embodiment of the present invention; 
         FIG. 9   c  shows still another example of service selection according to the present invention; 
         FIG. 10   a  is a block diagram showing a natural language based service query system according to an embodiment of the present invention; 
         FIG. 10   b  is a schematic diagram showing how the natural language based service query system performs query process; 
         FIGS. 11   a  and  11   b  shows flowcharts of the first and second embodiments of a retrieval method, respectively; 
         FIGS. 12   a  and  12   b  shows a service selecting device used in a mobile terminal and an ASP, respectively. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Hereafter, a description will be made to the preferred embodiments of the present invention with reference to the figures, throughout which like elements are denoted by like reference symbols or numbers. In the following description, the details of any known function or configuration will not be repeated, otherwise they may obscure the subject of the present invention. 
     In general, the existing query device cannot process a query inputted by a user if the query is incomplete and thus cannot provide the user with his/her expected query answer. The service selection system according to the present invention, however, can complement an incomplete query from a user and thus retrieve an answer desired by the user.  FIG. 1   a  shows a natural language based service selection system according to the present invention, which comprises a query receiver  10  for receiving a natural language query inputted by a user via a mobile terminal, such as a mobile phone, a semantic analyzing device  20  for analyzing the received natural language query to obtain a structured semantic analysis result, a service selecting device  30  for determining and complementing the lost content in the incomplete query based on the semantic analysis result so as to acquire a selected service, a retrieving device  40  for retrieving an answer according to the selected service, and an answer sender  50  for sending the retrieved answer to the user terminal. The service selection system further comprises a storage device  16 , such as a hard disk, which stores a service mapping rule base  160 , a user query history base  162  and a fact base  164 . 
       FIG. 1   b  shows a flowchart of a natural language based service selection method. At S 101 , the query receiver  10  receives a natural language query sent from a user via a mobile terminal, such as a mobile phone, and transmits the query to the semantic analyzing device  20 . The semantic analyzing device  20  analyzes the received natural language query at S 102 .  FIG. 4   b  shows a block diagram of a known semantic analyzing device, which serves to understand the user&#39;s natural language query so as to obtain a structured semantic analysis result as well as includes a query word division unit  401  and a semantic marking unit  402 . The query word division unit  401  performs word division on the natural language query with a word database, such as a dictionary, and then the semantic marking unit  402  performs semantic marking on the division result based on a semantic knowledge base so as to generate the semantic analysis result, which is usually formed of a requirement and a set of parameters and parameter values. Each parameter corresponds to its parameter value. Referring to  FIG. 4   b , for example, if the nature language query entered by the user is “How high is the temperature in Beijing today?”, this natural language query is subjected to word division by the query word division unit  401  to generate a word division result “How high is the temperature; in Beijing; today”. Then, the result undergoes semantic analysis by the semantic marking unit  402 . Specifically, according to the semantic knowledge base, it can be learnt that “Beijing represents a place” and “today represents a date”. As such, the semantic marking unit  402  marks “Beijing” in the natural language query as the parameter value of the first parameter “place”, and “today” as the parameter value of the second parameter “date”. It further extracts the interrogative “How high is the temperature” as the requirement. Eventually, the obtained result is “requirement: How high is the temperature, place: Beijing, date: today”. 
     At S 103 , the service selecting device  30  analyzes the semantically-analyzed query in terms of completeness by use of the service mapping rule base  160 , the user query history base  162  or the fact base  164  and then complement any lost content to obtain a service which is selected from various services provided from the service mapping rule base according to the user query. The retrieving device  40  retrieves the corresponding answer based on the selected service at S 104 . The retrieving device may return only the answer corresponding to the user query, as shown in  FIG. 11   a , through a method comprising steps of: 
     (1) information search, that is, finding the service provider corresponding to the service type in the selected service and then sending the service parameters in the selected service to the service provider which will search and return a corresponding retrieval result; and 
     (2) answer generation, that is, generating the final answer according to the retrieval result returned by the service provider. An integration is required for respective retrieval results if there are a number of service providers. The integration can be implemented in any relevant known method, such as ranking these results based on the credit standing of each service provider. 
     Referring to the above example of the user query “How high is the temperature in Beijing today?”, based on the selected service “service type: weather; place: Beijing; date: today”, the system can find service providers corresponding to the service type “weather”, such as China Weather Bureau, Weather Query Website and the like, send the service parameters “place: Beijing; date: today” to the service providers and receive and integrate the retrieval results returned by them. 
     The retrieving device  40  can also return other relevant answers, as shown in  FIG. 11   b  in which there is a step of finding relevant services, that is, finding other services relevant to the user query. For example, when a user queries how to get to a place, the system can provide information of relevant services, such as weather, traffic and the like in addition to providing a route. This can be realized in a prior art manner, for example, predefining a service relevancy table for recording relevancy between different service types and then finding a relevant service type on the basis of the service relevancy table. 
     The retrieved answer is sent to the user terminal by the answer sender  102  at S 105 . 
     In the present invention, the service selecting device  30  in the service selection system utilizes the service mapping rule base  160 , the user query history base  162  or the fact base  164  to determine the lost content in the query and therefore complement the lost content so as to select the corresponding service. Accordingly, the following description is made with respect to the structures of the service mapping rule base  160 , the user query history base  162  and the fact base  164  with respect to  FIGS. 2   a ,  2   b ,  3  and  4 . Then, a detailed explanation will be given to the inventive service selection system in connection to the service mapping rule base, the user query history base and the fact base. 
     The service mapping rule base  160  stores multiple sets of service mapping rules. When the match is established between the user&#39;s nature language query and a service mapping rule in the service mapping rule base  160 , a service corresponding to the rule can be found.  FIG. 2   a  shows an example of the service mapping rule base  160 . As shown in  FIG. 2   a , one piece of service mapping rule is generally composed of number, requirement, service type and service parameters. The requirement represents what is the question from the user query, that is, what service is related to the answer expected by the user. The service type defines the service category to which the query question belongs. The service parameters describe service type and service invocation interface, and the service provider can conduct retrieval based on service parameters. Each piece of rule stored in the service mapping rule base  160  represents “when a user query conforms to a specified requirement, which service type the query corresponds to and what is the corresponding service parameter”. 
     Take the first piece of mapping rule in  FIG. 2   a  as an example, since the requirement in the user query is “how high is the temperature”, the query corresponds to the service type “weather”, and the service parameter are place and date. 
       FIG. 2   b  shows an example of a method for generating the service mapping rule base. First, a set of actual user queries is gathered from respective service providers. Then, a query corpus is established from the gathered user queries. Here, any semantic analyzing method in the prior art can be utilized to analyze each user query and obtain a semantic analysis result for the purpose of query corpus establishment. Lastly, the similarity between the marking results of all the queries for each service type is analyzed in the query corpus, and certain service mapping rule is extract from the similarity and written into the service mapping rule base. 
     For example, those frequently-asked queries, such as “how high is the temperature in Beijing today?” or “how high is the temperature in Shanghai tomorrow?”, are first gathered from weather service providers. Then a query corpus is established from semantic analysis results obtained through semantic analysis, and all queries related to the service type “weather” are analyzed to extract the common requirement “how high is the temperature” as well as the common parameters “place” and “date” so as to finally generate a service mapping rule for “weather”. Although the above method generates the service mapping rule base automatically, the base can be manually generated by summarizing various service mapping rules by an operator. Alternatively, the service mapping rule base can be semi-automatically generated, that is, first generating service mapping rules automatically, and then correcting them manually. 
       FIG. 3  shows an example of the user query history base, which stores all user query records. Generally, one piece of user query record consists of user, query question, query time, service type and query parameter, and the query parameter can comprises a set of parameters each having a corresponding parameter value. 
     Take the first piece of user query record in  FIG. 3  as an example, it represents that Tom made a query of “where is Beijing Hotel?” at 16:25 on Aug. 2, 2007, in which the service type is “location”, the parameter “place” has a value of “Beijing Hotel”. 
     The user query history is generated automatically. To be specific, every time processing on one user query is completed, the system stores, as one query record, the user, query question, query time and selected service. 
       FIG. 4   a  shows an example of the fact base, which describes customary or default knowledge. As shown in  FIG. 4   a , each fact is usually composed of number, service type, lost parameter and default value, and represents “when a user queries some service, what is the default value of a parameter if it is lost”. Take the first fact as an example, which means “when a user queries traffic service, the time is considered as now (i.e., the current moment) by default if the user does not specify any time.” The second fact represents “when a user queries weather service, the date is considered as today (i.e., this day) by default if the user does not specify any date.” The fact base is created primarily by summarizing characteristics of respective services manually. 
       FIG. 5   a  shows a schematic block diagram of the service selecting device according to the present invention. Generally speaking, a natural language query inputted by a user may be incomplete and may lack some necessary parameter values. For example, the user wants to make queries of “how high is the temperature in Beijing today?” and “how can I get to Beijing Airport from Zhongguancun?”, while he actually inputs the queries of “how high is the temperature in Beijing?” and “how can I get to Beijing Airport?”, which lack the parameter values “today” and “from Zhongguancun”, respectively. With the existing natural language based service selection system, such incomplete queries cannot be processed and thus the user cannot obtain any answer related to his or her desired service. On the other hand, the service selecting device in the present invention can obtain a selected service by complementing such incomplete queries automatically or semi-automatically. Therefore, a complete query can be generated and the corresponding query answer can be provided to the user with the application of the service selecting device in the present invention, even though the user inputs an incomplete query. 
     Now turning to  FIG. 5   a , the service selecting device includes an input section (not shown) for receiving the semantically-analyzed user query, an automatic service selecting section  51  for complementing automatically an incomplete query based on the user&#39;s natural language query utilizing at least one of the service mapping rule base  160 , the user query history base  162  or the fact base  164  so as to acquire a selected service, a semi-automatic service selecting section  52  for complementing an incomplete query through interaction with the user so as to acquire a selected service when the automatic service selecting section  51  does not obtain the selected service, or for complementing an incomplete query in the case that the user considers the result from the automatic service selecting section  51  not to comply with his or her query, and an output section (not shown) for outputting the selected service. 
       FIG. 5   b  shows a flowchart of the service selecting method according to the present invention. At S 501 , the service selecting device receives the semantically-analyzed query. At S 502 , the automatic service selecting section  51  complements automatically the incomplete query based on the user&#39;s natural language query by utilizing at least one of the service mapping rule base  160 , the user query history base  162  or the fact base  164  so as to acquire a selected service. When the automatic service selecting section  51  does not obtain the selected service or the user considers the result from the automatic service selecting section  51  does not comply with his or her query, the semi-automatic service selecting section  52  at S 503  complements the incomplete query through interaction with the user so as to acquire the selected service.  FIG. 6   a  shows a detailed block diagram of the semi-automatic service selecting section  52  according to the present invention. The semi-automatic service selecting section  52  comprises an input unit  61  for receiving a semantic analysis result obtained from analysis of a natural language query, a lost content searching unit  62  for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule and extracting from it the service type and the service parameter lost in the query, a user interacting unit  63  for interacting with the user and acquiring the feedback information from the user, a parameter value extracting unit  64  for extracting the lost parameter valued from the feedback information of the user, a query complementing unit  65  for adding the service type, the lost service parameter and the lost parameter value into the semantic analysis result to complement the incomplete query so as to generate the selected service, and an output unit  66  for outputting the selected service after the above complementation. 
       FIG. 6   b  shows a flowchart of the semi-automatic service selecting method. At S 601 , the input unit  61  receives a semantically-analyzed query in natural language from the user terminal. The lost content searching unit  62  at S 602  matches the semantic analysis result with the service mapping rule in the service mapping rule base, finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit includes: (1) the requirement of the service mapping rule is identical to the requirement of the semantic analysis result; and (2) the service parameter of the service mapping rule contains the parameter of semantic analysis result. At S 603 , prompt information is generated to prompt the user to input the lost parameter value based on the lost parameter found in S 602  and sent to the user, and the feedback information is in turn received from the user with respect to the prompt information. Since the feedback information of the user may contain some words other than the lost parameter value, the latter needs to be extracted from the feedback information at S 604  after the reception of the user feedback. Here, the same semantic marking method as used in the above semantic analysis can be utilized to semantically mark the feedback information of the user and find words corresponding to the lost parameter as the lost parameter value. At S 605 , the query complementing unit  65  fills the service type, the lost service parameter and the lost parameter value into the semantic analysis result to complement the incomplete query and generate the selected service. Lastly, the output unit  66  outputs the selected service at S 606 . Automatic service selection can be performed in addition to the above semi-automatic service selection through interaction with the user. 
       FIG. 6   c  shows an example of automatic service selection, in which the user query is “how high is the temperature in Beijing?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing”.
         First step of searching lost content: the first rule in the service mapping rule base has the same requirement “how high is the temperature” as that of the semantic analysis result, and the service parameters “&lt;place&gt;;&lt;date&gt;” contain the parameter “place” of the semantic analysis result, the first rule is therefore taken as a matched rule, with the service type “weather” being extracted and “date” being the parameter lost in the query;   Second step of interacting with the user: generating prompt information “which date do you want to specify in your weather query?” and sending it to the user, and then receiving the user feedback “I want to query today&#39;s weather”;   Third step of extracting the parameter value: taking “today” in the user feedback as the lost parameter value since this word belongs to the lost parameter “date”;   Final step of complementing the query: adding the service type “weather”, the lost parameter “date” and the lost parameter value “today” into the semantic analysis result to obtain a selected service “service type: weather; place: Beijing; date: today”.       

       FIG. 7   a  shows the first embodiment of the automatic service selecting section  61  according to the present invention, which complements an incomplete natural language query from a user based on a current user query history base. The automatic service selecting section  61  includes an input unit  71  for receiving the inputted semantic analysis result, a current user query history base  77  storing all records of queries by a user who is exactly the user of the current query, a lost content searching unit  72  for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule, determines the lost service parameter, and extracting from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query, a latest query detecting unit  73  for detecting the history of the latest user query, i.e., the last query made by the user, and extracting the corresponding lost parameter value if the parameter lost in the current query is contained in the latest user query, a similar query detecting unit  74  for searching the history query that contains the lost parameter in the current query as a similar query from the current user query history base  77  when there is no parameter value extracted by the latest query detecting unit  73 , and extracting the parameter value corresponding to the lost parameter in current query from the similar query if it contains the parameter lost in the current query, a query complementing unit  75  for adding the service type, the lost parameter and the parameter value into the semantic analysis query so as to obtain the selected service, and an output unit  76  for outputting the selected service. 
       FIG. 7   b  shows a flowchart of the first embodiment of the automatic service selecting method. At S 701 , the input unit  71  receives a semantically-analyzed query in natural language from the user. The lost content searching unit  72  at S 702  matches the semantic analysis result with the service mapping rule in the service mapping rule base  160 , finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit  72  is the same as that used in the method shown in  FIG. 6   b.    
     At S 703 , the latest query detecting unit  73  searches the last query made by the user. Detecting the latest query, i.e., the last query made by the user, at first can accelerate the query process, since the user may omit some words while making several queries successively. The detailed method is: finding the latest query made by the user in the current user query history base  77 , with a query interval being set to be smaller than a particular threshold; checking whether the latest query contains the parameter lost in the current query; if the answer is Yes, extracting the corresponding parameter value as the lost parameter value and then performing the step S 705 ; otherwise, performing the step S 704 . 
     At S 704 , the similar query detecting unit  74  searches the current user query history base for a query similar to the current query, and extracts the parameter value corresponding to the lost parameter in current query from the similar query if it contains the parameter lost in the current query. The determination of the similar query is made such that a query is considered as the similar query if (1) the service type obtained at the lost content searching step is identical to that of the history query in the current user query history base; and/or (2) the query parameter of the history query contains the query parameter of the semantically-analyzed query (preferably, both the queries have the same parameter value). 
     At S 705 , the service type, the lost parameter and the parameter value are added into the semantic analysis query to obtain the selected service. Finally, the selected service is outputted at S 706 . 
       FIG. 7   c  shows an example of the implementation of service selection, in which the user Tom makes a query of “how to contact?”, and the semantic analysis result is “requirement: how to contact”.
         First step of searching lost content: the second rule in the service mapping rule base has the same requirement “how to contact” as that of the semantic analysis result, and there is no parameter in the semantic analysis result, the second rule is therefore taken as a matched rule, with the service type “telephone” being extracted and the service parameter “place” being the parameter lost in the query;   Second step of detecting the latest query: since the last query made by Tom is “where is Beijing Hotel?”, and the query parameter is “place: Beijing Hotel” which contains the lost parameter “place”, the corresponding parameter value “Beijing Hotel” is extracted;   No similar query is detected when the above latest query detection is successful;   Final step of complementing the query: adding the service type “telephone”, the lost parameter “place” and the lost parameter value “Beijing Hotel” into the semantic analysis result to obtain a selected service “service type: telephone; place: Beijing Hotel”.       

       FIG. 8   a  shows the second embodiment of the automatic service selection section according to the present invention. 
     This automatic service selection section of the second embodiment complements a natural language query from a user based on other user query history base. Such service selection section comprises an input unit  81  for receiving the inputted semantic analysis result, an other user query history base  86  storing all records of queries by other users, a lost content searching unit  82  for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule, determines the lost service parameter, and extracting from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query, a similar query detecting unit  83  for searching a query similar to the current query from the other user query history base  86  and extracting the parameter value from the similar query as the parameter value lost in the current query, a query complementing unit  84  for adding the service type, the lost parameter and the parameter value into the semantic analysis query so as to obtain the selected service, and an output unit  85  for outputting the selected service. 
       FIG. 8   b  shows a flowchart of the second embodiment of the automatic service selecting method. 
     At S 801 , the input unit  81  receives a semantically-analyzed query in natural language from the user. The lost content searching unit  82  at S 802  matches the semantic analysis result with the service mapping rule in the service mapping rule base  160 , finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit  82  is the same as that used in the method shown in  FIG. 6   b.    
     At S 803 , the similar query detecting unit  83  searches the other user query history base for a query similar to the current query, and extracts the parameter value corresponding to the lost parameter in current query from the similar query if it contains the parameter lost in the current query. The determination of the similar query is made such that a query is considered as the similar query if (1) the service type obtained at the lost content searching step is identical to that of the history query in the other user query history base; and/or (2) the query parameter of the history query contains the query parameter of the semantically-analyzed query (preferably, both the queries have the same parameter value). 
     At S 804 , the service type, the lost parameter and the parameter value are added into the semantic analysis query to obtain the selected service. Finally, the selected service is outputted at S 805 . 
       FIG. 8   c  shows an example of the implementation of service selection, in which the user makes a query of “how high is the temperature in Beijing?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing”.
         First step of searching lost content: the first rule in the service mapping rule base has the same requirement “how high is the temperature” as that of the semantic analysis result, and the service parameters “&lt;place&gt;;&lt;date&gt;” contain the parameter “place” of the semantic analysis result, the first rule is therefore taken as a matched rule, with the service type “weather” being extracted and “date” being the parameter lost in the query;   Second step of detecting the similar query: there exists a query made by another user John, “how high is the temperature in Beijing today?”, in which the service type is “weather”, the query parameter “place: Beijing; date: today” contains the parameter “place” in the semantic analysis result, and both of the parameter values are “Beijing”, this query is thus regarded as the similar query; since the similar query contains the lost parameter “date”, the corresponding parameter value “today” is extracted;   Final step of complementing the query: adding the service type “weather”, the lost parameter “date” and the lost parameter value “today” into the semantic analysis result to obtain a selected service “service type: weather; place: Beijing; date: today”.       

       FIG. 9   a  is a schematic diagram showing the third embodiment of the automatic service selection section according to the present invention. 
     This automatic service selection section of the third embodiment complements a natural language query from a user based on a fact base. 
     Such service selection section comprises an input unit  91  for receiving the inputted semantic analysis result, a lost content searching unit  92  for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule, determines the lost service parameter based on the matched service mapping rule, and extracting from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query, a fact matching unit  93  for matching the semantic analysis result with each fact in the fact base  96 , finding a matched fact and extracting the default value in the matched fact as the parameter value lost in the current query, a query complementing unit  94  for adding the service type, the lost parameter and the parameter value of the lost parameter into the semantic analysis query so as to obtain the selected service, and an output unit  95  for outputting the selected service. 
       FIG. 9   b  shows a flowchart of the third embodiment of the automatic service selecting method according to this invention. 
     At S 901 , the input unit  91  receives a semantically-analyzed query in natural language from the user. The lost content searching unit  92  at S 902  matches the semantic analysis result with the service mapping rule in the service mapping rule base  160 , finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit  92  is the same as that used in the method shown in  FIG. 6   b.    
     At S 903 , the fact matching unit  93  finds a matched fact by matching the semantic analysis result with each fact in the fact base  96  and extracting the default value in the matched fact as the parameter value lost in the current query. The determination of the matched fact is made such that a fact is considered as the matched query if (1) the service type obtained at the lost content searching step is identical to that of a fact in the fact base; and/or (2) the lost parameter in the fact is identical to that obtained at the lost content searching step. 
     At S 904 , the service type, the lost parameter and the parameter value of the lost parameter are added into the semantic analysis result to obtain the selected service. Finally, the selected service is outputted at S 905 . 
       FIG. 9   c  shows an example of the implementation of service selection, in which the user makes a query of “how high is the temperature in Beijing?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing”.
         First step of searching lost content: the first rule in the service mapping rule base has the same requirement “how high is the temperature” as that of the semantic analysis result, and the service parameters “&lt;place&gt;;&lt;date&gt;” contain the parameter “place” of the semantic analysis result, the first rule is therefore taken as a matched rule, with the service type “weather” being extracted and “date” being the parameter lost in the query;   Second step of fact matching: the service type of the second fact is “weather”, and the lost parameter is also “date”, this fact is thus regarded as the matched fact, and the default value “today” is extracted from the fact;   Final step of complementing the query: adding the service type “weather”, the lost parameter “date” and the lost parameter value “today” into the semantic analysis result to obtain a selected service “service type: weather; place: Beijing; date: today”.       

       FIG. 10   a  shows a natural language based service query system according to an embodiment of the present invention. The difference between  FIGS. 10   a  and  1   a  is that the natural language based service query system in  FIG. 10   a  further comprises a determining device  70  and a complete query processing device  80 . The determining device  70  determines whether a query inputted by a user is complete. The query will be processed by the service selecting device  30  if it is determined as incomplete, otherwise the query will be transferred to the complete query processing device  80 . 
     The determining device  70  determines whether a rule exactly matched with the semantic analysis result of a user query can be found by comparing the semantic analysis result with all service mapping rules, and, if a matched rule is found, then sends the semantic analysis result and the number of the matched rule to the complete query processing device  80 ; otherwise sends the semantic analysis result to the service selecting device  30 . Here, a rule can be regarded as a matched rule if it meets the following conditions: 
     (1) the rule has the same requirement as that of the semantic analysis result; 
     (2) all service parameters required by the rule are contained in the semantic analysis result. 
     As shown in  FIG. 10   b , the user makes a query of “how high is the temperature in Beijing today?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing; date; today”. This result is exactly matched with the fist rule in the service mapping rule base, since the requirement of the result is the same as that of the rule, and the result contains all the parameters “place” and “date” of the rule. Therefore, the semantic analysis result and the number of the matched rule are sent to the complete query processing device  80  together. 
     The complete query processing device  80  is adapted to process those complete (without any lost content) queries to acquire the selected service. It finds out a matched rule from the service mapping rule base according to the number of the matched rule obtained by the determining unit, extract the service type and then generate the selected service by combining the semantic analysis result. Here, a selected service usually comprises one service type and a set of service parameters. 
     Take as an example the user query of “how high is the temperature in Beijing today?”, it is exactly matched with the first rule in the service mapping rule base. Thus, the service type “weather” of this rule is extracted and the selected service is generated as “service type: weather; place: Beijing; date: today”. 
     In conclusion, the above service query system can process both an incomplete query and a complete query, and thus find out an answer corresponding to the incomplete or complete query. 
       FIGS. 12   a  and  12   b  show a schematic diagram for applying the service selecting device according to the present invention to a mobile terminal and an ASP (Active Server Page), respectively. As shown in  FIG. 12   a , the semantic analyzing device, the service selecting device and the retrieving device can be embedded together into the mobile terminal. Now turning to  FIG. 12   b , the semantic analyzing device, the service selecting device and the retrieving device can also be embedded into the ASP so that the user can be provided with more convenient and rapid query service. 
     While the present invention has been described with reference to the above particular embodiments, the present invention should be defined by the appended claims other than these specific embodiments. It is obvious to those ordinarily skilled in the art that any change or modification can be made without departing from the scope and spirit of the present invention.