U.S. patent application number 12/432667 was filed with the patent office on 2009-09-10 for searching for services in natural language.
This patent application is currently assigned to IAC SEARCH & MEDIA, INC.. Invention is credited to Tomasz Imielinski.
Application Number | 20090228457 12/432667 |
Document ID | / |
Family ID | 38369944 |
Filed Date | 2009-09-10 |
United States Patent
Application |
20090228457 |
Kind Code |
A1 |
Imielinski; Tomasz |
September 10, 2009 |
SEARCHING FOR SERVICES IN NATURAL LANGUAGE
Abstract
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.
Inventors: |
Imielinski; Tomasz;
(Princeton, NJ) |
Correspondence
Address: |
SONNENSCHEIN NATH & ROSENTHAL LLP
P.O. BOX 061080, WACKER DRIVE STATION, SEARS TOWER
CHICAGO
IL
60606-1080
US
|
Assignee: |
IAC SEARCH & MEDIA,
INC.
New York
NY
|
Family ID: |
38369944 |
Appl. No.: |
12/432667 |
Filed: |
April 29, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11347192 |
Feb 2, 2006 |
|
|
|
12432667 |
|
|
|
|
Current U.S.
Class: |
1/1 ;
707/999.003; 707/E17.014; 707/E17.015; 707/E17.108 |
Current CPC
Class: |
G06F 16/951
20190101 |
Class at
Publication: |
707/3 ;
707/E17.015; 707/E17.014; 707/E17.108 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
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.
Description
FIELD OF THE INVENTION
[0001] 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 INVENTION
[0002] The 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.
[0003] 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.
[0004] 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 INVENTION
[0005] The 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] The method may include identifying the search query as a
query for a service.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] The method may also include converting the search query into
a natural language service search statement.
[0017] 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.
[0018] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The invention is described by way of example with reference
to the accompanying drawings, wherein:
[0020] FIG. 1 is a block diagram illustrating a system for natural
language service searching in accordance with one embodiment of the
invention;
[0021] FIG. 2 is a process flow diagram showing a method for
generating service metastatement descriptions to be searched in
accordance with one embodiment of the invention;
[0022] FIG. 2A is a process flow diagram showing a detailed method
for generating service metastatement descriptions to be searched in
accordance with one embodiment of the invention;
[0023] FIG. 3 is a process flow diagram showing a method for
locating and indexing the service metastatements descriptions to be
searched in accordance with one embodiment of the invention;
[0024] FIG. 4 is a process flow diagram showing a method for
receiving a search query for a service and providing a result to
the search query in accordance with one embodiment of the
invention;
[0025] FIG. 4A is a process flow diagram showing a detailed method
for receiving a search query for a service and providing a result
to the search query in accordance with one embodiment of the
invention;
[0026] FIG. 5 is a screen shot of a web service application for a
search system showing a link to identify a query for services;
and
[0027] FIG. 6 is a block diagram showing links to identify a search
query, each of the links associated with a corresponding index and
database.
DETAILED DESCRIPTION
[0028] FIG. 1, of the accompanying drawings, illustrates a network
system 8 which is used to improve search results for services. The
network system 8 includes a search system 10. The search system 10
includes a web search server 12, an indexer 14, a database 16, and
a crawler 18. The web search server 12 includes first, second,
third and fourth databases 20a-20d. The network system 8 also
includes a search engine 22, a plurality of client systems 24, a
plurality of service supplier systems 26 and a network 28. The
network 28 is illustrated as a first, second and third network 28a,
28b and 28c; however, it is envisioned that each of the networks
28a-28c may be the same network. The plurality of client systems 24
includes client systems 30a-30e. Each of the client systems 30a-30e
includes a web search application 32a-32e, respectively. The
plurality of service supplier systems 26 includes service supplier
systems 34a-34e. Each of the service supplier systems 34a-34e
includes a web page 36a-36e, respectively.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] FIG. 2 illustrates a method for generating service
descriptions which will be used by the plurality of service
supplier systems 26 illustrated in FIG. 1. The method begins by
generating service questions to be answered at block 40. This is
followed by identifying service questions to be triggered as an
answer at block 42. At block 44, service answers are generated from
the questions, which are combined to form a service metastatement
description. The service metastatement descriptions are then stored
at block 48 so that the search engine crawler 18 can locate the
service metastatement descriptions.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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."
[0044] 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.
[0045] 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."
[0046] 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."
[0047] FIG. 2A illustrates a more detailed method for creating a
service metastatement description. At block 40a, 42a, target
questions (TQ) are formed for the service. At block 44a, the
natural language service metastatement description is generated
from the target questions (TQ) by rewriting the questions into
answers automatically or by tagging desired answers with
appropriate questions from TQ. At block 46a, the target questions
are answered using a re-write mechanism, such as, for example,
Direct Answers From Search (DAFS). DAFS is an algorithm which is
used to reformulate search queries received as natural language
questions into statements which can be exactly matched, but which
can be used to generate the service metastatement description.
[0048] FIG. 3 illustrates a method for identifying the service
descriptions and storing them with the search system 10 of FIG. 1.
The search system 10 initiates crawling at block 50. This is
followed by extracting service descriptions from the service
providers at block 52. The service descriptions are then stored at
the service description database at block 54 and these service
description databases are indexed at block 56 as a service
description.
[0049] 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.
[0050] FIG. 4 illustrates a method for providing search results to
search queries directed to services. The process begins by
receiving a search query for a service at block 58. This is
followed by converting the search queries for a service into a
natural language service search statement at block 60. The service
description index is then searched for service descriptions
matching the search query at block 62. Finally, the search engine
provides a search result at block 64. In one embodiment, the search
result is in the form of a natural language answer. However, the
search result may not be in the form of a natural language answer.
For example, the search result may be a hyperlink linking the
submitter of the search query to the service provider's website.
The search result may be similar to conventional search results
provided in response to search queries (similar to search results
provided by Ask.com, Google.com or other searching systems).
[0051] FIG. 4A illustrates a more detailed method for performing
the above method. At block 58a, an epistemic question (EQ) is
submitted, typically by the client. At block 62a, the EQ is matched
against the epistemic descriptions of date sources (i.e., service
metastatement descriptions), which have been previously indexed by
the search engine. The data sources may include other search
engines and databases. At block 64a, an answer to the EQ is
returned.
[0052] FIG. 5 shows an exemplary screen shot of a search engine web
application 32 which can be used to perform the above methods in
accordance with one embodiment of the invention. The web
application 32 includes links 70-80, which are used to identify
that the search query is for services, products, local information,
news, pictures and the web, respectively.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] FIG. 6 illustrates the databases and indexes associated with
each of the tabs or links 70 located on the web search application
32 (as described herein with reference to FIG. 5). The services
link 70 is associated with a service index 82 and a corresponding
service database 84. The products link 82 is associated with a
product index 86 and a corresponding product database 88. The local
link 74 is associated with a local index 90 and a corresponding
local database 92. The news link 76 is associated with a news index
94 and a corresponding news database 96. The pictures link 78 is
associated with a picture index 98 and a corresponding picture
database 100. The web link 80 is associated with a web index 102
and a corresponding web database 104.
[0058] 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.
[0059] 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."
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
* * * * *
References