WO2001080177A2 - Interactive intelligent searching with executable suggestions - Google Patents

Interactive intelligent searching with executable suggestions Download PDF

Info

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
Application number
PCT/US2001/012510
Other languages
French (fr)
Other versions
WO2001080177A3 (en
Inventor
Michael G. Foulger
Matthew J. Gaul
Original Assignee
Icplanet Acquisition Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Icplanet Acquisition Corporation filed Critical Icplanet Acquisition Corporation
Priority to AU2001253611A priority Critical patent/AU2001253611A1/en
Publication of WO2001080177A2 publication Critical patent/WO2001080177A2/en
Publication of WO2001080177A3 publication Critical patent/WO2001080177A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/934Information retrieval or Information management
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query 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
Figure imgf000020_0001
CatJob Table
Figure imgf000021_0001
Skill Dimension
SkillParent Table
Figure imgf000021_0002
c. Location Dimension
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
Figure imgf000022_0001
DegreeJob Table
Figure imgf000023_0001
Field of Study Dimension
FieldParent Table
Figure imgf000023_0002
Availability Dimension
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
Figure imgf000024_0001
8. Suggestion Engine
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

What is Claimed is:
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.
PCT/US2001/012510 2000-04-18 2001-04-18 Interactive intelligent searching with executable suggestions WO2001080177A2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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&#39;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