SEARCHING FOR SERVICES IN NATURAL LANGUAGE
A method for answering search queries about services is disclosed. The method includes searching a plurality of storage media on a network for a natural language service metastatement. The natural language service metastatement is typically generated by a service provider and describes the services provided by the service provider in detail. The method also includes locating the natural language service metastatement in the storage media and extracting the natural language metastatement from the storage media. The method also includes indexing the natural language metastatement in a service description index. Thus, when a search query for a service is received, the service description index is searched for a natural language service metastatement corresponding to the search query, and the search result is provided in the form of a natural language answer.
Latest IAC SEARCH & MEDIA, INC. Patents:
- Service pack deployment in a method and system for providing answers to requests
- Automatic scaling of system for providing answers to requests
- Batch crawl and fast crawl clusters for question and answer search engine
- Image extraction service for question and answer search engine
- AUTOMATIC SCALING OF SYSTEM FOR PROVIDING ANSWERS TO REQUESTS
This invention relates to the field of searches for services and, in particular, to systems and methods for searching for services in natural language.
BACKGROUND OF THE INVENTIONThe Internet is a global network of computer systems and websites. These computer systems include a variety of documents, files, databases, and the like, which include information covering a variety of topics. It can be difficult for users of the Internet to locate this information on the Internet.
Search engines are used by most people to locate this information on the Internet. The websites and computer systems have mechanisms for describing the content of their websites and computer systems, which are used by these search engines to help users to locate the information on the Internet. Well known mechanisms for describing content of sources and web services, such as Web Services Description Language (WSDL; http://www.w3.org/TR/2001/Note-wsdl-20010315), DARPA Agent Markup Language (DAML; http://www.daml.org), Ontology Web Language-Services (OWL-S; http://www.w3.org/TR/2004/REC-owl-features-20040210/#s1.2), Language for Advertisement and Request for Knowledge Sharing (LARKS), and ontology builders, such as description logics, Database Query Language (DQL) and Resource Description Framework (RDF), are very complex and their documentation (W3C) runs into hundreds of pages. Querying these formal descriptions requires sophisticated extensions to Structured Query Language (SQL) (like Requirements Query Language (RQL)). However, these formalisms limit the searchability of the descriptions by search engines.
Users typically enter key words into the search forms of the search engine. The search engine then executes the search and provides a result of the search. For the most part, the result of the search is a list of hyperlinks to various websites having the desired information. A summary of information may also be provided on a results page. However, the results page often includes irrelevant results. In particular, if a user is looking for detailed information in a particular area, they may have a difficult time framing their search to find results that match their search criteria.
SUMMARY OF THE INVENTIONThe invention provides a method for answering search queries about services, which includes generating natural language service metastatements for a provider of services; and publishing the natural language service metastatements.
The natural language service metastatements may be published by storing the natural language service metastatements such that a crawler associated with a search engine can locate the natural language service metastatements.
Natural language service metastatements may be generated by providing at least one target question to the provider of services; and automatically rephrasing the at least one target question into a statement using the answers of the provider of services.
The provider of services may provide a plurality of synonyms in response to the at least one target question. The natural language service metatstatement may include a plurality of statements. At least one of the plurality of statements may include an epistemic predicate.
The invention also provides a method for answering search queries about services, which includes extracting a natural language service metastatement description for a provider of services; and indexing the natural language service metastatement in an index.
The index may be a service index. The service index may include the locations of the natural language service metastatements descriptions for the provider of services in a database associated with the service index. The service index may include the locations of the natural language service metastatements descriptions for the provider of services on the web. A crawler associated with a search engine may extract the natural language service metastatements description.
The invention further provides a method for answering search queries about services, which includes receiving a search query for a service; searching a service description index for a natural language service metastatement corresponding to the search query; and providing a search result to the search query using the natural language service metastatement corresponding to the search query.
The method may include identifying the search query as a query for a service.
The search query may be identified as a query for a service by tagging the search query for a service in the form of a natural language question as a search query for a service.
The search query may be identified as a query for a service by allowing a user to identify that the search query is for a service in the form of a natural language question.
The method may also include allowing the user to identify that the search query is for a service in the form of a natural language question by allowing the user to select an identifier for a search query for a service.
The method may also include converting the search query into a natural language service search statement.
The search query may be in the form of a natural language question. The search result may be in the form of a natural language answer.
The invention further provides a method for answering search queries about services, which includes searching a plurality of storage media on a network for a natural language service metastatement, the natural language service metastatement being generated by a service provider and describing the services provided by the service provider in detail; locating the natural language service metastatement in one of the storage media; extracting the natural language metastatement from one of the storage media; indexing the natural language metastatement in a service description index; receiving a search query for a service; converting the search query for a service into a natural language service search statement; searching the service description index for a natural language service metastatement corresponding to the natural language service search statement; and providing a search result in the form of a natural language answer to the search query using the natural language service metastatement corresponding to the natural language service search statement.
The invention is described by way of example with reference to the accompanying drawings, wherein:
Although six client systems 30a-30e, web search applications 32a-32e, service supplier systems 34a-34e and web pages 36a-36e are shown, it will be appreciated that any number of client systems 30a-30e, web search applications 32a-32e, service supplier systems 34a-34e and web pages 36a-36e may be used, including a fewer number or greater number.
The web search server 12 and indexer 14 are in communication with one another. The indexer 14 and database 16 are also in communication with one another. The crawler 18 capable of communicating with the database 16.
The search engine 22 is in communication with the web search server 12 in search system 10. The search engine 22 is also in communication with the plurality of client systems 24. The plurality of client systems 24 are in communication with search engine 22 over the network 28a.
The plurality of service supplier systems 26 are in communication with the crawler 18 of search system 10 over the network 28c. The plurality of client systems 24 are capable of communicating with the plurality of service supplier systems 26 over the network 28b.
The web search server 12 is typically a computer system, and may be an HTTP server. It is envisioned that the search engine 22 may be located at the web search server 12.
The indexer 14 is typically a software program which is used to create an index, which is then stored in memory. The index is typically a table of alphanumeric terms with a corresponding list of the documents corresponding to the alphanumeric terms or the location of documents corresponding to the alphanumeric terms (e.g., a pointer). The pointer may be a URL. The indexer 14 may build a hash table, in which a numerical value is attached to the terms. The database 16 is stored in a storage media, which typically includes the documents which are indexed by indexer 14. The index may be included in the same storage media as the database 16 or in a different storage media. The storage media may be volatile or non-volatile memory that includes, for example, read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices and zip drives.
The crawler 18 is a software program or software robot, which is typically used to build lists of the information found on Web sites. Another common term for the crawler 18 is a spider. The crawler 18 typically keeps track of the information located in its search and where the information is found.
The databases 20a-d are stored in storage media, and typically include more specific information than database 16. Thus, databases 20a-d may be directed to information directed to products for sale, services offered by companies, news information, photos, maps, local information and the like. Although four databases 20a-e are illustrated, any number of databases may be used, including a lesser or greater number. The databases 20a-d may also have an index associated therewith, which may be similar to the index discussed above. However, the index associated with the databases 20a-d would be limited to the information located in each of the databases 20a-d. Thus, if one of the databases is directed to services offered by companies, then the index associated with the database would be limited to the service information located in that database.
The network 28 is a local area network (LAN), wide area network (WAN), a telephone network, such as the Public Switched Telephone Network (PSTN), an intranet, the Internet, or combinations thereof.
The client systems 30a-30e and service supplier systems 34a-34e are mainframes, minicomputers, personal computers, laptops, personal digital assistants (PDA), cell phones, and the like. The client systems 30a-30e and service supplier systems 34a-34e are characterized in that they are capable of being connected to the network 28.
The above method is typically performed by the plurality of service supplier systems 26. The method allows service providers to identify their services by identifying questions to which the service provider is the answer. The questions are converted into a service metastatement description, which is a declarative description of the services. The service metastatement description is typically generated by either the search system or by the plurality of service supplier systems 26.
The questions may be converted into the service metastatement description using software, which automatically converts the questions into a statement. Alternatively, the service provider may simply convert the questions into the statement or write the statement without first identifying questions. However, it is advantageous to have the service providers identify questions to which it is answer and convert the questions automatically because the resulting metastatement description will have the correct format to be searched. The conversion may occur at the remote site. Alternatively, the search engine may provide the tools to convert the questions into the metastatement description.
As discussed above, the descriptions are generated by first specifying a set of target questions for which the given service is the answer to. The service provider, who typically creates the description can write questions which the service provider wants to rephrase; that is, the search provider determines the search queries that the service provider wants to have matched against the metastatement description corresponding to the services offered by the service provider.
The service descriptions are natural language descriptions of the services provided by the service suppliers. Descriptions provided by search engines and databases will typically include statements beginning with the predicate “I know,” which can be queried using natural language questions. For example, if a search query is received for “Who knows about when patents were granted,” then the answer to the search query is “The U.S.P.T.O. knows.” If the question is instead “What does ask.com know about cities,” then the answer is “Ask.com knows the populations, capitals, crime rates, etc.”
Similarly, descriptions provided by businesses selling a product will typically include statements beginning with the predicate “I sell,” which can be queried using natural language questions, as described above. The service providers can also specify, in addition to the products that they sell, the prices that they sell the products for and where they sell those products. Similarly, the service providers can specify related services they offer, other than selling products. Thus, the service providers are able to advertise all of the services they offer, can also optionally advertise details about those services, such as, for example, the price, location, etc.
An exemplary set of questions and corresponding service metastatement description will now be described. If the service provider is a Ford car dealership, exemplary questions include: Who sells a Taurus? Who sells Explorers? Who leases a Taurus? Who sells cars? Who leases cars? What services does the Ford car dealership provide? The answers to the above questions are: Ford car dealership sells a Taurus; Ford car dealership sells Explorers; Ford car dealership leases a Taurus; Ford car dealership sells cars; Ford car dealership leases cars; Ford car dealership provides selling, leasing and servicing of vehicles. The service metastatement description for the Ford car dealership is, “Ford car dealership sells a Taurus. Ford car dealership sells Explorers. Ford car dealership leases a Taurus. Ford car dealership sells cars. Ford car dealership leases cars. Ford car dealership provides selling, leasing and servicing of vehicles.”
Another exemplary set of questions and corresponding service metastatement description will now be described. If the service provider is ASK.COM, a search engine website, exemplary questions include: What questions does ASK.COM answer? What does ASK.COM know? Exemplary answers to the above questions are: ASK.COM answers questions about populations of countries; ASK.COM knows about calories of foods; ASK.COM answers questions about calories of a banana. A service metastatement description corresponding to the above answers is, “ASK.COM answers questions about populations of countries. ASK.COM knows about calories of foods. ASK.COM answers questions about calories of a banana.”
The crawler 18 is used to crawl the plurality of service supplier systems 26 to locate the service metastatement descriptions. The crawler 18 employs software robots to build lists of the service metastatement descriptions. The crawler 18 may include one or more crawlers to search the plurality of service supplier systems 26. The crawler 18 extracts the service metastatement descriptions and stores them in the database 16. The indexer 14 creates an index of service metastatement descriptions stored in the database 16. Alternatively, if a database 16 is not used, the indexer 14 creates an index of service metastatement descriptions and where the descriptions are located in the Internet (typically a URL). The index created by the indexer 14 may be stored with a database (one of databases 20a-20e), which only includes the service metastatement descriptions located by the crawler 18.
In order to identify that a service search query has been received, the search system 10 may provide a tab or a link on the web search application 32a-32e so that users (or clients) of the search engine can identify the query as a query for service providers.
Alternatively, question tagging can be used to identify that the search query for service providers has been requested. Question tagging is described in U.S. Provisional Patent Application Ser. No. 60/702,524 filed on Jul. 25, 2005 (client code 006560.P040Z), which is hereby incorporated by reference. Question tagging uses a meta-table and a question answering algorithm that uses the meta-table to classify and better answer queries.
Question tagging can also be used to perform the search. If question tagging is used to perform the search, the search query does not need to be converted from a search query into a search statement.
DAFS may also be used to convert the search query into a search statement. DAFS rewrites questions into answer templates and matches the answer template directly within documents without the user having to learn any query language, nor forcing the user to fill in laborious forms.
The service metastatement descriptions are typically stored in the service database 84 at the search engine and are indexed in the service index 82, which is searched when a search query for a service is received.
Exemplary search questions include “who sells tickets to knitting factory shows,” “who installs satellite antennas in Princeton,” “what new cars does a certain dealership sell,” “who knows about country populations,” “who knows about rankings of baseball players,” “who answers direct questions about inventions,” and “who sells Pentium laptops for less than $1,000.”
An exemplary search query and corresponding answer will now be described. An exemplary search query for a service is: Who sells a Taurus? The corresponding answer, using the first example given above is: Ford card dealership sells a Taurus.
An exemplary search query and corresponding answer will now be described. An exemplary search query for a service is: Who knows about city populations? The corresponding answer, using the second example given above is: ASK.COM knows about city populations.
The system and methods described herein are advantageous because they allow service suppliers to create natural language descriptions of the services that they offer. Since the service providers typically generate the searchable descriptions, they are more accurate. In addition, the format of the description leads to improved capability and accuracy in answering natural language questions. In addition the service suppliers are able to self-advertise their services more efficiently. Since the system uses natural language, only one language is needed to generate the service descriptions and answer the search queries. Thus, no other computing languages are necessary. This simplifies the search process for users because they enter their response in natural language and receive the result in natural language.
The foregoing description with attached drawings is only illustrative of possible embodiments of the described method and should only be construed as such. Other persons of ordinary skill in the art will realize that many other specific embodiments are possible that fall within the scope and spirit of the present idea. The scope of the invention is indicated by the following claims rather than by the foregoing description. Any and all modifications which come within the meaning and range of equivalency of the following claims are to be considered within their scope.
Claims
1-6. (canceled)
7. A method for answering search queries about services comprising:
- extracting a natural language service metastatement description for a provider of services; and
- indexing the natural language service metastatement in an index.
8. The method of claim 7, wherein the index is a service index.
9. The method of claim 8, wherein the service index comprises the locations of the natural language service metastatements descriptions for the provider of services in a database associated with the service index.
10. The method of claim 8, wherein the service index comprises the locations of the natural language service metastatements descriptions for the provider of services on the web.
11. The method of claim 7, wherein a crawler associated with a search engine extracts the natural language service metastatements description.
12-19. (canceled)
20. A method for answering search queries about services comprising:
- searching a plurality of storage media on a network for a natural language service metastatement, the natural language service metastatement being generated by a service provider and describing the services provided by the service provider in detail;
- locating the natural language service metastatement in one of the storage media;
- extracting the natural language metastatement from one of the storage media;
- indexing the natural language metastatement in a service description index;
- receiving a search query for a service;
- converting the search query for a service into a natural language service search statement;
- searching the service description index for a natural language service metastatement corresponding to the natural language service search statement; and
- providing a search result in the form of a natural language answer to the search query using the natural language service metastatement corresponding to the natural language service search statement.
Type: Application
Filed: Apr 29, 2009
Publication Date: Sep 10, 2009
Applicant: IAC SEARCH & MEDIA, INC. (New York, NY)
Inventor: Tomasz Imielinski (Princeton, NJ)
Application Number: 12/432,667
International Classification: G06F 17/30 (20060101);