1. Field of the Invention
This invention is related to providing a semantic computing system (SCS) that allows user(s) of a computing system (a desktop computer, a cell phone, a server or a network of computers) to create, search, use and manipulate its resources (including personal and shared data resources such as files and database records, and personal and shared tool resources such as programs and devices) based on commands and annotations expressed in natural language.
2. Description of the Related Art
Most modern computing systems (e.g., Windows) are icon and menu driven. Such systems are restricted because:
An alternative way to access data and tool resources is to use a command language. Unix, for example, has a set of commands available to the user. However the existing command languages are very restricted. For example, in Unix a command is a verb followed by a set of nouns, where the verb is basically the name of a program and no condition clauses is allowed. In addition, the arguments (i.e., the nouns) of a command are usually restricted to file names; they cannot be logical objects or descriptions of logical objects.
It is therefore desired that a user can interact with the resources in a computing system via a command language that is based on natural language, where a resource may be an internal resource on a computer such as a file, a program or any logical object, or it may be an Internet resource such as a service or a web document, where the resources needed can be derived and applied from a command sentence.
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 a semantic computing system for a computing system (a desktop computer, a cell phone, a server or a network of computers) that allows its user(s) to search, use, create and/or manipulate the resources in natural language. This is different from traditional computing systems that are driven by menus, icons or simple commands with command-line arguments.
The following subsections describe a semantic computing 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.
A Semantic Computing System (SCS) runs on top of an existing computing system to provide the user with a natural language interface to search, use, create and/or manipulate resources in the system, where
The architecture of an SCS is shown in
In the case the computing system is shared by multiple users, the SCS also creates a mailbox for each resource, each command sentence that has been posted, each user, and any group of the above that can be defined by the administrator. The SCS has a Communication Processor that allows users to communicate by sending/receiving messages to/from a mailbox. In this case, a message, a user or a mailbox is also considered a data resource.
Following are some example command sentences.
Example 1: Given a dataset of images, classify blobs of images in a dataset.
Classify blobs of image from image “skd-1”
Example 2: Open a file that describes how to make cookies.
Open file that describes how to make cookies
Example 3: Open a file with the name “semantic”.
Open file whose name is “semantic”
Example 4: Look up dictionary.
Look up dictionary
Example 5: Look up dictionary and find definition for the word “semantic”.
Look up dictionary for definition of the word “semantic”
Example 6: Change the wall paper (of the monitor) to winter with snow flakes.
Change wall paper to Winter with snow flakes
A data resource in an SCS is annotated by a noun phrase.
Example 7: A file with the name “semantic”.
a file whose name is “semantic”
A tool resource in an SCS is annotated using an imperative sentence.
Example 8: Given a dataset, find distribution of some variables over others.
Find distribution of a variable over a list of variables in a dataset
Example 9: Given a set of video clips, find those containing a scene similar to a given scene.
Find clips of a dataset of video clips that are similar to a video clip
A data resource in an SCS may be annotated at the time it is created. For example, in Example 2 and Example 3 if the target file resource does not exist, the noun phrase becomes the annotation of the file data resource. A resource may also be annotated after it is created.