1. Field of the Invention
This invention is related to an SNL (Structured Natural Language) based search system (SNLSS) that allows Internet users to search services (tools, database, online services, etc.) based on problem statements expressed in one or more structured natural languages.
2. Description of the Related Art
The commercial world is mostly about demands and supplies. In most cases demands trigger supplies, and in some cases supplies create demands. A more general concept for needs may be problems, and that for supplies may be solutions.
The Internet has provided a global infrastructure to connect problems with solutions. For example eBay has done a great job on auctions. A keyword-based search engine such as Google may be considered as a special problem solver that solves the problem: Find (Web) documents that contain the keywords provided by the user. A Question/Answering (Q&A) system may be considered as another special problem solver that solves the problem: Find answers for the question (based on the documents collected by the system).
Both keyword-based search engines and Q&A system have done an excellent job for the problems they try to solve. But from the view point of Problem Solving, they are far from being sufficient. It can be easily seen that not every problem falls into the two general categories we talked about. Any computer scientist may easily come up the following list:
Our main point is not to classify all the problems. What actually interests us is matching problems with solutions. The Internet does provide us an infrastructure to connect problems and solutions, but we may have not fully utilized this infrastructure. So far it has been useful for trading. If we can extend the concept of trading from goods to problems and buyers to solutions, we may have a new story for the Internet.
For purposes of summarizing the invention, certain aspects, advantages and novel features of the invention have been described herein. It should be understood that not necessarily all such aspects, advantages or features will be embodied in any particular embodiment of the invention.
This invention provides an Internet search system that allows users to search for services (tools, content, online services, etc.) by composing a problem statement in a structured natural language. This is different from traditional search systems in which user needs are expressed in terms of keywords. This is also different from traditional Question and Answering (Q&A) systems in which user needs are expressed as questions.
The following subsections describe a semantic search system that embodies various inventive features. The various inventive features can be implemented differently than described herein. Thus, the following description is intended only to illustrate, and not limit, the scope of the present invention.
The Structured Natural Language based Search System (SNLSS) provides users with a problem-driven interface to search for a service according to users' problems, where a service may be an online service, an online database, or a web service that provides its API for composing more complex services. The architecture of SNLSS is shown in
An SNL is a subset of natural language whose sentences are imperative sentences of natural language with at least one additional constraint on its grammar. For example we can define one SNL (called SNL-1) whose structure is defined by the following, where reserved words are expressed in upper-case letters:
We will later refer to “[GIVEN <noun phrase>]” as a GIVEN phrase, and “[WITH <noun phrase>]” as a WITH phrase. In the above, a condition clause modifies a noun specified earlier in the sentence, the notation [ . . . ] means the text pattern enclosed by the pair of brackets is optional, the notation [ . . . ]*designates the text pattern enclosed by the pair of brackets may occur zero, one or more times, and “AS $<variable-id>” defines a variable whose name has to be preceded by ‘$’. Variables, once defined, can be used in the verb phrase and any condition clause. Any variable defined in a GIVEN phrase can be used in a WITH phrase.
Following are some example sentences described in SNL-1. Note that a sentence may be a query sentence or a capability sentence, depending on who (service consumer or service provider) enters the sentence.
Example 1: Given a dataset of images, classify blobs of images in a dataset.
GIVEN a dataset of images
Classify blobs of images
Example 2: Given an image dataset, identify blob clusters that look like a satellite.
GIVEN a dataset of images AS $x
Identify blobs of images of $x
THAT looks like a satellite
Example 3: Given a dataset, identify blob clusters not overlapping with other blob clusters.
GIVEN a dataset of images
Identify blobs of images
THAT are not overlapping
Example 4: Given a dataset, find distribution of some variables over others.
GIVEN a dataset of variables [x1, x2, . . . , x10]
Find distribution of x5 over [x1, x4]
Example 5: Given a set of video clips, find those containing a scene similar to a given scene.
GIVEN a dataset of video clips
GIVEN a video clip $x
Find clips
THAT are similar to $x
In the above, $x is a variable. In SNL, a variable is preceded by a dollar sign (‘$’) and can be created with a GIVEN phrase.
GIVEN a dataset of web pages
Find a web page
THAT containing an answer for ‘ . . . ’
Below is another SNL; let us call it SNL-2:
[THAT <condition clause> AND THAT <condition clause> . . . ]
Example 7: Who invented telephone?
THAT invented telephone
Yet below is another SNL; let us call it SNL-3:
[THAT <condition clause> AND THAT <condition clause> . . . ]
Service discovery in SNLSS contains two phases: service registration and service matching.