1. Field of the Invention
The present invention relates to computer networking and communication, including Web-based communications and commerce.
2. Related Art
The World Wide Web is increasingly becoming the Internet technology relied upon for conducting electronic commerce and communication. The World Wide Web, also called the Web or WWW, has three basic parts: client software, servers and content. Client software runs on a user""s computer and, among other things, provides the graphical user-interface through which a user can xe2x80x9cbrowsexe2x80x9d or xe2x80x9csurfxe2x80x9d the Web. Servers (also called Web servers) are computers that provide the content to users through a communication link. Content can be any kind of multi-media, e.g., images, text, animation, motion video, sound, and Java applets.
Communication between a browser and a server is carried out through Hyper Text Transfer Protocol (HTTP), Hyper Text Transfer Protocol-Secure (HTTPS) or other Web-compatible protocol. Web content is primarily transferred in Web documents or files, called Web pages, which are addressed by a Uniform Resource Locator (URL). Web pages are often multi-media hypertext documents written in a HyperText Markup Language (HTML) which supports hyper-linking. Data entry in Web pages allows users to make selections and fill-out template or profiles to facilitate user input. For example, scripts are often run on servers through a Common Gateway Interface (CGI) to implement data entry. Programming languages, such as, Java, are also being extended to support data entry on the Web.
These parts are well-suited for electronic communication and commerce between remote users. Indeed, the popularity and use of the Internet and World Wide Web has increased drarnatically. The number of Web sites and Web pages continues to grow. As the Internet has experienced explosive growth, the amount of information available has reached staggering proportions. But, this seemingly endless excess of information creates one of the most challenging issues on the Internet today. Put simply, the ability to intelligently and reliably connect users to xe2x80x98just the right informationxe2x80x99, represents a continuing challenge, and a huge opportunity.
There is currently awide selection ofweb-based xe2x80x98search enginesxe2x80x99 to search this information (AltaVista, Excite, InfoSeek, AskJeeves, Northern Light, Google, etc.). Search engines use different ways to try to find information most relevant to user""s search query. For example, index-based search engines index Internet documents to facilitate searching. The ever-growing amount makes it difficult to index Internet content. Indeed, some estimate only 15%-20% of Internet information or data is indexed at present. This approach can also be overly literal and can fail to take into account words having a similar meaning to words of a search query. Concept-based search engines rely on a taxonomy (also called a tree) to facilitate searching data but are also limited in their ability to deliver the xe2x80x9cright informationxe2x80x9d sought by a user.
For instance, general-purpose navigational search engines (including index type or concept type search engines) are designed to search the entire Internet, that is, they are meant to help people navigate to locations on the Internet that may contain relevant information. They are not easily used to search subsets of coherent data such as a database of independent contractors and their skill sets. Such search engines generally do not leverage knowledge about data in a database to facilitate search query formulation. Knowledge about data in a database is further not leveraged interactively with a user to facilitate and focus a search in real-time.
Many search engines include some level of search xe2x80x98intelligencexe2x80x99. The xe2x80x98intelligencexe2x80x99 of intelligent search engines is primarily in the form of natural language algorithms that are used to interpret a question posed by the user. For example, when using AltaVista to pose a search query xe2x80x9cHow can I find independent contractors that know SQL?xe2x80x9d the question is actually interpreted as xe2x80x9cfind independent contractors know sqlxe2x80x9d. The 20 or more pages of results returned are of two primary forms: 1) Accounting, legal and self-help sites that discuss xe2x80x9chiring contractorsxe2x80x9d, and 2) xe2x80x9cfinding home improvement contractorsxe2x80x9dxe2x80x94obviously not a useful result set for a focused search. All of the current search engines return similar results. In addition, once a result set is returned, a user is left alone to formulate additional search queries.
For most people, understanding how to use today""s search engines effectively is a non-trivial endeavor. Even with natural language intelligence, and Boolean search criteria (AND, OR, NOT, etc.), the mechanics of developing an effective question to pose to a search engine is at best daunting for most users, and at worst simply beyond their ability. For example, if we were to ask the majority of non-technical users what the term xe2x80x98Booleanxe2x80x99 means, we""d get a very clear idea of why today""s search engines have along way to go towards reaching a goal of connecting users with xe2x80x98just the right informationxe2x80x99xe2x80x94most users don""t know what a Boolean expression is or how to use one. The fact is that users need help in determining how to form their questions, and they need to understand how the formation of the question can affect the results.
Some search engines provide an indication of how many total hits or records are associated with a search parameter. For example, FIGS. 10A and 10B show an example screen shot from a realty search engine hosted by Seaside realty (downloaded Apr. 13, 2000). The search engine displays the total number of records associated with each particular xe2x80x9cAmenitiesxe2x80x9d search parameter. In this way, a user knows for example that selecting a non-smoking parameter in a search will yield at most 31 records or xe2x80x9chitsxe2x80x9d while selecting a Hot Tub amenity will yield at most 68 records. This information is helpful, but limited. Users typically wish to formulate queries involving multiple search parameters and/or Boolean parameters. This indication is also based on the total records not the results of an actual search. This display of total records is predetermined for all searchers and search queries, and is not generated adaptively in response to a specific user query. Such predetermined displays put an additional burden on users who must read each search parameter including irrelevant parameters and guess how their search might be impacted.
In sum, problems exist in finding the right information sought by users on the Internet. Most search engines are meant to search the entire Internet-they cannot easily be coerced into searching subsets of related data in intelligent ways. Natural language and Boolean operators are useful, but they are not actually helpful to most non-technical usersxe2x80x94users need help in forming their questions. A result set that is typically returned from a natural language search is rarely fully relevant. When a result set is returned by today""s search engines, help is not provided to either narrow or broaden the search effectively based on actual search results.
What is needed is a system that can understand what users are looking for, understand the data in a database, and present immediately useful suggestions for finding the right information. Helpful choices or pointers need to be presented to enable a user to further narrow or broaden a search intelligently.
The present invention provides a search engine and data management technology that can understand what users are looking for, understand the data in a database, and present immediately useful suggestions for finding the right information. Executable suggestions are presented that enable a user to further narrow or broaden a search intelligently and adaptively in real-time. Each executable suggestion describes and encapsulates a change to the original search criteria and provides information on the actual search results a user will obtain according to this search criteria. In this way, a user is provided with insight on consequences of a potential new criteria prior to actually conducting the search and obtaining new search results. A user then adaptively direct a search to the right informnation more quickly and effectively. Selecting an executable suggestion to broaden or narrow a search is also a user-friendly and simple way for a user to further direct a search.
A method, system, and computer program product for interactive, intelligent searching of data elements in a multi-dimensional knowledge base is provided. In one embodiment of the present invention, a system has a suggestion engine and one or more suggestion spaces. Each suggestion space has at least one data structure representative of relationships between data elements for a respective search dimension in the knowledge base. In one example, suggestion tables are used as the data structures. These suggestion tables can represent taxonomies generated by a knowledge expert.
The suggestion engine interrogates the suggestion space based on scope change search criteria. For example, the scope change criteria can indicate whether the suggestion engine is to interrogate for broader or narrower search results. The suggestion engine obtains scope change search results and generates a smart tip that represents the scope change and the number or resulting search results. The smart tip can than be used to display an executable suggestion for a broader and/or narrower search.
In one implementation, data elements in the knowledge base data include job posting and Independent Consulting (IC) profile data. The smart tip includes scope change search criteria, node and search results information. The executable suggestion can be displayed to the user to query the user whether a broader or narrower search is to be executed given the returned node and search results information.
According to one feature, the suggestion space includes suggestion tables stored in the knowledge base and an in-memory suggestion space stored in memory to speed access time. A suggestion space populator and suggestion space updater are also provided to populate and update the content in the in-memory suggestion space.
According to another feature, a suggestion structure builder is coupled between the knowledge base and the suggestion tables. The suggestion structure builder receives an input from a knowledge expert and generates an output to modify the suggestion tables in accordance with the user input. A knowledge base suggestion mapper can also be coupled between the knowledge base and the suggestion tables to convert data between the knowledge base and suggestion tables.
In one implementation, a system is provided that further includes a query builder, a tip formatter, a tip interface, a smart domain module, and a searchable interface.
In one embodiment, a method for interactive searching is provided that includes the steps of receiving a search query. identifying at least one parameter in the search query that corresponds to a dimension in a suggestion space, interrogating the suggestion space to determine scope change search results based on a scope change search criteria, and creating a smart tip that represents the scope change search results, whereby an executable suggestion can be provided to a user based on the smart tip.
Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.