Auxiliary search query

By providing auxiliary search query systems and facet expansion technology, the problem that users need a lot of time to learn and adjust parameters when using complex search tools is solved, achieving more efficient and accurate search query creation and result manipulation.

CN113849518BActive Publication Date: 2025-06-24MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111135767.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-08-31
Filing Date
2016-10-13
Publication Date
2025-06-24
Estimated Expiration
2036-10-13

AI Technical Summary

Technical Problem

Users need to invest a lot of time when using complex search tools to learn query language and adjust parameters, and the prior art is difficult to effectively assist users in creating complex search queries.

Method used

By providing an auxiliary search query system that provides query completion options when the user enters a query and allows the user to select a workflow to assist in building the search query. In addition, the system allows users to further manipulate search results through facet expansion and search result refinement technology.

Benefits of technology

The system reduces the time for users to learn complex search tools, improves the efficiency of guided search creation without leaving the familiar search interface, and improves the manipulation and accuracy of search results through facet expansion and refinement techniques.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113849518B_ABST
    Figure CN113849518B_ABST
Patent Text Reader

Abstract

This document describes systems and techniques for assisting search queries. These techniques can include assisting in creating search queries, faceted expansion, or search result refinement. Assisting in creating search queries can include a search flow selector dynamically appearing as the user types text in a text input element. Faceted expansion can include specifically creating facets from relevant results and suggesting those facets to the user. Search result refinement can include creating context-dependent facets and using them to refine the displayed search results.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application "ASSISTED SEARCH QUERY" with an application date of October 13, 2016 and an application number of 201680073507.7.

[0002] Priority Claim

[0003] This patent application claims the benefit of priority of the following applications: U.S. Patent Application No. 15 / 253,381, filed on August 31, 2016, entitled "ASSISTED CREATION OF A SEARCH QUERY", which in turn claims the priority of U.S. Provisional Application No. 62 / 241,375, entitled "SEARCH STARTERS", filed on October 14, 2015; U.S. Patent Application No. 15 / 253,644, filed on August 31, 2016, entitled "SYSTEM FOR FACET EXPANSION", which in turn claims the priority of U.S. Provisional Application No. 62 / 241,405, entitled "SMART SEARCH FILTERS", filed on October 14, 2015; and U.S. Patent Application No. 15 / 253,667, filed on August 31, 2016, entitled "SEARCH RESULT REFINEMENT", which in turn claims the priority of U.S. Provisional Application No. 62 / 241,611, entitled "PRIORITIZED SEARCH RESULTS", filed on October 14, 2015. The entire contents of all of the above-mentioned applications are incorporated herein by reference. Technical Field

[0004] The embodiments described herein generally relate to search engines, and more particularly, to the assisted creation of search queries. Background Art

[0005] Search engines typically provide a structured mechanism for entering a data request and matching that request to items in a data store. These data store items typically include multiple fields, which include data or references to other data. Data requests are often structured with respect to known field configurations of the data in the data store. Thus, a query is formulated, for example, for a request title field that includes all or part of an article title.

[0006] After receiving a query, a search engine typically parses the query to determine when and where to search a data warehouse and creates a query plan. The search engine then executes the query plan and collects the results. Once located, these results can be further manipulated according to other parameters of the query. These manipulations can include sorting the results, aggregating the results to produce a certain number, and so on. Then, after the manipulations, the final results are returned to the agent to, for example, display the search results to the user. In some instances, the user can then request the search engine for the completed search to further manipulate the search results. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] In the drawings, which are not necessarily to scale, like numerals in different views may describe like components. Like numerals with different letter suffixes may represent different examples of like components. These drawings generally illustrate, by way of example and not by way of limitation, various embodiments discussed in this document.

[0008] Figure 1 Illustrates an example of a system for assisting search queries in accordance with one embodiment.

[0009] Figure 2 Illustrates functional components of a social networking service in accordance with one embodiment.

[0010] Figures 3 - 6 Illustrates an example of user interface elements for assisting in creating search queries in accordance with one embodiment.

[0011] Figure 7 Illustrates an example of a method for assisting in creating search queries in accordance with one embodiment.

[0012] Figure 8 Illustrates an example of a user interface for facet expansion in accordance with one embodiment.

[0013] Figure 9 Illustrates an example of entity comparison for facet expansion in accordance with one embodiment.

[0014] Figure 10 Illustrates an example of a method for facet expansion in accordance with one embodiment.

[0015] Figures 11 - 13B Illustrates an example of user interface elements for search result refinement in accordance with one embodiment.

[0016] Figure 14 Illustrates an example of a method for search result refinement in accordance with one embodiment.

[0017] Figure 15A block diagram illustrating an example of a machine on which one or more embodiments can be implemented. Detailed Description

[0018] For users who use complex search tools for complex data, a common problem arises: the user must invest a significant amount of time learning these search tools (query languages, adjusting parameters, etc.) and possibly collect and organize previous successful queries for future reuse. These problems can be exacerbated in search tasks that occur frequently but have different purposes, such as a recruiter searching an applicant database. In tasks such as these, the user may spend more time learning how to search than performing their primary function, such as recruiting personnel for a vacant position.

[0019] Query building tools can alleviate some of the problems pointed out above. Instead of providing a mere interface for entering values and fields to search, these tools can accept an initial input value and suggest subsequent values for selection. In some instances, a workflow can be used to guide the user through query generation. In one instance, the workflow is selected by the user, and then the user begins to complete the workflow according to the prompts. A problem with many workflow implementations may include the rigidity of the resulting workflow. For example, after a user becomes more accustomed to a particular query usage, the workflow prompts may be a slow or otherwise cumbersome interface for that user.

[0020] To address the problems pointed out above, techniques and systems for assisting in creating search queries are disclosed herein. A text input user interface is presented to the user. When the user begins typing a query, the input is used to provide suggested query completion options (e.g., type-ahead). However, instead of traditional type-ahead, these completion options are those in a number of possible workflows. Thus, when the user selects a particular option, a workflow is also selected. When complete, workflow elements can be placed into the text entry as pills, i.e., graphical elements representing previous selections. Then, background text prompts on the text entry element can indicate to the user the next workflow prompt. At any time, the user can prompt the search to exit the workflow and begin a search with the entered parameters. In this way, the user interacts with a familiar search box while obtaining the benefits of guided search creation without the past rigid workflow interface. Additional examples and details are discussed below.

[0021] After a search, search results are presented to a user. In some examples, the data may be too large or otherwise unwieldy to answer a user's specific question. However, the data in the search results contains raw materials that satisfy the user. In these examples, facets can be used to allow further manipulation of the data in the search results without performing an additional search. Generally, a facet is an aspect of the records returned in the search results. Generally, this aspect is presented as a selectable user interface element. Further, the selectable user interface element often includes a count of the items having a particular facet. For example, if one wants to search for "televisions" on an electronics storefront, the facets for the search results can include things such as "LCD", "OLED", or "greater than 50 inches". Although not every search result may have one of these facets, some search results will. Selecting a facet arranges or filters the search results such that the search results having the facet are displayed. If a user wants to see LCD televisions, the user selects the "LCD" facet. If the user then wants to see OLED televisions, the user can simply remove the "LCD" facet and add the "OLED" facet. All of this can generally be done without an additional search. In this way, a user can efficiently and interactively process the search results.

[0022] Although facets can be helpful, they are generally limited to aspects or dimensions of the data that have already been returned as part of the search results. What is missing is a convenient way to extend the facet interaction dynamics to include facets from elements that may not be in the search results or not suggested by the initial search results and present them upfront as suggestions for the user to select. Described herein are techniques and systems for facet expansion. Facet expansion takes the form of user interface suggested elements from which a user can select additional facets and add them to the search results. The suggestions take cues from the context including previous facet selections. Thus, the user experience is not interrupted by a new interface while the capabilities of the interface are increased.

[0023] The suggestions (e.g., those that are displayed or typed in advance when adding a facet) are taken from similar entities. As used herein, an entity is an individual option within a given category. Thus, the two job titles "software engineer" and "software developer" are different entities within the "job title" category. In one instance, an entity is an aspect of a social media profile, however, other record types such as product listings, asset records, etc. will have similar elements like entities. A profile includes additional data for a particular entity such as location, skills, etc. Entities can be grouped in peer groups. Entities not represented in the facet user interface elements can be added to these peer groups, resulting in a facet selection that is more expansive than the previously available choices.

[0024] Grouping entities into peer groups can be based on proximity metrics of attributes in the entities. Although a certain affinity between entities is necessary to gather them into peer groups, increasing the differences between those groups may be beneficial. Thus, if the term "software developer" is used in California and "software engineer" is used in New York, but otherwise these titles refer to the same job, then even if the entity "software developer" is entered as a facet, a location suggestion of "California" can be provided.

[0025] Peer group identification is based on statistical analysis of entity attributes. This analysis determines both the commonality and novelty (e.g., differences) between entities in a pairwise manner. Peer group association relationships can be used to weight the entity attributes for suggestions. Thus, two entities with poor correlation will provide attribute suggestions with low weights. Entity suggestions can also be weighted by the order of facet entry. This example assumes that the user keeps their thoughts in mind while selecting facets. For example, if the skills "Java" and "Html" are entered in order as skill facets, all else being equal, then skill suggestions based on the "Html" facet will take precedence over those for the "Java" attribute. Ranking can also be based on the user. For example, a location can be inferred based on the location of the person performing the search.

[0026] Thus, facet expansion can include identifying peer entities, estimating the affinity (e.g., overlap) between peer entities, ranking the entity attributes in the peer groups, and presenting the highly ranked entities to the user, for example, as facet entries typed in advance or as instant add suggestions.

[0027] Search queries come from two sources: member characteristics and similarity characteristics. These two sources have explicit and latent characteristics. The output should be the characteristic values and associated scores for each facet / dimension.

[0028] As pointed out above, the search can include a query phase that generates search results and a post-query phase that manipulates the returned results. An example of this manipulation is interactively adding or reducing facets and filtering the search results based on the currently selected set of facets. Facets, also known as dimensions, are attributes of the records in the search results. Facets allow focusing the search results in a typically interactive manner without the overhead or inconvenience of performing additional searches.

[0029] In some search tasks, people will perform a task using each search result. An example used in this paper is the case where recruiters search for candidate applications. Another example could be, for instance, researchers looking for literature on a problem. In each of these examples, the user will likely spend a significant amount of time on each finally identified result. Although good search and appropriate filtering using available facets may produce good search results, there are usually still many results to be effectively processed. To address this problem, this paper proposes a system for refining search results. The refinement includes a set of facets specific to the search task rather than the data. When obtaining data in the form of, for example, search results, the search task facets are calculated and added to the search results. Although effective facets, these refined context-specific operations work differently, adding data to a record that is, for example, of interest in one search but not necessarily relevant in another search. A separate user interface is presented to the user to select these context-dependent facets and further refine the search results. Since this technology does not require changing the underlying data, it can be added to existing search systems. Further, by leveraging the context in which the search is performed, the user experience becomes a more intuitive search experience without additional work.

[0030] In the example where the user is a recruiter, these context-dependent facets can be referred to as talent pools. Each talent pool can be calculated in the background (e.g., not in real time with the search but beforehand) and derived from context features such as the user's identity (e.g., previous user searches, previous hires, previous candidate contacts, etc.), the search streams available to the user (e.g., guided search), the companies that can be searched (e.g., candidate or user company connections, candidate company participation, past applicants of the company, etc.), and other aspects of the record (e.g., candidate profiles), such as the time of the current position or competitive talent. In one example, batch-type machine learning mechanisms (e.g., neural networks, support vector machines, etc.) are used to determine the top (e.g., ten best) competitors or the competitive talent value of top schools. Here, these values indicate from what companies or schools competing employers hire. This is an example of a context-dependent facet that can greatly improve the search manipulation provided to recruiters. Additional details and examples are provided below.

[0031] Figure 1The figure shows an example of a system 125 for assisting search queries according to an embodiment. The system 125 is communicatively coupled to a network 120 and a data warehouse 130 in operation. The network 120 allows the system 125 to transmit user interfaces and receive user input from user devices such as laptop computers, tablet computers, smart phones, and the like. As shown, the user interface is a search interface including a top fence 105, side fences 115, and a result area 110. The data warehouse 130 contains records 135, which are illustrated here as candidate records for possible employees. Although the example of a recruiter searching for candidates is used throughout this document, other types of records and searches similarly benefit from the systems and techniques discussed herein.

[0032] The components of the system 125 are implemented in computer hardware that can be configured by software for specific operations, such as using a memory, a storage device (e.g., a magnetic tape, a disk-based hard drive, etc.), a transceiver, a search engine, a query interface, a multiplexer, circuits, and the like. For convenience, the operation of the system 125 will be described with reference to the following components: a query interface, a multiplexer, a search engine, a filter, a classifier, and a user interface module. These components individually or in different combinations support assisted search queries by, among other things, assisting in creating search queries, faceted expansion, and search result refinement as detailed below.

[0033] Regarding assisting in creating search queries, the query interface is arranged to present a text input field on a graphical user interface (GUI) and receive user input at the text field. The query interface may be coupled to a multiplexer that accepts several inputs and produces a single output. In response to receiving user input, the query interface, perhaps fed by the multiplexer, is arranged to present a flow selector in contact with the text input field. This example illustrates the use of a standard search interface (text field) that is familiar to users and is overloaded to allow selection of a workflow without interrupting the user. Thus, the flow selector includes a set of flow selections based on the user input. In one example, the flow selections include the identification of the flow and the identification of the instance results. An illustration of this scheme is given regarding Figure 3 which is presented. Basically, the type-ahead is expanded to include not only possible text completion suggestions but also groups these suggestions using flow selections. In one example, the flows presented in the flow selector are based on the type-ahead suggestions found. These suggestions can be implemented in any of a number of ways, such as using query expansion, running queries, and ranking results. In one example, the flow selection is based on the flows used by other searchers. In these examples, the type-ahead suggestions incorporate the flow as well as the data currently entered in the input text field.

[0034] The query interface is arranged to receive a user selection of a process selection. In one instance, the process is selected by a user selection of a pre-typed option. In this instance, the user does not need to separately identify that the process is selected, but rather selects an option from within the process. This simplifies the user interface and improves the overall user satisfaction. In one instance, the user selection includes a selection of a second result presented in the process selection. In this instance, the process may not include additional questions, but may accept additional input of original data points, for example. For example, if one wants to search for job candidates using an instance candidate, then the initial pre-typed entry could be the instance candidate. However, in such an instance-based search, the uniqueness of the first instance candidate may limit the results to those candidates having those unique characteristics. For example, if the instance candidate is a software developer who likes kayaking, then the machine intelligence that receives data for that candidate may tend to include kayaking enthusiasts. To address this issue, additional candidates can be identified and used in the sample set. To facilitate this activity, the workflow proceeds to prompt the user to search for additional ideal candidates. Now, with a more robust sample set, the similarity between instance candidates can be gathered by the search intelligence and used for a more productive search. An instance of this interface is provided with respect to Figure 4 presented.

[0035] In response to the user selection of the process selection, the query interface is arranged to present subsequent step process elements. Here, the workflow is in progress and may pose additional questions to facilitate construction of the query. As noted above, these elements prompt or guide the user through the query construction based on the selected workflow. These subsequent steps may be presented as background text on a text input field. By doing so, the user does not have to use a mouse or otherwise leave the comfortable text input field in order to add data to the workflow.

[0036] Then, the query interface collects the user query selections from the subsequent step process elements in order to populate a query template corresponding to the user's process selection. The collection of the user query selections can be facilitated by a multiplexer, which accepts various input selections from the user and prompts the user interface to pose additional data requests from the user. In one instance, the process selection is at least one of a position, a person, or a job post. These instance process selections are related to, for example, the user's recruitment search. Here, the process selection corresponds to a search using, for example, a person as an instance or a job post as an instance. These two workflows accept data that identifies records 135 in the data warehouse 130. Once these records are identified, the attributes of the records are extracted and used as parameters for the search engine. The position workflow is a more traditional search where the user will be prompted to enter specific details about the position, such as the skills required for the position, the location, and so on. Instances of these user interface elements are provided with respect toFigure 5 and Figure 6 is shown

[0037] In one example, to collect user query selections from subsequent step flow elements, the query interface is arranged to use graphical elements in a text field in place of user input at the text field and to move the cursor after the graphical element in the text field. This graphical technique of marking previously made selections in the text field allows the user to be notified of what selections have been made. In one example, the graphical element takes the form of a pill that includes at least one of an edit or delete control. Thus, the user can easily remove or edit previous selections, for example, without having to restart the workflow or otherwise interrupt their normal search interaction.

[0038] The search engine is arranged to execute a query template to produce search results. Executing the query template involves extracting key-value pairs from the query and formatting them for interaction with the search engine. Thus, if the position (key) and software manager (value) are extracted, a search can be formed, such as SELECT * FROM RECORDS WHERE position EQUALS "software manager", etc. This simple example can be modified based on the application programming interface (API) for the search engine. Additional formats that facilitate a machine-intelligence-based search mechanism can also be employed, such as selecting specific input neurons or a set of input neurons based on the key and providing the corresponding value as input to these neurons.

[0039] To execute the query template, the search engine is also arranged to extract entities from the results in the intermediate results that are not seen in the query template. Here, an entity is a type of attribute in a record. For example, location, level of experience, hobbies, etc. are entities, while a person's name is an attribute. An entity can include additional attributes. For example, a job title entity can include regional variations and a relationship with another entity. For example, the title "software engineer" can be a local title in New York and is related to (e.g., the same as) the title "software developer" in California.

[0040] In one example, to extract entities, the search engine is arranged to rank entities by a proximity metric to the entities in the query template. Here, for example, the entities in a search by example search are used to rank the entities in other records. The more closely a set of entities approximates those already in the query template, the more relevant the corresponding record can be considered. In one example, the proximity metric is based on the statistical position of the entity within a population. The statistical position can be one of a mean, median, standard deviation, and the like. Here, proximity is the relationship between the query template entity and the entity found. For example, if both are near the median (e.g., within a threshold distance of the median adjusted for sample size), then they are considered to be close. In one example, proximity is the raw value of the difference such that the distance from the median of the query template is subtracted from the distance of the candidate entity, and the result is the proximity metric.

[0041] In one example, the proximity metric used depends on the entity type of the entity. For example, the proximity metric and calculation are different for a position title. This allows for flexible handling of a wide variety of comparable data. In one example, the entity type is a company. Here, the proximity metric is based on the frequency with which the searcher accesses the company object. That is, the more interested a candidate is in a company, as evidenced by the number of company searches the candidate makes, the number of times the candidate accesses the company profile or website, and so on, the greater the proximity of that candidate to the company entity in the query template. In another example where the entity type is a company, the proximity metric is based on the competition between the organizations represented by the entities. The competition can be a score collected from external sources such as market research, litigation records, or past cross-hiring activities (e.g., Company A hired talent from Company B and vice versa).

[0042] In one example, the entity type is a title. Here, the proximity metric is based on the occurrence of the title in the searcher's session. The use of the title during the same session indicates that the searcher may have been looking for something that was the correct combination of query elements that had not been hit previously. Thus, including the previously searched title allows for expansion to titles that the user has been interested in. Similarly, in one example, these titles can be given a poor proximity score because the user has searched for them and found them lacking. In one example, the entity type is a description. Here, the proximity metric is the distance derived from semantic analysis. Specific semantic analysis can be inverse document frequency, word vector approximation, and the like. These techniques produce numerical values that can be used to calculate the distance. Generally, a space is created with the same number of dimensions as the sample file. Words, phrases, or other parts of speech are plotted along each dimension according to their occurrence or importance in the given sample. Then, these coordinates (much like coordinates on a map) can be compared to obtain the distance. This distance is the proximity metric for the instance of the described entity.

[0043] An example of using an instance of the set of ideal candidates given above can be carried out as follows. The multiplexer will accept the set of ideal candidates and generate a search query including skills, titles, companies, etc. Then, this query will be submitted to the search engine to obtain the optimal results. The results generated by the query will be evaluated in order to suggest different strategies or parameter settings for offline indexing, de-normalization, or other enhancements to the search engine. Techniques showing good performance will be selected and deployed in the search engine for subsequent queries. Since the performance of the search engine often depends on how the ranking function uses the information in the search query, the evaluation method is notified by the ranking function.

[0044] An example of the training data for evaluation can include whether the searcher sends in-site messages (such as messages within a social media service) to several results within the same search session. Here, these results are likely to be suitable for the position in the searcher's mind. Therefore, these results are similar to each other, and if the searcher uses some of them as query starters for this position (e.g., ideal candidates are searched through examples), then the other results are also likely to be relevant results.

[0045] Therefore, given a search session, some of the results to which in-site messages are randomly sent to searchers are selected as ideal candidates. The remaining results with in-site messages are considered relevant to the ideal candidates. Results without in-site messages are considered non-relevant. Given this data, different parts in the generated query, such as skills, titles, and companies, are evaluated separately. For example, given the set of ideal candidates as above, the set of skills s = {s1, s2... sk} is extracted. This set is evaluated by calculating the reputation scores (on average) of the relevant results on these skills: Reputation(R+, S) and the reputation scores of the non-relevant results on these skills: Reputation(R-, S). In one example, this is the same way the ranking function ranks the results using the skills in the query (e.g., using the sum of the reputation scores of the results on the skills in the query as a feature). Therefore, if Reputation(R+, S) > Reputation(R-, S), then the relevant results are likely to be ranked higher than the non-relevant results. Thus, this evaluation method will conform to the performance of the queries on the current search system.

[0046] Similarly, for the set of titles T, these titles can be evaluated by comparing the degree to which the titles match the current titles in the relevant results and their matching degree with the current titles in the non-relevant results. When the current search ranking function gives high weight to the match of the current title, if the match of T with the titles of the relevant results is better than that of the non-relevant results, then the query T will perform well.

[0047] To execute a query template, the search engine is also arranged to select entities based on a proximity metric. As noted above, the proximity metric provides a measure of how close a candidate entity is to those entities that are already part of the query template (e.g., included) (such as those already selected by the user). In one instance, selecting an entity based on the proximity metric includes the search engine selecting the entity when the proximity metric exceeds a threshold. In this instance, entities that are too close to those entities that are already part of the query template are avoided. This allows the query template to expand the search to include relevant but different entities. In one instance, to select entities based on the proximity metric, the search engine is arranged to rank entities using respective proximity metrics to create an ordered set and select entities from the ordered set in order until a predetermined number of entities are selected. Thus, if there are too many candidate records, the entities are sorted and a preset number of slots are filled based on that sorting.

[0048] To execute a query template, the search engine is also arranged to add entities to the query template. As noted above, adding entities to the query template changes the system behavior in terms of the additional entities being added, the types of pre-typed values being presented, etc. In this way, the user's previous selections further narrow and enhance a given search.

[0049] In one instance, executing the query template occurs on a continuous basis. That is, when each new piece of information is collected from the user, the search engine generates results that will be displayed in the results area 110. In this way, the user is invited to an interactive guided search and can stop at any time when the results meet their expectations. In one instance, to execute the query template, the search engine is to perform a preliminary search based on the elements of the query template to generate intermediate results.

[0050] Implementing the system 125 described above solves some of the technical problems associated with complex search tools. First, the user has no long-term memory or training burden to utilize complex searches. Second, for complex interfaces involving workflow selection and questionnaires, the traditional user interface is not abandoned. Instead, an elegant search box is used, which is pre-typed overloaded to allow workflow selection and whose already-entered content is appropriately transformed to represent previous selections. Thus, the user benefits from a complex workflow engine without having to leave the familiar search interface.

[0051] Regarding faceted expansion, the query interface controls the left fence 115 after the search results are displayed in the search results area 110. While this is a typical configuration, it is not required. The query interface is arranged to present user interface elements on a faceted selection portion of a search result display that includes the search results. Here, the user interface elements are arranged to accept user input for the facets. An example of such an interface is given below in Figure 8 . The user interface elements can take the form of an immediate add selection below a facet that is already selected and represented by a pill. The user interface elements can also include a type-ahead text area activated by, for example, a "+" element.

[0052] The query interface is arranged to receive partial user input for the facets. This is typically achieved through type-ahead where the user begins to enter a desired facet. In one example, the partial user input can be received through an immediate add for the facet section. For example, instead of providing a complete facet for immediate addition to a set of selected facets, the immediate add can include a partial facet that matches several current entities.

[0053] The filter is arranged to obtain peer entities for an entity corresponding to a facet (e.g., which is partially or fully selected by the user). In one example, the peer entities are selected based on the search process that generated the search results. The search process is a directed search such that, for example, a guided search starting with a job title is different from an instance search or keyword search for an ideal candidate. The search process can suggest which attributes between entities are used for proximity measurement. For example, when searching for an ideal candidate, attributes corresponding to a person can be emphasized, not necessarily the job title. Similarly, for a job search, the qualifications of the job can be emphasized relative to, for example, the company offering the given job.

[0054] In one example, the filter is arranged to select peer entities based on the entity type of the entity. The entity type or category represents the type of the entity rather than the values it contains. Thus, for example, a vehicle record can include a "manufacturer" entity with one value, which is different from the "manufacturer" entity of another vehicle record. As noted above, an entity itself can have more than one attribute. Thus, a job title can also include a set of qualifications, geographical area of use, etc. As noted above, comparing these attributes between entities ultimately results in the selection of facets as suggestions for the user.

[0055] In one example, the user interface elements correspond to the entity type. Here, the facets for a single entity type are displayed together in the faceted selection section by the query interface. This is shown in Figure 8Shown in the figure. In one example, peer entities are selected by a filter based on the entity type of the entity. Thus, if the entity identified by the user's partial faceted input is of a first type, then the peer group is limited to that entity type.

[0056] In one example, the peer entity has an entity type different from that of the said entity. Such cross-type suggestions provide a powerful enhancement over additional faceted systems. That is, rather than restricting faceted suggestions to the types the user has participated in, such as job titles, the user is prompted to add faceted to different types, such as locations. Although additional searching is not required, the effect is like performing an extended search because the user may not otherwise have connected the faceted selection of the first type to suggestions from the second type. For example, assume the user is looking to fill a position with a given job title. The faceted present in the results indicates previous employers the user is interested in, e.g., because other employees of that employer have worked well. The filter obtains the company faceted identifier and entity corresponding to that faceted. The entity includes a set of educational institutions of candidates who have been hired. These attributes are compared with the educational institutions, and a set ranking the institutional entities is identified. A predetermined number (e.g., one to five) of these institutions can be presented to the user. The user can select the institution and end up with a faceted filter of likely good candidates even if there are not that many candidates available for hire from that company.

[0057] In one example, the peer entity is one of multiple peer entities presented in a suggestion element. That is, as noted above, the suggestion can include more than one suggestion to the user. In one example, the multiple peer entities are ranked in the suggestion element. In one example, the order is based on a proximity measure between the entity and the peer entity. Thus, the greater the affinity between the entity that has been selected and the suggestion, the more likely these suggestions are to have a prominent or any representation in the suggestion element. In one example, the order changes based on previously selected peer facets. Thus, when the user expresses a series of queries, the most recently selected facet represents the user's train of thought. Thus, the proximity ranking is not absolute but changes based on the most recent selection.

[0058] In one instance, to obtain peer entities, the filter is arranged to: search for entities based on the attributes of the entities and score the proximity between the entities. In one instance, to score the proximity, the filter is arranged to measure the overlap between the attributes of the entity and the peer entity. In one instance, when the deviation is greater between the entity and the first peer entity, an equal overlap between the entity and the first peer entity is closer to the entity than the second peer entity. That is, among three entities, when the number of equivalent (e.g., equal within a certain threshold, synonymous, etc.) attributes between the first and second entities is greater in number than the number of equivalent attributes between the first and third entities, the first two are closer to each other than the proximity between the first and the third.

[0059] In one instance, the filter is also arranged to measure the deviation between the attributes of the entity and the peer entity. This deviation measurement provides a ranking mechanism for suggesting entities that may be less likely. For example, if among three entities, two entities are substantially the same because they have all equivalent attributes, then adding a facet for the second entity does not improve the search much because the results should be substantially the same as those of the first entity. However, one would also not expect an entity with completely unrelated attributes to be effective because that entity is more likely to find records contrary to what the user expressed in previous selections. Thus, given a proximity threshold - that is, as determined by the threshold number of common attributes, entities in the peer group are at least close enough to each other - those entities that express additional attributes different from the already selected entity can bring the most value to the user. Thus, once the common threshold attributes are met, the proximity metric can be increased while the remaining attributes are different.

[0060] The filter is arranged to select peer entities based on proximity to the entity. Thus, the filter searches for entities like those already specified by, for example, the search or the partial or complete facets previously entered. The proximity scores of these peer entities to the user input already received are calculated, and a subset of peer entities having a good proximity score - a high score may be good in some cases while a low score may be good in other cases; the final choice of high or low is a design choice and not very important for the current system 125 - is grouped and delivered to the query interface.

[0061] The query interface is arranged to present peer facets in the suggested elements in the facet selection part in response to receiving partial user input. Here, the suggestions discussed above are provided to the user. The user can select a suggestion and further manipulate the search results, providing a more powerful search manipulator than the current system.

[0062] Regarding refinement of search results, a classifier is arranged to obtain (e.g., retrieve or receive) search results and obtain a search context. The search context includes elements specific to the search, such as the user performing the search, the organization for which the search is performed, the search workflow, and so on. These elements may be relevant to the results but are derived from the details of the search rather than the attributes of the search results.

[0063] The classifier is arranged to add a context-dependent set of facets to one of these search results. This addition may include modifying the record of the search result, but in most cases, it involves recording the association between the specific search result and the facets in the context of the search results that have already been returned. In one instance, this addition includes querying the facets calculated in a batch process. In one instance, the context includes the identity of an entity. In one instance, a facet in the context-dependent set of facets is the affiliation between the result in the search result and the entity. This affiliation can be any measurable interaction between the entity and the search result. Thus, for example, if vehicle record 135 includes a "manufactured by" attribute and the vehicle was manufactured by an entity, then there is an affiliation between the entity and vehicle record 135. When measured, this affiliation can be added to the context-dependent set of facets of the record and indexed using the entity.

[0064] In one instance, the search result identifies a person. Here, the affiliation is a record of the person's activities regarding the entity. In one instance, the activity record includes the person choosing to follow the entity in a social media platform (e.g., service). In one instance, the activity record includes the person searching for the entity. In one instance, the activity record includes a connection between the person and another person at the entity. In one instance, the connection is only considered if it is established on the social media platform under the person's guidance. This is common when, for example, the person decides to follow, subscribe to, or otherwise have a significant affiliation with the entity. In one instance, the activity record includes a previous employment application at the entity.

[0065] In one example, the context includes a user who performs a search that generates search results (e.g., a user). Here, the facets in the context-dependent facet set are actions the user has taken in the past with respect to the results. In the example of a recruiter, such actions can include things like communicating with a candidate, recommending hiring the candidate, saving the candidate as a potential hire, or even viewing the candidate's profile for a significant period of time or a significant number of times. The significance of these last metrics can be measured, for example, by comparing the amount of time the user typically or specifically this time spent on a particular profile to the general statistical distribution of viewing times. A particular viewing of a profile is considered significant when it exceeds a threshold in time or frequency (e.g., above the mean, median, or above the mean by one or more standard deviations, etc.).

[0066] In one example, the context includes an entity position that was previously provided as a query parameter to generate search results. Here, the facet in the context-dependent facet set is the on-the-job time metric. In one example, the on-the-job time metric is a statistical representation of the results in a group. In one example, the group is the entire set of search results. In one example, the on-the-job time metric is a segment identifier. These classifications provide, for example, an indication of candidate stability. Thus, someone below the average or other statistical measure of time in a previous position may indicate that the candidate is less likely to stay in a new position. This can also recommend a candidate as they are more likely to leave their current employer. By comparing the candidate's activity with respect to the position and other candidates in similar situations (such as those governed by the search parameters that led to the search results), additional insights into the suitability of a candidate can be obtained.

[0067] The user interface module is arranged to present a user interface of the context-dependent facet set along with displaying the search results. The user interface module can display the search results in the search results area 110, in a traditional facet interface in the side rail 115, and in a user interface in the top rail 105. Figures 3 to 6 An example of the user interface is illustrated. In one example, for each facet in the context-dependent facet set, the user interface of the context-dependent facet set includes a label for the facet and a count of the search results to which the facet applies.

[0068] In one example, the user interface displays the members of the context-dependent facet set in a linear element. In one example, the members of the context-dependent facet set are displayed in an order initially established by the value of each facet. In one example, the value is the count of the search results. In one example, the user interface module is arranged to reorder the order of the facets to place a particular facet at the end of the linear element.

[0069] The user interface module is arranged to receive a selection of a facet from a user within a context-dependent set of facets and filter the search results displayed, the filtering including search results that satisfy the facet's measurements and excluding the remaining search results.

[0070] Facets that are dependent on the search context enhance the current use of facets typically derived from the search result records themselves. Since different search tasks may benefit from different search-sensitive facets, system 125 provides a better experience to the user, resulting in a more effective search.

[0071] Figure 2 The figure illustrates the functional components of a social networking service 200 in accordance with one embodiment. The social networking service can be used to host or implement the system described above in Figure 1 The front-end module can include a user interface module (e.g., a web server) 220 that receives requests from various client computing devices and transmits an appropriate response to the requesting client device. For example, the (multiple) user interface modules 220 can receive requests in the form of Hypertext Transfer Protocol (HTTP) requests or other network-based application programming interface (API) requests (e.g., from a dedicated social networking service application running on a client device). Additionally, a user interaction and detection module 220 can be provided to detect various interactions of a user (e.g., a member) with different applications, services, and presented content. Upon detecting a particular interaction, the user interaction and detection module 220 records the interaction, including the type of interaction and any metadata associated with the interaction, into the member activity and behavior database 270.

[0072] The application logic layer can include one or more different application server modules 230 that, in conjunction with the (multiple) user interface modules 210, generate respective graphical user interfaces (e.g., web pages) using data retrieved from various different data sources in the data layer. For some embodiments, the application server modules 230 are used to implement the functions associated with the various applications and / or services provided by the social networking service as discussed above.

[0073] In one instance, the application logic layer can include a query interface 240, a multiplexer 241, and a search engine 242. As Figure 1 discussed in Figure 1 , these components facilitate the assisted creation of search queries. In one instance, the application logic layer can include a query interface 240 and a filter 243. As Figure 1 discussed in , these components facilitate facet expansion. In one instance, the application logic layer can also include a user interface module 244 and a classifier 245. As , these components facilitate the refinement of search results.

[0074] The data layer may include a number of databases, such as a database for storing profile data, the profile data including member profile data and profile data for different organizations (such as companies, schools, etc.). Consistent with some embodiments, when a person initially registers as a member of a social networking service, the person will be prompted to provide some personal information, such as his or her name, age (such as date of birth), gender, interests, contact information, hometown, address, names of member spouse and / or family members, educational background (such as school, major, enrollment and / or graduation dates, etc.), employment history, skills, professional organizations, etc. This information is stored, for example, in database 250. Similarly, when a representative of an organization initially registers the organization with the social networking service, the representative may be prompted to provide certain information about the organization. This information may be stored, for example, in database 250 or another database (not shown). For some embodiments, the profile data may be processed (e.g., in the background or offline) to generate different exported profile data. For example, if a member provides information about the different job titles the member has held in the same company or different companies and for how long, then this information can be used to infer or export member profile attributes indicating the member's overall seniority level or seniority level within a particular company. For some embodiments, importing or otherwise accessing data from one or more externally hosted data sources can enhance the profile data of both members and organizations. For example, especially for companies, financial data can be imported from one or more external data sources and become part of the company profile.

[0075] Information describing various associations and relationships such as connections established by members with other members or with other entities and objects is stored and maintained within the social graph of the social graph database 260. Moreover, when members interact with the various applications, services, and content made available via the social networking service, the interactions and behaviors of the members (such as viewed content, selected links or buttons, messages responded to, etc.) can be tracked, and information about the activities and behaviors of the members can be recorded or stored, for example, by the member activity and behavior database 270.

[0076] For some embodiments, the social networking service 200 provides the user interface module 210 to the application programming interface (API) module, through which applications and services can access various data and services provided or maintained by the social networking service. For example, using the API, an application may be able to request and / or receive one or more navigation recommendations. Such applications can be browser-based applications or can be specific to an operating system. In particular, some applications can reside and execute (at least in part) on one or more mobile devices (such as a phone or a tablet computing device) having a mobile operating system. Additionally, although in many cases applications or services that utilize the API can be applications and services developed and maintained by the entity operating the social networking service, nothing prevents the API from being made available to the public or certain third parties under special arrangements, aside from data privacy concerns, such that navigation recommendations are available to third-party applications and services.

[0077] Figures 3 - 6 FIG. illustrates an example of user interface elements for assisting in creating a search query in accordance with one embodiment. Figure 3 FIG. illustrates Figure 1 the search text field 305 within the top fence shown in. Here, the user has entered a partial search in the form of "DEV". The pre-typed element is currently being displayed with the process selection for candidate results for "DEV". For example, the process selection "Search by job title" 310 is first displayed with the candidate results "Developer" 312 and "Software Engineer". The "Software Engineer" selection represents entity proximity based on entity attributes, such as the geographical affinity of terms representing the same job.

[0078] The process selection 315 is a process of searching by example, where the profile of a person (such as a previous candidate) is used to provide query parameters. In the illustrated example, the candidate results 317 for "DEVON SMART" may also include investigative elements 319 such as links, buttons, or other controls, enabling the user to review the result to determine its relevance to the search.

[0079] The process selection 320 is another process of searching by example, where previous job positions are used to provide query parameters. Again, the candidate results 324 include investigative elements 324, enabling the user to review the proposed examples.

[0080] As noted above, from this interface, it can be seen which process the user is selecting when the user selects a candidate result. Thus, when the user selects, for example, "DEVON SMART", the user also knows that he is selecting the "Find more people like" process 315. Figure 2The figure shows the result of such a selection. It should be noted that the selection of "DEVON SMART" is transformed into a pill 407 including a deletion ("X") element in the text field 405. Since the "Discover more people, such as" process 410 is selected, the pre-typed text now only shows the candidate results for that process. The user enters the additional text "ROBE", and again uses the survey element 414 to prompt process-specific pre-typed suggestions such as suggestion 412. This workflow allows the entry or several instance records to be used as raw materials for the search parameters.

[0081] Figure 5 The figure shows a user selection of a job process. Here, the previous selection of the "Developer" position is represented as a pill 505 in the text field. The process includes a secondary inquiry about the location of the position. The prompt in the text field changes, and the prompt 510 is written after the cursor on the text field. Typically, the prompt 510 is in a muted color, such as gray on white instead of the normal black of text on white, in order to further distinguish the nature of the prompt 510 from the user. The candidate location results 515 are shown in the pre-typed text based on the query template so far (e.g., the selected "Developer"). These results may include a count 520 that gives the user an idea of how adding a location will affect the search results. Figure 6 shows the job process after a location has been selected. Again, the previous selections are represented as pills 505 and 605. The user is then prompted 610 to add skills. Now, the pre-typed text includes skill results 615.

[0082] At any time during the input process selection and user selection, the user can, for example, invoke a search using a magnifying icon. Thus, the intuitiveness that guides the user also allows an experienced searcher to immediately exit the process when the search results appear to meet the searcher's goals.

[0083] Figure 7 The figure shows an example of a method 700 for assisting in creating a search query according to one embodiment. The operations of method 700 are performed by hardware as described above and below.

[0084] At operation 705, a text input field is presented on a graphical user interface (GUI).

[0085] At operation 710, in response to receiving user input at the text input field, a process selector is presented in contact with the text input field. In one instance, the process selector includes a set of process selections based on the user input. In one instance, the process selection includes an identification of the process and an identification of the instance results.

[0086] At operation 715, a user selection of a process selection is received. In one instance, the user selection includes a selection of a second result presented in the process selection.

[0087] At operation 720, subsequent step process elements are presented in response to the user selection.

[0088] At operation 725, user query selections are collected from the subsequent step process elements to populate a query template corresponding to the process selection. In one instance, the process selection is at least one of a position, a person, or a post. In one instance, collecting user query selections from the subsequent step process elements includes using a graphical element in a text field in place of user input at the text field and moving the cursor after the graphical element in the text field.

[0089] At operation 730, the query template is executed to produce search results. In one instance, executing the query template includes performing a preliminary search based on elements of the query template to produce intermediate results.

[0090] Executing the query template also includes extracting entities from results in the intermediate results that are not found in the query template. In one instance, extracting entities includes ranking the entities by a proximity metric to an entity in the query template. In one instance, the proximity metric is based on the statistical position of the entity in a population. In one instance, the proximity metric used depends on the entity type of the entity. In one instance, the entity type is a company, and the proximity metric is based on the frequency of access to the company object by the searcher. In one instance, the entity type is a company, and the proximity metric is based on the competition between the organizations represented by the entity. In one instance, the entity type is a title, and the proximity metric is based on the occurrence of the searcher session for the title. In one instance, the entity type is a description, and the proximity metric is a distance derived from semantic analysis.

[0091] Executing the query template also includes selecting entities based on the proximity metric. In one instance, selecting entities based on the proximity metric includes selecting an entity when the proximity metric exceeds a threshold.

[0092] In one instance, selecting entities based on the proximity metric includes ranking the entities using their respective proximity metrics to create an ordered set and sequentially selecting entities from the ordered set until a predetermined number of entities are selected.

[0093] Executing the query template also includes adding the entities to the query template.

[0094] Figure 8 The figure illustrates an example of a user interface for faceted expansion according to one embodiment. The top fence 805 and the search result area 810 are generally as described above in Figure 1Correspond to the similarly named elements discussed in []. The generally illustrated side fences include faceted regions 815, 820, 825, 830, 835, and 840 grouped by entity type. The globule 845 illustrates the facet selected for "Project Manager". The user interface element 850 is an instance element that can display pre-typed elements. The pre-typed elements include text entries and a list of suggestions based on changes in the data partially entered in the text entries. The instant add region 855 is shown here for each type.

[0095] As pointed out above, the facet selection element can take the form of the instant add region 855. Thus, when a facet is added or typed into the pre-type, the instant add selection will change.

[0096] Figure 9 Illustrates an example of entity comparison for facet expansion according to one embodiment. The multiple entities include several attributes, different entity values, but the same category (e.g., "Job Title"). The shaded arrows between the entities represent those attributes that are equivalent, and the non-shaded arrows represent different (non-equivalent) attributes. As pointed out above, when the threshold similarity (here, two attributes) is met and there are dissimilarities, the proximity metric can be improved (e.g., increased). Thus, in the illustrated example, not only "Software Engineer" can be provided as a facet suggestion, but also the location "New York, USA" can be provided as a location facet.

[0097] Figure 10 Illustrates an example of a method 1000 for facet expansion according to one embodiment. The operations of method 1000 are performed using computer hardware such as a processor, memory, or circuitry as described below with respect to Figure 15 what is described.

[0098] At operation 1005, a user interface element is presented on the facet selection part of a search result display that includes search results. Here, the user interface element is arranged to accept user input of a facet.

[0099] At operation 1010, partial user input is received for the facet.

[0100] At operation 1015, peer entities of the entities corresponding to the facet are obtained. In one example, the peer entities are selected based on the search process that generated the search results.

[0101] In one instance, peer entities are selected based on the entity type of the entity. In one instance, user interface elements correspond to the entity type. Here, the facets of a single entity type are displayed together in the facet selection section. In one instance, peer entities are selected based on the entity type of the entity. In one instance, the peer entity has an entity type different from that of the said entity.

[0102] In one instance, the peer entity is one of the multiple peer entities presented in the suggestion element. In one instance, the multiple peer entities are sorted in the suggestion element. In one instance, the order is based on a proximity measure between the entity and the peer entity. In one instance, the order changes based on a previously selected peer facet.

[0103] In one instance, obtaining peer entities includes: searching for entities based on the attributes of the entity and scoring the proximity between the entities. In one instance, scoring the proximity includes measuring the overlap between the attributes of the entity and the peer entity. In one instance, when the deviation is greater between the entity and the first peer entity, for an equal overlap between the entity and the first peer entity compared to the second peer entity, the equal overlap between the entity and the first peer entity is closer to the entity. In one instance, scoring the proximity also includes measuring the deviation between the attributes of the entity and the peer entity and selecting the peer entity based on proximity to the entity.

[0104] At operation 1020, in response to receiving partial user input, peer facets are presented in the suggestion element in the facet selection section.

[0105] Figures 11 - 13B The figure illustrates an example of user interface elements for search result refinement according to one embodiment. Figure 11 The figure illustrates an interface 1100 presented in a search application, where search results are displayed in an area 1105 below a context-dependent facet set 1110. Figure 11 The figure illustrates a restricted linear area where facets are displayed using an overflow access element 1115 to allow the user to expand the context-dependent facet set. Also illustrated is a graphical marker 1120 that indicates which context-dependent facet is currently selected. In one instance, only one context-dependent facet can be selected at a time.

[0106] Figure 12 The figure illustrates the result of activating the overflow access element 1115. A menu 1205 is presented, where radio button type selection elements 1210 are used to select the corresponding facets. In an instance where multiple facets can be selected, checkbox-like elements can replace the radio buttons for the selection elements 1210.

[0107] Figure 13A and Figure 13BThe figure shows the reordering of facets that depends on the search context after a facet is selected. Specifically, in Figure 13A , a natural ordering is given to the facets, such as the record numbers in the search results covered by the facets. Initially, the "Follow Your Company" facet 1305 is selected at the third position (the first position is occupied here by the total result indicator rather than a facet). After the selection is made, in Figure 13B , the linear ordering of the facets is rearranged so that the selected facet 1305 occupies a more prominent position, here moved to the leftmost facet position.

[0108] Figure 14 The figure shows an example of a method 1400 for search result refinement according to one embodiment. The operations of method 1400 are performed using computer hardware such as a processor, a memory, or a circuit system as described below with respect to Figure 15 .

[0109] At operation 1405, search results are obtained.

[0110] At operation 1410, a search context (e.g., a context) is obtained.

[0111] At operation 1415, a context-dependent set of facets is added to one of the search results. In one example, the context includes an identification of an entity. In one example, the facets in the context-dependent set of facets are the relationship of association between the results in the search results and the entity.

[0112] In one example, the search results identify a person. Here, the relationship of association is the person's activity record regarding the entity. In one example, the activity record includes the person's selection to follow the entity in a social media platform. In one example, the activity record includes the person's search for the entity. In one example, the activity record includes a connection between the person and another person at the entity. In one example, the connection is established on a social media platform under the person's guidance. In one example, the activity record includes a previous employment application at the entity.

[0113] In one example, the context includes the user who performed the search that generated the search results. Here, the facets in the context-dependent set of facets are the actions the user has taken in the past regarding the results.

[0114] In one example, the context includes the entity position previously provided as a query parameter to generate the search results. Here, the facets in the context-dependent set of facets are the on-the-job time metrics. In one example, the on-the-job time metric is a statistical characterization of the results in a group. In one example, the group is the entire search results. In one example, the on-the-job time metric is a segment identifier.

[0115] At operation 1420, a user interface presenting a context-dependent facet set is presented along with search results being displayed. In one example, for each facet in the context-dependent facet set, the user interface for the context-dependent facet set includes a label for the facet and a count of the search results to which the facet is applied.

[0116] In one example, the user interface displays members of the context-dependent facet set in a linear element. In one example, members of the context-dependent facet set are displayed in an order initially established by the value of each facet. In one example, the value is the count of the search results. In one example, method 1400 is optionally extended to include reordering the order to place the facet at the end of the linear element.

[0117] At operation 1425, a selection of a facet from the context-dependent facet set is received from the user.

[0118] At operation 1430, the displayed search results are filtered. In one example, the filtering includes search results that satisfy the measurement results of the facet and excludes the remaining search results.

[0119] Figure 15 FIG. illustrates a block diagram of an example machine 1500 on which any one or more of the techniques (e.g., methods) discussed herein may be performed. In alternative embodiments, machine 1500 may operate as a stand-alone device or may be connected (e.g., networked) to other machines. In a networked deployment, machine 1500 may operate in the capacity of a server machine, a client machine, or both in a server-client network environment. In one example, machine 1500 may act as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. Machine 1500 may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequentially or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a single (or multiple) set of instructions to perform any one or more of the methods discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations.

[0120] Examples as described herein may include logic circuits or a number of components or mechanisms, or may operate through them. A circuit system is a collection of circuits implemented as a tangible entity including hardware (such as simple circuits, gates, logic circuits, etc.). Circuit system membership may become flexible over time and with potential hardware variability. A circuit system includes members that can perform specified operations individually or in combination when operating. In one example, the hardware of a circuit system can be permanently designed to perform a specific operation (such as hardwired). In one example, the hardware of a circuit system can include physically components that are variably connected (such as execution units, transistors, simple circuits, etc.), including a computer-readable medium that is physically modified (such as magnetically, electrically, movable placement of immobile aggregating particles, etc.) to encode instructions for a specific operation. When connecting physical components, the basic electrical characteristics of the hardware composition change, for example, from an insulator to a conductor, or vice versa. When operating, the instructions enable the embedded hardware (such as an execution unit or a loading mechanism) to create members of the circuit system in hardware via variable connections to perform parts of a specific operation. Thus, when the device is operating, the computer-readable medium is communicatively coupled to other components of the circuit system. In one example, any of the physical components can be used in more than one member of more than one circuit system. For example, at runtime, an execution unit can be used in a first circuit of a first circuit system at one point in time and reused by a second circuit in the first circuit system or a third circuit in a second circuit system at different times.

[0121] A machine (e.g., a computer system) 1500 can include a hardware processor 1502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 1504, and a static memory 1506, some or all of which may communicate with each other via an interconnection (e.g., a bus) 1508. The machine 1500 can further include a display unit 1510, an alphanumeric input device 1512 (e.g., a keyboard), and a user interface (UI) navigation device 1514 (e.g., a mouse). In one example, the display unit 1510, the input device 1512, and the UI navigation device 1514 can be a touch screen display. The machine 1500 can additionally include a storage device (e.g., a drive unit) 1516, a signal generation device 1518 (e.g., a speaker), a network interface device 1520, and one or more sensors 1521, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensors. The machine 1500 can include an output controller 1528, such as a serial (e.g., universal serial bus (USB)), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.).

[0122] The storage device 1516 can include a machine-readable medium 1522 that stores one or more data structures or a set of instructions 1524 (e.g., software) that embody any one or more of the techniques or functions described herein or are utilized thereby. The instructions 1524 can also reside, completely or at least partially, within the main memory 1504, within the static memory 1506, or within the hardware processor 1502 during execution by the machine 1500. In one example, one or any combination of the hardware processor 1502, the main memory 1504, the static memory 1506, or the storage device 1516 can constitute a machine-readable medium.

[0123] Although the machine-readable medium 1522 is illustrated as a single medium, the term "machine-readable medium" can include a single medium or multiple media (e.g., a centralized or distributed database, and / or an associated cache and server) configured to store the one or more instructions 1524.

[0124] The term "machine-readable medium" can include any such medium that can store, encode, or carry instructions for execution by machine 1500 and cause machine 1500 to perform any one or more of the techniques of the present disclosure, or that can store, encode, or carry data structures used by or associated with such instructions. Non-limiting examples of machine-readable media can include solid state memories and optical and magnetic media. In one instance, a "massed" machine-readable medium includes a machine-readable medium with a plurality of particles having an invariant (e.g., stationary) mass. Thus, a massed machine-readable medium can be a transient propagated signal. Specific examples of massed machine-readable media can include non-volatile memories such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

[0125] Instruction 1524 can further be sent or received via a network interface device 1520 over a communication network 1526 using a transmission medium by way of any one of several transmission protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Example communication networks can include, among others, local area networks (LANs), wide area networks (WANs), packet data networks (e.g., the Internet), mobile telephone networks (e.g., cellular networks), plain old telephone (POTS) networks, and wireless data networks (e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as and the IEEE 802.16 family of standards known as , the IEEE 802.15.4 family of standards, peer-to-peer (P2P) networks. In one instance, network interface device 1520 can include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas connected to communication network 1526. In one instance, network interface device 1520 can include multiple antennas that communicate wirelessly using at least one of single input multiple output (SIMO), multiple input multiple output (MIMO), or multiple input single output (MISO) techniques. The term "transmission medium" should be understood to include any non-tangible medium that can store, encode, or carry instructions for execution by machine 1500, and includes digital or analog communication signals or other non-tangible media that facilitate the transmission of such software. A transmission medium is one example of a machine-readable medium.

[0126] Additional Notes and Examples

[0127] Example 1 is a system for assisting in creating a search query, the system comprising: a processor; and a memory including instructions that, when executed by the processor, cause the processor to: present a text input field on a graphical user interface (GUI); present a process selector adjacent to the text input field in response to receiving user input at the text input field, the process selector including a set of process selections selected based on the user input; receive a user selection of a process selection; present subsequent step process elements in response to the user selection; collect user query selections from the subsequent step process elements to populate a query template corresponding to the process selection; and execute the query template to generate a search result.

[0128] In Example 2, the subject matter of Example 1 optionally includes: wherein the process selection includes an identification of the process and an identification of the instance result.

[0129] In Example 3, the subject matter of any one or more of Examples 1-2 optionally includes: wherein executing the query template includes: performing a preliminary search based on elements of the query template to generate intermediate results; extracting entities from results in the intermediate results that are not found in the query template; and adding the entities to the query template.

[0130] In Example 4, the subject matter of Example 3 optionally includes: wherein extracting entities includes: ranking the entities according to a proximity metric to entities in the query template; and selecting entities based on the proximity metric.

[0131] In Example 5, the subject matter of Example 4 optionally includes: wherein selecting entities based on the proximity metric includes selecting entities when the proximity metric exceeds a threshold.

[0132] In Example 6, the subject matter of any one or more of Examples 4-5 optionally includes: wherein selecting entities based on the proximity metric includes: ranking the entities using respective proximity metrics to create an ordered set; and sequentially selecting entities from the ordered set until a predetermined number of entities are selected.

[0133] In Example 7, the subject matter of any one or more of Examples 4-6 optionally includes: wherein the proximity metric used depends on the entity type of the entity.

[0134] In Example 8, the subject matter of Example 7 optionally includes: wherein the entity type is a company, and wherein the proximity metric is based on the frequency of the searcher's access to the company object.

[0135] In Example 9, the subject matter of any one or more of Examples 7-8 optionally includes: wherein the entity type is a company, and wherein the proximity metric is based on competition between the organizations represented by the entities.

[0136] In Instance 10, the subject matter of any one or more of Instances 7 - 9 optionally includes: where the entity type is a title, and where the proximity metric is based on a searcher session of the title.

[0137] In Instance 11, the subject matter of any one or more of Instances 7 - 10 optionally includes: where the entity type is a description, and where the proximity metric is a distance derived from semantic analysis.

[0138] In Instance 12, the subject matter of any one or more of Instances 4 - 11 optionally includes: where the proximity metric is based on the statistical position of the entity in a group.

[0139] In Instance 13, the subject matter of any one or more of Instances 1 - 12 optionally includes: where collecting the user query selection from subsequent step flow elements includes: using a graphical element in a text field instead of user input at the text field; and moving the cursor after the graphical element in the text field.

[0140] In Instance 14, the subject matter of any one or more of Instances 1 - 13 optionally includes: where the flow selection is at least one of a position, a person, or a post.

[0141] In Instance 15, the subject matter of any one or more of Instances 2 - 14 optionally includes: where the user selection includes a selection of a second result presented in the flow selection.

[0142] Instance 16 is a method for assisting in creating a search query, the method including: presenting a text input field on a graphical user interface (GUI); presenting a flow selector adjacent to the text input field in response to receiving user input at the text input field, the flow selector including a set of flow selections selected based on the user input; receiving a user selection of a flow selection; presenting subsequent step flow elements in response to the user selection; collecting a user query selection from the subsequent step flow elements to populate a query template corresponding to the flow selection; and executing the query template to generate search results.

[0143] In Instance 17, the subject matter of Instance 16 optionally includes: where the flow selection includes an identification of a process and an identification of an instance result.

[0144] In Instance 18, the subject matter of any one or more of Instances 16 - 17 optionally includes: where executing the query template includes: performing a preliminary search based on elements of the query template to generate intermediate results; extracting entities from results in the intermediate results that are not found in the query template; and adding the entities to the query template.

[0145] In Instance 19, the subject matter of Instance 18 optionally includes: wherein the entity extraction includes: ranking entities according to a proximity metric to the entities in the query template; and selecting entities based on the proximity metric.

[0146] In Instance 20, the subject matter of Instance 19 optionally includes: wherein selecting entities based on the proximity metric includes selecting entities when the proximity metric exceeds a threshold.

[0147] In Instance 21, the subject matter of any one or more of Instances 19 - 20 optionally includes: wherein selecting entities based on the proximity metric includes: ranking entities using respective proximity metrics to create an ordered set; and sequentially selecting entities from the ordered set until a predetermined number of entities are selected.

[0148] In Instance 22, the subject matter of any one or more of Instances 19 - 21 optionally includes: wherein the proximity metric used depends on the entity type of the entity.

[0149] In Instance 23, the subject matter of Instance 22 optionally includes: wherein the entity type is a company, and wherein the proximity metric is based on the frequency of the searcher accessing the company object.

[0150] In Instance 24, the subject matter of any one or more of Instances 22 - 23 optionally includes: wherein the entity type is a company, and wherein the proximity metric is based on the competition between the organizations represented by the entities.

[0151] In Instance 25, the subject matter of any one or more of Instances 22 - 24 optionally includes: wherein the entity type is a title, and wherein the proximity metric is based on the occurrence of the searcher's session for the title.

[0152] In Instance 26, the subject matter of any one or more of Instances 22 - 25 optionally includes: wherein the entity type is a description, and wherein the proximity metric is the distance derived from semantic analysis.

[0153] In Instance 27, the subject matter of any one or more of Instances 19 - 26 optionally includes: wherein the proximity metric is based on the statistical position of the entity in the group.

[0154] In Instance 28, the subject matter of any one or more of Instances 16 - 27 optionally includes: wherein collecting the user query selection from subsequent step process elements includes: using a graphical element in the text field to replace the user input at the text field; and moving the cursor after the graphical element in the text field.

[0155] In Instance 29, the subject matter of any one or more of Instances 16 - 28 optionally includes: wherein the process selection is at least one of a position, a person, or a post.

[0156] In Example 30, the subject matter of any one or more of Examples 17 - 29 optionally includes: where the user selection includes a selection of a second result presented in the process selection.

[0157] Example 31 is a machine - readable medium including instructions that, when executed by a machine, cause the machine to perform operations including: presenting a text input field on a graphical user interface (GUI); presenting a process selector adjacent to the text input field in response to receiving user input at the text input field, the process selector including a set of process selections selected based on the user input; receiving a user selection of a process selection; presenting subsequent - step process elements in response to the user selection; collecting user query selections from the subsequent - step process elements to populate a query template corresponding to the process selection; and executing the query template to generate search results.

[0158] In Example 32, the subject matter of Example 31 optionally includes: where the process selection includes an identification of a process and an identification of an instance result.

[0159] In Example 33, the subject matter of any one or more of Examples 31 - 32 optionally includes: where executing the query template includes: performing a preliminary search based on elements of the query template to generate intermediate results; extracting entities from the results in the intermediate results that are not found in the query template; and adding the entities to the query template.

[0160] In Example 34, the subject matter of Example 33 optionally includes: where extracting entities includes: ranking the entities according to a proximity metric to an entity in the query template; and selecting entities based on the proximity metric.

[0161] In Example 35, the subject matter of Example 34 optionally includes: where selecting entities based on the proximity metric includes selecting an entity when the proximity metric exceeds a threshold.

[0162] In Example 36, the subject matter of any one or more of Examples 34 - 35 optionally includes: where selecting entities based on the proximity metric includes: ranking the entities using respective proximity metrics to create an ordered set; and sequentially selecting entities from the ordered set until a predetermined number of entities are selected.

[0163] In Example 37, the subject matter of any one or more of Examples 34 - 36 optionally includes: where the proximity metric used depends on the entity type of the entity.

[0164] In Example 38, the subject matter of Example 37 optionally includes: where the entity type is a company, and where the proximity metric is based on the frequency of the searcher's access to the company object.

[0165] In Example 39, the subject matter of any one or more of Examples 37-38 optionally includes: where the entity type is a company, and where the proximity metric is based on competition between the organizations represented by the entities.

[0166] In Example 40, the subject matter of any one or more of Examples 37-39 optionally includes: where the entity type is a title, and where the proximity metric is based on the occurrence of searcher sessions for the title.

[0167] In Example 41, the subject matter of any one or more of Examples 37-40 optionally includes: where the entity type is a description, and where the proximity metric is a distance derived from semantic analysis.

[0168] In Example 42, the subject matter of any one or more of Examples 34-41 optionally includes: where the proximity metric is based on the statistical position of the entity within a group.

[0169] In Example 43, the subject matter of any one or more of Examples 31-42 optionally includes: where collecting the user query selection from subsequent step flow elements includes: using a graphical element in a text field to replace the user input at the text field; and moving the cursor after the graphical element in the text field.

[0170] In Example 44, the subject matter of any one or more of Examples 31-43 optionally includes: where the process selection is at least one of a position, a person, or a post.

[0171] In Example 45, the subject matter of any one or more of Examples 32-44 optionally includes: where the user selection includes a selection of a second result presented in the process selection.

[0172] Example 46 is a method that includes: presenting a context menu when a user enters a search query, the context menu including search process options initialized to portions of the query entered by the user; replacing the portion of the query with a graphical element in response to a user selection of a search process option, the graphical element summarizing the portion of the query entered; modifying the input area for the search query with a prompt for additional query items determined by the selected search process option; and performing a complete search query using the portion of the query and the additional query items, the complete search query being defined by the search process option selected by the user.

[0173] In Example 47, the subject matter of Example 46 optionally includes: where the search process option is searching by job title.

[0174] In Example 48, the subject matter of any one or more of Examples 46-47 optionally includes: where the search process option is searching by candidate instance.

[0175] In Instance 49, the subject matter of any one or more of Instances 46 - 48 optionally includes: where the search process option is through job instance search.

[0176] In Instance 50, the subject matter of any one or more of Instances 46 - 49 optionally includes: where the graphical element is a pill of text that is part of the query with aggregated input.

[0177] In Instance 51, the subject matter of Instance 50 optionally includes: where the text input area accepts a search query, and where the pill is placed within the text input area.

[0178] Instance 52 is a system that includes: a query interface that presents a context menu when a user enters a search query, the context menu including search process options initialized to parts of the query entered by the user; a multiplexer that, in response to a user selection of a search process option, replaces the part of the query with a graphical element that aggregates the part of the query entered; where the query interface modifies the input area for the search query with a prompt for additional query items determined by the selected search process option; and a query engine that performs a full search query using the part of the query and the additional query items, the full search query being organized as defined by the search process option selected by the user.

[0179] In Instance 53, the subject matter of Instance 52 optionally includes: where the search process option is through job title search.

[0180] In Instance 54, the subject matter of any one or more of Instances 52 - 53 optionally includes: where the search process option is through candidate instance search.

[0181] In Instance 55, the subject matter of any one or more of Instances 52 - 54 optionally includes: where the search process option is through job instance search.

[0182] In Instance 56, the subject matter of any one or more of Instances 52 - 55 optionally includes: where the graphical element is a pill of text that is part of the query with aggregated input.

[0183] In Instance 57, the subject matter of Instance 56 optionally includes: where the pill is placed within the input area.

[0184] Example 58 is a system for faceted expansion, the system comprising: a processor; and a memory including instructions which, when executed by the processor, cause the processor to: present a user interface element on a faceted selection portion of a search result display including search results, the user interface element being arranged to receive user input for a facet; receive partial user input for the facet; obtain peer entities of entities corresponding to the facet; and present a peer facet in a suggestion element in the faceted selection portion in response to receiving the partial user input.

[0185] In Example 59, the subject matter of Example 58 optionally includes: wherein peer entities are selected based on a search process that generated the search results.

[0186] In Example 60, the subject matter of any one or more of Examples 58 - 59 optionally includes: wherein peer entities are selected based on an entity type of the entity.

[0187] In Example 61, the subject matter of Example 60 optionally includes: wherein the user interface element corresponds to an entity type, and facets of a single entity type are displayed together in the faceted selection portion.

[0188] In Example 62, the subject matter of any one or more of Examples 60 - 61 optionally includes: wherein peer entities are selected based on an entity type of the entity.

[0189] In Example 63, the subject matter of Example 62 optionally includes: wherein the peer entity has an entity type different from the entity.

[0190] In Example 64, the subject matter of any one or more of Examples 58 - 63 optionally includes: wherein the peer entity is one of a plurality of peer entities presented in the suggestion element.

[0191] In Example 65, the subject matter of Example 64 optionally includes: wherein the plurality of peer entities are sorted in the suggestion element.

[0192] In Example 66, the subject matter of Example 65 optionally includes: wherein the order is based on a proximity measure between the entity and the peer entity.

[0193] In Example 67, the subject matter of Example 66 optionally includes: wherein the order is changed based on a previously selected peer facet.

[0194] In Example 68, the subject matter of any one or more of Examples 58 - 67 optionally includes: wherein obtaining the peer entity includes: the processor: searching for entities based on attributes of the entity; scoring the proximity between entities; and selecting a peer entity based on the proximity to the entity.

[0195] In Instance 69, the subject matter of Instance 68 optionally includes: wherein the proximity score includes: a processor: measuring the overlap between the properties of the entity and the peer entity; and measuring the deviation between the properties of the entity and the peer entity.

[0196] In Instance 70, the subject matter of Instance 69 optionally includes: wherein when the deviation is greater between the entity and the first peer entity, the equal overlap between the entity and the first peer entity is closer to the entity compared to the second peer entity.

[0197] Instance 71 is a method for faceted expansion, the method including: presenting a user interface element on a faceted selection portion of a search result display including search results, the user interface element being arranged to receive user input for a facet; receiving partial user input for the facet; obtaining peer entities of entities corresponding to the facet; and presenting a peer facet in a suggestion element in the faceted selection portion in response to receiving the partial user input.

[0198] In Instance 72, the subject matter of Instance 71 optionally includes: wherein the peer entities are selected based on the search process that generated the search results.

[0199] In Instance 73, the subject matter of any one or more of Instances 71 - 72 optionally includes: wherein the peer entities are selected based on the entity type of the entity.

[0200] In Instance 74, the subject matter of Instance 73 optionally includes: wherein the user interface element corresponds to the entity type, and the facets of a single entity type are displayed together in the faceted selection portion.

[0201] In Instance 75, the subject matter of any one or more of Instances 73 - 74 optionally includes: wherein the peer entities are selected based on the entity type of the entity.

[0202] In Instance 76, the subject matter of Instance 75 optionally includes: wherein the peer entities have an entity type different from that of the entity.

[0203] In Instance 77, the subject matter of any one or more of Instances 71 - 76 optionally includes: wherein the peer entity is one of a plurality of peer entities presented in the suggestion element.

[0204] In Instance 78, the subject matter of Instance 77 optionally includes: wherein the plurality of peer entities are sorted in the suggestion element.

[0205] In Instance 79, the subject matter of Instance 78 optionally includes: wherein the order is based on a proximity measure between the entity and the peer entity.

[0206] In Instance 80, the subject matter of Instance 79 optionally includes: wherein the order is changed based on a previously selected equal division facet.

[0207] In Instance 81, the subject matter of any one or more of Instances 71 - 80 optionally includes: wherein obtaining peer entities includes: searching for entities based on the attributes of the entities; scoring the proximity between entities; and selecting peer entities based on the proximity to the entities.

[0208] In Instance 82, the subject matter of Instance 81 optionally includes: wherein scoring the proximity includes measuring the overlap between the attributes of the entity and the peer entity; and measuring the deviation between the attributes of the entity and the peer entity.

[0209] In Instance 83, the subject matter of Instance 82 optionally includes: wherein when the deviation is greater between the entity and the first peer entity, an equal overlap between the entity and the first peer entity is closer to the entity compared to the second peer entity.

[0210] Instance 84 is a non - transitory machine - readable medium including instructions that, when executed by a machine, cause the machine to: present a user interface element on a facet selection portion of a search result display including search results, the user interface element being arranged to accept user input for a facet; receive partial user input for the facet; obtain peer entities of entities corresponding to the facet; and present peer facets in suggestion elements in the facet selection portion in response to receiving the partial user input.

[0211] In Instance 85, the subject matter of Instance 84 optionally includes: wherein peer entities are selected based on the search process that generated the search results.

[0212] In Instance 86, the subject matter of any one or more of Instances 84 - 85 optionally includes: wherein peer entities are selected based on the entity type of the entities.

[0213] In Instance 87, the subject matter of Instance 86 optionally includes: wherein the user interface element corresponds to the entity type, and facets of a single entity type are displayed together in the facet selection portion.

[0214] In Instance 88, the subject matter of any one or more of Instances 86 - 87 optionally includes: wherein peer entities are selected based on the entity type of the entities.

[0215] In Instance 89, the subject matter of Instance 88 optionally includes: wherein the peer entity has an entity type different from that of the said entity.

[0216] In Instance 90, the subject matter of any one or more of Instances 84 - 89 optionally includes: wherein the peer entity is one of multiple peer entities presented in the suggestion elements.

[0217] In instance 91, the subject matter of instance 90 optionally includes: wherein the plurality of peer entities are sorted in a suggestion element.

[0218] In instance 92, the subject matter of instance 91 optionally includes: wherein the order is based on a proximity metric between an entity and a peer entity.

[0219] In instance 93, the subject matter of instance 92 optionally includes: wherein the order is changed based on a previously selected peer facet.

[0220] In instance 94, the subject matter of any one or more of instances 84 - 93 optionally includes: wherein obtaining peer entities includes: the machine: searching for entities based on attributes of the entity; scoring proximity between entities; and selecting peer entities based on proximity to the entity.

[0221] In instance 95, the subject matter of instance 94 optionally includes: wherein scoring proximity includes: the machine: measuring overlap between attributes of an entity and a peer entity; and measuring deviation between attributes of an entity and a peer entity.

[0222] In instance 96, the subject matter of instance 95 optionally includes: wherein when the deviation is greater between an entity and a first peer entity, an equal overlap between the entity and the first peer entity is closer to the entity than a second peer entity.

[0223] Instance 97 is a method including: presenting search results on an area of a display; placing a filter area on the display, the filter area including a plurality of facets of the search results, graphical elements for each facet including a graphical element representing the facet and recommendations for additional facets; receiving user input to modify a facet; and adjusting the search results based on the modified facet.

[0224] In instance 98, the subject matter of instance 97 optionally includes: wherein the facets in the filter area are grouped by category.

[0225] In instance 99, the subject matter of instance 98 optionally includes: wherein recommendations for additional facets are limited to the category of an individual facet.

[0226] In instance 100, the subject matter of any one or more of instances 97 - 99 optionally includes: wherein modifying a facet includes at least one of the following: removing a facet, changing a value of a facet, or adding a facet.

[0227] In instance 101, the subject matter of any one or more of instances 97 - 100 optionally includes: wherein adjusting the search results includes removing search results that do not match the added facet.

[0228] In Example 102, the subject matter of any one or more of Examples 97 - 101 optionally includes: wherein adjusting the search results includes running a second search based on the modified facets to generate new search results.

[0229] Example 103 is a system that includes: a user interface module that: presents search results on an area of a display; places a filtering area on the display, the filtering area including multiple facets of the search results, and the graphical element for each facet includes a graphical element representing the facet and recommendations for additional facets; and a filtering module that: receives user input to modify a facet; and adjusts the search results based on the modified facet.

[0230] In Example 104, the subject matter of Example 103 optionally includes: wherein the facets in the filtering area are grouped by category.

[0231] In Example 105, the subject matter of Example 104 optionally includes: wherein the recommendations for additional facets are limited to the categories of individual facets.

[0232] In Example 106, the subject matter of any one or more of Examples 103 - 105 optionally includes: wherein modifying a facet includes at least one of the following: removing a facet, changing the value of a facet, or adding a facet.

[0233] In Example 107, the subject matter of any one or more of Examples 103 - 106 optionally includes: wherein adjusting the search results includes the filtering module removing search results that do not match the added facet.

[0234] In Example 108, the subject matter of any one or more of Examples 103 - 107 optionally includes: wherein adjusting the search results includes the query engine running a second search based on the modified facet to generate new search results.

[0235] Example 109 is a system for refining search results, the system including: a processor; and a memory that includes instructions that, when executed by the processor, cause the processor to: obtain search results; obtain a search context; add a context - dependent set of facets to one of the search results; present a user interface for the context - dependent set of facets along with the displayed search results; receive a selection of a facet from the user for the context - dependent set of facets; and filter the displayed search results, the filtering including search results that satisfy the measurement results of the facet and excluding the remaining search results.

[0236] In Instance 110, the subject matter of Instance 109 optionally includes: wherein for each facet in a context-dependent facet set, the user interface for the context-dependent facet set includes a label for the facet and a count of the search results to which the facet is applied.

[0237] In Instance 111, the subject matter of Instance 110 optionally includes: wherein the user interface displays members of the context-dependent facet set in a linear element.

[0238] In Instance 112, the subject matter of Instance 111 optionally includes: wherein members of the context-dependent facet set are displayed in an order initially established by the value of each facet.

[0239] In Instance 113, the subject matter of Instance 112 optionally includes: wherein the value is a count of search results.

[0240] In Instance 114, the subject matter of any one or more of Instances 112 - 113 optionally includes: wherein the instructions further cause the processor to reorder the order so as to place the facet at the end of the linear element.

[0241] In Instance 115, the subject matter of any one or more of Instances 109 - 114 optionally includes: wherein the context includes an identification of an entity.

[0242] In Instance 116, the subject matter of Instance 115 optionally includes: wherein a facet in the context-dependent facet set is a relationship between a result in the search results and the entity.

[0243] In Instance 117, the subject matter of Instance 116 optionally includes: wherein the search results identify a person, and wherein the relationship is a record of the person's activities regarding the entity.

[0244] In Instance 118, the subject matter of Instance 117 optionally includes: wherein the record of activities includes the person's selection to follow the entity on a social media platform.

[0245] In Instance 119, the subject matter of any one or more of Instances 117 - 118 optionally includes: wherein the record of activities includes the person's search for the entity.

[0246] In Instance 120, the subject matter of any one or more of Instances 117 - 119 optionally includes: wherein the record of activities includes a connection between the person and another person at the entity, the connection being established on a social media platform under the person's direction.

[0247] In Instance 121, the subject matter of any one or more of Instances 117 - 120 optionally includes: wherein the activity record includes a previous employment application for the entity.

[0248] In Instance 122, the subject matter of any one or more of Instances 109 - 121 optionally includes: wherein the context includes a user performing a search that generates search results, and wherein the facets in the context - dependent facet set are actions the user has taken in the past regarding the results.

[0249] In Instance 123, the subject matter of any one or more of Instances 109 - 122 optionally includes: wherein the context includes an entity position previously provided as a query parameter to generate search results, and wherein the facets in the context - dependent facet set are employment - duration metrics.

[0250] In Instance 124, the subject matter of Instance 123 optionally includes: wherein the employment - duration metric is a statistical characterization of the results in a group.

[0251] In Instance 125, the subject matter of Instance 124 optionally includes: wherein the group is the entire set of search results.

[0252] In Instance 126, the subject matter of any one or more of Instances 124 - 125 optionally includes: wherein the employment - duration metric is a segment identifier.

[0253] Instance 127 is a method for search - result refinement, the method comprising: obtaining search results; obtaining a search context; adding a context - dependent facet set to one of the search results; presenting a user interface for the context - dependent facet set along with the display of the search results; receiving from the user a selection of a facet in the context - dependent facet set; and filtering the displayed search results, the filtering including search results that satisfy the measurement results of the facet and excluding the remaining search results.

[0254] In Instance 128, the subject matter of Instance 127 optionally includes: wherein for each facet in the context - dependent facet set, the user interface for the context - dependent facet set includes a label for the facet and a count of the search results to which the facet applies.

[0255] In Instance 129, the subject matter of Instance 128 optionally includes: wherein the user interface displays the members of the context - dependent facet set in a linear element.

[0256] In Instance 130, the subject matter of Instance 129 optionally includes: wherein the members of the context - dependent facet set are displayed in an order initially established by the values of each facet.

[0257] In Instance 131, the subject matter of Instance 130 optionally includes: where the value is a count of search results.

[0258] In Instance 132, the subject matter of any one or more of Instances 130 - 131 optionally includes: reordering the order to place the facet at the end of a linear element.

[0259] In Instance 133, the subject matter of any one or more of Instances 127 - 132 optionally includes: where the context includes an identification of an entity.

[0260] In Instance 134, the subject matter of Instance 133 optionally includes: where a facet in the context - dependent set of facets is a relationship between a result in the search results and the entity.

[0261] In Instance 135, the subject matter of Instance 134 optionally includes: where the search results identify a person, and where the relationship is a record of the person's activities regarding the entity.

[0262] In Instance 136, the subject matter of Instance 135 optionally includes: where the record of activities includes the person choosing to follow the entity on a social media platform.

[0263] In Instance 137, the subject matter of any one or more of Instances 135 - 136 optionally includes: where the record of activities includes the person searching for the entity.

[0264] In Instance 138, the subject matter of any one or more of Instances 135 - 137 optionally includes: where the record of activities includes a connection between the person and another person at the entity, the connection being established on a social media platform under the person's guidance.

[0265] In Instance 139, the subject matter of any one or more of Instances 135 - 138 optionally includes: where the record of activities includes a previous employment application at the entity.

[0266] In Instance 140, the subject matter of any one or more of Instances 127 - 139 optionally includes: where the context includes the user who performed the search that generated the search results, and where a facet in the context - dependent set of facets is an action the user has taken in the past regarding the results.

[0267] In Instance 141, the subject matter of any one or more of Instances 127 - 140 optionally includes: where the context includes an entity position that was previously provided as a query parameter to generate the search results, and where a facet in the context - dependent set of facets is an on - the - job time metric.

[0268] In instance 142, the subject matter of instance 141 optionally includes: where the on-the-job time metric is a statistical characterization of the results in a group.

[0269] In instance 143, the subject matter of instance 142 optionally includes: where the group is the entire search result.

[0270] In instance 144, the subject matter of any one or more of instances 142 - 143 optionally includes: where the on-the-job time metric is a segment identifier.

[0271] Instance 145 is a machine-readable medium including instructions that, when executed by a machine, cause the machine to: obtain a search result; obtain a search context; add a context-dependent facet set to one of the search results; present a user interface of the context-dependent facet set along with displaying the search result; receive from the user a selection of a facet in the context-dependent facet set; and filter the displayed search results, the filtering including search results that satisfy the measurement results of the facet and excluding the remaining search results.

[0272] In instance 146, the subject matter of instance 145 optionally includes: where for each facet in the context-dependent facet set, the user interface of the context-dependent facet set includes a label for the facet and a count of the search results to which the facet applies.

[0273] In instance 147, the subject matter of instance 146 optionally includes: where the user interface displays the members of the context-dependent facet set in a linear element.

[0274] In instance 148, the subject matter of instance 147 optionally includes: where the members of the context-dependent facet set are displayed in an order initially established by the value of each facet.

[0275] In instance 149, the subject matter of instance 148 optionally includes: where the value is a count of the search results.

[0276] In instance 150, the subject matter of any one or more of instances 148 - 149 optionally includes: where the instructions further cause the processor to reorder the order so as to place the facet at the end of the linear element.

[0277] In instance 151, the subject matter of any one or more of instances 145 - 150 optionally includes: where the context includes an identification of an entity.

[0278] In instance 152, the subject matter of instance 151 optionally includes: where the facets in the context-dependent facet set are association relationships between the results in the search results and the entity.

[0279] In instance 153, the subject matter of instance 152 optionally includes: where the search result identifies a person, and where the connection relationship is a record of the person's activities regarding the entity.

[0280] In instance 154, the subject matter of instance 153 optionally includes: where the activity record includes the person's selection to follow the entity in a social media platform.

[0281] In instance 155, the subject matter of any one or more of instances 153 - 154 optionally includes: where the activity record includes the person's search for the entity.

[0282] In instance 156, the subject matter of any one or more of instances 153 - 155 optionally includes: where the activity record includes a connection between the person and another person at the entity, the connection being established on a social media platform under the person's guidance.

[0283] In instance 157, the subject matter of any one or more of instances 153 - 156 optionally includes: where the activity record includes a previous employment application at the entity.

[0284] In instance 158, the subject matter of any one or more of instances 145 - 157 optionally includes: where the context includes the user who performed the search that generated the search results, and where the facets in the context - dependent facet set are actions the user has taken in the past regarding the results.

[0285] In instance 159, the subject matter of any one or more of instances 145 - 158 optionally includes: where the context includes the entity position previously provided as a query parameter to generate the search results, and where the facets in the context - dependent facet set are employment duration metrics.

[0286] In instance 160, the subject matter of instance 159 optionally includes: where the employment duration metric is a statistical characterization of the results in a group.

[0287] In instance 161, the subject matter of instance 160 optionally includes: where the group is the entire search results.

[0288] In instance 162, the subject matter of any one or more of instances 160 - 161 optionally includes: where the employment duration metric is a segment identifier.

[0289] Instance 163 is a method that includes: classifying search result entities; presenting a subset of these classes together with the search results on a display; receiving user input selecting a class; and filtering the search results in response to the class selection.

[0290] In Instance 164, the subject matter of Instance 163 optionally includes: wherein a subset of the categories is sorted.

[0291] In Instance 165, the subject matter of Instance 164 optionally includes: wherein the order of the categories is determined by the effectiveness of the identified search.

[0292] In Instance 166, the subject matter of any one or more of Instances 163 - 165 optionally includes: wherein the search result entities represent people who are job candidates.

[0293] In Instance 167, the subject matter of Instance 166 optionally includes: wherein the categories include at least one of the following: connected to the target company, following the target company, being a past applicant of the target company, having a prior interaction with a recruiter, or working at a company similar to the target company.

[0294] In Instance 168, the subject matter of any one or more of Instances 163 - 167 optionally includes: wherein the category selection is limited to a single category at a time.

[0295] Instance 169 is a system that includes: a classifier that classifies search result entities; and a user interface that: presents a subset of the categories together with the search results on a display; receives user input selecting a category; and filters the search results in response to the category selection.

[0296] In Instance 170, the subject matter of Instance 169 optionally includes: wherein a subset of the categories is sorted.

[0297] In Instance 171, the subject matter of Instance 170 optionally includes: wherein the order of the categories is determined by the effectiveness of the identified search.

[0298] In Instance 172, the subject matter of any one or more of Instances 169 - 171 optionally includes: wherein the search result entities represent people who are job candidates.

[0299] In Instance 173, the subject matter of Instance 172 optionally includes: wherein the categories include at least one of the following: connected to the target company, following the target company, being a past applicant of the target company, having a prior interaction with a recruiter, or working at a company similar to the target company.

[0300] In Instance 174, the subject matter of any one or more of Instances 169 - 173 optionally includes: wherein the category selection is limited to a single category at a time.

[0301] The specific embodiments above include references to the accompanying drawings, which form a part of the specific embodiments. The drawings illustrate, by way of example, specific embodiments that may be implemented. Such embodiments are also referred to herein as "examples". Such examples may include elements other than those shown or described. However, the inventors have also carefully considered examples in which only those elements shown or described are provided. Moreover, for a particular example (or one or more aspects thereof) or for other examples (or one or more aspects thereof) shown or described herein, the inventors have also carefully considered examples (or one or more aspects thereof) using any combination or arrangement of those elements shown or described.

[0302] All publications, patents, and patent documents mentioned in this document are hereby incorporated by reference in their entirety, as if individually incorporated by reference. In the event of a conflict in usage between this document and those documents incorporated by reference, the usage in the incorporated (multiple) document(s) shall be regarded as supplementary to the usage in this document; for irreconcilable inconsistencies, the usage in this document shall govern.

[0303] In this document, as is common in patent documents, the term "a" is used to include one or more than one, independent of any other instance or usage of "at least one" or "one or more". In this document, the term "or" is used to mean a non-exclusive or, such that "A or B" includes "A but not B", "B but not A", and "A and B", unless otherwise specified. In the appended claims, the terms "comprising" and "wherein" are used as the plain English equivalents of the corresponding terms "including" and "in which". Further, in the following claims, the terms "comprising" and "including" are open-ended, that is, a system, apparatus, article, or process that includes elements other than those listed after such terms as a system, apparatus, article, or process in a claim is still considered to fall within the scope of that claim. Moreover, in the following claims, the terms "first", "second", and "third", etc. are used merely as labels and are not intended to impose a numerical requirement on their objects.

[0304] The foregoing description is intended to be illustrative, not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments may be used by, for example, those of ordinary skill in the art upon review of the foregoing description. The abstract will allow the reader to quickly ascertain the nature of the technical disclosure and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Further, in the foregoing Detailed Description, the various features may be grouped together in order to simplify the disclosure. This should not be construed as meaning that the features of the disclosure that are not claimed are essential to any of the claims. Rather, the inventive subject matter may lie in less than all of the features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. The scope of these embodiments should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims

1. A system for search result refinement, the system comprising: a processor; and a memory including instructions that, when executed by the processor, cause the processor to: obtain a plurality of search results for a search; obtain the search context of the search, the search context including information identifying the person performing the search or information identifying the organization on behalf of which the search is being performed; add a context-dependent facet set to one of the plurality of search results, wherein the facets in the context-dependent facet set are relationships between the results in the plurality of search results and the person performing the search or the organization on behalf of which the search is being performed; present a user interface of the context-dependent facet set along with the display of the search results; receive from the user a selection of a facet in the context-dependent facet set; and filter the displayed search results, the filtering including search results that satisfy the measurement results of the facet and excluding the remaining search results.

2. The system according to claim 1, wherein for each facet in the context-dependent facet set, the user interface of the context-dependent facet set includes a label for the facet and a count of the search results to which the facet applies.

3. The system according to claim 2, wherein the user interface displays the members of the context-dependent facet set in a linear element.

4. The system according to claim 3, wherein the members of the context-dependent facet set are displayed in an order initially established by the value of each facet.

5. The system according to claim 1, wherein One of the plurality of search results identifies a person, and wherein the relationship is a record of an activity indicating that the person previously applied for a job at the organization on behalf of which the search was performed.

6. The system according to claim 1, wherein One of the plurality of search results identifies a person, and wherein the relationship is a record of an activity indicating that the person is a follower of the organization on behalf of which the search was performed.

7. The system according to claim 1, wherein One of the plurality of search results identifies a person, and wherein the relationship is a record of an activity indicating that the person previously searched the organization on behalf of which the search was performed.

8. A method for search result refinement, the method comprising: obtaining a plurality of search results for a search; obtaining the search context of the search, the search context including information identifying the person performing the search or information identifying the organization on behalf of which the search is being performed; adding a context-dependent facet set to one of the plurality of search results, wherein the facets in the context-dependent facet set are relationships between the results in the plurality of search results and the person performing the search or the organization on behalf of which the search is being performed; presenting a user interface of the context-dependent facet set along with the display of the search results; receiving from the user a selection of a facet in the context-dependent facet set; and filtering the displayed search results, the filtering including search results that satisfy the measurement results of the facet and excluding the remaining search results.

9. The method according to claim 8, wherein for each facet in the context-dependent facet set, the user interface of the context-dependent facet set includes a label for the facet and a count of the search results to which the facet applies.

10. The method according to claim 9, wherein the user interface displays the members of the context-dependent facet set in a linear element.

11. The method according to claim 10, wherein the members of the context-dependent facet set are displayed in an order initially established by the values of each facet.

12. The method according to claim 8, wherein, One of the plurality of search results identifies a person, and wherein the connection relationship is a record indicating an activity that the person previously applied for a job at the organization on behalf of which the search was performed.

13. The method according to claim 8, wherein, One of the plurality of search results identifies a person, and wherein the connection relationship is a record indicating an activity that the person is a follower of the organization on behalf of which the search was performed.

14. The method according to claim 8, wherein, One of the plurality of search results identifies a person, and wherein the connection relationship is a record indicating an activity that the person previously searched the organization on behalf of which the search was performed.

15. A machine-readable medium comprising instructions that, when executed by a machine, cause the machine to: Obtain a plurality of search results for a search; Obtain a search context for the search, the search context including information identifying the person who performed the search or information identifying the organization on behalf of which the search is being performed; Add a context-dependent facet set to one of the plurality of search results, wherein the facets in the context-dependent facet set are connection relationships between the results in the plurality of search results and the person who performed the search or the organization on behalf of which the search is being performed; Present a user interface for the context-dependent facet set along with displaying the search results; Receive a selection from the user for a facet in the context-dependent facet set; and Filter the displayed search results, the filtering including search results that satisfy the measurement results of the facet and excluding the remaining search results.

16. The machine-readable medium according to claim 15, wherein for each facet in the context-dependent facet set, the user interface of the context-dependent facet set includes a label for the facet and a count of the search results to which the facet applies.

17. The machine-readable medium according to claim 16, wherein the user interface displays the members of the context-dependent facet set in a linear element.

18. The machine-readable medium according to claim 17, wherein the members of the context-dependent facet set are displayed in an order initially established by the values of each facet.

19. The machine-readable medium according to claim 15, wherein, One of the plurality of search results identifies a person, and wherein the connection relationship is a record indicating an activity that the person previously applied for a job at the organization on behalf of which the search was performed.

20. The machine-readable medium according to claim 15, wherein, One of the multiple search results identifies a person, and wherein the contact relationship is a record of an activity indicating that the person is a follower of the organization on behalf of which the search has been performed.

21. The machine-readable medium according to claim 15, wherein, One of the multiple search results identifies a person, and wherein the contact relationship is a record of an activity indicating that the person has previously searched the organization on behalf of which the search has been performed.