WO2001080177A2 - Interactive intelligent searching with executable suggestions - Google Patents
Interactive intelligent searching with executable suggestions Download PDFInfo
- Publication number
- WO2001080177A2 WO2001080177A2 PCT/US2001/012510 US0112510W WO0180177A2 WO 2001080177 A2 WO2001080177 A2 WO 2001080177A2 US 0112510 W US0112510 W US 0112510W WO 0180177 A2 WO0180177 A2 WO 0180177A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- suggestion
- search
- smart
- space
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/934—Information retrieval or Information management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
Definitions
- the present invention relates to computer networking and communication, including Web-based communications and commerce.
- 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 "browse” or “surf the Web.
- Servers also called Web servers
- 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.
- HTML HyperText Markup Language
- 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.
- CGI Common Gateway Interface
- Programming languages, such as, a Java are also being extended to support data entry on the Web.
- search engines use different ways to try to find information most relevant to user's search query.
- 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 "right information" sought by a user.
- general-purpose navigational search engines including index type or concept type search engines are designed to search the entire
- 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.
- search engines include some level of search 'intelligence'.
- the 'intelligence' 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 "How can I find independent contractors that l ⁇ ow SQL?" the question is actually interpreted as "find independent contractors know sql".
- the 20 or more pages of results returned are of two primary forms: 1) Accounting, legal and self-help sites that discuss "hiring contractors", and 2) "finding home improvement contractors” — obviously not a useful result set for efficiently performed 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.
- FIGs . 10 A and 1 OB show an example screen shot from a realty search engine hosted by Seaside realty (downloaded April 13, 2000).
- the search engine displays the total number of records associated with each particular "Amenities" search parameter.
- a user l ⁇ iows for example that selecting a non-smoking parameter in a search will yield at most 31 records or "hits" 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.
- Natural language and Boolean operators are useful, but they are not actually helpful to most non-technical users ⁇ users need help in forming their questions.
- a result set that is typically returned from a natural language search is rarely fully relevant.
- help is not provided to either narrow or broaden the search effectively based on actual search results.
- 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 a possible search and corresponding 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 complete search results.
- a user then adaptively direct a search to the right information 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 l ⁇ iowledge base is provided.
- 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.
- 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.
- 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 search results.
- the smart tip can than be used to display an executable suggestion for a broader and/or narrower search.
- data elements in the knowledge base data include job posting and IC profile data.
- the smart tip includes scope change search criteria, node and search results information.
- the executable suggestion can be displayed to user to query the user whether a broader or narrower search is to be executed given the returned node and search results information.
- 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.
- 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.
- a system is provided that further includes a query builder, a tip formatter, a tip interface, a smart domain module, and a searchable interface.
- a method for interactive searching 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.
- FIG. 1 is a block diagram of an interactive intelligent search and data system according to one embodiment of the present invention.
- FIG. 2 is a block diagram further illustrating a suggestion space used in the interactive intelligent search and data system of FIG. 1 according to one embodiment of the present invention.
- FIG. 3 is a block diagram further illustrating a suggestion engine used in the interactive intelligent search and data system of FIG. 1 according to one embodiment of the present invention.
- FIGs. 4A and 4B are a flowchart of a routine for interactive searching according to one embodiment of the present invention.
- FIG. 5 is a flowchart showing in further detail a step in FIG. 4B of interrogating smart domains for scope change search results according to one example implementation of the present invention.
- FIG. 6 shows an example screen displayed to a user that includes executable suggestions for widening or narrowing a search according to one embodiment of the present invention.
- FIGs. 7A, 7B, and 7C show screens served to a hiring manager as part of a search for independent consultants.
- FIG. 8 is a diagram of an example Web site portal that can incorporate the present invention.
- FIG. 9 A is a diagram of an example internetwork environment according to the present invention.
- FIG. 9B shows a simplified four-layered communication model supporting Web commerce.
- FIG.9C is a block diagram of a computer system according to an example implementation of the present invention.
- FIGs. 10A and 1 OB show an example search screen displayed at a site for a realtor, Seaside realty, that only displays a limited indication of total records (number of matching homes) associated with particular amenities.
- FIGs. 10A and 1 OB show an example search screen displayed at a site for a realtor, Seaside realty, that only displays a limited indication of total records (number of matching homes) associated with particular amenities.
- the present invention provides a method, system, and computer program product for interactive searching over the World Wide Web (also referred to as WWW or the Web).
- Search engine and data management technology are provided 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 a possible search and corresponding 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 complete search results.
- a user then adaptively direct a search to the right information more quickly and effectively. Selecting an executable suggestion to broaden or narrow a search, is also a user-friendly and a simple way for a user to further direct a search.
- the present invention is described with respect to searching over the Web.
- the present invention is not necessarily limited to the Web and can be applied in any interactive, computer networking service, including but not limited to the Web.
- real-time means information, such as a user input and a host site response, can be exchanged in a round-trip cycle between a remote user and the host site with little or no delay, such as, within seconds or minutes (any delay being essentially a function of the communication medium and devices connected between a user and the host site) .
- a l ⁇ iowledge base refers to any one or more databases or other data storage devices that can be searched.
- a l ⁇ iowledge base can include, but is not limited to, a Structured Query language (SQL) Server 7 database.
- SQL Structured Query language
- search dimension is a variable in a search query whose value can be modified to affect the results of a query.
- search dimension in a database of resume data and job posting data can include, but is not limited to, skill, category, location, availability, etc.
- smart domain also called a smart domain module
- smart domain module refers to a subsystem which, given a value, returns values in the same search dimension which are more general and more specific. It also returns the IDs of jobs or profiles having characteristics meeting these new values.
- the functionality of a smart domain can be included as part of a suggestion space and/or suggestion engine.
- Tip formatter is a subsystem responsible for taking search values and their associated job/profile IDs from the suggestion engine and formatting them as smart tips.
- Smart tips are tips returned to the user after a search of the knowledge base which allow executable suggestions to be displayed for widening or narrowing the search to find more or fewer items.
- smart tips provide the ability to re-execute a query, with the suggested change in scope, through a mouse click.
- a taxonomy is a hierarchical representation of data elements and the relationships between them.
- sampling engine refers to a subsystem in the present invention responsible for analyzing queries, interrogating smart domains (including suggestion spaces), and passing the results of the interrogation on to tip formatter.
- sampling space refers to subsystem in the present invention that includes the data which represents relationships between descriptive elements in the knowledge base and the mapping of these relationships to designated search dimensions (e.g., jobs and profiles). This subsystem also contain the processes necessary for building and maintaining these relationships.
- the present invention provides an intelligent interactive search and data system that instead of simply returning a result set from a database search, also presents "executable suggestions" (also referred to as “smart tips") for narrowing or expanding the search.
- executable suggestions also referred to as “smart tips”
- an executable suggestion for a search for an independent consultant might be:
- This suggestion is actually executable in that the user can simply click a button in a browser display window to "execute" the suggestion. This presents immediately useful, executable suggestions for finding the right information.
- the owner of a database can develop a system where l ⁇ iowledge of the data in the database and knowledge of the query being executed by the end-user is translated into information that will help the end-user find 'just the right information', that is, the most 'correct match'
- This solution has to do with two primary areas of knowledge: (1) knowledge of the data (including meta-data) and (2) knowledge of the end-user query.
- the owner of a database (such as the host site database) has the ability to create systems that can analyze and understand the data values in the database in profound ways. This analysis can capture the possible relationships represented by the data, and more importantly the possible meanings of the relationships of the data in the database.
- This l ⁇ iowledge of the data in the database is typically stored in the form of statistics and related cross-references about or derived from the data (this is called 'meta-data', i.e. information about the information).
- This meta-data can be derived from automated analysis of the data (called 'OLAP' for On-Line Analytical Processing). OLAP then is used to create multi-dimensional indexes (sometimes referred to as 'reverse multi-dimensional indexes) into the data that can be used to access the data in powerful ways.
- a system With respect to knowledge of the end-user query, by analyzing the component parts of queries developed by end-users to search a local or known database, a system, according to the present invention, can gain knowledge of what users are looking for. Furthermore, by storing and analyzing end-user queries over time, a system can categorize queries and learn about such things as the most used query, least used query, most successful query, least successful query, and more. The collection and analysis of meta-data about data in a database along with the l ⁇ iowledge of what end-users are searching for, and the knowledge of historical query analysis can then be used to develop real-time dynamic matches and executable suggestions that will help ensure the best possible matches are being found - that is, connecting the end-user to 'just the right information' .
- the present invention provides many benefits.
- the number of high- quality matches on a database is increased. If the success of the owner of a database is based on the number of high-quality matches found by an end-user, then increasing the number of high-quality matches will increase the success of the owner of the database and its Web site.
- the suggestion engine then presents the end-result of meta-data collection, OLAP analysis and query analysis in Web search service in the form of dynamic, immediately useful suggestions that can actually be executed by the end-user to either narrow or expand the results of a specific query.
- FIG. 1 is a block diagram of a smart data system 100 according to one embodiment of the present invention.
- Smart data system 100 is an interactive intelligent search and data system.
- Smart data system 100 includes a suggestion space 110 coupled to a suggestion engine 120.
- Suggestion space 110 is responsible for building and maintaining the relationships between elements in knowledge base 115.
- Suggestion engine 120 is responsible for interpreting queries, interrogating suggestion space 110, and returning smart tips 126.
- Smart data system 100 is coupled to knowledge base 115, knowledge search interface 125, and knowledge expert 135. Smart data system 100 sends data requests 117 to retrieve data knowledge base 115. Knowledge base 115 returns knowledge base data 118 to smart data system 100.
- knowledge base data 118 can include both job posting and IC profile data.
- Knowledge base 115 can also send triggers 116.
- Triggers 116 are database triggers that are fired when specified data elements change. In this way, smart domain system 100, and in particular, corresponding data in suggestion space 110, is updated and consistent with data content in knowledge base 115.
- Knowledge search interface 125 sends queries (e.g., query parameters
- Smart tips 126 are output from smart data system 100 to l ⁇ iowledge base search interface 125.
- a smart tip 126 can include modified search criteria and a value representing the change in result set count that will occur if a search were done with this modified criteria.
- Knowledge base search interface 125 can then display smart tip 126 as an executable suggestion to the user.
- knowledge base search interface 125 can be a Web browser. In this case, smart tip 126 is displayed as an executable suggestion in a browser window.
- Knowledge expert 135 can also provide subj ect knowledge 136 to smart domain system 100.
- Subject knowledge 136 can be any intellectual knowledge from a subject matter expert about the relationships between different elements or search dimensions in knowledge base 115.
- subject knowledge 136 can 136 can be used to create and/or modify taxonomies.
- Subject knowledge 136 is generated manually and/or in an automated fashion.
- smart data system 100 is a component of a web site that supports searching of knowledge base 115 by users. These users can be independent consultants looking for engagements or recruiters looking for qualified job candidates. Smart data system 100 uses data in l ⁇ iowledge base 115 along with subject l ⁇ iowledge 136 to build internal structures (e.g., taxonomies) describing how elements in the knowledge base 115 relate to one another. A search input through l ⁇ iowledge base search interface 125 interrogates smart data system 100 via query parameters 128. Smart data system 100 uses these parameters to traverse its internal data structures looking for ways of narrowing and/or widening the search. The results of the narrower and/or wider searches are aggregated, evaluated and returned in the form of smart tips 126. The structure and operation of smart data system 100 is described further with respect to FIGs. 2 to 8. 5. Suggestion Space
- FIG. 2 is a block diagram further illustrating a suggestion space 110 according to one embodiment of the present invention.
- suggestion space 110 is actually comprised of one or more suggestion spaces, each having relevance over a respective search dimension.
- a host database according to one embodiment consists of multiple suggestion spaces each of which apply to a different search dimension related to job posting and IC profile data.
- Some of the suggestion spaces included are for skill, category, industry, location, degree, and availability.
- Each individual suggestion spaces has unique characteristics that depend upon its own respective search dimension, but shares a set of common characteristics as described herein with respect to the example suggestion space 110.
- suggestion space 110 is primarily a set of database tables (suggestion tables 210) that relate searchable data elements to each other. These relationships are the basis for determining how changes in the search criteria affect the number of items in the result set. Beyond the database, the data and relationships represented in these tables may be replicated (in whole or in part) in memory resident structures 260 in smart domain system 100. This can be done to speed performance in traversing the suggestion space.
- suggestion space 110 further includes suggestion tables 210, l ⁇ iowledge space suggestion mapper 220, suggestion structure builder 230, suggestion space modulator 240, suggestion space updater 250, and in- memory suggestion space 260.
- Suggestion tables 210 are coupled to l ⁇ iowledge base 115.
- suggestion tables 210 and knowledge base 115 can be part of a common database on a host site.
- Suggestion tables 210 hold information about the relationships between elements in knowledge base 115.
- Suggestion tables 210 also map relationship endpoints to the jobs and profiles in the knowledge base that have these characteristics . This mapping is done through j ob and profile identifiers (Ids).
- Knowledge expert 135 can be an individual or automated agent having expertise in a particular area whose knowledge is used to define and build the relationships in suggestion tables 210.
- Suggestion structure builder 230 is coupled between kno wledge base 115 and l ⁇ iowledge expert 135.
- Suggestion structure builder 230 is module that helps knowledge expert 135 build relationships in suggestion tables 210. For some suggestion tables 210, this process may be an entirely manual process through a user-interface while for others, it may include executable programs to aid in this task.
- Knowledge base suggestion mapper 220 is a module that analyzes the relationship end-points in suggestion tables 210. It then searches knowledge base 115 for jobs and profiles having those end-points as characteristics.
- Knowledge base suggestion mapper 220 receives the corresponding job IDs and profile IDs 216 and writes them into suggestion tables 210.
- Suggestion space populator 240 is a module that reads the relationships and ID mappings from suggestions tables 210 and populates a memory-resident data structure 260 with this information. This structure can then be searched quickly by suggestion engine 120.
- In-memory suggestion space 260 then is a set of data structures, mirroring the relationships and mappings in the suggestion tables 210, which reside in memory (e.g., a cache or other memory with a fast access time). These structures can be searched by suggestion engine 120 to identify narrowing and widening criteria for searches.
- Suggestion space updater 250 is a module that reacts to changes (e.g. data writes) in suggestion tables 210 and propagates those changes into in-memory suggestion space(s) 260. In- memory suggestion space 260, suggestion space populator 240, and suggestion space updater 250 are each optional and can be omitted if performance optimization is not an issue or if querying suggestion tables 210 in a database is not too slow.
- suggestion engine 120 is coupled to suggestion space 110 (either directly to suggestion tables 210 or to in-memory suggestion space 260).
- Suggestion engine 120 interrogates suggestion space 110 based on node and search criteria.
- Suggestion engine 120 then obtains a node and corresponding profile and job IDs associated with the modified search results (wider or narrow search results).
- Suggestion space tables 210 are initially built from data in knowledge base 115 and input from experts 135 in various fields of study represented in the knowledge base. Once the suggestion space 110 is built it is populated with the IDs of the jobs and profiles that are characterized by the elements in this structure. The tables 210 are then kept up to date using triggers 216 in knowledge base 115. For example, when a consultant adds/removes a skill from their profile, that consultant's profile ID is then added/removed from the appropriate table(s) 210 in the suggestion space (and the table in the in-memory suggestion space 260 through the work of suggestion space updater 250).
- suggestion space populator 240 reads the suggestion space tables from the database and populates in-memory data structures with this relationship information.
- the target data structures may have a different architecture than the database tables in order to optimize in-memory searching, but they will represent the same information.
- the memory-resident suggestion data in space 260 will be kept up to date through triggers attached to the suggestion space database tables 210.
- Suggestion engine 120 can query either the in-memory data structures 260 or the suggestion space database tables 210 for information on narrowing or widening a search. 7.
- Example suggestion tables 210 are described below. These examples relate to search dimensions in a database having job posting and IC profile information.
- the dimensions of the data included in the suggestion tables are category, skill, location, degree, field of study, availability, and industry. These examples are illustrative and not intended to limit the present invention.
- the suggestion tables are grouped by the search dimension to which they apply.
- One possibility here is to actually expand the proximity requirement before it is sent to the database. This will return more rows than the user requests. The rows meeting the original proximity requirement are returned to the user, the others are evaluated to discover proximity spheres within which the number of items can be counted. The sphere distance, along with the extra number of items can be returned as a smart tip.
- the system may be able to use the existing table (DegreeType) in the database with a ranking field added along with ID tables.
- FIG. 3 is a block diagram illustrating smart data system 100 in further detail according to one embodiment of the present invention.
- smart data system 100 includes suggestion engine 120, tip formatter 310, tip interface 320, query builder 330, smart domain registrar 340, searchable interface 350, smart domain modules 360, and query formatter 370.
- Suggestion engine 120 acts as a controller of smart data system 100.
- Smart domain modules 360 are responsible for interacting with respective suggestion spaces.
- four smart domain modules 362, 365, 366, and 367 are provided for respective search dimensions (location, category, skill, and any other parameter.
- Tip formatter 310 is responsible for formatting smart tips for presentation to a user.
- Tip interface 320 is a communication interface (such as, an application programming interface (API)) between tip formatter 310 and suggestion 120.
- Searchable interface 350 is a communication interface (such as, an application programming interface (API)) between smart domain modules 360 and suggestion engine 120.
- Query builder 330 is coupled to suggestion engine 120.
- Query builder 330 converts query parameters from input formats (e.g., search queries, strings, etc) to a converted format compatible with suggestion engine 120.
- Smart domain registrar 340 is a module within suggestion engine 120 that is responsible for registering components of smart domain system 100. In particular, smart domain registrar 340 registers (and unregisters) each smart domain module 360 and tip formatter 310.
- Suggestion engine 120 is a module that is the controller of smart data system 100.
- Suggestion engine 120 can call registered smart domain modules 360 (e.g., a location smart domain 362, category smart domain 365, skill smart domain 366, or a smart domain for another search dimension or parameter 367).
- Suggestion engine 120 provides node and search criteria to a smart domain module 360.
- a "node” can be any data element or value within a suggestion table in a suggestion space.
- the "search criteria" is a value identifying whether to broaden and/or narrow a search.
- Suggestion engine 120 receives search results for broader and/or narrower searches in the suggestion space that can be passed to tip formatter 310 to generate smart tips.
- each smart domain module 360 includes an agent and a suggestion space.
- location smart domain module 362 includes a location agent 363 coupled to suggestion space 364.
- Location agent 363 is a module that traverses suggestion space 364 based on the node and search criteria passed from suggestion engine 120 and returns node and the search results of the broader and/or narrower search(es).
- the search results can include record identifiers of hits found in the broader and/or narrower search(es) of a suggestion space. For example, the search results from location suggestion space
- location agent 364 can be profile Ids and/or job posting Ids. Location agent 363 then passes node and profile Ids and/or job posting Ids through search interface 350 to suggestion engine 120. Counts of the profile Ids and job Ids can also be passed. Note in an alternative example, location agent 363 can be included (all or in part) in suggestion engine 120 (or in search interface 350) instead of in smart domain module 362, as would be apparent to a person skilled in the art given this description.
- Suggestion engine 120 breaks input query parameters into individual search dimensions and determines if any registered smart domain modules 360 work in those search dimensions. Suggestion engine 120 then calls the appropriate smart domain (through searchable interface 350) to retrieve narrowing and widening nodes (data elements) and search results (e.g., profile Ids, job IDs). After calling all appropriate smart domains 360, suggestion engine 120 aggregates and normalizes the returned results (e.g., profile Ids, job IDs) within each search dimension. Finally, Suggestion engine 120 packages up the resulting data elements and IDs into smart tips and determines which of the registered tip formatter 310 to call.
- Tip formatter 310 is then called by suggestion engine 120 to format the returned search results and node information into executable search suggestions (also called smart tips) for presentation to another system.
- Smart domain module 360-367 also called smart domains
- Smart domains contain the data and knowledge required to suggest changes in a single search dimension that will narrow and widen the number of items in a search' s result set.
- Smart domain module 360- 367 register themselves with suggestion engine 120 (i.e., registrar 340) specifying the search dimension of which they have l ⁇ iowledge.
- smart domain module 360-367 implement searchable interface 350 providing them a standard means of communication with suggestion engine 120.
- Smart domain module 360-367 (which can include agents), when requested, traverse through their known suggestion space to find criteria that are either more general or more specific. Once found, these criteria are used to query suggestion tables 210 to obtain the IDs of data elements that meet these new criteria. The new criteria and resulting IDs are then returned to suggestion engine 120.
- searchable interface 350 defines a standard set of methods that must be implemented by a smart domain 360. This is the method by which smart domains 360 are abstracted from suggestion engine 120. If a smart domain 360 implements this interface and registers itself with the suggestion engine 120, the engine 120 can be guaranteed that the interface methods will be available. This allows for the dynamic addition of new smart domains without modifying the suggestion engine (e.g., without modifying hardware or software in the suggestion engine).
- Tip formatters 310 are subsystems that interpret smart tips and format them for use by an external system (such as browser). Tip formatters 310 also register themselves with suggestion engine 120 and specify their output type in registering. Tip formatters 310 can implement a smart tips interface 320 to provide a standard means of communicating with the suggestion engine 120. When requested, tip formatters 310 know how to read smart tips and transform them into a predefined format for use by an external system (e.g., a browser). Tips interface 320 defines a standard set of methods that must be implemented by a tip formatter 310. In this optional example, then, the formatting of smart tips is abstracted from suggestion engine 120 through this interface. If a tip formatter 310 implements this interface and registers itself with suggestion engine 120, the engine can be guaranteed that the interface methods will be available.
- FIGs. 4A and 4B are a flowchart of a routine 400 for interactive searching according to one embodiment of the present invention (steps 402-480).
- smart domains 360 can be instantiated and register themselves with suggestion engine 120 specifying the search dimension for which they can provide information (step 402).
- Tip formatters 310 can also be instantiated and registered with suggestion engine 120 specifying the type of formatting output they provide (step 404).
- the search is then begun (step 410).
- Query builder 330 receives a search query input by a user and converts, if necessary, the query to format compatible with suggestion engine 120 (steps 412 and 420).
- Suggestion engine 120 takes query parameters input from query builder 330. These query parameters correspond to a request for information about a search. Suggestion engine 120 parses through these parameters identifying the search dimension and search value of each (step 430).
- suggestion engine 120 processes a parameter, it looks through its internal list of registered smart domains 360 to find those that apply to that parameter's search dimension. If an appropriate smart domain 360 is identified it is traversed to return the value and associated IDs of either a more general or a more specific search criteria (steps 440-480). For example, in step 440, the appropriate smart domain 360 is interrogated to determine a baseline search result (corresponding to the unmodified, initial search query). Next, smart domain 360 is interrogated for scope change search results (step 450).
- FIG. 5 is a flowchart showing in further detail a step 450 of interrogating smart domains 360 for scope change search results according to one example implementation of the present invention.
- a smart domain 360 e.g. location agent 363 takes a search value (e.g. location in Oakland, CA) and a scope change criteria (either narrow or widen) as input to a request (step 510).
- Smart domain 360 e.g. agent 363) locates a suggestion space (e.g. suggestion space 364) (step 520), and then traverses the suggestion space in either a widening or narrowing manner looking for related values (step 530).
- the smart domain 360 finds it determines which provides the most appropriate change in results given the scope change criteria (broaden or narrow). It makes this determination by analyzing the number of IDs associated with each candidate value. Once the 'best' value is determined (step 540), the smart domain (e.g. agent 363) returns that value and its associated IDs to suggestion engine 120 (step 540).
- Suggestion engine 120 gathers all the new scope change search result values and their associated Ids and reconciles them with the previously determined baseline search results (step 460). For example, it aggregates and normalizes the IDs one search dimension at a time determining the change in result set count for each change in search value. Suggestion engine 120 then constructs a smart tip (also called a suggestion or hint) from these new values and associated ID counts (step 470). Once the smart tips are built, suggestion engine 120 looks through its internal list of tip formatters 310 for one that will output the smart tip in a desired format for an executable suggestion (step 480).
- FIG. 6 shows an example screen displayed to a user that includes executable suggestions for widening or narrowing a search according to one embodiment of the present invention. In this way, executable suggestions help lead a user interactively and adaptively in real-time to the right information.
- FIGs. 7A, 7B, and 7C show screens served to a hiring manager as part of a inputting a profile for a search for independent consultants. Executable suggestions are generated as described above to further guide a hiring manager while they are configuring and entering a profile through these screens.
- FIG. 8 is a diagram of an example Web site portal that can incorporate the present invention.
- the display screens described herein are illustrative and not intended to limit the present invention. For example, a smaller or larger number of screens can be used. Different types of information and format can be included in screens in accordance with the present invention. Any type of user input entry device can be used, including but not limited to templates, forms, voice or other data entry mode.
- smart tips come in several flavors throughout a Web site. Some smart tips are generated by the smart data system 100, others are simply static text presented to help the user. The purpose ofsmart tips is to help the user: 1) enter information correctly/completely, 2) 'up- sell' the user at appropriate times, or 3) make suggestions to help the user find 'just the right information' by automatically narrowing or expanding a search.
- Static Smart Tips these are simply static text messages that always appear on certain pages in the site. For example, on the skills section of the IC professional profile creation screen, there is a static smart tip of the form "Use Buzzwords, Employers search our database primarily by keyword. To improve your changes of being hired, use keywords that describe valuable skills".
- Dynamic Smart Tips these are tips that appear based on some action the user has taken on the site, or related to where the user is on the site or what they are trying to accomplish.
- the actual text of a Dynamic Smart Tip is not actually dynamic, however when and whether these tips appear is, in fact dynamic.
- a simple example of a Dynamic Smart Tip is that while a user if filling out a job posting, we might suggest that it' s critically important to fill in a particular field. If the user has already filled in the field, the Dynamic Smart Tip doesn't appear.
- a more complex example of a Dynamic Smart Tip is when a user finishes completing a j ob posting, smart data system 100 might present a tip that attempts to 'up-seir them to a for-fee service, such as "Create a Pre-screening Test", "Become a Featured Employer”, "Make this job posting 'rise to the top' by making it a Featured Posting", etc.
- Dynamic Smart Tips generated by the smart data system 100 are the most complex types of dynamic smart tips. They are generated 'on-the-fly' in realtime. Dynamic smart tips are one way to ensure that more high-quality matches will occur on a Web service. They are based on an analysis of the query the user is executing and the 'cross-indexing' of the knowledge base. They are used to present suggestions to the user for either narrowing or expanding the results of a search on a web site.
- smart data system 100 While a user is filling out a form (professional profile, job posting, etc.), smart data system 100 will present Static or Dynamic Smart Tips to help ensure that the forms are completed correctly, or to help encourage the user to fill out certain fields completely or with suggested content (keywords v. sentences, etc.)
- Dynamic Smart Tips are presented to help encourage users to take an additional action or purchase an upgraded service.
- smart data system 100 can provide smart tips to automatically narrow or expand their search results. This will help ensure that more high-quality matches will occur on the web site service.
- smart data system 100 is used to improve on the inefficiencies present in current job search processes on the Web.
- the present invention takes advantage of the targeted scope of the knowledge base (e.g. jobs and profiles) as well as the ability to analyze this local data to direct users to the information they are looking for.
- This application produces further advantages and benefits in Web recruiting and employments services.
- Smart data system 100 benefits both employers searching for qualified independent consultants and independent consultants searching for engagements. Smart data system 100 can provide the best suggestions for both narrowing and expanding the scope of a search.
- the result set returned to the user may have too many or too few items for the user's liking.
- smart data system 100 provides suggestions for narrowing the search. Following these suggestions will result in fewer items in the result set.
- Smart data system 100 provides suggestions for expanding the search.
- Smart data system 100 further supports Boolean relationships between query parameters.
- Boolean relationships (and/or relationships) between the query parameters affect how they are interpreted, thereby affecting the number of items returned in the result set.
- Smart data system 100 understands the differences between these relationships and accurately reflect how changes in the search criteria will effect the result set considering these relationships. Smart data system 100 returns results in a timely manner. The speed of Smart data system 100 is important. Once a user has launched a search, they want their results back quickly. These results include both the result set of the search and the associated smart tips. If the search process becomes slow and frustrating to the user, although it may return useful information, they will go elsewhere. While returning the result, set of the search quickly is of primary importance, there is some leeway in returning the smart tips in certain applications. This is due to the fact that it will take the user some amount of time to interpret the result set to determine if they have too many results, too few results, or the correct number. During this time, smart data system 100 can be generating smart tips and dynamically populating the search page with them for execution by the user when ready.
- smart data system 100 can scale without significant degradation of performance as user count and concurrent use count increases.
- Smart data system 100 can also understand criteria weighting.
- both recruiters and consultants can be allowed to weight or prioritize the criteria they specify during a search, (i.e. they specify which criteria is most important to them).
- Smart data system 100 accounts for these weightings and makes executable suggestions in accordance with them. For example, if a recruiter searches for a consultant indicating that their proximity to the job is the most important criteria, Smart data system 100 offers suggestions in other search dimensions before suggesting that the recruiter change their proximity requirement.
- smart data system 100 can be developed as a licensable technology. Given the state of search capabilities on the internet today, it is anticipated that the type of searching capabilities according to the present invention would be of tremendous value to other companies with a targeted knowledge base. Smart data system 100 can be applied to other companies' knowledge base searching problems with a minimal amount of changes. All interfaces to specific data in knowledge base 115 can be sufficiently abstracted so that the core technology could be reused on other databases. Application of the Smart data system 100 on another data set would then require only a coupling to an interface to the new data set.
- smart data system 100 can be made platform independent to allow customers or licensees to implement the system on a platform of the customer's choice.
- smart data system 100 can have access to these changes as quickly as possible to provide quality information. This requires that smart data system 100 internal storage structures be updated at or close to real time. Smart data system 100 can also be extensible. As knowledge base 115 expands and evolves, new search requirements may surface. Smart data system 100 can be designed to make the addition of new search criteria as easy as possible. A new search module can be plugged in without having to modify other components. Other possible designs and applications of smart data system 100, not intended to limit the present invention, include the following options. Searching is generally done against values that are normalized out of specific instances and enumerated in a separate table. This holds true for skill, category, field of study, degree, industry, etc.
- Each search dimension (e.g. skill, category, availability, etc.) can have its own suggestion space that relates elements to each other without influence from other search dimensions. This does not imply that the smart data system 100 will only provide smart tips in one dimension for a given search. It can provide smart data system 100 in many search dimensions. However, in one example, each of these smart tips indicates how the result set will change if the given suggestion is used and all other search criteria remain the same.
- Each search dimension e.g. category, skills, proximity, etc.
- one smart tip returned from smart data system 100 represents a change in one search dimension.
- a smart tip may state that expanding the proximity to job requirement 10 miles will return 20 more consultants.
- Two tips are used to expand the proximity to job requirement 10 miles AND include C++ as a skill will return 35 more consultants.
- One tip states that expanding the proximity to job requirement 10 miles will return 20 more consultants.
- the other tip states that including C++ as a skill will return 23 more consultants.
- Another aspect of the present invention is that three types of searches (quick, smart, and guided) can be provided for a Web service. All three search mechanisms can focus on 'finding ICs' and/or 'finding Job Postings'.
- All search mechanisms on the service are similar in the following ways: 1. All search mechanisms use the same underlying searching and matching technology, i.e. the smart tips and smart data system 100. 2. All search mechanisms present results in a consistent manner. I.e. the same (or very similar) search result screens will be presented - the 'standard search results screen' . 3. All search mechanisms present result sets (lists of data) that can be sorted further via column headings presented on the results page (e.g. sort the list by date, years of experience, location, etc.). The three types of search screens are used:
- Quick Search this is a simplest form of search on a site, similar to many other 'one button' search mechanisms on the web today. Basically this is a small window (or button), that allows the user to type in one or more keywords and click submit ('Go', etc.). This would then execute a keyword search and present the results in the standard search results screen. Smart Search — this is a step up in complexity, just above Quick Search.
- the lists of search criteria is grouped by job category and possibly industry, etc. Lists of information presented to the user in Guided Search are derived initially from the data in the resume database. I.e. the potential list of criteria will be derived from the actual data and then a human will make the ' final cut' on the presentation of the Guided Search approach.
- smart data system 100 can use taxonomies in its suggestion spaces.
- a brief description of lexical taxonomy is provided. This description is illustrative, and not intended to limit the present invention, as other type of taxonomies and data structures can be used.
- a feature of a web site is the ability to match independent consultants with projects. Typically this would be accomplished through a search of the data initiated by either the consultant or the employer. Independent consultants would be searching for projects (engagements) that interest them. Hiring managers would be searching for consultants that meet certain criteria. The ability to provide credible, relevant matches will directly contribute to the user experience and, ultimately, the success of the web site.
- a conceptual taxonomy provides a much better mechanism for evaluating the relevance of a query against the document base.
- a conceptual taxonomy can be thought of as hierarchical organization of concepts that linlcs each concept to its 'most specific subsumers' (i.e. the most specific known concepts that are more general than the concept in question) and to other semantically-related concepts (e.g. those in which this concept is a modifier). This structure can then be used to find connections between terms of a request and related concepts in the index.
- the first step in building a conceptual taxonomy solution to searching is to analyze the document base to be searched identifying concepts and the relationships between them.
- a reference to the location of the document embodying a concept (and possibly the location within the document) is kept with the concept instance.
- This step segments a series of characters into tokens, (words, symbols, punctuation, etc.) Rules are applied in an attempt to normalize such things as phone numbers, email addresses, hyphenated words, etc. E. Analyze
- Tokens identified in the previous step are analyzed to identify their true meaning. This is known as disambiguation. Once identified a determination can be made on what to do with them. Identifying a word involves not only looking at the word itself, but the words around it as well. Is it a noun, a verb, part of a phrase, etc.? Does it have a known semantic relationship to other words?
- a lexicon is used to help identify words. This lexicon will usually include syntactic and semantic information about words and phrases including information about different word senses and interpretations. These lexicons are quite large and labor intensive to build. Fortunately there are several available in the public domain.
- Words that cannot be found in the lexicon are put through a process known as morphology. This process tries to evaluate the word and change it into something recognizable. Derivational rules are applied to words with identifiable prefixes and suffixes, inflection rules are applied to determine verb tense, and lexical compounding, or word concatenation, (e.g. shoelace) is identified. The ultimate goal of this step is to find a word that can be evaluated in the lexicon.
- phrases Extraction A group of words (a phrase) may embody a different concept than the sum of the concepts of the individual words within that phrase. This step attempts to identify phrases and map them to a single concept that can be entered into the taxonomy.
- This process looks at entities in the source document and attempts to identify them by concept. Entities are evaluated from largest (phrase) to smallest (word). Phrases are analyzed for related, more general concepts that subsume the phrase concept. For example, the phrase 'automobile upholstery cleaning' generates three concepts: [automobile upholstery cleaning], [automobile cleaning], and [upholstery cleaning]. The two shorter phrases represent more general concepts that subsume the initial concept and may subsume other related concepts that would then be conceptually clustered. These subsuming phrases will themselves be subsumed by more general phrases. So the taxonomy would look something like: [cleaning]
- the target concept could be reached through two different concept trees giving the user a better chance of finding it.
- phrases are broken down until individual word entities are reached.
- the concepts of these words are indexed in the taxonomy as well using the lexicon for related concepts.
- the word 'treat' may be indexed under the conceptual action [cure] as well as the conceptual noun [snack].
- the conceptual taxonomy can be used to find relevant information in the document base. Queries are evaluated against the taxonomy to locate documents that are in the same 'conceptual neighborhood' as the request.
- the triggering mechanism for using the taxonomy is a request for data.
- This request is typically written in the English language and has many of the same qualities as items in the document base. Therefore, many of the same processes applied to the document base would be applied to the request. These include tokenization, analysis, morphology, and phrase extraction. For a more detailed discussion of these topics see the previous section.
- the lexicon to be used during analysis could be built by hand. This would provide a more precise and knowledge-aware lexicon than one covering the entire English language.
- the term 'concept' may take on a more specific, and sometimes different, meaning. Since the document base contains documents only of a specific nature, concepts can be more narrowly defined and many concepts can be disregarded altogether. For example it is of no interest that [employee] may ultimately be subsumed by [mammal]. One could argue that the entire [mammal] branch of the taxonomy should be trimmed from the taxonomy when applied to the document base which is concerned with engagements and professional profiles.
- the interface for querying the l ⁇ iowledge base is also form-based. As with the entry of such data described above, the form interface for querying the data provides a large degree of tokenization, analysis, and phrase extraction. The rules of morphology may still need to be applied. See above for more details.
- Standard conceptual taxonomy searching techniques are used to find documents. Even if the term 'concept' was not defined in the traditional sense, ' conceptual neighborhoods' could still be identified to find documents having characteristics similar to the request.
- Smart data system 100 (including functional elements in suggestion space 100 and suggestion engine 120) can be control logic implemented in software, firmware, hardware or any combination thereof.
- the present invention can be implemented in any communication network, such as, the Internet, which supports interactive services and applications.
- the present invention can be implemented in any Web service, preferably a Web service supporting secure transactions, such as, the
- SSL Secure Socket Layer
- S-HTTP Secure HyperText Transport Protocol
- the present invention is implemented in a multi-platform (platform independent) programming language such as Java 1.1.
- Java-enabled browsers are used, such as, Netscape, HotJava, and Microsoft Explorer browsers.
- Active content Web pages can be used. Such active content
- Web pages can include Java applets or ActiveX controls, or any other active content technology developed now or in the future.
- the present invention is not intended to be limited to Java or Java-enabled browsers, and can be implemented in any programming language and browser, developed now or in the future, as would be apparent to a person skilled in the art given this description.
- FIG. 9 A is a diagram of an example internetwork environment according to the present invention.
- FIG. 9A shows a communication network or combination of networks (Internet) 900 which can support the invention.
- Internet 900 consists of interconnected computers which supports communication between many different types of users including businesses, universities, individuals, government, and financial institutions.
- Internet 900 supports many different types of communication linlcs implemented in a variety of architectures. For example, voice and data linlcs can be used including phone, paging, cellular, and cable TV (CATV) linlcs.
- Terminal equipment can include local area networks, personal computers with modems, content servers of multi-media, audio, video, and other information, pocket organizers, Personal Data Assistants (PDAs), and set-top boxes.
- PDAs Personal Data Assistants
- FIG. 9B shows a simplified four-layered coimnunication model supporting Web commerce including an application layer 908, transport layer 910, Internet layer 920, physical layer 930.
- Application layer 908 represents , the different tools and information services which are used to access the information over the Internet.
- tools include, but are not limited to, telenet log-in service 901, IRC chat 902, Web service 903, and SMTP (Simple Mail Transfer Protocol) electronic mail service 906.
- Web service 903 allows access to HTTP documents 904, and FTP and Gopher files 905.
- a Secure Socket Layer (SSL) is an optional protocol used to encrypt communications between a Web browser and Web server.
- FIG. 9C An example of a computer system 940 is shown in FIG. 9C.
- the computer system 940 represents any single or multi-processor computer. Single- threaded and multi-threaded computers can be used. Unified or distributed memory systems can be used.
- Computer system 940 includes one or more processors, such as processor 944.
- processor 944 can execute software implementing routine 400 as described above.
- Each processor 944 is connected to a communication infrastructure 942 (e.g., a communications bus, cross-bar, or network).
- a communication infrastructure 942 e.g., a communications bus, cross-bar, or network.
- Computer system 940 also includes a main memory 948, preferably random access memory (RAM), and can also include a secondary memory 950.
- main memory 948 preferably random access memory (RAM)
- RAM random access memory
- the secondary memory 950 can include, for example, a hard disk drive 952 and/or a removable storage drive 954, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
- the removable storage drive 954 reads from and/or writes to a removable storage unit 958 in a well known manner.
- Removable storage unit 958 represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to by removable storage drive 954.
- the removable storage unit 958 includes a computer usable storage medium having stored therein computer software and/or data.
- secondary memory 960 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 940.
- Such means can include, for example, a removable storage unit 962 and an interface 960. Examples can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 962 and interfaces 960 which allow software and data to be transferred from the removable storage unit 962 to computer system 940.
- Computer system 940 can also include a communications interface 964.
- Communications interface 964 allows software and data to be transferred between computer system 940 and external devices via communications path 966.
- Examples of communications interface 964 can include a modem, a network interface (such as Ethernet card), a communications port, etc.
- Software and data transferred via coimnunications interface 964 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 964, via communications path 966.
- communications interface 964 provides a means by which computer system 940 can interface to a network such as the Internet.
- the present invention can be implemented using software running (that is, executing) in an environment similar to that described above with respect to FIG. 9A.
- computer program product is used to generally refer to removable storage unit 958, a hard disk installed in hard disk drive 952, or a carrier wave carrying software over a communication path 966
- a computer useable medium can include magnetic media, optical media, or other recordable media, or media that transmits a carrier wave or other signal.
- Computer program products are means for providing software to computer system 940.
- Computer programs also called computer control logic
- Computer programs are stored in main memory 948 and/or secondary memory 950. Computer programs can also be received via communications interface 954. Such computer programs, when executed, enable the computer system 940 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 944 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 940.
- the present invention can be implemented as control logic in software, firmware, hardware or any combination thereof.
- the software may be stored in a computer program product and loaded into computer system 940 using removable storage drive 954, hard drive 950, or interface 960.
- the computer program product may be downloaded to computer system 940 over communications path 966.
- the control logic when executed by the one or more processors 944, causes the processor(s) 944 to perform the functions of the invention as ' described herein.
- the invention is implemented primarily in firmware and/or hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of a hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
Abstract
A method, system, and computer program product for interactive searching with executable suggestions are provided. 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 a search and corresponding search criteria and provides information on the actual search results a user will obtain according to this search criteria. In one embodiment of the present invention, a system has a suggestion engine and one or more suggestion spaces.
Description
Interactive Intelligent Searching with Executable Suggestions Background of the Invention
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 "browse" or "surf 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, a 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 dramatically. 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 'just the right information', represents a continuing challenge, and a huge opportunity.
There is currently a wide selection of web-based 'search engines' 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 "right information" 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 'intelligence'. The 'intelligence' 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 "How can I find
independent contractors that lα ow SQL?" the question is actually interpreted as "find independent contractors know sql". The 20 or more pages of results returned are of two primary forms: 1) Accounting, legal and self-help sites that discuss "hiring contractors", and 2) "finding home improvement contractors" — obviously not a useful result set for efficiently performed 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, 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 'Boolean' 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 'just the right information' - most 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 . 10 A and 1 OB show an example screen shot from a realty search engine hosted by Seaside realty (downloaded April 13, 2000). The search engine displays the total number of records associated with each particular "Amenities" search parameter. In this way, a user lαiows for example that selecting a non-smoking parameter in a search will yield at most 31 records or "hits" 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 users ~ users 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.
Summary of the Invention
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 a possible search and corresponding 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 complete search results. A user then adaptively direct a search to the right information 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 lαiowledge 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 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 IC profile data. The smart tip includes scope change search criteria, node and search results information. The executable suggestion can be displayed to 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.
Brief Description of the Drawings
The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art make and use the invention.
FIG. 1 is a block diagram of an interactive intelligent search and data system according to one embodiment of the present invention.
FIG. 2 is a block diagram further illustrating a suggestion space used in the interactive intelligent search and data system of FIG. 1 according to one embodiment of the present invention.
FIG. 3 is a block diagram further illustrating a suggestion engine used in the interactive intelligent search and data system of FIG. 1 according to one embodiment of the present invention.
FIGs. 4A and 4B are a flowchart of a routine for interactive searching according to one embodiment of the present invention.
FIG. 5 is a flowchart showing in further detail a step in FIG. 4B of interrogating smart domains for scope change search results according to one example implementation of the present invention.
FIG. 6 shows an example screen displayed to a user that includes executable suggestions for widening or narrowing a search according to one embodiment of the present invention.
FIGs. 7A, 7B, and 7C show screens served to a hiring manager as part of a search for independent consultants.
FIG. 8 is a diagram of an example Web site portal that can incorporate the present invention.
FIG. 9 A is a diagram of an example internetwork environment according to the present invention.
FIG. 9B shows a simplified four-layered communication model supporting Web commerce. FIG.9C is a block diagram of a computer system according to an example implementation of the present invention.
FIGs. 10A and 1 OB show an example search screen displayed at a site for a realtor, Seaside realty, that only displays a limited indication of total records (number of matching homes) associated with particular amenities. The present invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number typically identifies the drawing in which the reference number first appears.
Detailed Description of the Figures
Table of Contents
1. Overview
2. Terminology 3. Finding the Right Information
4. Suggestive Search and Data System
5. Suggestion Space
6. Building/Maintaining Suggestion Space
7. Example Suggestion Space Table Designs 8. Suggestion Engine
9. Processing a Search with Smart Tips
10. Smart Tips
11. Example IC Knowledge Base and Application
12. Quick Search, Smart Search, and Guided Search 13. Taxonomy Example
14. Example Network Environment
15. Example Computer System
16. Conclusion
1. Overview
The present invention provides a method, system, and computer program product for interactive searching over the World Wide Web (also referred to as WWW or the Web). Search engine and data management technology are provided 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 a possible search and corresponding 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 complete search results. A user then adaptively direct a search to the right information more quickly and effectively. Selecting an executable suggestion to broaden or narrow a search, is also a user-friendly and a simple way for a user to further direct a search.
The present invention is described with respect to searching over the Web. The present invention is not necessarily limited to the Web and can be applied in any interactive, computer networking service, including but not limited to the Web.
2. Terminology
The term "real-time" means information, such as a user input and a host site response, can be exchanged in a round-trip cycle between a remote user and the host site with little or no delay, such as, within seconds or minutes (any delay being essentially a function of the communication medium and devices connected between a user and the host site) .
The term "knowledge base" refers to any one or more databases or other data storage devices that can be searched. For example, a lαiowledge base can
include, but is not limited to, a Structured Query language (SQL) Server 7 database.
The term "Natural Language Processing" refers to aprocess of examining words and phrases in context to discover meaning. A "search dimension" is a variable in a search query whose value can be modified to affect the results of a query. For example, a search dimension in a database of resume data and job posting data, can include, but is not limited to, skill, category, location, availability, etc.
The term "smart domain" (also called a smart domain module) refers to a subsystem which, given a value, returns values in the same search dimension which are more general and more specific. It also returns the IDs of jobs or profiles having characteristics meeting these new values. The functionality of a smart domain can be included as part of a suggestion space and/or suggestion engine. Tip formatter is a subsystem responsible for taking search values and their associated job/profile IDs from the suggestion engine and formatting them as smart tips.
Smart tips (also known as executable suggestions) are tips returned to the user after a search of the knowledge base which allow executable suggestions to be displayed for widening or narrowing the search to find more or fewer items.
In one embodiment, smart tips provide the ability to re-execute a query, with the suggested change in scope, through a mouse click.
Subject matter experts are individuals who thoroughly understand a particular area of knowledge. These individuals can identify and build the relationships between data elements (e.g., keywords or nodes). For example, a subject matter expert can build a taxonomy. A taxonomy is a hierarchical representation of data elements and the relationships between them..
The term "suggestion engine" refers to a subsystem in the present invention responsible for analyzing queries, interrogating smart domains (including suggestion spaces), and passing the results of the interrogation on to tip formatter.
The term "suggestion space" refers to subsystem in the present invention that includes the data which represents relationships between descriptive elements in the knowledge base and the mapping of these relationships to designated search dimensions (e.g., jobs and profiles). This subsystem also contain the processes necessary for building and maintaining these relationships.
3. Finding the Right Information
The present invention provides an intelligent interactive search and data system that instead of simply returning a result set from a database search, also presents "executable suggestions" (also referred to as "smart tips") for narrowing or expanding the search. For example, an executable suggestion for a search for an independent consultant might be:
"Are there too few results? Did you know that if you were to expand your location criteria by 20 miles, you 'd get 30 more listings? Click here to expand your search ".
This suggestion is actually executable in that the user can simply click a button in a browser display window to "execute" the suggestion. This presents immediately useful, executable suggestions for finding the right information.
This solution to the problem of too much information and the desire to connect users with 'just the right information' avoids over reliance on a the end- user and instead leverages the lαiowledge that an owner of a database has. Indeed, a typical end-user cannot, in fact, know what data is in a given database. The end-user only knows what they are searching for, not what the database might contain that will meet their needs. The owner of a database can know more about the data in the database than a typical end-user could. And the owner of a database can also know quite a lot about what the end-user is searching for, based on analysis of the end-user's query. Therefore, the owner of a database can
develop a system where lαiowledge of the data in the database and knowledge of the query being executed by the end-user is translated into information that will help the end-user find 'just the right information', that is, the most 'correct match' This solution has to do with two primary areas of knowledge: (1) knowledge of the data (including meta-data) and (2) knowledge of the end-user query. The owner of a database (such as the host site database) has the ability to create systems that can analyze and understand the data values in the database in profound ways. This analysis can capture the possible relationships represented by the data, and more importantly the possible meanings of the relationships of the data in the database. This lαiowledge of the data in the database is typically stored in the form of statistics and related cross-references about or derived from the data (this is called 'meta-data', i.e. information about the information). This meta-data can be derived from automated analysis of the data (called 'OLAP' for On-Line Analytical Processing). OLAP then is used to create multi-dimensional indexes (sometimes referred to as 'reverse multi-dimensional indexes) into the data that can be used to access the data in powerful ways.
With respect to knowledge of the end-user query, by analyzing the component parts of queries developed by end-users to search a local or known database, a system, according to the present invention, can gain knowledge of what users are looking for. Furthermore, by storing and analyzing end-user queries over time, a system can categorize queries and learn about such things as the most used query, least used query, most successful query, least successful query, and more. The collection and analysis of meta-data about data in a database along with the lαiowledge of what end-users are searching for, and the knowledge of historical query analysis can then be used to develop real-time dynamic matches and executable suggestions that will help ensure the best possible matches are being found - that is, connecting the end-user to 'just the right information' . The present invention provides many benefits. The number of high- quality matches on a database is increased. If the success of the owner of a
database is based on the number of high-quality matches found by an end-user, then increasing the number of high-quality matches will increase the success of the owner of the database and its Web site. In one embodiment, the suggestion engine then presents the end-result of meta-data collection, OLAP analysis and query analysis in Web search service in the form of dynamic, immediately useful suggestions that can actually be executed by the end-user to either narrow or expand the results of a specific query.
4. Suggestive Search and Data System
FIG. 1 is a block diagram of a smart data system 100 according to one embodiment of the present invention. Smart data system 100 is an interactive intelligent search and data system. Smart data system 100 includes a suggestion space 110 coupled to a suggestion engine 120. Suggestion space 110 is responsible for building and maintaining the relationships between elements in knowledge base 115. Suggestion engine 120 is responsible for interpreting queries, interrogating suggestion space 110, and returning smart tips 126.
Smart data system 100 is coupled to knowledge base 115, knowledge search interface 125, and knowledge expert 135. Smart data system 100 sends data requests 117 to retrieve data knowledge base 115. Knowledge base 115 returns knowledge base data 118 to smart data system 100. For example, knowledge base data 118 can include both job posting and IC profile data.
Knowledge base 115 can also send triggers 116. Triggers 116 are database triggers that are fired when specified data elements change. In this way, smart domain system 100, and in particular, corresponding data in suggestion space 110, is updated and consistent with data content in knowledge base 115. Knowledge search interface 125 sends queries (e.g., query parameters
128) input by a user or device to smart domain system 100. Query parameters 128 are inputs that describe a domain specification (e.g., job or IC profile) and search criteria (groups of search dimension, search value, and weighting). Smart tips 126 are output from smart data system 100 to lαiowledge base search
interface 125. For example, a smart tip 126 can include modified search criteria and a value representing the change in result set count that will occur if a search were done with this modified criteria. Knowledge base search interface 125 can then display smart tip 126 as an executable suggestion to the user. For example, knowledge base search interface 125 can be a Web browser. In this case, smart tip 126 is displayed as an executable suggestion in a browser window. The user can then simply input an appropriate display selection (e.g., click) to broaden or narrow a search based on the information provided in the executable suggestion corresponding to a smart tip 126. Knowledge expert 135 can also provide subj ect knowledge 136 to smart domain system 100. Subject knowledge 136 can be any intellectual knowledge from a subject matter expert about the relationships between different elements or search dimensions in knowledge base 115. For example, subject knowledge 136 can 136 can be used to create and/or modify taxonomies. Subject knowledge 136 is generated manually and/or in an automated fashion.
In one embodiment, smart data system 100 is a component of a web site that supports searching of knowledge base 115 by users. These users can be independent consultants looking for engagements or recruiters looking for qualified job candidates. Smart data system 100 uses data in lαiowledge base 115 along with subject lαiowledge 136 to build internal structures (e.g., taxonomies) describing how elements in the knowledge base 115 relate to one another. A search input through lαiowledge base search interface 125 interrogates smart data system 100 via query parameters 128. Smart data system 100 uses these parameters to traverse its internal data structures looking for ways of narrowing and/or widening the search. The results of the narrower and/or wider searches are aggregated, evaluated and returned in the form of smart tips 126. The structure and operation of smart data system 100 is described further with respect to FIGs. 2 to 8.
5. Suggestion Space
FIG. 2 is a block diagram further illustrating a suggestion space 110 according to one embodiment of the present invention. In practice, suggestion space 110 is actually comprised of one or more suggestion spaces, each having relevance over a respective search dimension. For instance, a host database according to one embodiment consists of multiple suggestion spaces each of which apply to a different search dimension related to job posting and IC profile data. Some of the suggestion spaces included are for skill, category, industry, location, degree, and availability. For clarity, one example suggestion space 110 is described in detail. Each individual suggestion spaces has unique characteristics that depend upon its own respective search dimension, but shares a set of common characteristics as described herein with respect to the example suggestion space 110.
In one implementation according to the present invention, suggestion space 110 is primarily a set of database tables (suggestion tables 210) that relate searchable data elements to each other. These relationships are the basis for determining how changes in the search criteria affect the number of items in the result set. Beyond the database, the data and relationships represented in these tables may be replicated (in whole or in part) in memory resident structures 260 in smart domain system 100. This can be done to speed performance in traversing the suggestion space.
As shown in FIG. 2, suggestion space 110 further includes suggestion tables 210, lαiowledge space suggestion mapper 220, suggestion structure builder 230, suggestion space modulator 240, suggestion space updater 250, and in- memory suggestion space 260. Suggestion tables 210 are coupled to lαiowledge base 115. For example, suggestion tables 210 and knowledge base 115 can be part of a common database on a host site. Suggestion tables 210 hold information about the relationships between elements in knowledge base 115. Suggestion tables 210 also map relationship endpoints to the jobs and profiles in the knowledge base that have these characteristics . This mapping is done through j ob
and profile identifiers (Ids). Knowledge expert 135 can be an individual or automated agent having expertise in a particular area whose knowledge is used to define and build the relationships in suggestion tables 210.
Suggestion structure builder 230 is coupled between kno wledge base 115 and lαiowledge expert 135. Suggestion structure builder 230 is module that helps knowledge expert 135 build relationships in suggestion tables 210. For some suggestion tables 210, this process may be an entirely manual process through a user-interface while for others, it may include executable programs to aid in this task. Knowledge base suggestion mapper 220 is a module that analyzes the relationship end-points in suggestion tables 210. It then searches knowledge base 115 for jobs and profiles having those end-points as characteristics. Knowledge base suggestion mapper 220 receives the corresponding job IDs and profile IDs 216 and writes them into suggestion tables 210. Suggestion space populator 240 is a module that reads the relationships and ID mappings from suggestions tables 210 and populates a memory-resident data structure 260 with this information. This structure can then be searched quickly by suggestion engine 120. In-memory suggestion space 260 then is a set of data structures, mirroring the relationships and mappings in the suggestion tables 210, which reside in memory (e.g., a cache or other memory with a fast access time). These structures can be searched by suggestion engine 120 to identify narrowing and widening criteria for searches. Suggestion space updater 250 is a module that reacts to changes (e.g. data writes) in suggestion tables 210 and propagates those changes into in-memory suggestion space(s) 260. In- memory suggestion space 260, suggestion space populator 240, and suggestion space updater 250 are each optional and can be omitted if performance optimization is not an issue or if querying suggestion tables 210 in a database is not too slow.
As shown in FIG. 2 and described further below, suggestion engine 120 is coupled to suggestion space 110 (either directly to suggestion tables 210 or to in-memory suggestion space 260). Suggestion engine 120 interrogates
suggestion space 110 based on node and search criteria. Suggestion engine 120 then obtains a node and corresponding profile and job IDs associated with the modified search results (wider or narrow search results).
6. Building/Maintaining the Suggestion Space
Suggestion space tables 210 are initially built from data in knowledge base 115 and input from experts 135 in various fields of study represented in the knowledge base. Once the suggestion space 110 is built it is populated with the IDs of the jobs and profiles that are characterized by the elements in this structure. The tables 210 are then kept up to date using triggers 216 in knowledge base 115. For example, when a consultant adds/removes a skill from their profile, that consultant's profile ID is then added/removed from the appropriate table(s) 210 in the suggestion space (and the table in the in-memory suggestion space 260 through the work of suggestion space updater 250).
As mentioned above, part or all of the data in the tables representing the suggestion space may be replicated in memory. When the smart data system 100 is started, suggestion space populator 240 reads the suggestion space tables from the database and populates in-memory data structures with this relationship information. The target data structures may have a different architecture than the database tables in order to optimize in-memory searching, but they will represent the same information. Once populated, the memory-resident suggestion data in space 260 will be kept up to date through triggers attached to the suggestion space database tables 210.
Suggestion engine 120 can query either the in-memory data structures 260 or the suggestion space database tables 210 for information on narrowing or widening a search.
7. Example Suggestion Space Table Designs
Example suggestion tables 210 are described below. These examples relate to search dimensions in a database having job posting and IC profile information. The dimensions of the data included in the suggestion tables are category, skill, location, degree, field of study, availability, and industry. These examples are illustrative and not intended to limit the present invention. The suggestion tables are grouped by the search dimension to which they apply.
a. Category Dimension
CatParent Table
Skill Dimension
SkillParent Table
Rather than a taxonomy, this is an influence space that describes how changes in the required proximity between the consultant and the job changes the number of items returned by the search. One possibility here is to actually expand the proximity requirement before it is sent to the database. This will return more rows than the user requests. The rows meeting the original proximity requirement are returned to the user, the others are evaluated to discover proximity spheres within which the number of items can be counted. The sphere distance, along with the extra number of items can be returned as a smart tip.
d. Degree Dimension
This is a simple hierarchical taxonomy where degrees progress in rank. The system may be able to use the existing table (DegreeType) in the database with a ranking field added along with ID tables.
DegreeType Table
Field of Study Dimension
FieldParent Table
Rather than a taxonomy, this is an influence space that describes how changes in the required availability modify the number of items returned in the result. For example, if user asks for someone available now, they may want to expand search to find someone available next week.
g. Industry Dimension
IndustryParent Table
FIG. 3 is a block diagram illustrating smart data system 100 in further detail according to one embodiment of the present invention. In this embodiment, smart data system 100 includes suggestion engine 120, tip formatter 310, tip interface 320, query builder 330, smart domain registrar 340, searchable interface 350, smart domain modules 360, and query formatter 370. Suggestion engine 120 acts as a controller of smart data system 100. Smart domain modules 360 are responsible for interacting with respective suggestion spaces. In one example, four smart domain modules 362, 365, 366, and 367 are provided for respective search dimensions (location, category, skill, and any other parameter.
Tip formatter 310 is responsible for formatting smart tips for presentation to a user. Tip interface 320 is a communication interface (such as, an application programming interface (API)) between tip formatter 310 and suggestion 120. Searchable interface 350 is a communication interface (such as, an application programming interface (API)) between smart domain modules 360 and suggestion engine 120. Query builder 330 is coupled to suggestion engine 120. Query builder 330 converts query parameters from input formats (e.g., search queries, strings, etc) to a converted format compatible with suggestion engine 120. Smart domain registrar 340 is a module within suggestion engine 120 that is responsible for registering components of smart domain system 100. In particular, smart domain registrar 340 registers (and unregisters) each smart domain module 360 and tip formatter 310.
Suggestion engine 120 is a module that is the controller of smart data system 100. Suggestion engine 120 can call registered smart domain modules 360 (e.g., a location smart domain 362, category smart domain 365, skill smart domain 366, or a smart domain for another search dimension or parameter 367). Suggestion engine 120 provides node and search criteria to a smart domain module 360. A "node" can be any data element or value within a suggestion table in a suggestion space. The "search criteria" is a value identifying whether to broaden and/or narrow a search. Suggestion engine 120 then receives search
results for broader and/or narrower searches in the suggestion space that can be passed to tip formatter 310 to generate smart tips.
In one example embodiment, each smart domain module 360 includes an agent and a suggestion space. As shown in FIG.3 , location smart domain module 362 includes a location agent 363 coupled to suggestion space 364. Location agent 363 is a module that traverses suggestion space 364 based on the node and search criteria passed from suggestion engine 120 and returns node and the search results of the broader and/or narrower search(es). The search results can include record identifiers of hits found in the broader and/or narrower search(es) of a suggestion space. For example, the search results from location suggestion space
364 can be profile Ids and/or job posting Ids. Location agent 363 then passes node and profile Ids and/or job posting Ids through search interface 350 to suggestion engine 120. Counts of the profile Ids and job Ids can also be passed. Note in an alternative example, location agent 363 can be included (all or in part) in suggestion engine 120 (or in search interface 350) instead of in smart domain module 362, as would be apparent to a person skilled in the art given this description.
Suggestion engine 120 breaks input query parameters into individual search dimensions and determines if any registered smart domain modules 360 work in those search dimensions. Suggestion engine 120 then calls the appropriate smart domain (through searchable interface 350) to retrieve narrowing and widening nodes (data elements) and search results (e.g., profile Ids, job IDs). After calling all appropriate smart domains 360, suggestion engine 120 aggregates and normalizes the returned results (e.g., profile Ids, job IDs) within each search dimension. Finally, Suggestion engine 120 packages up the resulting data elements and IDs into smart tips and determines which of the registered tip formatter 310 to call. Tip formatter 310 is then called by suggestion engine 120 to format the returned search results and node information into executable search suggestions (also called smart tips) for presentation to another system.
Each of these components is described further below. Smart domain module 360-367 (also called smart domains) contain the data and knowledge required to suggest changes in a single search dimension that will narrow and widen the number of items in a search' s result set. Smart domain module 360- 367 register themselves with suggestion engine 120 (i.e., registrar 340) specifying the search dimension of which they have lαiowledge. In one embodiment, smart domain module 360-367 implement searchable interface 350 providing them a standard means of communication with suggestion engine 120.
Smart domain module 360-367 (which can include agents), when requested, traverse through their known suggestion space to find criteria that are either more general or more specific. Once found, these criteria are used to query suggestion tables 210 to obtain the IDs of data elements that meet these new criteria. The new criteria and resulting IDs are then returned to suggestion engine 120. In one further embodiment, searchable interface 350 defines a standard set of methods that must be implemented by a smart domain 360. This is the method by which smart domains 360 are abstracted from suggestion engine 120. If a smart domain 360 implements this interface and registers itself with the suggestion engine 120, the engine 120 can be guaranteed that the interface methods will be available. This allows for the dynamic addition of new smart domains without modifying the suggestion engine (e.g., without modifying hardware or software in the suggestion engine).
Tip formatters 310 (also called smart formatters) are subsystems that interpret smart tips and format them for use by an external system (such as browser). Tip formatters 310 also register themselves with suggestion engine 120 and specify their output type in registering. Tip formatters 310 can implement a smart tips interface 320 to provide a standard means of communicating with the suggestion engine 120. When requested, tip formatters 310 know how to read smart tips and transform them into a predefined format for use by an external system (e.g., a browser).
Tips interface 320 defines a standard set of methods that must be implemented by a tip formatter 310. In this optional example, then, the formatting of smart tips is abstracted from suggestion engine 120 through this interface. If a tip formatter 310 implements this interface and registers itself with suggestion engine 120, the engine can be guaranteed that the interface methods will be available.
9. Processing a Search with Smart Tips
The operation of smart domain system 100 and its components are • described further with respect to FIGs. 4 to 8. FIGs. 4A and 4B are a flowchart of a routine 400 for interactive searching according to one embodiment of the present invention (steps 402-480).
Once the suggestion engine 120 has started, smart domains 360 can be instantiated and register themselves with suggestion engine 120 specifying the search dimension for which they can provide information (step 402). Tip formatters 310 can also be instantiated and registered with suggestion engine 120 specifying the type of formatting output they provide (step 404). The search is then begun (step 410).
Query builder 330 receives a search query input by a user and converts, if necessary, the query to format compatible with suggestion engine 120 (steps 412 and 420). Suggestion engine 120 takes query parameters input from query builder 330. These query parameters correspond to a request for information about a search. Suggestion engine 120 parses through these parameters identifying the search dimension and search value of each (step 430). As suggestion engine 120 processes a parameter, it looks through its internal list of registered smart domains 360 to find those that apply to that parameter's search dimension. If an appropriate smart domain 360 is identified it is traversed to return the value and associated IDs of either a more general or a more specific search criteria (steps 440-480). For example, in step 440, the appropriate smart domain 360 is interrogated to determine a baseline search result (corresponding
to the unmodified, initial search query). Next, smart domain 360 is interrogated for scope change search results (step 450).
FIG. 5 is a flowchart showing in further detail a step 450 of interrogating smart domains 360 for scope change search results according to one example implementation of the present invention. First, a smart domain 360 (e.g. location agent 363) takes a search value (e.g. location in Oakland, CA) and a scope change criteria (either narrow or widen) as input to a request (step 510). Smart domain 360 (e.g. agent 363) locates a suggestion space (e.g. suggestion space 364) (step 520), and then traverses the suggestion space in either a widening or narrowing manner looking for related values (step 530). First, out of the related values the smart domain 360 finds it determines which provides the most appropriate change in results given the scope change criteria (broaden or narrow). It makes this determination by analyzing the number of IDs associated with each candidate value. Once the 'best' value is determined (step 540), the smart domain (e.g. agent 363) returns that value and its associated IDs to suggestion engine 120 (step
550). Suggestion engine 120 gathers all the new scope change search result values and their associated Ids and reconciles them with the previously determined baseline search results (step 460). For example, it aggregates and normalizes the IDs one search dimension at a time determining the change in result set count for each change in search value. Suggestion engine 120 then constructs a smart tip (also called a suggestion or hint) from these new values and associated ID counts (step 470). Once the smart tips are built, suggestion engine 120 looks through its internal list of tip formatters 310 for one that will output the smart tip in a desired format for an executable suggestion (step 480). FIG. 6 shows an example screen displayed to a user that includes executable suggestions for widening or narrowing a search according to one embodiment of the present invention. In this way, executable suggestions help lead a user interactively and adaptively in real-time to the right information.
In another example of the present invention, executable suggestions help a user to create an effective profile. FIGs. 7A, 7B, and 7C show screens served to a hiring manager as part of a inputting a profile for a search for independent
consultants. Executable suggestions are generated as described above to further guide a hiring manager while they are configuring and entering a profile through these screens. FIG. 8 is a diagram of an example Web site portal that can incorporate the present invention. The display screens described herein are illustrative and not intended to limit the present invention. For example, a smaller or larger number of screens can be used. Different types of information and format can be included in screens in accordance with the present invention. Any type of user input entry device can be used, including but not limited to templates, forms, voice or other data entry mode.
10. Smart Tips
In one embodiment of the present invention, smart tips come in several flavors throughout a Web site. Some smart tips are generated by the smart data system 100, others are simply static text presented to help the user. The purpose ofsmart tips is to help the user: 1) enter information correctly/completely, 2) 'up- sell' the user at appropriate times, or 3) make suggestions to help the user find 'just the right information' by automatically narrowing or expanding a search.
There are essentially three forms ofsmart tips:
Static Smart Tips — these are simply static text messages that always appear on certain pages in the site. For example, on the skills section of the IC professional profile creation screen, there is a static smart tip of the form "Use Buzzwords, Employers search our database primarily by keyword. To improve your changes of being hired, use keywords that describe valuable skills".
Dynamic Smart Tips - these are tips that appear based on some action the user has taken on the site, or related to where the user is on the site or what they are trying to accomplish. The actual text of a Dynamic Smart Tip is not actually dynamic, however when and whether these tips appear is, in fact dynamic. A
simple example of a Dynamic Smart Tip is that while a user if filling out a job posting, we might suggest that it' s critically important to fill in a particular field. If the user has already filled in the field, the Dynamic Smart Tip doesn't appear. A more complex example of a Dynamic Smart Tip is when a user finishes completing a j ob posting, smart data system 100 might present a tip that attempts to 'up-seir them to a for-fee service, such as "Create a Pre-screening Test", "Become a Featured Employer", "Make this job posting 'rise to the top' by making it a Featured Posting", etc.
Dynamic Smart Tips generated by the smart data system 100 are the most complex types of dynamic smart tips. They are generated 'on-the-fly' in realtime. Dynamic smart tips are one way to ensure that more high-quality matches will occur on a Web service. They are based on an analysis of the query the user is executing and the 'cross-indexing' of the knowledge base. They are used to present suggestions to the user for either narrowing or expanding the results of a search on a web site.
For example, after searching for a DBA in Seattle, we might present a smart tip that says "Did you know, that 70% of the skills listed by DBAs are also listed by Programmers, if you include Programmers in your search, you'll get 43 more candidates - click HERE to do so". Another example, of a smart tip might be "Did you know that if you narrow your location by 5 miles, you'll get 10 fewer results, click HERE to do so".
Smart tips are used in the following areas of an example web site according to the invention:
1. While a user is filling out a form (professional profile, job posting, etc.), smart data system 100 will present Static or Dynamic Smart Tips to help ensure that the forms are completed correctly, or to help encourage the user to fill out certain fields completely or with suggested content (keywords v. sentences, etc.)
2. When a user has completed some action for which smart data system 100 would like to present an 'up-selP message, Dynamic Smart Tips are presented to help encourage users to take an additional action or purchase an upgraded service.
3. When a user has completed a search of the database, smart data system 100 can provide smart tips to automatically narrow or expand their search results. This will help ensure that more high-quality matches will occur on the web site service.
11. Example IC Knowledge Base and Application
In one example implementation, smart data system 100 is used to improve on the inefficiencies present in current job search processes on the Web. The present invention takes advantage of the targeted scope of the knowledge base (e.g. jobs and profiles) as well as the ability to analyze this local data to direct users to the information they are looking for. This application produces further advantages and benefits in Web recruiting and employments services.
Smart data system 100 benefits both employers searching for qualified independent consultants and independent consultants searching for engagements. Smart data system 100 can provide the best suggestions for both narrowing and expanding the scope of a search. During a search of the knowledge base, the result set returned to the user may have too many or too few items for the user's liking. In the case of too many values in the result set, smart data system 100 provides suggestions for narrowing the search. Following these suggestions will result in fewer items in the result set. In the case of too few values in the result set, Smart data system 100 provides suggestions for expanding the search.
Following these suggestions will result in more items in the result set.
Smart data system 100 further supports Boolean relationships between query parameters. When a search is run against the knowledge base, Boolean relationships (and/or relationships) between the query parameters affect how they are interpreted, thereby affecting the number of items returned in the result set.
Smart data system 100 understands the differences between these relationships and accurately reflect how changes in the search criteria will effect the result set considering these relationships. Smart data system 100 returns results in a timely manner. The speed of Smart data system 100 is important. Once a user has
launched a search, they want their results back quickly. These results include both the result set of the search and the associated smart tips. If the search process becomes slow and frustrating to the user, although it may return useful information, they will go elsewhere. While returning the result, set of the search quickly is of primary importance, there is some leeway in returning the smart tips in certain applications. This is due to the fact that it will take the user some amount of time to interpret the result set to determine if they have too many results, too few results, or the correct number. During this time, smart data system 100 can be generating smart tips and dynamically populating the search page with them for execution by the user when ready.
According to a further feature, smart data system 100 can scale without significant degradation of performance as user count and concurrent use count increases. Smart data system 100 can also understand criteria weighting. During a search, both recruiters and consultants can be allowed to weight or prioritize the criteria they specify during a search, (i.e. they specify which criteria is most important to them). Smart data system 100 accounts for these weightings and makes executable suggestions in accordance with them. For example, if a recruiter searches for a consultant indicating that their proximity to the job is the most important criteria, Smart data system 100 offers suggestions in other search dimensions before suggesting that the recruiter change their proximity requirement.
Further advantages of the present invention in other alternative embodiments are smart data system 100 can be developed as a licensable technology. Given the state of search capabilities on the internet today, it is anticipated that the type of searching capabilities according to the present invention would be of tremendous value to other companies with a targeted knowledge base. Smart data system 100 can be applied to other companies' knowledge base searching problems with a minimal amount of changes. All interfaces to specific data in knowledge base 115 can be sufficiently abstracted so that the core technology could be reused on other databases. Application of
the Smart data system 100 on another data set would then require only a coupling to an interface to the new data set.
Likewise, smart data system 100 can be made platform independent to allow customers or licensees to implement the system on a platform of the customer's choice.
As jobs and profiles are added, removed, and changed in the knowledge base, smart data system 100 can have access to these changes as quickly as possible to provide quality information. This requires that smart data system 100 internal storage structures be updated at or close to real time. Smart data system 100 can also be extensible. As knowledge base 115 expands and evolves, new search requirements may surface. Smart data system 100 can be designed to make the addition of new search criteria as easy as possible. A new search module can be plugged in without having to modify other components. Other possible designs and applications of smart data system 100, not intended to limit the present invention, include the following options. Searching is generally done against values that are normalized out of specific instances and enumerated in a separate table. This holds true for skill, category, field of study, degree, industry, etc. Searching against free text can be supported using existing full text indexing technology. Each search dimension (e.g. skill, category, availability, etc.) can have its own suggestion space that relates elements to each other without influence from other search dimensions. This does not imply that the smart data system 100 will only provide smart tips in one dimension for a given search. It can provide smart data system 100 in many search dimensions. However, in one example, each of these smart tips indicates how the result set will change if the given suggestion is used and all other search criteria remain the same. Each search dimension (e.g. category, skills, proximity, etc.) has its own suggestion space. This could be a taxonomy (for a dimension such as skills), a hierarchical data representation (for a dimension such as degree), or some other type of lαiowledge structure. The quality of suggestions on a search dimension is directly related to the quality of that dimension's suggestion space.
In one example to generate tips even more easily and quickly, one smart tip returned from smart data system 100 represents a change in one search dimension. For example, a smart tip may state that expanding the proximity to job requirement 10 miles will return 20 more consultants. Two tips are used to expand the proximity to job requirement 10 miles AND include C++ as a skill will return 35 more consultants. One tip states that expanding the proximity to job requirement 10 miles will return 20 more consultants. The other tip states that including C++ as a skill will return 23 more consultants.
12. Quick Search, Smart Search and Guided Search
Another aspect of the present invention, not intended to limit other aspects of the present invention described above, is that three types of searches (quick, smart, and guided) can be provided for a Web service. All three search mechanisms can focus on 'finding ICs' and/or 'finding Job Postings'.
All search mechanisms on the service are similar in the following ways: 1. All search mechanisms use the same underlying searching and matching technology, i.e. the smart tips and smart data system 100. 2. All search mechanisms present results in a consistent manner. I.e. the same (or very similar) search result screens will be presented - the 'standard search results screen' . 3. All search mechanisms present result sets (lists of data) that can be sorted further via column headings presented on the results page (e.g. sort the list by date, years of experience, location, etc.). The three types of search screens are used:
Quick Search - this is a simplest form of search on a site, similar to many other 'one button' search mechanisms on the web today. Basically this is a small window (or button), that allows the user to type in one or more keywords and click submit ('Go', etc.). This would then execute a keyword search and present the results in the standard search results screen.
Smart Search — this is a step up in complexity, just above Quick Search.
The basic idea is that ' Smart Search' simply allows the user more discreet criteria to specify their search. So for instance, a series of drop-downs and selection boxes are presented to allow several search criteria such as keywords, education, location, etc. This is the most common type of search in the web today.
Guided Search ~ this is the most complex type of search offered according to a service of the present invention. The basic premise is that smart data system 100 creates detailed versions of search screens that present keywords and other identifiers that are actually derived from the data. This is the idea of 'guided search' , i.e. the user is guided through selecting all the important search criteria.
The idea being that more detailed and, in fact, more effective searches will be the result. The lists of search criteria is grouped by job category and possibly industry, etc. Lists of information presented to the user in Guided Search are derived initially from the data in the resume database. I.e. the potential list of criteria will be derived from the actual data and then a human will make the ' final cut' on the presentation of the Guided Search approach.
13. Taxonomy Example
As described above, smart data system 100 can use taxonomies in its suggestion spaces. A brief description of lexical taxonomy is provided. This description is illustrative, and not intended to limit the present invention, as other type of taxonomies and data structures can be used.
A feature of a web site, according to an example implementation of the present invention, is the ability to match independent consultants with projects. Typically this would be accomplished through a search of the data initiated by either the consultant or the employer. Independent consultants would be searching for projects (engagements) that interest them. Hiring managers would be searching for consultants that meet certain criteria. The ability to provide credible, relevant matches will directly contribute to the user experience and, ultimately, the success of the web site.
A. Conceptual Taxonomy
Classical hierarchical indexes do not work well in this arena given the inherent ambiguous nature of the human vocabulary. Instead, a conceptual taxonomy provides a much better mechanism for evaluating the relevance of a query against the document base. A conceptual taxonomy can be thought of as hierarchical organization of concepts that linlcs each concept to its 'most specific subsumers' (i.e. the most specific known concepts that are more general than the concept in question) and to other semantically-related concepts (e.g. those in which this concept is a modifier). This structure can then be used to find connections between terms of a request and related concepts in the index.
What follows is a discussion of components/steps used to build a system of this type.
B. Preparing the Data
The first step in building a conceptual taxonomy solution to searching is to analyze the document base to be searched identifying concepts and the relationships between them. A reference to the location of the document embodying a concept (and possibly the location within the document) is kept with the concept instance.
C. Analyze the Data There are many steps in analyzing the document base. The goal in this step is to break the documents into manageable pieces that can be evaluated against each other.
D. Tokenize
This step segments a series of characters into tokens, (words, symbols, punctuation, etc.) Rules are applied in an attempt to normalize such things as phone numbers, email addresses, hyphenated words, etc.
E. Analyze
Tokens identified in the previous step are analyzed to identify their true meaning. This is known as disambiguation. Once identified a determination can be made on what to do with them. Identifying a word involves not only looking at the word itself, but the words around it as well. Is it a noun, a verb, part of a phrase, etc.? Does it have a known semantic relationship to other words?
Most times a lexicon is used to help identify words. This lexicon will usually include syntactic and semantic information about words and phrases including information about different word senses and interpretations. These lexicons are quite large and labor intensive to build. Fortunately there are several available in the public domain.
F. Morphology
Words that cannot be found in the lexicon are put through a process known as morphology. This process tries to evaluate the word and change it into something recognizable. Derivational rules are applied to words with identifiable prefixes and suffixes, inflection rules are applied to determine verb tense, and lexical compounding, or word concatenation, (e.g. shoelace) is identified. The ultimate goal of this step is to find a word that can be evaluated in the lexicon.
G. Phrase Extraction A group of words (a phrase) may embody a different concept than the sum of the concepts of the individual words within that phrase. This step attempts to identify phrases and map them to a single concept that can be entered into the taxonomy.
H. Build the Taxonomy -Concept Assimilation
This process looks at entities in the source document and attempts to identify them by concept. Entities are evaluated from largest (phrase) to smallest (word). Phrases are analyzed for related, more general concepts that subsume the
phrase concept. For example, the phrase 'automobile upholstery cleaning' generates three concepts: [automobile upholstery cleaning], [automobile cleaning], and [upholstery cleaning]. The two shorter phrases represent more general concepts that subsume the initial concept and may subsume other related concepts that would then be conceptually clustered. These subsuming phrases will themselves be subsumed by more general phrases. So the taxonomy would look something like: [cleaning]
--[automobile cleaning] --[automobile upholstery cleaning]
--[automobile window cleaning] —[upholstery cleaning] —[automobile upholstery cleaning] —[sofa cleaning] Note that the concept [automobile upholstery cleaning] is indexed in two places.
This is perfectly acceptable and, in fact, preferable. The target concept could be reached through two different concept trees giving the user a better chance of finding it.
Phrases are broken down until individual word entities are reached. The concepts of these words are indexed in the taxonomy as well using the lexicon for related concepts. For example, the word 'treat' may be indexed under the conceptual action [cure] as well as the conceptual noun [snack].
/. Organization
In order to use the taxonomy efficiently for searching and retrieval purposes it must be organized in a way that allows for quick traversal between concepts. To facilitate this, concepts must be organized into a structure in which every concept has explicit pointers to its most specific subsumers and from its most general subsumees.
Other well-known aspects of building a conceptual taxonomy, such as, including natural language processing, conceptual structure, quantificational tags,
relational abstraction, etc., can be added as would be apparent to a person skilled in the heart given this description.
/. Querying the Data
Once the conceptual taxonomy is built, it can be used to find relevant information in the document base. Queries are evaluated against the taxonomy to locate documents that are in the same 'conceptual neighborhood' as the request.
K. Parse the Request
The triggering mechanism for using the taxonomy is a request for data. This request is typically written in the English language and has many of the same qualities as items in the document base. Therefore, many of the same processes applied to the document base would be applied to the request. These include tokenization, analysis, morphology, and phrase extraction. For a more detailed discussion of these topics see the previous section.
L. Search the Taxonomy
Once the request has been parsed and broken into concepts, these concepts can be applied to the taxonomy. Traditional searches of hierarchical indexes would start at the root of the index and traverse it in either 'breadth-first' or 'depth-first' fashion. With a conceptual taxonomy the search can be much more efficient. A search can jump directly to an indexed concept or to the most specific subsumer of the concept if it is not in the taxonomy. This puts the search into a 'conceptual neighborhood'. Once focused on a conceptual neighborhood the seeker can move up (more general) or down (more specific) through the taxonomy. The taxonomy also supports the notion of sideways (sibling w/respect to MSS) relationships when two concepts have the same MSS 'parent'.
M. Example Implementation
In one case, most data entered into a web site (that will form the document base for searching) is entered through a form interface. This provides a huge advantage in tokenizing and analyzing the data. Through a form interface the owner of the document, who presumably lαiows the data well, is identifying and helping to conceptualize the data as it is entered. For example, 'Bachelor of Science' entered in an education history field indicates that the concept should be subsumed by [education] and has nothing to do with [marital status]. Form based data entry should alleviate much of the work required in tokenization, analysis, and phrase extraction, (one exception to this may be less structured data entered into a skills field) A good amount of work may still have to be done in the area of morphology.
Due to the specific nature of the data in the document base, the lexicon to be used during analysis could be built by hand. This would provide a more precise and knowledge-aware lexicon than one covering the entire English language.
In building a taxonomy that indexes IC and job data, the term 'concept' may take on a more specific, and sometimes different, meaning. Since the document base contains documents only of a specific nature, concepts can be more narrowly defined and many concepts can be disregarded altogether. For example it is of no interest that [employee] may ultimately be subsumed by [mammal]. One could argue that the entire [mammal] branch of the taxonomy should be trimmed from the taxonomy when applied to the document base which is concerned with engagements and professional profiles. The interface for querying the lαiowledge base is also form-based. As with the entry of such data described above, the form interface for querying the data provides a large degree of tokenization, analysis, and phrase extraction. The rules of morphology may still need to be applied. See above for more details.
Standard conceptual taxonomy searching techniques are used to find documents. Even if the term 'concept' was not defined in the traditional sense,
' conceptual neighborhoods' could still be identified to find documents having characteristics similar to the request.
Smart data system 100 (including functional elements in suggestion space 100 and suggestion engine 120) can be control logic implemented in software, firmware, hardware or any combination thereof.
14. Example Network Environment
The present invention can be implemented in any communication network, such as, the Internet, which supports interactive services and applications. In particular, the present invention can be implemented in any Web service, preferably a Web service supporting secure transactions, such as, the
Secure Socket Layer (SSL) protocol and/or using a Secure HyperText Transport Protocol (S-HTTP). In one example, the present invention is implemented in a multi-platform (platform independent) programming language such as Java 1.1. Java-enabled browsers are used, such as, Netscape, HotJava, and Microsoft Explorer browsers. Active content Web pages can be used. Such active content
Web pages can include Java applets or ActiveX controls, or any other active content technology developed now or in the future. The present invention, however, is not intended to be limited to Java or Java-enabled browsers, and can be implemented in any programming language and browser, developed now or in the future, as would be apparent to a person skilled in the art given this description.
FIG. 9 A is a diagram of an example internetwork environment according to the present invention. FIG. 9A shows a communication network or combination of networks (Internet) 900 which can support the invention. Internet 900 consists of interconnected computers which supports communication between many different types of users including businesses, universities, individuals, government, and financial institutions. Internet 900 supports many different types of communication linlcs implemented in a variety of architectures. For example, voice and data linlcs can be used including phone, paging, cellular,
and cable TV (CATV) linlcs. Terminal equipment can include local area networks, personal computers with modems, content servers of multi-media, audio, video, and other information, pocket organizers, Personal Data Assistants (PDAs), and set-top boxes. Communication over a communication network such as, Internet 900, is carried out through different layers of communication. FIG. 9B shows a simplified four-layered coimnunication model supporting Web commerce including an application layer 908, transport layer 910, Internet layer 920, physical layer 930. As would be apparent to a person skilled in the art, in practice, a number of different layers can be used depending upon a particular network design and communication application. Application layer 908 represents , the different tools and information services which are used to access the information over the Internet. Such tools include, but are not limited to, telenet log-in service 901, IRC chat 902, Web service 903, and SMTP (Simple Mail Transfer Protocol) electronic mail service 906. Web service 903 allows access to HTTP documents 904, and FTP and Gopher files 905. A Secure Socket Layer (SSL) is an optional protocol used to encrypt communications between a Web browser and Web server.
Description of the example environment in these terms is provided for convenience only. It is not intended that the invention be limited to application in this example environment. In fact, after reading the following description, it will become apparent to a person skilled in the relevant art how to implement the invention in alternative environments.
15. Example Computer System
An example of a computer system 940 is shown in FIG. 9C. The computer system 940 represents any single or multi-processor computer. Single- threaded and multi-threaded computers can be used. Unified or distributed memory systems can be used.
Computer system 940 includes one or more processors, such as processor 944. One or more processors 944 can execute software implementing routine 400 as described above. Each processor 944 is connected to a communication infrastructure 942 (e.g., a communications bus, cross-bar, or network). Various software embodiments are described in terms of this exemplary computer system.
After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
Computer system 940 also includes a main memory 948, preferably random access memory (RAM), and can also include a secondary memory 950.
The secondary memory 950 can include, for example, a hard disk drive 952 and/or a removable storage drive 954, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 954 reads from and/or writes to a removable storage unit 958 in a well known manner. Removable storage unit 958 represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to by removable storage drive 954. As will be appreciated, the removable storage unit 958 includes a computer usable storage medium having stored therein computer software and/or data.
In alternative embodiments, secondary memory 960 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 940. Such means can include, for example, a removable storage unit 962 and an interface 960. Examples can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 962 and interfaces 960 which allow software and data to be transferred from the removable storage unit 962 to computer system 940.
Computer system 940 can also include a communications interface 964. Communications interface 964 allows software and data to be transferred between computer system 940 and external devices via communications path 966. Examples of communications interface 964 can include a modem, a network interface (such as Ethernet card), a communications port, etc. Software and data
transferred via coimnunications interface 964 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 964, via communications path 966. Note that communications interface 964 provides a means by which computer system 940 can interface to a network such as the Internet.
The present invention can be implemented using software running (that is, executing) in an environment similar to that described above with respect to FIG. 9A. In this document, the term "computer program product" is used to generally refer to removable storage unit 958, a hard disk installed in hard disk drive 952, or a carrier wave carrying software over a communication path 966
(wireless link or cable) to communication interface 964. A computer useable medium can include magnetic media, optical media, or other recordable media, or media that transmits a carrier wave or other signal. These computer program products are means for providing software to computer system 940. Computer programs (also called computer control logic) are stored in main memory 948 and/or secondary memory 950. Computer programs can also be received via communications interface 954. Such computer programs, when executed, enable the computer system 940 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 944 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 940.
The present invention can be implemented as control logic in software, firmware, hardware or any combination thereof. In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 940 using removable storage drive 954, hard drive 950, or interface 960. Alternatively, the computer program product may be downloaded to computer system 940 over communications path 966. The control logic (software), when executed by the one or more processors 944, causes the processor(s) 944 to perform the functions of the invention as' described herein.
In another embodiment, the invention is implemented primarily in firmware and/or hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of a hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
16. Conclusion
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims
1. A system for interactive, intelligent searching of data elements in a knowledge base, the lαiowledge base including data elements in multiple search dimensions, comprising: a suggestion engine; and a suggestion space, coupled to said suggestion engine, said suggestion space having at least one data structure representative of relationships between data elements in the knowledge base; wherein said suggestion engine interrogates the suggestion space based on received scope change search criteria to obtain scope change search results and returns a smart tip that represents said scope change search results; whereby an executable suggestion can be provided to a user based on the smart tip.
2. The system of claim 1 , wherein the search criteria indicates whether a tip for a broader or narrower search is to be generated, and wherein said suggestion engine interrogates the suggestion space looking for broader or narrower search results in accordance with the value of the received search criteria.
3. The system of claim 1 , wherein the data elements in the knowledge base data include job posting and IC profile data, and wherein the smart tip includes scope change search criteria, node and search results information, whereby, the executable suggestion can be displayed to user to query the user whether a broader or narrower search is to be executed given the returned node and search results information.
4. The system of claim 1 , wherein said suggestion space includes suggestion tables.
5. The system of claim 4, wherein said suggestion tables comprise at least one taxonomy.
6. The system of claim 1 , wherein said suggestion space includes suggestion tables stored in the knowledge base and an in-memory suggestion space stored in memory, said in-memory suggestion space representing a copy of at least a portion of said suggestion tables.
7. The system of claim 6, wherein said suggestion space includes: a suggestion space populator; and a suggestion space updater, said suggestion space populator and said suggestion space updater each being coupled between said suggestion tables and said in-memory suggestion space.
8. The system of claim 4, further comprising a suggestion structure builder coupled between the knowledge base and the suggestion tables, said suggestion structure builder receiving an input from a lαiowledge expert and generating an output to modify the suggestion tables in accordance with the received user input.
9. The system of claim 4, further comprising a knowledge base suggestion mapper coupled between the knowledge base and the suggestion tables to map data in the lαiowledge base to a corresponding location in the suggestion tables.
10. The system of claim 1 , further comprising: a query builder, coupled to said suggestion engine; a tip formatter; a tip interface, coupled between said tip formatter and said suggestion engine; a smart domain module coupled to said suggestion space; a searchable interface coupled between said suggestion engine and said smart domain module.
11. A method for interactive searching, comprising 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.
12. The method of claim 11, wherein the scope change search criteria indicates whether a tip for a broader or narrower search is to be generated, and wherein said interrogating step interrogates the suggestion space looking for broader or narrower search results in accordance with the value of the scope change search criteria.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2001253611A AU2001253611A1 (en) | 2000-04-18 | 2001-04-18 | Interactive intelligent searching with executable suggestions |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/551,533 | 2000-04-18 | ||
US09/551,533 US6578022B1 (en) | 2000-04-18 | 2000-04-18 | Interactive intelligent searching with executable suggestions |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001080177A2 true WO2001080177A2 (en) | 2001-10-25 |
WO2001080177A3 WO2001080177A3 (en) | 2003-01-30 |
Family
ID=24201657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/012510 WO2001080177A2 (en) | 2000-04-18 | 2001-04-18 | Interactive intelligent searching with executable suggestions |
Country Status (3)
Country | Link |
---|---|
US (5) | US6578022B1 (en) |
AU (1) | AU2001253611A1 (en) |
WO (1) | WO2001080177A2 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007059287A1 (en) | 2005-11-16 | 2007-05-24 | Evri Inc. | Extending keyword searching to syntactically and semantically annotated data |
US7953593B2 (en) | 2001-08-14 | 2011-05-31 | Evri, Inc. | Method and system for extending keyword searching to syntactically and semantically annotated data |
US8055605B2 (en) | 2000-04-18 | 2011-11-08 | Archeron Limited Llc | Interactive intelligent searching with executable suggestions |
US8156499B2 (en) | 2000-04-25 | 2012-04-10 | Icp Acquisition Corporation | Methods, systems and articles of manufacture for scheduling execution of programs on computers having different operating systems |
US8266242B2 (en) | 2000-04-18 | 2012-09-11 | Archeron Limited L.L.C. | Method, system, and computer program product for propagating remotely configurable posters of host site content |
EP2743875A1 (en) * | 2012-12-17 | 2014-06-18 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
WO2014095008A1 (en) * | 2012-12-17 | 2014-06-26 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
US8954469B2 (en) | 2007-03-14 | 2015-02-10 | Vcvciii Llc | Query templates and labeled search tip system, methods, and techniques |
US9092416B2 (en) | 2010-03-30 | 2015-07-28 | Vcvc Iii Llc | NLP-based systems and methods for providing quotations |
US9201856B2 (en) | 2012-12-17 | 2015-12-01 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
US9268759B2 (en) | 2012-12-17 | 2016-02-23 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
US9613004B2 (en) | 2007-10-17 | 2017-04-04 | Vcvc Iii Llc | NLP-based entity recognition and disambiguation |
US9710556B2 (en) | 2010-03-01 | 2017-07-18 | Vcvc Iii Llc | Content recommendation based on collections of entities |
US10049150B2 (en) | 2010-11-01 | 2018-08-14 | Fiver Llc | Category-based content recommendation |
Families Citing this family (316)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763342B1 (en) * | 1998-07-21 | 2004-07-13 | Sentar, Inc. | System and method for facilitating interaction with information stored at a web site |
US20050108219A1 (en) * | 1999-07-07 | 2005-05-19 | Carlos De La Huerga | Tiered and content based database searching |
US6601026B2 (en) * | 1999-09-17 | 2003-07-29 | Discern Communications, Inc. | Information retrieval by natural language querying |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US6681255B1 (en) | 2000-04-19 | 2004-01-20 | Icplanet Corporation | Regulating rates of requests by a spider engine to web sites by creating instances of a timing module |
WO2001082112A2 (en) | 2000-04-25 | 2001-11-01 | Icplanet Acquisition Corporation | System and method related to generating and tracking an email campaign |
AU2001259143A1 (en) | 2000-04-25 | 2001-11-07 | Icplanet Acquisition Corporation | Method, system, and computer program product for employment market statistics generation and analysis |
US7007010B2 (en) * | 2000-04-25 | 2006-02-28 | Icplanet Corporation | System and method for proximity searching position information using a proximity parameter |
US6915289B1 (en) * | 2000-05-04 | 2005-07-05 | International Business Machines Corporation | Using an index to access a subject multi-dimensional database |
US7269786B1 (en) | 2000-05-04 | 2007-09-11 | International Business Machines Corporation | Navigating an index to access a subject multi-dimensional database |
US20020032750A1 (en) * | 2000-05-16 | 2002-03-14 | Kanefsky Steven T. | Methods and systems for searching and managing information on wireless data devices |
US7062561B1 (en) | 2000-05-23 | 2006-06-13 | Richard Reisman | Method and apparatus for utilizing the social usage learned from multi-user feedback to improve resource identity signifier mapping |
IL140241A (en) * | 2000-12-11 | 2007-02-11 | Celebros Ltd | Interactive searching system and method |
US20030217052A1 (en) * | 2000-08-24 | 2003-11-20 | Celebros Ltd. | Search engine method and apparatus |
US7062488B1 (en) * | 2000-08-30 | 2006-06-13 | Richard Reisman | Task/domain segmentation in applying feedback to command control |
US7013308B1 (en) | 2000-11-28 | 2006-03-14 | Semscript Ltd. | Knowledge storage and retrieval system and method |
US7895583B2 (en) * | 2000-12-22 | 2011-02-22 | Oracle International Corporation | Methods and apparatus for grammar-based recognition of user-interface objects in HTML applications |
US20020133392A1 (en) * | 2001-02-22 | 2002-09-19 | Angel Mark A. | Distributed customer relationship management systems and methods |
US6714929B1 (en) | 2001-04-13 | 2004-03-30 | Auguri Corporation | Weighted preference data search system and method |
US6957206B2 (en) * | 2001-04-19 | 2005-10-18 | Quantum Dynamics, Inc. | Computer system and method with adaptive N-level structures for automated generation of program solutions based on rules input by subject matter experts |
US20030009448A1 (en) * | 2001-06-14 | 2003-01-09 | Covington Robert C. | Method and apparatus for providing user-specific response |
US20030004996A1 (en) * | 2001-06-29 | 2003-01-02 | International Business Machines Corporation | Method and system for spatial information retrieval for hyperlinked documents |
US7188141B2 (en) * | 2001-06-29 | 2007-03-06 | International Business Machines Corporation | Method and system for collaborative web research |
US7136845B2 (en) * | 2001-07-12 | 2006-11-14 | Microsoft Corporation | System and method for query refinement to enable improved searching based on identifying and utilizing popular concepts related to users' queries |
US8112529B2 (en) | 2001-08-20 | 2012-02-07 | Masterobjects, Inc. | System and method for asynchronous client server session communication |
US7836057B1 (en) | 2001-09-24 | 2010-11-16 | Auguri Corporation | Weighted preference inference system and method |
US20070198572A1 (en) * | 2001-10-08 | 2007-08-23 | David Sciuk | Automated system and method for managing a process for the shopping and selection of human entities |
US20030093394A1 (en) * | 2001-11-14 | 2003-05-15 | Normand Frenette | Knowledge capture and retrieval method |
US20030115191A1 (en) * | 2001-12-17 | 2003-06-19 | Max Copperman | Efficient and cost-effective content provider for customer relationship management (CRM) or other applications |
US6978264B2 (en) | 2002-01-03 | 2005-12-20 | Microsoft Corporation | System and method for performing a search and a browse on a query |
US6834274B2 (en) * | 2002-01-07 | 2004-12-21 | Dennis W. Tafoya | Building a learning organization using knowledge management |
US6988240B2 (en) * | 2002-03-29 | 2006-01-17 | Global Knowledge, Inc. | Methods and apparatus for low overhead enhancement of web page and markup language presentations |
US7664830B2 (en) * | 2002-03-29 | 2010-02-16 | Sony Corporation | Method and system for utilizing embedded MPEG-7 content descriptions |
US7398209B2 (en) | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7356537B2 (en) * | 2002-06-06 | 2008-04-08 | Microsoft Corporation | Providing contextually sensitive tools and help content in computer-generated documents |
US20040006738A1 (en) * | 2002-07-02 | 2004-01-08 | Pamela Szabo | Source of record manager |
US7693720B2 (en) * | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
US7472127B2 (en) | 2002-12-18 | 2008-12-30 | International Business Machines Corporation | Methods to identify related data in a multidimensional database |
US8543564B2 (en) | 2002-12-23 | 2013-09-24 | West Publishing Company | Information retrieval systems with database-selection aids |
US20040143644A1 (en) * | 2003-01-21 | 2004-07-22 | Nec Laboratories America, Inc. | Meta-search engine architecture |
US20050278362A1 (en) * | 2003-08-12 | 2005-12-15 | Maren Alianna J | Knowledge discovery system |
US7333997B2 (en) * | 2003-08-12 | 2008-02-19 | Viziant Corporation | Knowledge discovery method with utility functions and feedback loops |
WO2005020106A1 (en) * | 2003-08-18 | 2005-03-03 | Sap Aktiengesellschaft | Method and system for selecting a search engine and executing a search |
US8869061B1 (en) | 2003-08-29 | 2014-10-21 | Microsoft Corporation | User interface for searching an electronic document |
US7590936B1 (en) | 2003-09-30 | 2009-09-15 | Microsoft Corporation | Method for extracting information associated with a search term |
US20050071362A1 (en) * | 2003-09-30 | 2005-03-31 | Nelson Brent Dalmas | Enterprises taxonomy formation method and system for an intellectual capital management system |
JP2005135519A (en) * | 2003-10-30 | 2005-05-26 | Fujitsu Ten Ltd | Music reproducing unit |
US7774604B2 (en) * | 2003-12-10 | 2010-08-10 | Mcafee, Inc. | Verifying captured objects before presentation |
US7814327B2 (en) * | 2003-12-10 | 2010-10-12 | Mcafee, Inc. | Document registration |
US7899828B2 (en) | 2003-12-10 | 2011-03-01 | Mcafee, Inc. | Tag data structure for maintaining relational data over captured objects |
US8548170B2 (en) * | 2003-12-10 | 2013-10-01 | Mcafee, Inc. | Document de-registration |
US8656039B2 (en) | 2003-12-10 | 2014-02-18 | Mcafee, Inc. | Rule parser |
US7984175B2 (en) * | 2003-12-10 | 2011-07-19 | Mcafee, Inc. | Method and apparatus for data capture and analysis system |
US20050131778A1 (en) * | 2003-12-11 | 2005-06-16 | International Business Machines Corporation | Customized subscription builder |
US7711742B2 (en) * | 2003-12-11 | 2010-05-04 | International Business Machines Corporation | Intelligent data query builder |
US7970889B2 (en) * | 2003-12-11 | 2011-06-28 | International Business Machines Corporation | Intelligent subscription builder |
US20060106793A1 (en) * | 2003-12-29 | 2006-05-18 | Ping Liang | Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation |
US20060047649A1 (en) * | 2003-12-29 | 2006-03-02 | Ping Liang | Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation |
US7890526B1 (en) * | 2003-12-30 | 2011-02-15 | Microsoft Corporation | Incremental query refinement |
US7930540B2 (en) * | 2004-01-22 | 2011-04-19 | Mcafee, Inc. | Cryptographic policy enforcement |
US8612359B2 (en) * | 2004-01-29 | 2013-12-17 | Yahoo! Inc. | Method and system for sharing portal subscriber information in an online social network |
US7885901B2 (en) * | 2004-01-29 | 2011-02-08 | Yahoo! Inc. | Method and system for seeding online social network contacts |
US7536382B2 (en) * | 2004-03-31 | 2009-05-19 | Google Inc. | Query rewriting with entity detection |
US7996419B2 (en) | 2004-03-31 | 2011-08-09 | Google Inc. | Query rewriting with entity detection |
US20050228709A1 (en) * | 2004-04-08 | 2005-10-13 | Hillel Segal | Internet-based job placement system for managing proposals for screened and pre-qualified participants |
US20060106636A1 (en) * | 2004-04-08 | 2006-05-18 | Hillel Segal | Internet-based job placement system for creating proposals for screened and pre-qualified participants |
US20050234881A1 (en) * | 2004-04-16 | 2005-10-20 | Anna Burago | Search wizard |
US20050262196A1 (en) * | 2004-05-21 | 2005-11-24 | Quote Tech, Inc. | System and method for building and providing a universal product configuration system for arbitrary domains |
US8560534B2 (en) | 2004-08-23 | 2013-10-15 | Mcafee, Inc. | Database for a capture system |
US7949849B2 (en) * | 2004-08-24 | 2011-05-24 | Mcafee, Inc. | File system for a capture system |
US20060059142A1 (en) * | 2004-09-15 | 2006-03-16 | Yahoo! Inc. | System and method of modifying an on-line dating search using inline editing |
US20060059159A1 (en) * | 2004-09-15 | 2006-03-16 | Vu Hao Thi Truong | Online dating service providing response status tracking for a service subscriber |
US20060059130A1 (en) * | 2004-09-15 | 2006-03-16 | Yahoo! Inc. | System and method of automatically modifying an online dating service search using compatibility feedback |
US7882039B2 (en) * | 2004-09-15 | 2011-02-01 | Yahoo! Inc. | System and method of adaptive personalization of search results for online dating services |
US7389282B2 (en) * | 2004-11-02 | 2008-06-17 | Viziant Corporation | System and method for predictive analysis and predictive analysis markup language |
US8620717B1 (en) | 2004-11-04 | 2013-12-31 | Auguri Corporation | Analytical tool |
US7640162B2 (en) * | 2004-12-14 | 2009-12-29 | Microsoft Corporation | Semantic canvas |
US7469276B2 (en) * | 2004-12-27 | 2008-12-23 | International Business Machines Corporation | Service offering for the delivery of information with continuing improvement |
US8165870B2 (en) * | 2005-02-10 | 2012-04-24 | Microsoft Corporation | Classification filter for processing data for creating a language model |
US7792811B2 (en) * | 2005-02-16 | 2010-09-07 | Transaxtions Llc | Intelligent search with guiding info |
US7461059B2 (en) | 2005-02-23 | 2008-12-02 | Microsoft Corporation | Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks |
US20060195435A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | System and method for providing query assistance |
US7421419B2 (en) * | 2005-04-12 | 2008-09-02 | Viziant Corporation | System and method for evidence accumulation and hypothesis generation |
US7571161B2 (en) * | 2005-05-13 | 2009-08-04 | Microsoft Corporation | System and method for auto-sensed search help |
US20060265270A1 (en) * | 2005-05-23 | 2006-11-23 | Adam Hyder | Intelligent job matching system and method |
US8527510B2 (en) | 2005-05-23 | 2013-09-03 | Monster Worldwide, Inc. | Intelligent job matching system and method |
US8046348B1 (en) | 2005-06-10 | 2011-10-25 | NetBase Solutions, Inc. | Method and apparatus for concept-based searching of natural language discourse |
US20060287764A1 (en) * | 2005-06-20 | 2006-12-21 | Kraft Harold H | Privacy Information Reporting Systems Event Classification and Reporting |
US20070027751A1 (en) * | 2005-07-29 | 2007-02-01 | Chad Carson | Positioning advertisements on the bases of expected revenue |
US7548929B2 (en) * | 2005-07-29 | 2009-06-16 | Yahoo! Inc. | System and method for determining semantically related terms |
US8666928B2 (en) | 2005-08-01 | 2014-03-04 | Evi Technologies Limited | Knowledge repository |
US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7620549B2 (en) | 2005-08-10 | 2009-11-17 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US7907608B2 (en) * | 2005-08-12 | 2011-03-15 | Mcafee, Inc. | High speed packet capture |
US20070054248A1 (en) * | 2005-08-17 | 2007-03-08 | Bare Warren L | Systems and Methods for Standardizing Employment Skill Sets for Use in Creating, Searching, and Updating Job Profiles |
US7672932B2 (en) * | 2005-08-24 | 2010-03-02 | Yahoo! Inc. | Speculative search result based on a not-yet-submitted search query |
US7949529B2 (en) | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
US7818326B2 (en) | 2005-08-31 | 2010-10-19 | Mcafee, Inc. | System and method for word indexing in a capture system and querying thereof |
WO2007027967A2 (en) * | 2005-08-31 | 2007-03-08 | Eagleforce Associates | System for hypothesis generation |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
WO2007038713A2 (en) * | 2005-09-28 | 2007-04-05 | Epacris Inc. | Search engine determining results based on probabilistic scoring of relevance |
US7676517B2 (en) * | 2005-10-14 | 2010-03-09 | Microsoft Corporation | Search results injected into client applications |
US7730011B1 (en) | 2005-10-19 | 2010-06-01 | Mcafee, Inc. | Attributes of captured objects in a capture system |
AU2005234625B1 (en) * | 2005-11-15 | 2006-06-08 | The-Regeneration.Com Pty Ltd | Skills Dissemination Tool |
US7657104B2 (en) | 2005-11-21 | 2010-02-02 | Mcafee, Inc. | Identifying image type in a capture system |
US20070266439A1 (en) * | 2005-11-30 | 2007-11-15 | Harold Kraft | Privacy management and transaction system |
US20070136471A1 (en) * | 2005-12-12 | 2007-06-14 | Ip3 Networks | Systems and methods for negotiating and enforcing access to network resources |
US8337310B1 (en) * | 2005-12-20 | 2012-12-25 | Hans Bjordahl | Margin-based online game |
US8799302B2 (en) * | 2005-12-29 | 2014-08-05 | Google Inc. | Recommended alerts |
US7853923B2 (en) * | 2005-12-29 | 2010-12-14 | Sap Ag | Specific runtime generators in a visual modeling language environment |
US8195657B1 (en) | 2006-01-09 | 2012-06-05 | Monster Worldwide, Inc. | Apparatuses, systems and methods for data entry correlation |
US8117196B2 (en) | 2006-01-23 | 2012-02-14 | Chacha Search, Inc. | Search tool providing optional use of human search guides |
US8065286B2 (en) * | 2006-01-23 | 2011-11-22 | Chacha Search, Inc. | Scalable search system using human searchers |
US7962466B2 (en) * | 2006-01-23 | 2011-06-14 | Chacha Search, Inc | Automated tool for human assisted mining and capturing of precise results |
US8266130B2 (en) | 2006-01-23 | 2012-09-11 | Chacha Search, Inc. | Search tool providing optional use of human search guides |
US7676460B2 (en) * | 2006-03-03 | 2010-03-09 | International Business Machines Corporation | Techniques for providing suggestions for creating a search query |
US20070214119A1 (en) * | 2006-03-07 | 2007-09-13 | Microsoft Corporation | Searching within a Site of a Search Result |
US8504537B2 (en) | 2006-03-24 | 2013-08-06 | Mcafee, Inc. | Signature distribution in a document registration system |
US8600931B1 (en) | 2006-03-31 | 2013-12-03 | Monster Worldwide, Inc. | Apparatuses, methods and systems for automated online data submission |
US8326890B2 (en) * | 2006-04-28 | 2012-12-04 | Choicebot, Inc. | System and method for assisting computer users to search for and evaluate products and services, typically in a database |
US7689614B2 (en) | 2006-05-22 | 2010-03-30 | Mcafee, Inc. | Query generation for a capture system |
US7958227B2 (en) | 2006-05-22 | 2011-06-07 | Mcafee, Inc. | Attributes of captured objects in a capture system |
US7792967B2 (en) * | 2006-07-14 | 2010-09-07 | Chacha Search, Inc. | Method and system for sharing and accessing resources |
US8255383B2 (en) * | 2006-07-14 | 2012-08-28 | Chacha Search, Inc | Method and system for qualifying keywords in query strings |
WO2008012834A2 (en) * | 2006-07-25 | 2008-01-31 | Jain Pankaj | A method and a system for searching information using information device |
US8560402B2 (en) * | 2006-08-11 | 2013-10-15 | Etsy, Inc. | System and method of shopping by color |
US9251296B2 (en) * | 2006-08-18 | 2016-02-02 | National Instruments Corporation | Interactively setting a search value in a data finder tool |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
US8196045B2 (en) * | 2006-10-05 | 2012-06-05 | Blinkx Uk Limited | Various methods and apparatus for moving thumbnails with metadata |
US8078603B1 (en) | 2006-10-05 | 2011-12-13 | Blinkx Uk Ltd | Various methods and apparatuses for moving thumbnails |
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
WO2008088302A1 (en) * | 2006-11-02 | 2008-07-24 | Cohen Alain J | Collectively enhanced semantic search |
US7814086B2 (en) * | 2006-11-16 | 2010-10-12 | Yahoo! Inc. | System and method for determining semantically related terms based on sequences of search queries |
US7958117B2 (en) * | 2006-11-17 | 2011-06-07 | Yahoo! Inc. | Initial impression analysis tool for an online dating service |
US8274401B2 (en) * | 2006-12-22 | 2012-09-25 | Acterna Llc | Secure data transfer in a communication system including portable meters |
US8156135B2 (en) * | 2006-12-22 | 2012-04-10 | Yahoo! Inc. | Method and system for progressive disclosure of search results |
US7505973B2 (en) * | 2007-01-16 | 2009-03-17 | Microsoft Corporation | Efficient paging of search query results |
US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
US7818341B2 (en) * | 2007-03-19 | 2010-10-19 | Microsoft Corporation | Using scenario-related information to customize user experiences |
US8738606B2 (en) * | 2007-03-30 | 2014-05-27 | Microsoft Corporation | Query generation using environment configuration |
US7698344B2 (en) * | 2007-04-02 | 2010-04-13 | Microsoft Corporation | Search macro suggestions relevant to search queries |
US7836060B1 (en) * | 2007-04-13 | 2010-11-16 | Monster Worldwide, Inc. | Multi-way nested searching |
US8352450B1 (en) | 2007-04-19 | 2013-01-08 | Owl Computing Technologies, Inc. | Database update through a one-way data link |
US8200663B2 (en) * | 2007-04-25 | 2012-06-12 | Chacha Search, Inc. | Method and system for improvement of relevance of search results |
US7752201B2 (en) * | 2007-05-10 | 2010-07-06 | Microsoft Corporation | Recommendation of related electronic assets based on user search behavior |
US8037042B2 (en) * | 2007-05-10 | 2011-10-11 | Microsoft Corporation | Automated analysis of user search behavior |
US8150868B2 (en) * | 2007-06-11 | 2012-04-03 | Microsoft Corporation | Using joint communication and search data |
US20090063413A1 (en) * | 2007-08-31 | 2009-03-05 | Handysoft Global Corporation | Method and system for tracking allocations of assets and tasks |
US8838659B2 (en) | 2007-10-04 | 2014-09-16 | Amazon Technologies, Inc. | Enhanced knowledge repository |
US20090100032A1 (en) * | 2007-10-12 | 2009-04-16 | Chacha Search, Inc. | Method and system for creation of user/guide profile in a human-aided search system |
US7950631B2 (en) * | 2007-10-22 | 2011-05-31 | Lennox Industries Inc. | Water distribution tray |
US7814115B2 (en) * | 2007-10-16 | 2010-10-12 | At&T Intellectual Property I, Lp | Multi-dimensional search results adjustment system |
WO2009052308A1 (en) | 2007-10-17 | 2009-04-23 | Roseman Neil S | Nlp-based content recommender |
US8694483B2 (en) * | 2007-10-19 | 2014-04-08 | Xerox Corporation | Real-time query suggestion in a troubleshooting context |
US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US8577894B2 (en) * | 2008-01-25 | 2013-11-05 | Chacha Search, Inc | Method and system for access to restricted resources |
US20090210403A1 (en) * | 2008-02-20 | 2009-08-20 | Menachem Reinshmidt | System and method for extended structured searching architecture |
US8959104B2 (en) * | 2008-03-21 | 2015-02-17 | Microsoft Corporation | Presenting query suggestions based upon content items |
US20090248685A1 (en) * | 2008-03-25 | 2009-10-01 | Jay Pasqualoni | Method, System and Apparatus for Matching Job Applicants with Job Openings |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10387837B1 (en) | 2008-04-21 | 2019-08-20 | Monster Worldwide, Inc. | Apparatuses, methods and systems for career path advancement structuring |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8589161B2 (en) | 2008-05-27 | 2013-11-19 | Voicebox Technologies, Inc. | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8521731B2 (en) | 2008-07-09 | 2013-08-27 | Yahoo! Inc. | Systems and methods for query expansion in sponsored search |
US8205242B2 (en) | 2008-07-10 | 2012-06-19 | Mcafee, Inc. | System and method for data mining and security policy management |
US8645350B2 (en) * | 2008-07-11 | 2014-02-04 | Adobe Systems Incorporated | Dictionary compilations |
US9047285B1 (en) * | 2008-07-21 | 2015-06-02 | NetBase Solutions, Inc. | Method and apparatus for frame-based search |
US8935152B1 (en) | 2008-07-21 | 2015-01-13 | NetBase Solutions, Inc. | Method and apparatus for frame-based analysis of search results |
US9253154B2 (en) | 2008-08-12 | 2016-02-02 | Mcafee, Inc. | Configuration management for a capture/registration system |
US8751559B2 (en) * | 2008-09-16 | 2014-06-10 | Microsoft Corporation | Balanced routing of questions to experts |
US8850591B2 (en) | 2009-01-13 | 2014-09-30 | Mcafee, Inc. | System and method for concept building |
US8706709B2 (en) * | 2009-01-15 | 2014-04-22 | Mcafee, Inc. | System and method for intelligent term grouping |
US9805089B2 (en) * | 2009-02-10 | 2017-10-31 | Amazon Technologies, Inc. | Local business and product search system and method |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
US9195739B2 (en) * | 2009-02-20 | 2015-11-24 | Microsoft Technology Licensing, Llc | Identifying a discussion topic based on user interest information |
US8473442B1 (en) | 2009-02-25 | 2013-06-25 | Mcafee, Inc. | System and method for intelligent state management |
JP4706769B2 (en) * | 2009-03-23 | 2011-06-22 | コニカミノルタビジネステクノロジーズ株式会社 | Image processing device |
US8447722B1 (en) | 2009-03-25 | 2013-05-21 | Mcafee, Inc. | System and method for data mining and security policy management |
US8667121B2 (en) | 2009-03-25 | 2014-03-04 | Mcafee, Inc. | System and method for managing data and policies |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
SG177156A1 (en) * | 2009-06-16 | 2012-01-30 | Intel Corp | Camera applications in a handheld device |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US20110029506A1 (en) * | 2009-07-28 | 2011-02-03 | Fluke Corporation | Method and apparatus for bounding large query operations |
US9436777B2 (en) * | 2009-08-13 | 2016-09-06 | Yahoo! Inc. | Method and system for causing a browser to preload web page components |
US8433705B1 (en) * | 2009-09-30 | 2013-04-30 | Google Inc. | Facet suggestion for search query augmentation |
US9171541B2 (en) | 2009-11-10 | 2015-10-27 | Voicebox Technologies Corporation | System and method for hybrid processing in a natural language voice services environment |
WO2011059997A1 (en) | 2009-11-10 | 2011-05-19 | Voicebox Technologies, Inc. | System and method for providing a natural language content dedication service |
US9111004B2 (en) | 2009-12-17 | 2015-08-18 | International Business Machines Corporation | Temporal scope translation of meta-models using semantic web technologies |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US20110184723A1 (en) * | 2010-01-25 | 2011-07-28 | Microsoft Corporation | Phonetic suggestion engine |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9026529B1 (en) | 2010-04-22 | 2015-05-05 | NetBase Solutions, Inc. | Method and apparatus for determining search result demographics |
US9110882B2 (en) | 2010-05-14 | 2015-08-18 | Amazon Technologies, Inc. | Extracting structured knowledge from unstructured text |
US20110313995A1 (en) * | 2010-06-18 | 2011-12-22 | Abraham Lederman | Browser based multilingual federated search |
US8838633B2 (en) | 2010-08-11 | 2014-09-16 | Vcvc Iii Llc | NLP-based sentiment analysis |
WO2012024585A1 (en) | 2010-08-19 | 2012-02-23 | Othar Hansson | Predictive query completion and predictive search results |
US9405848B2 (en) | 2010-09-15 | 2016-08-02 | Vcvc Iii Llc | Recommending mobile device activities |
US8806615B2 (en) | 2010-11-04 | 2014-08-12 | Mcafee, Inc. | System and method for protecting specified data combinations |
US20120131556A1 (en) * | 2010-11-19 | 2012-05-24 | International Business Machines Corporation | Xpath-based selection assistance of gui elements during manual test script authoring for xml-based applications |
US9098569B1 (en) * | 2010-12-10 | 2015-08-04 | Amazon Technologies, Inc. | Generating suggested search queries |
JP5630275B2 (en) * | 2011-01-11 | 2014-11-26 | ソニー株式会社 | SEARCH DEVICE, SEARCH METHOD, AND PROGRAM |
US8473507B2 (en) * | 2011-01-14 | 2013-06-25 | Apple Inc. | Tokenized search suggestions |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US9116995B2 (en) | 2011-03-30 | 2015-08-25 | Vcvc Iii Llc | Cluster-based identification of news stories |
US8983995B2 (en) | 2011-04-15 | 2015-03-17 | Microsoft Corporation | Interactive semantic query suggestion for content search |
US20120278353A1 (en) * | 2011-04-28 | 2012-11-01 | International Business Machines | Searching with topic maps of a model for canonical model based integration |
US8386457B2 (en) | 2011-06-22 | 2013-02-26 | International Business Machines Corporation | Using a dynamically-generated content-level newsworthiness rating to provide content recommendations |
US9659022B2 (en) | 2011-08-02 | 2017-05-23 | International Business Machines Corporation | File object browsing and searching across different domains |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US9075799B1 (en) | 2011-10-24 | 2015-07-07 | NetBase Solutions, Inc. | Methods and apparatus for query formulation |
US9348479B2 (en) | 2011-12-08 | 2016-05-24 | Microsoft Technology Licensing, Llc | Sentiment aware user interface customization |
US20130151547A1 (en) * | 2011-12-09 | 2013-06-13 | Sap Ag | Method and system for generating document recommendations |
US9378290B2 (en) | 2011-12-20 | 2016-06-28 | Microsoft Technology Licensing, Llc | Scenario-adaptive input method editor |
US20130246334A1 (en) | 2011-12-27 | 2013-09-19 | Mcafee, Inc. | System and method for providing data protection workflows in a network environment |
US10331745B2 (en) | 2012-03-31 | 2019-06-25 | Intel Corporation | Dynamic search service |
US9767144B2 (en) | 2012-04-20 | 2017-09-19 | Microsoft Technology Licensing, Llc | Search system with query refinement |
US8949263B1 (en) | 2012-05-14 | 2015-02-03 | NetBase Solutions, Inc. | Methods and apparatus for sentiment analysis |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
CN110488991A (en) | 2012-06-25 | 2019-11-22 | 微软技术许可有限责任公司 | Input Method Editor application platform |
US8856166B2 (en) * | 2012-06-25 | 2014-10-07 | Sap Ag | Query validator |
US8959109B2 (en) | 2012-08-06 | 2015-02-17 | Microsoft Corporation | Business intelligent in-document suggestions |
US9710543B2 (en) * | 2012-08-08 | 2017-07-18 | Intelliresponse Systems Inc. | Automated substitution of terms by compound expressions during indexing of information for computerized search |
EP2891078A4 (en) | 2012-08-30 | 2016-03-23 | Microsoft Technology Licensing Llc | Feature-based candidate selection |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US20140129462A1 (en) * | 2012-11-07 | 2014-05-08 | International Business Machines Corporation | Multifaceted candidate screening |
US9431008B2 (en) | 2013-05-29 | 2016-08-30 | Nuance Communications, Inc. | Multiple parallel dialogs in smart phone applications |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
WO2015018055A1 (en) | 2013-08-09 | 2015-02-12 | Microsoft Corporation | Input method editor providing language assistance |
US9652451B2 (en) * | 2014-05-08 | 2017-05-16 | Marvin Elder | Natural language query |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9575987B2 (en) | 2014-06-23 | 2017-02-21 | Owl Computing Technologies, Inc. | System and method for providing assured database updates via a one-way data link |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
CN107003996A (en) | 2014-09-16 | 2017-08-01 | 声钰科技 | VCommerce |
US9898459B2 (en) | 2014-09-16 | 2018-02-20 | Voicebox Technologies Corporation | Integration of domain information into state transitions of a finite state transducer for natural language processing |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
WO2016061309A1 (en) | 2014-10-15 | 2016-04-21 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US11157573B2 (en) * | 2014-11-20 | 2021-10-26 | Rakuten Group, Inc. | Information processing device, information processing method, program and storage medium |
US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10332123B2 (en) | 2015-08-27 | 2019-06-25 | Oracle International Corporation | Knowledge base search and retrieval based on document similarity |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
WO2018023106A1 (en) | 2016-07-29 | 2018-02-01 | Erik SWART | System and method of disambiguating natural language processing requests |
US20180052913A1 (en) * | 2016-08-16 | 2018-02-22 | Ebay Inc. | Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11748978B2 (en) | 2016-10-16 | 2023-09-05 | Ebay Inc. | Intelligent online personal assistant with offline visual search database |
US10860898B2 (en) | 2016-10-16 | 2020-12-08 | Ebay Inc. | Image analysis and prediction based visual search |
US11004131B2 (en) | 2016-10-16 | 2021-05-11 | Ebay Inc. | Intelligent online personal assistant with multi-turn dialog based on visual search |
US10970768B2 (en) | 2016-11-11 | 2021-04-06 | Ebay Inc. | Method, medium, and system for image text localization and comparison |
CN108153801B (en) * | 2016-12-06 | 2023-05-23 | 松下知识产权经营株式会社 | Information processing method, information processing apparatus, and recording medium |
US10474725B2 (en) * | 2016-12-15 | 2019-11-12 | Microsoft Technology Licensing, Llc | Determining similarities among industries to enhance job searching |
US10831841B2 (en) | 2016-12-15 | 2020-11-10 | Microsoft Technology Licensing, Llc | Determining similarities among job titles to enhance job searching |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US10565196B2 (en) | 2017-07-29 | 2020-02-18 | Splunk Inc. | Determining a user-specific approach for disambiguation based on an interaction recommendation machine learning model |
US11120344B2 (en) | 2017-07-29 | 2021-09-14 | Splunk Inc. | Suggesting follow-up queries based on a follow-up recommendation machine learning model |
US11170016B2 (en) * | 2017-07-29 | 2021-11-09 | Splunk Inc. | Navigating hierarchical components based on an expansion recommendation machine learning model |
CN109858000B (en) * | 2019-01-10 | 2021-09-07 | 广州视源电子科技股份有限公司 | Form processing method, device and system, storage medium and interactive intelligent panel |
RU2711717C1 (en) * | 2019-03-18 | 2020-01-21 | Общество с ограниченной ответственностью «Хэдхантер» | Recruitment system using machine learning and downsizing of multidimensional data and a method for recruiting personnel using machine learning and lowering the dimension of multidimensional data |
US11205155B2 (en) * | 2019-06-03 | 2021-12-21 | Microsoft Technology Licensing, Llc | Data selection based on career transition embeddings |
US11693540B1 (en) * | 2021-03-26 | 2023-07-04 | Amazon Technologies, Inc. | Technique to emphasize store branding in the multi-store app |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006225A (en) * | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
Family Cites Families (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US610485A (en) * | 1898-09-06 | Locking device for steering apparatus | ||
US5107443A (en) | 1988-09-07 | 1992-04-21 | Xerox Corporation | Private regions within a shared workspace |
US5164897A (en) | 1989-06-21 | 1992-11-17 | Techpower, Inc. | Automated method for selecting personnel matched to job criteria |
AU622823B2 (en) * | 1989-08-25 | 1992-04-16 | Sony Corporation | Portable graphic computer apparatus |
JPH03188528A (en) | 1989-09-27 | 1991-08-16 | Hitachi Ltd | Method and system for job execution management |
US5265033A (en) | 1991-09-23 | 1993-11-23 | Atm Communications International, Inc. | ATM/POS based electronic mail system |
US5414845A (en) | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
EP0746816B1 (en) | 1993-08-03 | 2001-10-24 | Sun Microsystems, Inc. | Flexible multi-platform partitioning for computer applications |
US5532838A (en) | 1993-12-27 | 1996-07-02 | Barbari; Edward P. | Method & apparatus for dynamically creating and transmitting documents via facsimile equipment |
US20020004753A1 (en) * | 1996-10-25 | 2002-01-10 | Thomas J. Perkowski | System and method for finding and serving consumer product related information to consumers using internet-based information servers and clients |
US6625581B1 (en) | 1994-04-22 | 2003-09-23 | Ipf, Inc. | Method of and system for enabling the access of consumer product related information and the purchase of consumer products at points of consumer presence on the world wide web (www) at which consumer product information request (cpir) enabling servlet tags are embedded within html-encoded documents |
KR100289826B1 (en) | 1994-05-31 | 2001-05-15 | 아끼구사 나오유끼 | Job execution system and method between different operating systems |
US5543789A (en) | 1994-06-24 | 1996-08-06 | Shields Enterprises, Inc. | Computerized navigation system |
JPH0830471A (en) | 1994-07-14 | 1996-02-02 | Hitachi Ltd | Execution processor change system for job |
US5551024A (en) | 1994-10-13 | 1996-08-27 | Microsoft Corporation | System for identifying data records in a database using a data structure with linked parameters in a search range |
DE69531188T2 (en) | 1994-12-28 | 2004-04-22 | Aisin AW Co., Ltd., Anjo | navigation device |
US5799309A (en) * | 1994-12-29 | 1998-08-25 | International Business Machines Corporation | Generating an optimized set of relational queries fetching data in an object-relational database |
US5583995A (en) | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
US5870552A (en) | 1995-03-28 | 1999-02-09 | America Online, Inc. | Method and apparatus for publishing hypermedia documents over wide area networks |
US5937162A (en) | 1995-04-06 | 1999-08-10 | Exactis.Com, Inc. | Method and apparatus for high volume e-mail delivery |
US5832497A (en) * | 1995-08-10 | 1998-11-03 | Tmp Worldwide Inc. | Electronic automated information exchange and management system |
GB9516762D0 (en) | 1995-08-16 | 1995-10-18 | Phelan Sean P | Computer system for identifying local resources |
KR0183524B1 (en) | 1995-09-27 | 1999-04-15 | 모리 하루오 | Navigation system for displaying a structure-shape map 51 g08g 1/0969 |
US5966695A (en) | 1995-10-17 | 1999-10-12 | Citibank, N.A. | Sales and marketing support system using a graphical query prospect database |
JP3743037B2 (en) | 1995-11-01 | 2006-02-08 | 株式会社日立製作所 | Information providing method to mobile terminal, information providing system, and mobile terminal |
US5781901A (en) | 1995-12-21 | 1998-07-14 | Intel Corporation | Transmitting electronic mail attachment over a network using a e-mail page |
GB9602027D0 (en) | 1996-02-01 | 1996-04-03 | Madge Networks Ltd | Flow control in a cell switched communication system |
US5706502A (en) | 1996-03-25 | 1998-01-06 | Sun Microsystems, Inc. | Internet-enabled portfolio manager system and method |
US6311211B1 (en) | 1996-04-19 | 2001-10-30 | Juno Online Services, Inc. | Method and apparatus for delivering electronic advocacy messages |
TW317058B (en) | 1996-04-23 | 1997-10-01 | Ibm | Data communication system for a wireless access to an atm network |
US5999912A (en) | 1996-05-01 | 1999-12-07 | Wodarz; Dennis | Dynamic advertising scheduling, display, and tracking |
US5793972A (en) | 1996-05-03 | 1998-08-11 | Westminster International Computers Inc. | System and method providing an interactive response to direct mail by creating personalized web page based on URL provided on mail piece |
US5923848A (en) | 1996-05-31 | 1999-07-13 | Microsoft Corporation | System and method for resolving names in an electronic messaging environment |
US5818447A (en) | 1996-06-06 | 1998-10-06 | Microsoft Corporation | System and method for in-place editing of an electronic mail message using a separate program |
US6031533A (en) | 1996-07-03 | 2000-02-29 | Sun Microsystems, Inc. | Graphical user interface for use in a de-centralized network environment |
US5933811A (en) | 1996-08-20 | 1999-08-03 | Paul D. Angles | System and method for delivering customized advertisements within interactive communication systems |
US20040139049A1 (en) | 1996-08-22 | 2004-07-15 | Wgrs Licensing Company, Llc | Unified geographic database and method of creating, maintaining and using the same |
AU5156898A (en) | 1996-11-07 | 1998-05-29 | Vayu Web, Inc. | System and method for displaying information and monitoring communications over the internet |
WO1998027696A1 (en) | 1996-12-05 | 1998-06-25 | 3Com Corporation | Method and apparatus for time-based download control |
US5875175A (en) | 1997-05-01 | 1999-02-23 | 3Com Corporation | Method and apparatus for time-based download control |
US7287271B1 (en) | 1997-04-08 | 2007-10-23 | Visto Corporation | System and method for enabling secure access to services in a computer network |
US6263020B1 (en) | 1996-12-24 | 2001-07-17 | Intel Corporation | Method and apparatus for bit rate control in a digital video system |
US6222825B1 (en) | 1997-01-23 | 2001-04-24 | Advanced Micro Devices, Inc. | Arrangement for determining link latency for maintaining flow control in full-duplex networks |
US5978799A (en) | 1997-01-30 | 1999-11-02 | Hirsch; G. Scott | Search engine including query database, user profile database, information templates and email facility |
AUPO525497A0 (en) | 1997-02-21 | 1997-03-20 | Mills, Dudley John | Network-based classified information systems |
US6085244A (en) | 1997-03-17 | 2000-07-04 | Sun Microsystems, Inc. | Dynamic test update in a remote computer monitoring system |
JP3002721B2 (en) | 1997-03-17 | 2000-01-24 | 警察庁長官 | Graphic position detecting method and apparatus, and machine-readable recording medium storing program |
US5796952A (en) | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6009462A (en) | 1997-06-16 | 1999-12-28 | Digital Equipment Corporation | Replacing large bit component of electronic mail (e-mail) message with hot-link in distributed computer system |
US6829764B1 (en) | 1997-06-23 | 2004-12-07 | International Business Machines Corporation | System and method for maximizing usage of computer resources in scheduling of application tasks |
US7194424B2 (en) | 1997-06-25 | 2007-03-20 | Intel Corporation | User demographic profile driven advertising targeting |
US20010011226A1 (en) | 1997-06-25 | 2001-08-02 | Paul Greer | User demographic profile driven advertising targeting |
US6256627B1 (en) * | 1997-07-08 | 2001-07-03 | At&T Corp. | System and method for maintaining a knowledge base and evidence set |
US6701372B2 (en) | 1997-08-22 | 2004-03-02 | Canon Kabushiki Kaisha | Data communication apparatus and method |
US6049776A (en) | 1997-09-06 | 2000-04-11 | Unisys Corporation | Human resource management system for staffing projects |
US6182129B1 (en) | 1997-09-11 | 2001-01-30 | International Business Machines Corporation | Apparatus, methods and computer program products for managing sessions with host-based application using session vectors |
US6091777A (en) | 1997-09-18 | 2000-07-18 | Cubic Video Technologies, Inc. | Continuously adaptive digital video compression system and method for a web streamer |
US6055510A (en) | 1997-10-24 | 2000-04-25 | At&T Corp. | Method for performing targeted marketing over a large computer network |
US6021406A (en) * | 1997-11-14 | 2000-02-01 | Etak, Inc. | Method for storing map data in a database using space filling curves and a method of searching the database to find objects in a given area and to find objects nearest to a location |
JP3927304B2 (en) | 1998-02-13 | 2007-06-06 | トヨタ自動車株式会社 | Map data access method for navigation |
US6170011B1 (en) | 1998-09-11 | 2001-01-02 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for determining and initiating interaction directionality within a multimedia communication center |
US6791943B1 (en) | 1998-02-27 | 2004-09-14 | Agilent Technologies, Inc. | Event-based technique for determining instantaneous cell bandwidth in a digital communications network |
US6101485A (en) | 1998-03-26 | 2000-08-08 | International Business Machines Corporation | Electronic solicitations for internet commerce |
US6009455A (en) | 1998-04-20 | 1999-12-28 | Doyle; John F. | Distributed computation utilizing idle networked computers |
US6070190A (en) | 1998-05-11 | 2000-05-30 | International Business Machines Corporation | Client-based application availability and response monitoring and reporting for distributed computing environments |
US6748451B2 (en) | 1998-05-26 | 2004-06-08 | Dow Global Technologies Inc. | Distributed computing environment using real-time scheduling logic and time deterministic architecture |
US6353845B1 (en) | 1998-06-25 | 2002-03-05 | International Business Machines Corporation | Computer system, program product and method for tracking asynchronous I/O with timeout support |
JP2000020421A (en) | 1998-07-01 | 2000-01-21 | Hitachi Software Eng Co Ltd | Method for automatically selecting template in electronic mail system |
US6539080B1 (en) | 1998-07-14 | 2003-03-25 | Ameritech Corporation | Method and system for providing quick directions |
US7047423B1 (en) * | 1998-07-21 | 2006-05-16 | Computer Associates Think, Inc. | Information security analysis system |
US6363377B1 (en) * | 1998-07-30 | 2002-03-26 | Sarnoff Corporation | Search data processor |
AU5234999A (en) | 1998-08-03 | 2000-02-28 | Doubleclick Inc. | Network for distribution of re-targeted advertising |
US6360254B1 (en) | 1998-09-15 | 2002-03-19 | Amazon.Com Holdings, Inc. | System and method for providing secure URL-based access to private resources |
US6854007B1 (en) | 1998-09-17 | 2005-02-08 | Micron Technology, Inc. | Method and system for enhancing reliability of communication with electronic messages |
JP2000112883A (en) | 1998-09-24 | 2000-04-21 | Internatl Business Mach Corp <Ibm> | Method for processing information, information processor, and storage medium storing information processing program |
US6701307B2 (en) | 1998-10-28 | 2004-03-02 | Microsoft Corporation | Method and apparatus of expanding web searching capabilities |
US20010042000A1 (en) | 1998-11-09 | 2001-11-15 | William Defoor | Method for matching job candidates with employers |
US6618747B1 (en) | 1998-11-25 | 2003-09-09 | Francis H. Flynn | Electronic communication delivery confirmation and verification system |
US6381579B1 (en) | 1998-12-23 | 2002-04-30 | International Business Machines Corporation | System and method to provide secure navigation to resources on the internet |
US6751606B1 (en) * | 1998-12-23 | 2004-06-15 | Microsoft Corporation | System for enhancing a query interface |
US6721759B1 (en) * | 1998-12-24 | 2004-04-13 | Sony Corporation | Techniques for spatial representation of data and browsing based on similarity |
US6282540B1 (en) | 1999-02-26 | 2001-08-28 | Vicinity Corporation | Method and apparatus for efficient proximity searching |
JP2000293099A (en) | 1999-04-09 | 2000-10-20 | Toyota Motor Corp | Map database |
US6449635B1 (en) | 1999-04-21 | 2002-09-10 | Mindarrow Systems, Inc. | Electronic mail deployment system |
US6560243B1 (en) | 1999-04-30 | 2003-05-06 | Hewlett-Packard Development Company | System and method for receiver based allocation of network bandwidth |
US6188398B1 (en) | 1999-06-02 | 2001-02-13 | Mark Collins-Rector | Targeting advertising using web pages with video |
US6606613B1 (en) * | 1999-06-03 | 2003-08-12 | Microsoft Corporation | Methods and apparatus for using task models to help computer users complete tasks |
US6668281B1 (en) | 1999-06-10 | 2003-12-23 | General Interactive, Inc. | Relationship management system and method using asynchronous electronic messaging |
US7072888B1 (en) * | 1999-06-16 | 2006-07-04 | Triogo, Inc. | Process for improving search engine efficiency using feedback |
US6446111B1 (en) | 1999-06-18 | 2002-09-03 | Epicrealm Operating Inc. | Method and apparatus for client-server communication using a limited capability client over a low-speed communications link |
US6662194B1 (en) | 1999-07-31 | 2003-12-09 | Raymond Anthony Joao | Apparatus and method for providing recruitment information |
US6289340B1 (en) | 1999-08-03 | 2001-09-11 | Ixmatch, Inc. | Consultant matching system and method for selecting candidates from a candidate pool by adjusting skill values |
US6766348B1 (en) | 1999-08-03 | 2004-07-20 | Worldcom, Inc. | Method and system for load-balanced data exchange in distributed network-based resource allocation |
AU6635000A (en) | 1999-08-12 | 2001-03-13 | Kivera, Inc. | Method and apparatus for providing location-dependent services to mobile users |
JP2001067594A (en) | 1999-08-31 | 2001-03-16 | Hitachi Ltd | Broadcast method, broadcast device, traffic information compiling device and traffic information display system |
US6606660B1 (en) | 1999-08-31 | 2003-08-12 | Accenture Llp | Stream-based communication in a communication services patterns environment |
US7149893B1 (en) | 1999-09-07 | 2006-12-12 | Poofaway.Com, Inc. | System and method for enabling the originator of an electronic mail message to preset an expiration time, date, and/or event, and to control processing or handling by a recipient |
JP3875817B2 (en) | 1999-09-27 | 2007-01-31 | ペンタックス株式会社 | Map coordinate detection system for ranging device |
JP2001124568A (en) | 1999-10-29 | 2001-05-11 | Pioneer Electronic Corp | Apparatus and method for displaying map |
US6351755B1 (en) | 1999-11-02 | 2002-02-26 | Alta Vista Company | System and method for associating an extensible set of data with documents downloaded by a web crawler |
US6321265B1 (en) | 1999-11-02 | 2001-11-20 | Altavista Company | System and method for enforcing politeness while scheduling downloads in a web crawler |
US6836792B1 (en) | 1999-12-03 | 2004-12-28 | Trend Micro Incorporated | Techniques for providing add-on services for an email system |
US20020073343A1 (en) | 1999-12-14 | 2002-06-13 | Ziskind Benjamin H. | Integrated internet messenger system and method |
US20010039508A1 (en) | 1999-12-16 | 2001-11-08 | Nagler Matthew Gordon | Method and apparatus for scoring and matching attributes of a seller to project or job profiles of a buyer |
US7475346B1 (en) | 1999-12-22 | 2009-01-06 | Unisys Corporation | System and method for providing a customizable web portal service |
US6275575B1 (en) | 2000-01-12 | 2001-08-14 | Right4Me.Com, Inc. | Method and system for coordinating and initiating cross-platform telephone conferences |
US6778973B2 (en) | 2000-01-12 | 2004-08-17 | Duane Harlan | Method for selection of events based on proximity |
US6401075B1 (en) | 2000-02-14 | 2002-06-04 | Global Network, Inc. | Methods of placing, purchasing and monitoring internet advertising |
US20010047297A1 (en) | 2000-02-16 | 2001-11-29 | Albert Wen | Advertisement brokering with remote ad generation system and method in a distributed computer network |
US6408260B1 (en) | 2000-02-16 | 2002-06-18 | Cymer, Inc. | Laser lithography quality alarm system |
AUPQ599700A0 (en) | 2000-03-03 | 2000-03-23 | Super Internet Site System Pty Ltd | On-line geographical directory |
US6727927B1 (en) * | 2000-03-08 | 2004-04-27 | Accenture Llp | System, method and article of manufacture for a user interface for a knowledge management tool |
US6587832B1 (en) | 2000-03-16 | 2003-07-01 | Compensate.Com Llc | Market pay system |
US6785679B1 (en) | 2000-03-29 | 2004-08-31 | Brassring, Llc | Method and apparatus for sending and tracking resume data sent via URL |
US7103580B1 (en) * | 2000-03-30 | 2006-09-05 | Voxage, Ltd. | Negotiation using intelligent agents |
WO2001080065A2 (en) | 2000-04-18 | 2001-10-25 | Icplanet Acquisition Corporation | Method, system, and computer program product for propagating remotely configurable posters of host site content |
US6578022B1 (en) * | 2000-04-18 | 2003-06-10 | Icplanet Corporation | Interactive intelligent searching with executable suggestions |
US6681255B1 (en) | 2000-04-19 | 2004-01-20 | Icplanet Corporation | Regulating rates of requests by a spider engine to web sites by creating instances of a timing module |
WO2001082112A2 (en) | 2000-04-25 | 2001-11-01 | Icplanet Acquisition Corporation | System and method related to generating and tracking an email campaign |
US7007010B2 (en) | 2000-04-25 | 2006-02-28 | Icplanet Corporation | System and method for proximity searching position information using a proximity parameter |
AU2001255611A1 (en) | 2000-04-25 | 2001-11-07 | Icplanet Acquisition Corporation | System and method for scheduling execution of cross-platform computer processes |
AU2001259143A1 (en) | 2000-04-25 | 2001-11-07 | Icplanet Acquisition Corporation | Method, system, and computer program product for employment market statistics generation and analysis |
WO2001086555A2 (en) | 2000-05-05 | 2001-11-15 | L90, Inc. | Method and apparatus for transaction tracking over a computer network |
US6829780B2 (en) | 2000-07-17 | 2004-12-07 | International Business Machines Corporation | System and method for dynamically optimizing a banner advertisement to counter competing advertisements |
US6523021B1 (en) | 2000-07-31 | 2003-02-18 | Microsoft Corporation | Business directory search engine |
US6594666B1 (en) | 2000-09-25 | 2003-07-15 | Oracle International Corp. | Location aware application development framework |
US6721874B1 (en) * | 2000-10-12 | 2004-04-13 | International Business Machines Corporation | Method and system for dynamically shared completion table supporting multiple threads in a processing system |
US20020103698A1 (en) | 2000-10-31 | 2002-08-01 | Christian Cantrell | System and method for enabling user control of online advertising campaigns |
US7383355B1 (en) | 2000-11-01 | 2008-06-03 | Sun Microsystems, Inc. | Systems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects |
US20050171863A1 (en) | 2000-12-15 | 2005-08-04 | Hagen Philip A. | System and computerized method for classified ads |
US7099872B2 (en) | 2001-02-05 | 2006-08-29 | Employon Nj, Llc | Method for providing access to online employment information |
US6694353B2 (en) | 2001-03-28 | 2004-02-17 | Good Contacts.Com | Method and system for automatically updating electronic mail address information within an electronic mail address database |
US20020152238A1 (en) | 2001-04-17 | 2002-10-17 | Hayes Todd R. | System and method to provide information corresponding to hyperlinked text in an online HTML document |
US20030046148A1 (en) | 2001-06-08 | 2003-03-06 | Steven Rizzi | System and method of providing advertising on the internet |
US20020156779A1 (en) | 2001-09-28 | 2002-10-24 | Elliott Margaret E. | Internet search engine |
US20030128297A1 (en) | 2002-01-04 | 2003-07-10 | Kinpo Electronics, Inc. | Device for dividing and shifting TV picture and its operating method |
US7539756B2 (en) | 2002-01-31 | 2009-05-26 | Darby & Mohaine, L.L.C. | Method and system of data packet transmission timing for controlling bandwidth |
US20040220821A1 (en) | 2003-04-30 | 2004-11-04 | Ericsson Arthur Dale | Bidding method for time-sensitive offerings |
CN101253524A (en) | 2004-05-18 | 2008-08-27 | 艾德沃泰兴.Com公司 | Systems and methods of achieving optimal advertising |
-
2000
- 2000-04-18 US US09/551,533 patent/US6578022B1/en not_active Expired - Lifetime
-
2001
- 2001-04-18 WO PCT/US2001/012510 patent/WO2001080177A2/en active Application Filing
- 2001-04-18 AU AU2001253611A patent/AU2001253611A1/en not_active Abandoned
-
2003
- 2003-06-09 US US10/456,955 patent/US7069254B2/en not_active Expired - Lifetime
-
2005
- 2005-07-13 US US11/179,818 patent/US7730008B2/en not_active Expired - Fee Related
-
2010
- 2010-05-10 US US12/776,833 patent/US8055605B2/en not_active Expired - Fee Related
-
2011
- 2011-09-23 US US13/243,815 patent/US8219516B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006225A (en) * | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
Non-Patent Citations (1)
Title |
---|
GAUCH S ET AL: "Query reformulation strategies for an intelligent search intermediary" , AI SYSTEMS IN GOVERNMENT CONFERENCE, 1989.,PROCEEDINGS OF THE ANNUAL WASHINGTON, DC, USA 27-31 MARCH 1989, WASHINGTON, DC, USA,IEEE COMPUT. SOC. PR, US, PAGE(S) 65-71 XP010015629 ISBN: 0-8186-1934-1 abstract page 66, right-hand column, line 1 -page 67, right-hand column, line 9; figure 2 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055605B2 (en) | 2000-04-18 | 2011-11-08 | Archeron Limited Llc | Interactive intelligent searching with executable suggestions |
US8219516B2 (en) | 2000-04-18 | 2012-07-10 | Archeron Limited Llc | Interactive intelligent searching with executable suggestions |
US8266242B2 (en) | 2000-04-18 | 2012-09-11 | Archeron Limited L.L.C. | Method, system, and computer program product for propagating remotely configurable posters of host site content |
US8156499B2 (en) | 2000-04-25 | 2012-04-10 | Icp Acquisition Corporation | Methods, systems and articles of manufacture for scheduling execution of programs on computers having different operating systems |
US7953593B2 (en) | 2001-08-14 | 2011-05-31 | Evri, Inc. | Method and system for extending keyword searching to syntactically and semantically annotated data |
US8131540B2 (en) | 2001-08-14 | 2012-03-06 | Evri, Inc. | Method and system for extending keyword searching to syntactically and semantically annotated data |
US8856096B2 (en) | 2005-11-16 | 2014-10-07 | Vcvc Iii Llc | Extending keyword searching to syntactically and semantically annotated data |
WO2007059287A1 (en) | 2005-11-16 | 2007-05-24 | Evri Inc. | Extending keyword searching to syntactically and semantically annotated data |
US8954469B2 (en) | 2007-03-14 | 2015-02-10 | Vcvciii Llc | Query templates and labeled search tip system, methods, and techniques |
US9934313B2 (en) | 2007-03-14 | 2018-04-03 | Fiver Llc | Query templates and labeled search tip system, methods and techniques |
US9613004B2 (en) | 2007-10-17 | 2017-04-04 | Vcvc Iii Llc | NLP-based entity recognition and disambiguation |
US10282389B2 (en) | 2007-10-17 | 2019-05-07 | Fiver Llc | NLP-based entity recognition and disambiguation |
US9710556B2 (en) | 2010-03-01 | 2017-07-18 | Vcvc Iii Llc | Content recommendation based on collections of entities |
US9092416B2 (en) | 2010-03-30 | 2015-07-28 | Vcvc Iii Llc | NLP-based systems and methods for providing quotations |
US10331783B2 (en) | 2010-03-30 | 2019-06-25 | Fiver Llc | NLP-based systems and methods for providing quotations |
US10049150B2 (en) | 2010-11-01 | 2018-08-14 | Fiver Llc | Category-based content recommendation |
WO2014095008A1 (en) * | 2012-12-17 | 2014-06-26 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
EP2743875A1 (en) * | 2012-12-17 | 2014-06-18 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
CN104854609A (en) * | 2012-12-17 | 2015-08-19 | 艾玛迪斯简易股份公司 | Recommendation engine for interactive search forms |
US9201856B2 (en) | 2012-12-17 | 2015-12-01 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
US9268759B2 (en) | 2012-12-17 | 2016-02-23 | Amadeus S.A.S. | Recommendation engine for interactive search forms |
Also Published As
Publication number | Publication date |
---|---|
US20120023121A1 (en) | 2012-01-26 |
WO2001080177A3 (en) | 2003-01-30 |
US8055605B2 (en) | 2011-11-08 |
US8219516B2 (en) | 2012-07-10 |
US6578022B1 (en) | 2003-06-10 |
AU2001253611A1 (en) | 2001-10-30 |
US7730008B2 (en) | 2010-06-01 |
US20060129536A1 (en) | 2006-06-15 |
US7069254B2 (en) | 2006-06-27 |
US20040010484A1 (en) | 2004-01-15 |
US20100223275A1 (en) | 2010-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6578022B1 (en) | Interactive intelligent searching with executable suggestions | |
US10496722B2 (en) | Knowledge correlation search engine | |
US7216121B2 (en) | Search engine facility with automated knowledge retrieval, generation and maintenance | |
US5933822A (en) | Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision | |
US20020042789A1 (en) | Internet search engine with interactive search criteria construction | |
US20020065857A1 (en) | System and method for analysis and clustering of documents for search engine | |
US20040139107A1 (en) | Dynamically updating a search engine's knowledge and process database by tracking and saving user interactions | |
Jones | Further reflections on TREC | |
Bernardini et al. | A WaCky introduction | |
JP2004534324A (en) | Extensible interactive document retrieval system with index | |
EP1763800A1 (en) | Defining a data dependency path through a body of related data | |
US7065536B2 (en) | Automated maintenance of an electronic database via a point system implementation | |
CN101114294A (en) | Self-help intelligent uprightness searching method | |
US20130159272A1 (en) | Understanding and addressing complex information needs | |
Necib et al. | Query processing using ontologies | |
Yang | Developing of an ontological interface agent with template-based linguistic processing technique for FAQ services | |
Storey et al. | The role of user profiles in context-aware query processing for the semantic web | |
Sneiders | Automated question answering: template-based approach | |
Amudha et al. | Gawk web search personalization using dynamic user profile | |
WO2007061451A1 (en) | A knowledge correlation search engine | |
Lauser | Semi-automatic ontology engineering and ontology supported document indexing in a multilingual environment | |
Pighin et al. | A formative evaluation of information retrieval techniques applied to software catalogues | |
US20030028370A1 (en) | System and method for providing a fixed grammar to allow a user to create a relational database without programming | |
Yang | An ontology-supported user modeling technique with query templates for interface agents | |
Chernov et al. | Enabling Federated Search with Heterogeneous Search Engines: Combining FAST Data Search and Lucene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |