Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ASSISTED SEARCH QUERY
Document Type and Number:
WIPO Patent Application WO/2017/066472
Kind Code:
A1
Abstract:
System and techniques for assisted search query are described herein. These techniques may include the assisted creation of search queries, facet expansion, or search result refinement. Assisted creation of search queries may include a search flow selector dynamically appearing as the user enters text in a text input element. Facet expansion may include the ad hoc creation of facets from related results and suggesting those facets to users. The search result refinement may include the creation of context dependent facets and use of same to refine displayed search results.

Inventors:
DAYA RAHIM (US)
GUPTA ABHISHEK (US)
SINHA SHAKTI DHIRENDRAJI (US)
KANDURI SATYA PRADEEP (US)
WU XIANREN (US)
LAKSHMANAN GAYATHIRI RAMADEVI (US)
WU BO XIANG (US)
ONJEA VASILI (US)
SAINTS JORDAN ANTHONY (US)
JORDT TIMOTHY PATRICK (US)
WALLOCH GREGORY ALAN (US)
PIEPMEYER ZACHARY TYLER (US)
YU ZIAN (US)
ZHOU SHAN (US)
Application Number:
PCT/US2016/056881
Publication Date:
April 20, 2017
Filing Date:
October 13, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LINKEDIN CORP (US)
International Classes:
G06Q50/00
Foreign References:
US20140129552A12014-05-08
US20150067502A12015-03-05
US20150039597A12015-02-05
Other References:
None
Attorney, Agent or Firm:
SCHEER, Bradley W. et al. (US)
Download PDF:
Claims:
CLAIMS

1. A system for assisted creation of a searching 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 flow-selector in proximity to the text input field in response to receiving user input at the text input field, the flow-selector including a set of flow choices selected based on the user input;

receive user selection of a flow choice;

present next-steps flow elements in response to the user selection; collect user query choices from the next-steps flow elements to populate a query template corresponding to the flow choice; and

execute the query template to produce search results,

2. The system of claim 1 , wherein the flow choices include identification of a flow and identification of an example result.

3. The system of claim 1 or claim 2, wherein executing the query template includes:

performing a preliminary search based on an element of the query template to produce intermediate results;

extracting an entity from a result in the intermediate results that is not found in the query template; and

adding the entity to the query template.

4. The system of claim 3, wherein extracting the entity includes:

ranking entities by a closeness metric from an entity in the query template; and

selecting the entity based on the closeness metric.

5. The system of any preceding claim, wherein collecting user query choices from the next-steps flow elements includes:

replacing the user input at the text field with a graphical element in the text field; and

moving a cursor after the graphical element in the text field.

6. The system of any preceding claim, wherein the flow choice is at least one of a position, a person, or a posting.

7. The system of claim 2, wherein the user selection includes a selection of a second result presented in the flow choice,

8. A system for facet expansion, the system comprising:

a processor, and

a memory including instructions that, when executed by the processor, cause the processor to:

present a user interface element on a facet selection portion of a searc result display including search results, the user interface element arranged to accept user input of a facet;

receive partial user input for a facet;

obtain a peer entity to an entity corresponding to the facet;

present a peer facet in a suggestion element in the facet selection portion in response to receiving the partial user input.

9. The system of claim 8, wherein the peer entity is selected based on an entity class of the entity.

10. The system of claim 8 or claim 9, wherein the peer entity is one of a plurality of peer entities presented in the suggestion element.

1 1. The system of claim 10, wherein the plurality of peer entities are ordered in the suggestion element.

2. The system of claim 1 1, wherein the order is based on a closeness measure between the entity and the peer entities.

13. The system of any one of claims 8 to 12, wherein to obtain the peer entity includes the processor to:

search for entities based on an attribute of the entity;

score closeness between the entities; and

select the peer entity based on closeness to the entity.

14. The system of claim 13, wherein to score the closeness includes the processor to:

measure an overlap between attributes of the entity and peer entity; and measure a deviation between attributes of the entity and peer entity.

A system for search result refinement, the system comprising:

a processor; and

a memory including instructions that, when executed by the processor, the processor to:

obtain search results;

obtain a search context;

add a context dependent facet set to a search result in the search results,

present a user interface of the context dependent facet set in conjunction with displaying the search results;

receive a selection of a facet in the context dependent facet set from a user; and

filter the search results being displayed, the filtering including search results that meet a measurement of the facet and excluding the remaining search results.

16. The system of claim 15, wherein the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

7. The system of claim 16, wherein the user interface displays members of the context dependent facet set in a linear element.

18. The system of claim 17, wherein the members of the context dependent facet set that are displayed in an order initially established by a value of each facet.

19. The system of any one of claims 15 to 18, wherein the context includes identification of an entity.

20. The system of claim 19, wherein a facet in the context dependent facet set is an affiliation between a result in the search results and the entity.

21 . The system of claim 20, wherein the search result identifies a person, and wherein the affiliation is a record of activity by the person with respect to the entity,

22. A method for assisted creation of a searching query, the method comprising:

presenting a text input field on a graphical user interface (GUI), presenting a flow-selector in proximity to the text input field in response to receiving user input at the text input field, the flow-selector including a set of flow choices selected based on the user input;

receiving user selection of a flow choice;

presenting next-steps flow elements in response to the user selection, collecting user query choices from the next-steps flow elements to populate a query template corresponding to the flow choice; and

executing the query template to produce search results.

23. The method of claim 22, wherein the flow choices include identification of a flow and identification of an example result.

24. The method of claim 22 or claim 23, wherein executing the query template includes: performing a preliminary search based on an element of the query template to produce intermediate results;

extracting an entity from a result in the intermediate results that is not found in the query template; and

adding the entity to the query template.

25. The method of claim 24, wherein extracting the entity includes:

ranking entities by a closeness metric from an entity in the query template; and

selecting the entity based on the closeness metric.

26. The method of any one of claims 22 to 25, wherein collecting user query choices from the next-steps flow elements includes:

replacing the user input at the text field with a graphical element in the text field; and

moving a cursor after the graphical element in the text field,

27. The method of any one of claim s 22 to 26, wherein the flow choice is at least one of a position, a person, or a posting.

28. The method of any one of claims 22 to 27, wherein the user selection includes a selection of a second result presented in the flow choice.

29. A method for facet expansion, the method comprising:

presenting a user interface element on a facet selection portion of a search result display including search results, the user interface element arranged to accept user input of a facet;

receiving partial user input for a facet;

obtaining a peer entity to an entity corresponding to the facet;

presenting a peer facet in a suggestion element in the facet selection portion in response to receiving the partial user input.

30. The method of claim 29, wherein the peer entity is selected based on an entity class of the entity. 31 , The method of claim 29 or claim 30, wherein the peer entity is one of a plurality of peer entities presented in the suggestion element. 32, The method of claim 31, wherein the plurality of peer entities are ordered in the suggestion element.

33. The method of claim 32, wherein the order is based on a closeness measure between the entity and the peer entities.

34. The method of any one of claims 29 to 33, wherein obtaining the peer entity includes:

searching for entities based on an attribute of the entity;

scoring closeness between the entities; and

selecting the peer entity based on closeness to the entity.

35. The method of claim 34, wherein scoring the closeness includes:

measuring an overlap between attributes of the entity and peer entity, and measuring a deviation between attributes of the entity and peer entity.

36. A method for search result refinement, the method comprising:

obtaining search results;

obtaining a search context,

adding a context dependent facet set to a search result in the search results;

presenting a user interface of the context dependent facet set in conjunction with displaying the search results;

receiving a selection of a facet in the context dependent facet set from a user; and

filtering the search results being displayed, the filtering including search results that meet a measurement of the facet and excluding the remaining search results.

37. The method of claim 36, wherein the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

38. The method of claim 37, wherein the user interface displays members of the context dependent facet set in a linear element.

39. The method of claim 38, wherein the members of the context dependent facet set that are displayed in an order initially established by a value of each facet.

40. The method of any one of claim 36 to 39, wherein the context includes identification of an entity.

41. The method of claim 40, wherein a facet in the context dependent facet set is an affiliation between a result in the search results and the entity.

42. The method of claim 41, wherein the search result identifies a person, and wherein the affiliation is a record of activity by the person with respect to the entity.

43. A machine readable medium including instructions that, when executed by a machine, cause the machine to perform operations comprising:

presenting a text input field on a graphical user interface (GUI);

presenting a flow-selector in proximity to the text input field in response to receiving user input at the text input field, the flow-selector including a set of flow choices selected based on the user input;

receiving user selection of a flow choice;

presenting next-steps flow elements in response to the user selection, collecting user query choices from the next-steps flow elements to populate a query template corresponding to the flow choice; and

executing the query template to produce search results.

44. The machine readable medium of claim 43, wherein the flow choices include identification of a flow and identifi cation of an example result,

45. The machine readable medium of claim 43 or claim 44, wherein executing the query template includes:

performing a preliminary search based on an element of the query template to produce intermediate results;

extracting an entity from a result in the intermediate results that is not found in the query template, and

adding the entity to the query template.

46. The machine readable medium of claim 45, wherein extracting the entity includes:

ranking entities by a closeness metric from an entity in the query template; and

selecting the entity based on the closeness metric.

47. The machine readable medium of any one of claims 43 to 46, wherein collecting user query choices from the next-steps flow elements includes:

replacing the user input at the text field with a graphical element in the text field; and

moving a cursor after the graphical element in the text field.

48. The machine readable medium of any one of claims 43 to 46, wherein the flow choice is at least one of a position, a person, or a posting,

49. The machine readable medium of any one of claims 43 to 48, wherein the user selection includes a selection of a second result presented in the flow- choice.

50. 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 airanged to accept user input of a facet;

receive partial user input for a facet:

obtain a peer entity to an entity corresponding to the facet,

present a peer facet in a suggestion element in the facet selection portion in response to receiving the partial user input.

51. The machine readable medium of claim 50, wherein the peer entity is selected based on an entity class of the entity.

52. The machine readable medium of claim 50 or claim 51, wherein the peer entity is one of a plurality of peer entities presented in the suggestion element. 53. The machine readable medium of claim 52, wherein the plurality of peer entities are ordered in the suggestion element,

54. The machine readable medium of claim 53, wherein the order is based on a closeness measure between the entity and the peer entities.

55. The machine readable medium of any one of claims 50 to 54, wherein to obtain the peer entity includes the machine to:

search for entities based on an attribute of the entity ;

score closeness between the entities; and

select the peer entity based on closeness to the entity.

56. The machine readable medium of claim 55, wherein to score the closeness includes the machine to:

measure an overlap between attributes of the entity and peer entity; measure a deviation between attributes of the entity and peer entity.

57. A machine readable medium including instructions that, when executed by the machine, cause the machine to:

obtain search results; obtain a search context;

add a context dependent facet set to a search result in the search results; present a user interface of the context dependent facet set in conjunction with displaying the search results;

receive a selection of a facet in the context dependent facet set from a user; and

filter the search results being displayed, the filtering including search results that meet a measurement of the facet and excluding the remaining search results.

58. The machine readable medium of claim 57, wherein the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

59. The machine readable medium of claim 58, wherein the user interface displays members of the context dependent facet set in a linear element.

60. The machine readable medium of claim 59, wherein the members of the context dependent facet set that are displayed in an order initially established by a value of each facet.

61 . The machine readable medium of any one of claims 57 to 60, wherein the context includes identification of an entity.

62. The machine readable medium of claim 61, wherein a facet in the context dependent facet set is an affiliation between a result in the search results and the entity. 63. The machine readable medium of claim 62, wherein the search result identifies a person, and wherein the affiliation is a record of activity by the person with respect to the entity.

Description:
[0001] This patent application claims the benefit of priority to: United

States Patent Application Serial No. 15/253,381, titled "ASSISTED

CREATION OF A SEARCH QUERY," filed on August 31, 2016, which in turn claims priority to United States Provisional Application Serial No.

62/241,375, titled "SEARCH STARTERS" and filed on October 14, 2015;

United States Patent Application Serial No. 15/253,644, titled "SYSTEM FOR FACET EXPANSION," filed on August 31, 2016, which in turn claims priority to United States Provisional Application Serial No. 62/241,405, titled "SMART SEARCH FILTERS" and filed on October 14, 2015; and United States Patent Application Serial No. 15/253,667, titled "SEARCH RESULT REFINEMENT," filed on August 31, 2016, which in turn claims priority to United States

Provisional Application Serial No. 62/241 ,61 1 , titled "PRIORITIZED SEARCH RESULTS" and filed on October 14, 2015, the entirety of all applications noted above bein incorporated by reference herein.

[0002] Embodiments described herein generally relate to search engines and more specifically to assisted creation of a search query. BACKGROUND

[0003] Search engines generally provide a structured mechanism to enter a request for data and match that request to items in a data store. These data store items generally include multiple fields that include data or references to other data. The data request is often structured with respect to a known field configuration of the data in the data store. Thus, queries are formulated that, for example, request title fields that include all or part of an article title.

[0004] After receiving a query, the search engine generally parses the query to determine when and where to search the data store, creating a query plan. The search engine then executes the query plan collecting results. These

I results, once located, may be further manipulated according to other parameters of the query. These manipulations may include sorting the results, aggregating results to produce a number, etc. The final result, following manipulations, is then returned to an agent to, for example, display the search results to a user. In some examples, the user may subsequent requests of the search engine for an already completed search to manipulate the search results further.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. The drawings illustrate generally, by way of example, but not by ¬ way of limitation, various embodiments discussed in the present document.

[0006] FIG. 1 illustrates an example of a system for assisted search query, according to an embodiment.

[0007] FIG. 2 illustrates the functional components of a social networking sendee, according to an embodiment.

[0008] FIGS. 3-6 illustrate examples of user interface elements for assisted creation of a search query, according to an embodiment.

[0009] FIG. 7 illustrates an example of a method for assisted creation of a search query, according to an embodiment.

[0010] FIG. 8 illustrates an example of a user interface for facet expansion, according to an embodiment.

[0011] FIG. 9 illustrates an example of entity comparison for facet expansion, according to an embodiment,

[0012] FIG. 10 illustrates an example of a method for facet expansion, according to an embodiment.

[0013] FIGS. 11-13B illustrate examples of user interface elements for search result refinement, according to an embodiment.

[0014] FIG. 14 illustrates an example of a method for search result refinement, according to an embodiment.

[0015] FIG. 15 is a block diagram illustrating an example of a machine upon which one or more embodiments may be implemented. DETAILE D DESCRIPTION

[0016] A common problem arises for users using sophisticated search tools for complex data: the user must invest significant time in learning the search tools (query language, tuning parameters, etc.) and possibly collect and organize previous successful queries to use again in the future. These problems may be exacerbated in search tasks that occur often but with different goals, such as the work of an employment recruiter search an applicant database. In tasks such as these, the user may be spending time learning how to search rather than performing their primary function, such as recruiting people for open positions.

[0017] Query building tools may alleviate some problems noted above.

Rather than providing a bare interface to enter the fields and values to be searched, these tools may accept an initial entered value and suggest subsequent values to select. In some examples, a workflow may be used to guide a user through query generation. In an example, the workflow is selected by the user and then the user commences to follow prompts to complete the workflow. A problem with many workflow implementations may include the rigid nature of the resultant workflow. For example, after a user has become more accustomed to a particular query exercise, the workflow prompts may be a slow or otherwise cumbersome interface for that user.

[0018] To address the issues noted above, techniques and systems for assisted creation of a search query are disclosed herein, A text entry user interface is presented to the user. As the user begins to type the query, the input is used to provide suggested query completion options (e.g., a type-ahead). Rather than a traditional type-ahead, however, the completion options are those of several possible workflows. Thus, when the user selects a particular option, a workflow is also selected. The workflow elements, as completed, may be put into the text entry as pills, graphical elements representing a previous selection, A background text prompt on the text entry element may then instruct the user as to a next workflow prompt. At any time, the user may invoke the search to exit the workflow and begin a search with the entered parameters. In this manner, the user interacts with a familiar search box while gaining the benefit of guided search creation without the rigid workflow interfaces of the past. Additional examples and details are discussed below. [0019] Following a search, search results are displayed to the user. In some instances, the data may be too large, or otherwise unwieldly to answer specific questions by the user. However, the data in the search results contains the raw material to satisfy the user. In these instances facets may 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. Often, this aspect is presented as a selectable user interface element. Also, the selectable user interface element often includes a count of the items that have a particular facet. For exampl e, if one where to search for "TV" on an electronics storefront, facets for the search results may include such things as "LCD," "OLED," or "GREATER THAN 50 INCHES." While every search result may not have one of these facets, some will. Selecting the facet arranges, or filters, the search results such that those with the facet are displayed. If the user wants to look at LCD TVs, the user selects the "LCD" facet. If the user then wants to look at the OLED TVs, the user may simply remove the "LCD" facet and add the "OLED" facet. All of this may generally be accomplished without an additional search. In this way, the user may efficiently, and interactively, work with the search results.

[0020] Although facets may be helpful, they are generally limited to aspects, or dimensions, of the data already returned as part of a search result. 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 that may not be suggested by the initial search results, and bringing these to the fore as suggestions for the user to select. Described herein are techniques and systems for facet expansion. The facet expansion takes the form of a user interface suggestion element from which the additional facets may be selected by the user and added to the search results. The suggestions take ques from a context including previous facet selections. Thus, the user experience is not interrupted by a new interface, and yet the power of the interface is increased.

[0021] The suggestions (e.g., either displayed or in a type-ahead when adding facets) are pulled from similar entities. As used herein, an entity is an individual option in a given category. Thus, two job titles, "software engineer" and "software developer" are different entities in the "job title" category. In an example, entities are aspects of social media profiles, however, other record types, such as a product listing, asset record, etc., would have analogous elements as entities. The profiles include other data of specific entities, such as location, skills, etc. Entities may be collected in peer groups. Entities in these peer groups that are not represented in the facet user interface element may be added, resulting in an expanded facet selection than previously available.

[0022] Entity grouping into peer groups may be based on a closeness metric of attributes in an entity. Although a certain affinity between entities is necessary to collect them into a peer group, benefits may be had in promoting the differences between those groups. 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, a location suggestion of "California" may be provided even though the entity "software developer" was entered as a facet.

[0023] Peer group identification is a statistical analysis based on the attributes of the entities. The analysis both determines the commonality and novelty (e.g., differences) between entities in a pairwise fashion. Peer group affiliation may be used to weight entity attribute for suggestions. Thus, two entities that are poorly related will provide attribute suggestions with a low- weight. Entity suggestions may also be weighted by the order in which a facet was entered. This example provides for the user to maintain a train of thought while selecting facets. For example, if skills "Java" and "Html" are entered, in order, as skills facets, all else being equal, the skills suggestions that are based on the "Html" facet will receive priority over those of the "Java" attribute. Rank may also be based on the user. For example, a location may be inferred based on the location of the person performing the search.

[0024] Thus, facet expansion may include identifying peer entities, estimating an affinity (e.g., overlap) between the peer entities, ranking attributes of entities in the peer group, and presenting high ranking entities to the user as, for example, facet-entry type-ahead or instant add suggestions.

[0025] Search query comes from two sources: member features and similar features. Both sources have explicit features and latent features. The output should be a feature value and relevant score for each facet/dimension.

[0026] As noted above, searches may include both a query phase to produce search results and a post-query phase in which the returned results are manipulated. One example of this manipulation is in the interactive adding or subtracting of facets and filtering the search results based on a presently selected set of facets. Facets, al so known as dimensions, are attributes of the records in the search result. Facets permit the focusing of the search result in a generally interactive manner without the expense or inconvenience of performing an additional search.

[0027] In some search tasks, a person will perform a task with each search result. An example used herein is that of searching for a candidate application by a recruiter. Another example may be, for example, a researcher looking for literature on a probl em. In each of these exampl es, the user will likely spend significant time with each result finally identified. Although a good search and proper filtering with available facets may result in good search results, often there are still too many results to be dealt with effectively. To resolve this problem, a system of search result refinement is presented herein. This refinement includes a set of facets that are specific to the search task, rather than the data. As the data is acquired, such as in the form of search results, the search task facets are computed and added to the search results. Although effectively facets, the context specific nature of these refinements operates differently, adding data to the records that is of interest in one search, for example, 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. Because this technique does not require changing the underlying data, it can be added to existing search systems. Further, by leveraging the context in which a search is being performed, the user experience a more intuitive search experience without additional work.

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

[0029] FIG. 1 illustrates an example of a system 125 for assisted search query, according to an embodiment. The system 125, when in operation, is communicatively coupled to a network 120 and a data store 130. The network 20 permits the system 125 to communicate a user interface and receive user input from a user device, such as a laptop, tablet, smart phone, etc. As illustrated, the user interface is a search interface that includes a top rail 105, a side rail 115, and a results area 1 10. The data store 130 contains records 135, here illustrated as candidate records for possible employees. While the example of a recruiter searching for candidates is used throughout this document, other types of records and searches similar benefit from the systems and techniques discussed herein, [0030] The components of the system 125 are implemented in computer hardware, such as with memory, storage (e.g., tape, platter-based hard drives, etc.), transceivers, search engines, query interfaces, multiplexers, circuits, etc., that may be configured by software for a particular operation. As a convenience, the operations of the system 125 will be described referring to the following components: a query interface, a multiplexer, a search engine, a filter, a classifier, and a user interface module. These components, alone or in various combinations, support assisted search query via assisted creation of search queries, facet expansion, and search result refinement, among other things, as detailed below.

[0031] With respect assisted creation of 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 the multiplexer, the multiplexer accepting several inputs and producing a single output. In response to receiving the user input, the query interface, perhaps as 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, the text field, that users are familiar with and overloading it to allow selection of a work flow without interrupting the user. Thus, the flow-selector includes a set of flow choices selected based on the user input. In an example, the flow choices include identification of a flow and identification of an example result. An illustration of this scenario is given with respect to FIG. 3. Essentially, the type-ahead is extended to not only include likely text completion suggestions, but to group these with the flow selection. In an example, the flows presented in the flow-selector are based on the type-ahead suggestion found. These suggestions may be implemented in any one of a number of ways, such as using query expansion, running a query, and ranking results. In an example, the flows are selected based on flow use by other searchers. In these examples, the type-ahead suggestions ncorporate both the flow and the currently entered data in the input text field.

[0032] The query interface is arranged to receive user selection of a flow choice. In an example, the flow is selected by user selection of a type-ahead option. In this example, the user need no separately identify the flow being selected, but rather selects an option from the flow. This streamlines the user interface and increases overall user satisfaction. In an example, the user selection includes a selection of a second result presented in the flow choice. In this example, the flow may include no additional questions, but may, for example, accept additional input of the original data point. For example, if one wanted to search for job candidates using an example candidate, the initial type-ahead may be that example candidate. However, in such an example based search, the peculiarities of the first example candidate may limit the results to those candidates with those peculiarities. For example, if the example candidate is a software developer that likes kayaking, the machine intelligence that accepts that candidate's data may skew towards including kayaking aficionados. To address this issue, additional candidates may be identified and used for the sample set. To facilitate this exercise, the workflow proceeds to prompt the user to search for additional ideal candidates. Now, with a more robust sample set, the similarities between the example candidates may be gleaned by the searching intelligence and used for a more productive search. An example of this interface is given with respect to FIG. 4.

[0033] In response to user selection of the flow choice, the query interface is arranged to present next-steps flow elements. Here, the work flow is engaged and additional questions may be posed to facilitate building the query. As noted above, these elements prompt or guide the user through query building based on a selected work flow. These next steps may be presented as background text on the text input field. In so doing, the user need not use the mouse or otherwise leave the comfortable text input field to add data to the work flow.

[0034] The query interface then collects user query choices from the next-steps flow elements to populate a query template corresponding to the flow choice of the user. The user query choice collection may be facilitated by the multiplexer, accepting the various input choices from the user and prompting the user interface to pose additional data requests of the user. In an example, the flow choice is at least one of a position, a person, or a posting. These example flow choices are pertinent to, for example, recruitment searches by the user. Here, the flow choices correspond to searching by example using a person as the example or a job posting as an example. Both of these workflows accept data to identify record 135 in the data store 130. Once these records are identified, attributes of the records are extracted and used as parameters to the search engine. The position workflow is a more traditional search in which the user will be prompted to enter specific details about a position, such as location, skills required for the positions, etc. Examples of these user interface elements are illustrated with respect to FIGS. 5 and 6.

[0035] In an example, to collect the user query choices from the next- steps flow elements, the query interface is arranged to replace the user input at the text field with a graphical element in the text field and to move a cursor after the graphical element in the text field. This graphical technique of marking previously made choices in the text field permits the user to be notified of which choices have already been made. In an example, the graphical element takes the form of a pill including at least one of an edit or delete control. Thus, the user may easily remove previous choices or edit them without, for example, having to restart the work flow or otherwise interrupt her general search interaction,

[0036] The search engine is arranged to execute the query template to produce search results. Executing the query template involves extracting the key- value pairs from the query and formatting those to interact with the search engine. Thus, if a position (key) and software manager (value) is extracted, the search may be formulated such as SELECT * FROM RECORDS WHERE position EQUALS "software manager" or the like. This simple example may be modified based on the application programming interface (API) for the search engine. Additional formats to facilitate machine intelligence based search mechanisms may also be employed, such as selecting a particular input neuron, or set of input neurons, based on the key and providing the corresponding value as inputs to these neurons.

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

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

[0039] In an example, the closeness metric used is dependent on an entity type of the entity. For example, the closeness metric and calculation is different than that of position. This permits a flexible approach to a wide variety of data that may be compared. In an example, the entity type is company. Here, the closeness metric is based on frequencies with which searchers visit company objects. That is, the more interested the candidate is in the company, as evidenced by the number of company searches the candidate has made, the number of company profiles or websites visited, etc., the greater the closeness of that candidate to a company entity in the query template. In another example where the entity type is a company, the closeness metric is based on competition between organizations represented by the entities. This competition may be a score gathered from an external source, such as market research, litigation records, or past cross hiring activity (e.g., company A hires talent from company B and vice versa).

[0040] In an example, the entity type is title. Here the closeness metric is based on searcher session occurrence of titles. The use of titles during the same session notes that the searcher may have been looking for something previously but had not yet hit on the right combination of query elements. Thus, including previously searched titles permits an expansion into titles that the user in which the user was already interested. Similarly, in an example, these titles may be given a poor closeness score because the user had already searched them and found them lacking. In an example, the entity type is description. Here the closeness metric is a distance derived from semantic analysis. The particular semantic analysis may be inverse document frequency, word vector

approximations, or the like. These techniques produce a numeric value that may ¬ be used to calculate a distance. Often, a space with a number of dimensions equal to the sample documents is created. Words, phrases, or other parts of speech are plotted along each dimension based on their occurrence or

importance in a given sample. These coordinates, much like those on a map, may- then be compared to arrive at a distance. This distance is an example closeness metric for description entities.

[0041] An example of using the above given a set of ideal candidates may proceed as follows. The multiplexer will accept the set of ideal candidates and generate a search query including skills, titles, companies etc. Then, the query will be submitted to the search engine to get top results. The results of the query generation will be evaluated to suggest different strategies or parameter settings for offline indexing, de-normalization, or other enhancements to the search engine. Techniques which indicate good performance will be selected and deployed in the search engine for subsequent queries. Because search engine performance is often dependent on how the ranking function uses information in search queries, the evaluation method is informed by the ranking function. [0042] An example of training data for the evaluation may include, within a same search session, whether a searcher sends inmail (e.g., a message within a social media service) to a number of results. Here, the results are likely to be good fits for the position the searcher has in mind. Thus, the results are similar to each other and if the searcher uses some of them as a query starter (e.g., ideal candidates search-by-example) for the position, the others are also likely to be relevant results.

[0043] Thus, given a search session, some results are randomly picked that the searcher sends inmail to as ideal candidates. The rest of the results with inmail are considered to be relevant to the ideal candidates. The results without inmail are considered to be non-relevant. Given the data, different parts in the generated queries, such as skills, titles and companies, are evaluated separately. For example, given a set of ideal candidates as above, a set of skills s={sl, s2 ... sk} are extracted. This set is evaluated by computing a reputation score of a relevant result (on average) on these skills: Reputation(R+, S) and reputation score of a non-relevant result on these skills: Reputation(R-, S). In an example, this is the same manner in which the ranking function uses skills in the query to rank results (e.g., using sum of reputation scores of a result on the skills in query as a feature). Thus, if Reputation(R+, S)>Reputation(R-, S), the relevant results will be likely to be ranked higher than non-relevant results. So, this way of evaluation will be in-line with performance of the query on the current search system.

[0044] Similarly, for a set of titles T, the titles may be evaluated by comparing how well they match with current titles in relevant results vs. how they match with current titles in non-relevant results. When a current search ranking function gives a high weight to current title matches, if T matches better with the titles of relevant results than the titles of non-relevant results, query T will perform well.

[0045] To execute the query template, the search engine is also arranged to select the entity based on the closeness metric. As noted above, the closeness metrics provide a measure as to how close candidate entities are to those already apart (e.g., included in) of the query template (for example, already selected by the user). In an example, selecting the entity based on the closeness metric includes the search engine selecting the entity when the closeness metric is beyond a threshold. In this example, entities that are too close to those already part of the query template are avoided. This permits the query template to expand the search to include related, but different, entities. In an example, to select the entity based on the closeness metric, the search engine is arranged to rank entities using respective closeness metrics to create an ordered set and to select entities in order from the ordered set 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 the sorting.

[0046] To execute the query template, the search engine is also arranged to add the entity to the query template. As noted above, adding an entity to the query template changes the systems behavior with respect to additional entities being added, the types of type-ahead values being presented, etc. In this way, the user's previous choices further narrow and enhance the given search.

[0047] In an example, executing the query template happens on a continuous basis. That is, as each new piece of information is gleaned from the user, the search engine produces results that will be displayed in the results area 110. In this manner, the user is treated to an interactive guided search and may stop whenever the results meet her expectations. In an example, to execute the query template, the search engine is to perform a preliminary search based on an element of the query template to produce intermediate results.

[0048] Implementing the system 125 described above solves a number of technical problems related to complex search tools. First, the user is not burdened to memorize or train at length to make use of sophisticated searching. Second, the traditional user interface is not given up for a complex interface involving work flow selections and questionnaires. Rather, an elegant search box is used, its type-ahead overloaded to permit workflow selection, and its already- entered content transformed, in place, to represent previous choices. Thus, the user gains the benefit of a sophisticated workflow engine without having to leave the familiar search interface.

[0049] With respect to facet expansion, the query interface controls the left rail 1 15 after search results are displayed in the search results area 1 10. While this is a typical configuration, it is not required. The query interface is arranged to present a user interface element on a facet selection portion of a search result display including search results. Here, the user interface element is arranged to accept user input of a facet. An example of this interface is presented below in FIG. 8. The user interface element may take the form of an instant add selection below already selected facets, denoted by a pill. The user interface element may also include a type-ahead text area activated by, for example, a "+" element.

[0050] The query interface is arranged to receive partial user input for a facet. This is typically achieved through a type-ahead in which the user begins to enter the desired facet. In an example, the partial user input may be received through an instant add of a facet portion. For example, instead of providing a complete facet for instant addition to the set of selected facets, the instant add may include a partial facet that matches several present entities.

[0051] The filter is arranged to obtain a peer entity to an entity corresponding to the facet (e.g., that was partially or fully selected by the user). In an example, the peer entity is selected based on a search flow that produced the search results. Search flows are directed searches such that, for example, a guided search starting with the name of a position is different than a keyword search or a search-by-example of an ideal candidate. The search flow may suggest which attributes between entities are used for a closeness measurement. For example, when searching for an ideal candidate, attributes corresponding to the person, and not necessarily a job title, may be emphasized. Similarly, for a position search, the qualifications for the position may be emphasized over, for example, the company that offers a given position.

[0052] In an example, the filter is arranged to select the peer entity based on an entity class of the entity. Entity classes, or categories, denote the type of entity rather than the value it contains. Thus, for example, a vehicle record may include a "make" entity with a value that is different than the "make" entity for another vehicle record. As noted above, entities themselves may have more than one attribute. Thus, a job title may also include a qualifications set, a

geographical use field, etc. As noted above, comparing these attributes between entities ultimately lead to the selection of facets as suggestions to the user.

[0053] In an example, the user interface element corresponds to the entity class. Here, facets of a single entity class are displayed together in the facet selection portion by the query interface. This is illustrated in FIG. 8. In an example, the peer entity is selected by the filter based on an entity type of the entity. Thus, if the entity identified by the user's partial facet input is in a first class, the peer group is limited to that entity class,

[0054] In an example, the peer entity has a different entity type than that of the entity. This cross class suggestion provides a powerful enhancement over additional facet systems. That is, rather than limit facet suggestion to a class already engaged in by the user, such as job title, the user prompted to add a facet in a different class, such as location. Although additional searching is not required, the effect is as if an expanded search is performed because the user may not have otherwise connected the facet selection of a first class to the suggestion from the second class. For example, say a user is looking to fill a position with a given job title. The facets present in the results indicate a previous employer that the user in interested in, for example, because other hires from that employer have worked well. The filter obtains the company facet identification and entity corresponding to that facet. The entity includes an education set of institutions of candidates that have been hired. These attributes are compared to education institutions and a ranked set of these institution entities is identified. A predetermined number (e.g., one to five) of these institutions may be presented to the user. The user may select that institution and, even if there are not that many candidates from the company available to hire, end up with a facet filter of likely good candidates.

[0055] In an example, the peer entity is one of a plurality of peer entities presented in the suggestion element. That is, as noted above, the suggestion may include more than one suggestion to the user. In an example, the plurality of peer entities are ordered in the suggestion element. In an example, the order is based on a closeness measure between the entity and the peer entities. Thus, the greater affinity between the already selected entities and the suggestions, the

suggestions are more likely to have a prominent, or any, representation in the suggestion element. In an example, the order is changed based on a previously selected peer facet. Thus, as the user expresses a train of inquiry, the most recently selected facet represents the user's train of thought. Thus, the closeness ordering is not absolute, but rather changed based on what was selected last.

[0056] In an example, to obtain the peer entity, the filter is arranged to search for entities based on an attribute of the entity and score a closeness between the entities. In an example, to score the closeness, the filter is arranged to measure an overlap between attributes of the entity and peer entity. In an example, an equal overlap between the entity and a first peer entity is closer to the entity than a second peer entity when the deviation is greater between the entity and the first peer entity. That is, between three entities, the first two are closer than the first is to the third when the number of attributes between the first and second entities that are equivalent (e.g., equal, synonyms, within a threshold, etc.) are greater in number than the number of attributes that are equivalent between the first and the third entities.

[0057] In an example, the filter is also arranged to measure a deviation between attributes of the entity and peer entity. This deviation measurement provides a ranking mechanism to suggest perhaps unlikely entities. For example, if between three entities, two entities are essentially the same because they have all equivalent attributes, adding a facet for the second entity doesn't improve the search very much because the results should essentially be the same as those of the first entity. However, one would not expect an entity with completely unrelated attributes to be effective either because this entity is more likely to find records that are the opposite of the wishes of the user expressed in previous selections. Thus, given a closeness threshold— that is, entities in the peer groups being at least close enough to each other as determined by a threshold number of attributes in common— those entities that express additional attributes that are different than the already selected entities may bring the greatest value to the user. Thus, once the threshold attribute in common is met, the closeness metric may be increased if the remaining attributes are different.

[0058] The filter is arranged to select the peer entity based on closeness to the entity. Thus, the filter searches for entities like those already indicated by, for example, the search or previously entered partial or complete facets. A closeness score is calculated for these peer entities to the already received user inputs and a subset of peer entities with good closeness scores— a high score may be good in some circumstances and a low score may be good in others; the ultimate selection of high or low is a design choice and not significant to the present system 125— are grouped and delivered to the query interface

[0059] The query interface is arranged to present a peer facet in a suggestion element in the facet selection portion in response to receiving the partial user input. Here, the suggestions discussed above are offered to the user. The user may select a suggestion and further manipulate the search results, offering a more powerful search manipulator than present systems.

[0060] With respect to search result refinement, the classifier is arranged to obtain (e.g., retrieve or receive) search results and to obtain a search context. The search context includes elements particular to the search, such as the user performing the search, an organization for which the search is being performed, a search work flow, etc. These elements may be relevant to the results, but are derived from the particulars of a search rather than attributes of the search results.

[0061] The classifier is arranged to add a context dependent facet set to a search result in the search results. The adding may include modifying a record of the search result but, in most cases, involves recording an association between a particular search result and the facet in the context of the search results that have already been returned. In an example, the adding includes query the facets as calculated in a batch process. In an example, the context includes identification of an entity. In an example, a facet in the context dependent facet set is an affiliation between a result in the search results and the entity. The affiliation may be any measureable interaction between the entity and the search result. Thus, for example if a vehicle record 135 includes a "make" attribute, and that make of vehicle is produced by an entity, there is an affiliation between the entity and the vehicle record 135. This affiliation, when measured, may be added to a context dependent facet set of the record and indexed using the entity.

[0062] In an example, the search result identifies a person. Here, the affiliation is a record of activity by the person with respect to the entity. In an example, the record of activity includes a selection by the person to follow the entity in a social media platform (e.g., service). In an example, the record of activity includes a search for the entity by the person. In an example, the record of activity includes a connection between the person and another person who is at the entity. In an example, the connection is only considered when established in the social media platform under the direction of the person. This is common when, for example, the person elects to follow, subscribe, or otherwise overtly affiliate with the entity. In an example, the record of activity includes a previous application of employment at the entity. [0063] In an example, the context includes a user who performed a search resulting in the search results (e.g., the user). Here, the facet in the context dependent facet set is an action taken by the user with respect to the result in the past. In the example of a recruiter, such action may include such things as communicating with the candidate, recommending that the candidate be hired, 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 may be measured, for example, by comparing the amount of time users generally, or this use in particular spend on a particular profile to general a statistical distribution of observations times. When the particular viewing of a profile, in either time or frequency, i s beyond a threshold (e.g., above the mean, median, one or more standard deviations above the mean, etc.) it is considered significant.

[0064] In an example, the context includes an entity position previously provided as a query parameter to produce the search results. Here, the facet in the context dependent facet set is a time-in-position metric. In an example, the time-in-position metric is a statistical characterization of the result in a group. In an example, the group is the entire search results. In an example, the time-in- position metric is a segment identification. These classifications provide, for example, a view into the stability of a candidate. Thus, a person with a below average, or other statistical measure, of time in previous positions may signify that this candidate is unlikely to stay at a new position. This may also

recommend a candidate as they may be more likely to leave a current employer. By comparing the candidate's activity with respect to positions and other candidates in a similar situation (as governed by the search parameters resulting in the search results), additional insight into the suitability of approaching a candidate may be had.

[0065] The user interface module is arranged to present a user interface of the context dependent facet set in conjunction with displaying the search results. The user interface module may display the search results in the search result area 110, a traditional facet interface in the side rail 1 15 and the user interface in the top rail 105. An examples of the user interface are illustrated in FIGS. 3 through 5B. In an example, the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

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

[0067] The user interface module is arranged to receive a selection of a facet in the context dependent facet set from a user and to filter the search results being displayed, the filtering including search results that meet a measurement of the facet and excluding the remaining search results.

[0068] Facets that are dependent on a search context enhance the current use of facets that are generally derived from the search result records

themselves. Because different searching tasks are likely to benefit from different search sensitive facets, the system 125 provides a better experience to the user, resulting in more effective searching.

[0069] FIG. 2 illustrates the functional components of a social networking service 200, according to an embodiment. The social networking service may be used to host, or implement, the system described above in FIG. 1. A front end module may comprise a user interface module (e.g., a web server) 220, which receives requests from various client-computing devices, and communicates appropriate responses to the requesting client devices. For example, the user interface module(s) 210 may receive requests in the form of Hypertext Tra sport 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). In addition, a user interaction and detection module 220 may be provided to detect various interactions that users (e.g., members) have with different applications, services and content presented. Upon detecting a particular interaction, the user interaction and detection module 220 logs the interaction, including the type of interaction and any meta-data relating to the interaction, in the member activity and behavior database 270. [0070] An application logic layer may include one or more various application server modules 230, which, in conjunction with the user interface module(s) 2 0, generate various graphical user interfaces (e.g., web pages) with data retrieved from various data sources in the data layer. With some embodiments, application server module 230 is used to implement the functionality associated with various applications and/or services provided by the social networking service as discussed above.

[0071] In an example, the application logic layer may include a query interface 240, a multiplexer 241, and a search engine 242. As discussed in FIG. 1, these components facilitate assisted creation of a search query. In an example, the application logic layer may include the query interface 240 and a filter 243. As discussed in FIG. 1 , these components facilitate facet expansion. In an example, the application logic layer may also include a user interface module 244 and a classifier 245. As discussed in FIG. 1 , these components facilitate search result refinement.

[0072] A data layer may include several databases, such as a database

250 for storing profile data, including both member profile data as well as profile data for various organizations (e.g., companies, schools, etc.). Consistent with some embodiments, when a person initially registers to become a member of the social networking service, the person will be prompted to provide some personal information, such as his or her name, age (e.g., birthdate), gender, interests, contact information, home town, address, the names of the member's spouse and/or family members, educational background (e.g., schools, majors, matriculation and/or graduation dates, etc.), employment history, skills, professional organizations, and so on. This information is stored, for example, in the 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 the database 250, or another database (not shown). With some embodiments, the profile data may be processed (e.g., in the background or offline) to generate various derived profile data. For example, if a member has provided information about various job titles the member has held with the same company or different companies, and for how long, this information can be used to infer or derive a member profile attribute indicating the member's overall seniority level, or seniority level within a particular company. With some embodiments, importing or otherwise accessing data from one or more externally hosted data sources may enhance profile data for both members and organizations. For instance, with companies in particular, financial data may be imported from one or more external data sources, and made part of a company's profile.

[0073] Information describing the various associations and relationships, such as connections that the members establish with other members, or with other entities and objects, is stored and maintained within a social graph in the social graph database 260. Also, as members interact with the various applications, services, and content made available via the social networking service, the members' interactions and behavior (e.g., content viewed, links or buttons selected, messages responded to, etc.) may be tracked and information concerning the member's activities and behavior may be logged or stored, for example by the member activity and behavior database 270.

[0074] With some embodiments, the social networking sendee 200 provides an application programming interface (API) module with the user interface module 210 via which applications and services can access various data and services provided or maintained by the social networking service. For example, using an API, an application may be able to request and/or receive one or more navigation recommendations. Such applications may be browser-based applications, or may be operating system-specific. In particular, some applications may reside and execute (at least partially) on one or more mobile devices (e.g., phone, or tablet computing devices) with a mobile operating system. Furthermore, while in many cases the applications or services that leverage the API may be applications and services that are developed and maintained by the entity operating the social networking service, other than data privacy concerns, nothing prevents the API from being provided to the public or to certain third-parties under special arrangements, thereby making the navigation recommendations available to third party applications and semces.

[0075] FIGS. 3-6 illustrate examples of user interface elements for assisted creation of a search query, according to an embodiment. FIG. 3 illustrates a search text field 305 in the top rail illustrated in FIG. 1. Here, the user has entered a partial search in the form of "DEV." The type-ahead element is currently displaying candidate results for "DEV" along with flow choices. For example, the flow choice "SEARCH BY JOB TITLE" 310 is displayed first along with candidate results "DEVELOPER" 312 and "SOFTWARE

ENGINEER " The "SOFTWARE ENGINEER" choice represents an entity closeness based on entity attributes, such as a geographical affinity of terms that stand for the same job.

[0076] The flow choice 315 is a search-by-example flow where a person's profile (e.g., previous candidate) is used to provide query parameters. In the illustrated example, the candidate result 317 for "DEVON SMART" may also include an investigation element 3 19, such as a link, button, or other control such that the user may review the result to ascertain its pertinence to the search.

[0077] The flow choice 320 is another search-by-example flow where a previous job posting is used to provide query parameters. Again, the candidate result 324 includes an investigation element 324 so that the user may review the suggested example.

[0078] As noted above, it is clear from the interface which flow the user is selecting when the user selects a candidate result. Thus, when the user selects "DEVON SMART," for example, the user is also aware that he is selecting the "FIND MORE PEOPLE LIKE" flow 315. FIG. 2 illustrates the result of such a selection. Note that the choice "DEVON SM ART" is transformed in the text field 405 into a pill 407 including a delete ("X") element. As the "FIND MORE PEOPLE LIKE" flow 410 was selected, the type-ahead now only displays candidate results for that flow. The user has entered in additional text, "ROBE," prompting flow specific type-ahead suggestions, such as suggestion 412, again with investigation element 414. This workflow allows the entry or several example records to be used as raw material for search parameters.

[0079] FIG. 5 illustrates a user selection of a position flow. Here, the previous selection of a "DEVELOPER" position is represented as pill 505 in the text field. This flow includes a secondary inquiry as to a location for the position. The prompt in the text field changes and a prompt 510 is written on the text field after the cursor. Typically the prompt 510 is in a muted color, such as grey on white instead of text's normal black on white to further distinguish the nature of the prompt 510 to the user. Candidate location results 515 are displayed in a type-ahead based on the query template to-date (e.g., "DEVELOPER" being selected). These results may include a count 520, giving the user an idea of how adding a location will affect the search results. FIG. 6 illustrates the position flow after the location is selected. Again, the previous selections are represented as pills 505 and 605. The user is then prompted 610 to add skills. Now, the type-ahead includes skill results 615.

[0080] At any time during the entry of the flow choices and user selections, the user may invoke the search, for example, using the magnification icon. Thus, the intuitive nature with which the user is guided also allows the experience searcher to immediately exit the flow when the search results appear to meet the searcher's goals.

[0081] FIG. 7 illustrates an example of a method 700 for assisted creation of a search query, according to an embodiment. The operations of the method 700 are carried out by hardware, such as that described above and below.

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

[0083] At operation 710, a flow-selector is presented in contact with the text input field in response to receiving user input at the text input field. In an example, the flow-selector includes a set of flow choices selected based on the user input. In an example, the flow choices include identification of a flow and identification of an example result.

[0084] At operation 715, user selection of a flow choice is received. In an example, the user selection includes a selection of a second result presented in the flow choice.

[0085] At operation 720, next-steps flow elements are presented in response to the user selection.

[0086] At operation 725, user query choices are collected from the next- steps flow elements to populate a query template corresponding to the flow choice In an example, the flow choice is at least one of a position, a person, or a posting. In an example, collecting user query choices from the next-steps flow elements includes replacing the user input at the text field with a graphical element in the text field and moving a cursor after the graphical element in the text field. [0087] At operation 730, the query template is executed to produce search results. In an example, executing the query template includes performing a preliminary search based on an element of the query template to produce intermediate results.

[0088] Executing the query template also includes extracting an entity from a result in the intermediate results that is not found in the query template. In an example, extracting the entity includes ranking entities by a closeness metric from an entity in the query template. In an example, the closeness metric is based on a statistical position of the entity in a population. In an example, the closeness metric used is dependent on an entity type of the entity. In an example, the entity type is company and the closeness metric is based on frequencies with which searchers visit company objects. In an example, the entity type is company and the closeness metric is based on competition between

organizations represented by the entities. In an example, the entity type is title and the closeness metric is based on searcher session occurrence of titles. In an example, the entity type is description and the closeness metric is a distance derived from semantic analysis.

[0089] Executing the query template al so includes selecting the entity based on the closeness metric. In an example, selecting the entity based on the closeness metric includes selecting the entity when the closeness metric is beyond a threshold.

[0090] In an example, selecting the entity based on the closeness metric includes ranking entities using respective closeness metrics to create an ordered set and selecting entities in order from the ordered set until a predetermined number of entities are selected.

[0091] Executing the query template also includes adding the entity to the query template.

[0092] FIG. 8 illustrates an example of a user interface for facet expansion, according to an embodiment. The top rail 805 and search result area 810 generally correspond to the similarly named elements discussed above in FIG. 1. The generally illustrated side rail includes entity class grouped facet areas 815, 820, 825, 830, 835, and 840. The pill 845 illustrates an already selected facet for "PROJECT MANAGER." The user interface element 850 is an example element that may display a type-ahead element. The type-ahead element includes a text entry as well as a changing list of suggestions based on the partially entered data in the text entry. The instant add area 855 is here displayed for each class.

[0093] As noted above, the facet selection element may take the form of the instant add area 855. Thus, as facets are added, or typed into the type-ahead, the instant add selections will change.

[0094] FIG. 9 illustrates an example of entity comparison for facet expansion, according to an embodiment. The entities FIG. 9 and FIG. 9 include a number of attributes FIG. 9, different entity values FIG. 9 but the same category FIG. 9 (e.g., "JOB TITLE"). The shaded arrows between the entities FIG. 9 and FIG. 9 denote those attribute that are equivalent with the unshaded arrow denotes a different (e.g., not equivalent) attribute. As noted above, the closeness metric may be bettered (e.g., increased) when a threshold similarity is met (here two attributes) and a dissimilarly is present. Thus, in the illustrated example, not only could "SOFTWARE ENGINEER" be offered as a facet suggestion, but a location of "NY, US" as a location facet.

[0095] FIG. 10 illustrates an example of a method 1000 for facet expansion, according to an embodiment. Operations of the method 1000 are preformed using computer hardware, such as processors, memory, or circuitry, as described below with respect to FIG. 15.

[0096] At operation 1005, a user interface element is presented on a facet selection portion of a search result display including search results. Here, the user interface element is arranged to accept user input of a facet.

[0097] At operation 1010, partial user input is received for a facet.

[0098] At operation 1015, a peer entity to an entity corresponding to the facet is obtained. In an example the peer entity is selected based on a search flow that produced the search results,

[0099] In an example the peer entity is selected based on an entity class of the entity. In an example the user interface element corresponds to the entity class. Here, facets of a single entity class are displayed together in the facet selection portion. In an example the peer entity is selected based on an entity type of the entity. In an example the peer entity has a different entity type than that of the entity. [0100] In an example the peer entity is one of a plurality of peer entities presented in the suggestion element. In an example the plurality of peer entities are ordered in the suggestion element. In an example the order is based on a closeness measure between the entity and the peer entities. In an example the order is changed based on a previously selected peer facet.

[0101] In an example, obtaining the peer entity includes searching for entities based on an attribute of the entity and scoring closeness between the entities. In an example scoring the closeness includes measuring an overlap between attributes of the entity and peer entity. In an example an equal overlap between the entity and a first peer entity is closer to the entity than a second peer entity when the deviation is greater between the entity and the first peer entity. In an example scoring the closeness also includes measuring a deviation between attributes of the entity and peer entity as well as selecting the peer entity based on closeness to the entity,

[0102] At operation 1020, a peer facet is presented in a suggestion element in the facet selection portion in response to receiving the partial user input.

[0103] FIGS. 1 1-13B illustrate examples of user interface elements for search result refinement, according to an embodiment. FIG. 11 illustrates an interface 1 100 presented in a search application where search results are displayed in an area 1105 below the context dependent facet set 1110. FIG. 1 1 illustrates a constrained linear area in which facets are displayed with an overflow access element 1 1 15 to allow the user to expand the context dependent facet set. Also illustrated is a graphical marker 1120 indicating which context dependent facet is currently selected. In an example, only one context dependent facet may be selected at a time.

[0104] FIG. 12 illustrates the result of activating the overflow access element 1115. A menu 1205 is presented in which a radio button type selection element 1210 is used to select a corresponding facet. In an example, where multiple facets may be selected, a check box like element may replace the radio button for the select element 1210.

[0105] FIGS. 13A and 13B illustrate the reordering of the search context dependent facets after a facet is selected. Specifically, in FIG. 13 A the facets are given a natural ordering, such as the number of records in the search results that the facet encompasses. The "FOLLOW YOUR COMPANY" facet 1305 is selected, initially in the third position (the first position being here occupied by a total result indicator rather than a facet). After the selection is made, FIG. 13B, the linear ordering of the facets is rearranged such that the selected facet 1305 takes a more prominent position, here being moved to the left-most facet position.

[0106] FIG. 14 illustrates an example of a method 1400 for search result refinement, according to an embodiment. Operations of the method 1400 are preformed using computer hardware, such as processors, memory, or circuitry, as described below with respect to FIG. 15.

[0107] At operation 1405, search results are obtained,

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

[0109] At operation 1415, a context dependent facet set is added to a search result in the search results. In an example the context includes identification of an entity. In an example a facet in the context dependent facet set is an affiliation between a result in the search results and the entity.

[0110] In an example the search result identifies a person. Here, the affiliation is a record of activity by the person with respect to the entity. In an example the record of activity includes a selection by the person to follow the entity in a social media platform. In an example the record of activity includes a search for the entity by the person. In an example the record of activity includes a connection between the person and another person who is at the entity. In an example the connection is established in a social media platform under the direction of the person. In an example the record of activity includes a previous appli cati on of empl oy ment at the entity.

[0111] In an example the context includes a user who performed a search resulting in the search results. Here, a facet in the context dependent facet set is an action taken by the user with respect to the result in the past.

[0112] In an example the context includes an entity position previously provided as a query parameter to produce the search results. Here, a facet in the context dependent facet set is a time-in-position metric. In an example the time- in-position metric is a statistical characterization of the result in a group. In an example the group is the entire search results. In an example the time-in-position metric is a segment identification. [0113] At operation 1420, a user interface of the context dependent facet set is presented in conjunction with displaying the search results. In an example the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

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

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

[01.16] At operation 1430, the search results being displayed are filtered. In an example the filtering includes search results that meet a measurement of the facet and excludes the remaining search results.

[0117] FIG. 15 illustrates a block diagram of an example machine 1 500 upon which any one or more of the techniques (e.g., methodologies) discussed herein may perform. In alternative embodiments, the machine 1500 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 1500 may operate in the capacity of a server machine, a client machine, or both in server-client network environments. In an example, the machine 1500 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environment. The machine 1500 may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential 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 set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a sendee (SaaS), other computer cluster configurations. [0118] Examples, as described herein, may include, or may operate by, logic or a number of components, or mechanisms. Circuitry is a collection of circuits implemented in tangible entities that include hardware (e.g., simple circuits, gates, logic, etc.). Circuitry membership may be flexible over time and underlying hardware variability. Circuitries include members that may, alone or in combination, perform specified operations when operating. In an example, hardware of the circuitry may be immutably designed to carr out a specific operation (e.g., hardwired). In an example, the hardware of the circuitry may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) including a computer readable medium physically modified (e.g., magnetically, electrically, moveable placement of invariant massed particles, etc.) to encode instaictions of the specific operation. In connecting the physical components, the underlying electrical properties of a hardware constituent are changed, for example, from an insulator to a conductor or vice versa. The instructions enable embedded hardware (e.g., the execution units or a loading mechanism) to create members of the circuitry in hardware via the variable connections to cany out portions of the specific operation when in operation. Accordingly, the computer readable medium is communicatively coupled to the other components of the circuitry when the device is operating. In an example, any of the physical components may be used in more than one member of more than one circuitry. For example, under operation, execution units may be used in a first circuit of a first circuitry at one point in time and reused by a second circuit in the first circuitry, or by a third circuit in a second circuitry at a different time.

[0119] Machine (e.g., computer system) 1500 may 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 504 and a static memory 1506, some or all of which may communicate with each other via an interlink (e.g., bus) 1508. The machine 1500 may 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 an example, the display unit 1510, input device 1512 and UI navigation device 1514 may be a touch screen display. The machine 1500 may additionally include a storage device (e.g., 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, compass, accelerometer, or other sensor. The machine 1500 may 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 or control one or more peripheral devices (e.g., a printer, card reader, etc.).

[0120] The storage device 1516 may include a machine readable medium

1522 on which is stored one or more sets of data structures or instructions 1524 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 524 may also reside, completely or at least partially, within the main memon,' 1504, within static memory 1506, or within the hardware processor 1502 during execution thereof by the machine 1500. In an example, one or any combination of the hardware processor 1502, the main memory 1504, the static memory 1506, or the storage device 1516 may constitute machine readable media.

[0121] While the machine readable medium 1522 is illustrated as a single medium, the term "machine readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 1524.

[0122] The term "machine readable medium" may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 1500 and that cause the machine 1500 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non- limiting machine readable medium examples may include solid-state memories, and optical and magnetic media. In an example, a massed machine readable medium comprises a machine readable medium with a plurality of particles having invariant (e.g., rest) mass. Accordingly, massed machine-readable media may be transitory propagating signals. Specific examples of massed machine readable media may include: non-volatile memon,', 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.

[0123] The instructions 1524 may further be transmitted or received over a communications network 1526 using a transmission medium via the network interface device 1520 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electroni cs Engineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16 family of standards known as WiMAX®), IEEE 802.15.4 family of standards, peer-to-peer (P2P) networks, among others. In an example, the network interface device 1520 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 1526. In an example, the network interface device 1 520 may include a plurality of antennas to wirelessly communicate 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" shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine 1500, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software. A transmission medium is one embodiment of a machine readable medium.

Additional Notes & Examples

[0124] Example 1 is a system for assisted creation of a searching 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 flow-selector in proximity to the text input field in response to receiving user input at the text input field, the flow-selector including a set of flow choices selected based on the user input; receive user selection of a flow choice; present next-steps flow elements in response to the user selection; collect user query choices from the next-steps flow elements to populate a query template corresponding to the flow choice; and execute the query template to produce search results.

[0125] In Example 2, the subject matter of Example 1 optionally includes wherein the flow choices include identification of a flow and identification of an example result.

[0126] In Example 3, the subject matter of any one or more of Examples

1-2 optionally include wherein executing the query template includes:

performing a preliminary search based on an element of the query template to produce intermediate results; extracting an entity from a result in the

intermediate results that is not found in the query template; and adding the entity to the query template.

[0127] In Example 4, the subject matter of Example 3 optionally includes wherein extracting the entity includes: ranking entities by a closeness metric from an entity in the query template; and selecting the entity based on the closeness metric.

[0128] In Example 5, the subject matter of Example 4 optionally includes wherein selecting the entity based on the closeness metric includes selecting the entity when the closeness metric is beyond a threshold.

[0129] In Example 6, the subject matter of any one or more of Examples

4-5 optionally include wherein selecting the entity based on the closeness metric includes: ranking entities using respective closeness metrics to create an ordered set; and selecting entities in order from the ordered set until a predetermined number of entities are selected.

[0130] In Example 7, the subject matter of any one or more of Examples

4-6 optionally include wherein the closeness metric used is dependent on an entity type of the entity.

[0131] In Example 8, the subject matter of Example 7 optionally includes wherein the entity type is company, and wherein the closeness metric is based on frequencies with which searchers visit company objects.

[0132] In Example 9, the subject matter of any one or more of Examples

7-8 optionally include wherein the entity type is company, and wherein the closeness metric is based on competition between organizations represented by the entities,

[0133] In Example 10, the subject matter of any one or more of

Examples 7-9 optionally include wherein the entity type is title, and wherein the closeness metric is based on searcher session occurrence of titles.

[0134] In Example 11, the subject matter of any one or more of

Examples 7-10 optionally include wherein the entity type is description, and wherein the closeness metric is a distance derived from semantic analysis.

[0135] In Example 12, the subject matter of any one or more of

Examples 4-11 optionally include wherein the closeness metric is based on a statistical position of the entity in a population.

[0136] In Example 13, the subject matter of any one or more of

Examples 1-12 optionally include wherein collecting user query choices from the next-steps flow elements includes: replacing the user input at the text field with a graphical element in the text field: and moving a cursor after the graphical element in the text field.

[0137] In Example 14, the subject matter of any one or more of

Examples 1-13 optionally include wherein the flow choice is at least one of a position, a person, or a posting.

[0138] In Example 15, the subject matter of any one or more of

Examples 2-14 optionally include wherein the user selection includes a selection of a second result presented in the flow choice.

[0139] Example 16 is a method for assisted creation of a searching query, the method comprising: presenting a text input field on a graphical user interface (GUI), presenting a flow-selector in proximity to the text input field in response to receiving user input at the text input field, the flow-selector including a set of flow choices selected based on the user input; receiving user selection of a flow choice; presenting next-steps flow elements in response to the user selection; collecting user query choices from the next-steps flow elements to populate a query template corresponding to the flow choice; and executing the query template to produce search results.

[0140] In Example 17, the subject matter of Example 16 optionally includes wherein the flow choices include identification of a flow and identification of an example result. [0141] In Example 18, the subject matter of any one or more of

Examples 16-17 optionally include wherein executing the query template includes: performing a preliminary search based on an element of the query template to produce intermediate results; extracting an entity from a result in the intermediate results that is not found in the query template; and adding the entity to the query template.

[0142] In Example 19, the subject matter of Example 18 optionally includes wherein extracting the entity includes: ranking entities by a closeness metric from an entity in the query template; and selecting the entity based on the closeness metric.

[0143] In Example 20, the subject matter of Example 19 optionally includes wherein selecting the entity based on the closeness metric includes selecting the entity when the closeness metric is beyond a threshold.

[0144] In Example 21 , the subject matter of any one or more of

Examples 19-20 optionally include wherein selecting the entity based on the closeness metric includes: ranking entities using respective closeness metrics to create an ordered set; and selecting entities in order from the ordered set until a predetermined number of entities are selected.

[0145] In Example 22, the subject matter of any one or more of

Examples 19-21 optionally include wherein the closeness metric used is dependent on an entity type of the entity.

[0146] In Example 23, the subject matter of Example 22 optionally includes wherein the entity type is company, and wherein the closeness metric is based on frequencies with which searchers visit company objects.

[0147] In Example 24, the subject matter of any one or more of

Examples 22-23 optionally include wherein the entity type is company, and wherein the closeness metric is based on competition between organizations represented by the entities.

[0148] In Example 25, the subject matter of any one or more of

Examples 22-24 optionally include wherein the entity type is title, and wherein the closeness metric is based on searcher session occurrence of titles.

[0149] In Example 26, the subject matter of any one or more of

Examples 22-25 optionally include wherein the entity type is description, and wherein the closeness metric is a distance derived from semantic analysis. [0150] In Example 27, the subject matter of any one or more of

Examples 19-26 optionally include wherein the closeness metric is based on a statistical position of the entity in a population.

[0151] In Example 28, the subject matter of any one or more of

Examples 16-27 optionally include wherein collecting user query choices from the next-steps flow elements includes: replacing the user input at the text field with a graphical element in the text field; and moving a cursor after the graphical element in the text field.

[0152] In Example 29, the subject matter of any one or more of

Examples 16-28 optionally include wherein the flow choice is at least one of a position, a person, or a posting.

[0153] In Example 30, the subject matter of any one or more of

Examples 17-29 optionally include wherein the user selection includes a selection of a second result presented in the flow choice,

[0154] Example 31 is a machine readable medium including instructions that, when executed by a machine, cause the machine to perform operations comprising: presenting a text input field on a graphical user interface (GUI); presenting a flow-selector in proximity to the text input field in response to receiving user input at the text input field, the flow-selector including a set of flow choices selected based on the user input, receiving user selection of a flow choice; presenting next-steps flow elements in response to the user selection; collecting user query choices from the next-steps flow elements to populate a query template corresponding to the flow choice, and executing the query template to produce search results.

[0155] In Example 32, the subject matter of Example 31 optionally includes wherein the flow choices include identification of a flow and identification of an example result.

[0156] In Example 33, the subject matter of any one or more of

Examples 31-32 optionally include wherein executing the query template includes: performing a preliminary search based on an element of the query template to produce intermediate results; extracting an entity from a result in the intermediate results that is not found in the query template; and adding the entity to the query template. [0157] In Example 34, the subject matter of Example 33 optionally includes wherein extracting the entity includes: ranking entities by a closeness metric from an entity in the query template; and selecting the entity based on the closeness metric.

[0158] In Example 35, the subject matter of Example 34 optionally includes wherein selecting the entity based on the closeness metric includes selecting the entity when the closeness metric is beyond a threshold.

[0159] In Example 36, the subject matter of any one or more of

Examples 34-35 optionally include wherein selecting the entity based on the closeness metric includes: ranking entities using respective closeness metrics to create an ordered set, and selecting entities in order from the ordered set until a predetermined number of entities are selected.

[0160] In Example 37, the subject matter of any one or more of

Examples 34-36 optionally include wherein the closeness metric used is dependent on an entity type of the entity.

[0161] In Example 38, the subject matter of Example 37 optionally includes wherein the entity type is company, and wherein the closeness metric is based on frequencies with which searchers visit company objects.

[0162] In Example 39, the subject matter of any one or more of

Examples 37-38 optionally include wherein the entity type is company, and wherein the closeness metric is based on competition between organizations represented by the entities.

[0163] In Example 40, the subject matter of any one or more of

Examples 37-39 optionally include wherein the entity type is title, and wherein the closeness metric is based on searcher session occurrence of titles.

[0164] In Example 41, the subject matter of any one or more of

Examples 37-40 optionally include wherein the entity type is description, and wherein the closeness metric is a distance derived from semantic analysis.

[0165] In Example 42, the subject matter of any one or more of

Examples 34-41 optionally include wherein the closeness metric is based on a statistical position of the entity in a population.

[0166] In Example 43, the subject matter of any one or more of

Examples 31-42 optionally include wherein collecting user query choices from the next-steps flow elements includes: replacing the user input at the text field with a graphical element in the text field; and moving a cursor after the graphical element in the text field.

[0167] In Example 44, the subject matter of any one or more of

Examples 31-43 optionally include wherein the flow choice is at least one of a position, a person, or a posting.

[0168] In Example 45, the subject matter of any one or more of

Examples 32-44 optionally include wherein the user selection includes a selection of a second result presented in the flow choice.

[0169] Example 46 is a method comprising: presenting a contextual menu as a user enters a search query, the contextual menu including search-flow options initialized to a portion 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-flow option, the graphical element summarizing the portion of the query- entered; modifying an entry area for the search query with a prompt for additional query terms that are determined by the search-flow option selected; and executing a complete search query using the portion of the query and the additional query terms, the complete search query organization defined by the search-flow option selected by the user,

[0170] In Example 47, the subject matter of Example 46 optionally includes wherein the search-flow option is search by job title.

[0171] In Example 48, the subject matter of any one or more of

Examples 46-47 optionally include wherein the search-flow option is search by candidate example,

[0172] In Example 49, the subject matter of any one or more of

Examples 46-48 optionally include wherein the search-flow option is search by job post example,

[0173] In Example 50, the subject matter of any one or more of

Examples 46-49 optionally include wherein the graphical element is a pill with text summarizing the potion of the query entered.

[0174] In Example 51, the subject matter of Example 50 optionally includes wherein a text entry area accepts the search query, and wherein the pill is placed in the text entry area.

[0175] Example 52 is a system comprising: a query interface to present a contextual menu as a user enters a search query, the contextual menu including search-flow options initialized to a portion of the query entered by the user; a multiplexer to repl ace the portion of the query with a graphical element in response to a user selection of a search-flow option, the graphical element summarizing the portion of the query entered; wherein the query interface is to modify an entry area for the search query with a prompt for additional query- terms that are determined by the search-flow option selected; and a query engine to execute a complete search query using the portion of the query and the additional query terms, the complete search query organization defined by the search-flow option selected by the user,

[0176] In Example 53, the subject matter of Example 52 optionally includes wherein the search-flow option is search by job title.

[0177] In Example 54, the subject matter of any one or more of

Examples 52-53 optionally include wherein the search-flow option is search by- candidate example,

[0178] In Example 55, the subject matter of any one or more of

Examples 52-54 optionally- include wherein the search-flow option is search by job post example.

[0179] In Example 56, the subject matter of any one or more of

Examples 52-55 optionally include wherein the graphical element is a pill with text summarizing the potion of the query entered.

[0180] In Example 57, the subject matter of Example 56 optionally includes wherein the pill is placed in the entry area.

[0181] Example 58 is a system for facet expansion, the system comprising: a processor; and a memory including instructions that, when executed by the processor, cause the processor to: present a user interface element on a facet selection portion of a search result display including search results, the user interface element arranged to accept user input of a facet;

receive partial user input for a facet; obtain a peer entity to an entity

corresponding to the facet; present a peer facet in a suggestion element in the facet selection portion in response to receiving the partial user input.

[0182] In Example 59, the subject matter of Example 58 optionally includes wherein the peer entity is selected based on a search flow that produced the search results. [0183] In Example 60, the subject matter of any one or more of

Examples 58-59 optionally include wherein the peer entity is selected based on an entity class of the entity,

[0184] In Example 61, the subject matter of Example 60 optionally includes wherein the user interface element corresponds to the entity class, facets of a single entity class being displayed together in the facet selection portion.

[0185] In Example 62, the subject matter of any one or more of

Examples 60-61 optionally include wherein the peer entity is selected based on an entity type of the entity,

[0186] In Example 63, the subject matter of Example 62 optionally includes wherein the peer entity has a different entity type than that of the entity,

[0187] In Example 64, the subject matter of any one or more of

Examples 58-63 optionally include wherein the peer entity is one of a plurality of peer entities presented in the suggestion element.

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

[0189] In Example 66, the subject matter of Example 65 optionally includes wherein the order is based on a closeness measure between the entity and the peer entities,

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

[0191] In Example 68, the subject matter of any one or more of

Examples 58-67 optionally include wherein to obtain the peer entity includes the processor to: search for entities based on an attribute of the entity; score closeness between the entities: and select the peer entity based on closeness to the entity,

[0192] In Example 69, the subject matter of Example 68 optionally includes wherein to score the closeness includes the processor to: measure an overlap between attributes of the entity and peer entity; and measure a deviation between attributes of the entity and peer entity.

[0193] In Example 70, the subject matter of Example 69 optionally includes wherein an equal overlap between the entity and a first peer entity is closer to the entity than a second peer entity when the deviation is greater between the entity and the first peer entity.

[0194] Example 71 is a method for facet expansion, the method comprising: presenting a user interface element on a facet selection portion of a search result display including search results, the user interface element arranged to accept user input of a facet; receiving partial user input for a facet; obtaining a peer entity to an entity corresponding to the facet; presenting a peer facet in a suggestion element in the facet selection portion in response to receiving the partial user input.

[0195] In Example 72, the subject matter of Example 71 optionally includes wherein the peer entity is selected based on a search flow that produced the search results.

[0196] In Example 73, the subject matter of any one or more of

Examples 71-72 optionally include wherein the peer entity is selected based on an entity class of the entity.

[0197] In Example 74, the subject matter of Example 73 optionally includes wherein the user interface element corresponds to the entity class, facets of a single entity class being displayed together in the facet selection portion. |Ό1981 In Example 75, the subject matter of any one or more of

Examples 73-74 optionally include wherein the peer entity is selected based on an entity type of the entity.

[0199] In Example 76, the subject matter of Example 75 optionally includes wherein the peer entity has a different entity type than that of the entity.

[0200] In Example 77, the subject matter of any one or more of

Examples 71-76 optionally include wherein the peer entity is one of a plurality of peer entities presented in the suggestion element.

[0201] In Example 78, the subject matter of Example 77 optionally includes wherein the plurality of peer entities are ordered in the suggestion element.

[0202] In Example 79, the subject matter of Example 78 optionally includes wherein the order is based on a closeness measure between the entity and the peer entities.

[0203] In Example 80, the subject matter of Example 79 optionally includes wherein the order is changed based on a previously selected peer facet. [0204] In Example 81 , the subject matter of any one or more of

Examples 71-80 optionally include wherein obtaining the peer entity includes: searching for entities based on an attribute of the entity, scoring closeness between the entities: and selecting the peer entity based on closeness to the entity.

[0205] In Example 82, the subject matter of Example 81 optionally includes wherein scoring the closeness includes; measuring an overlap between attributes of the entity and peer entity; and measuring a deviation between attributes of the entity and peer entity,

[0206] In Example 83, the subject matter of Example 82 optionally includes wherein an equal overlap between the entity and a first peer entity is closer to the entity than a second peer entity when the deviation is greater between the entity and the first peer entity.

[0207] lixample 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 arranged to accept user input of a facet; receive partial user input for a facet; obtain a peer entity to an entity corresponding to the facet; present a peer facet in a suggestion element in the facet selection portion in response to receiving the partial user input.

[0208] In Example 85, the subject matter of Example 84 optionally includes wherein the peer entity is selected based on a search flow that produced the search results.

[0209] In Example 86, the subject matter of any one or more of

Examples 84-85 optionally include wherein the peer entity is selected based on an entity class of the entity.

[0210] In Example 87, the subject matter of Example 86 optionally includes wherein the user interface element corresponds to the entity class, facets of a single entity class being displayed together in the facet selection portion.

[0211] In Example 88, the subject matter of any one or more of

Examples 86-87 optionally include wherein the peer entity is selected based on an entity type of the entity.

[0212] In Example 89, the subject matter of Example 88 optionally includes wherein the peer entity has a different entity type than that of the entity. [0213j In Example 90, the subject matter of any one or more of

Examples 84-89 optionally include wherein the peer entity is one of a plurality of peer entities presented in the suggestion element.

[0214] In Example 91, the subject matter of Example 90 optionally includes wherein the plurality of peer entities are ordered in the suggestion element.

[0215] In Example 92, the subject matter of Example 91 optionally includes wherein the order is based on a closeness measure between the entity and the peer entities.

[0216] In Example 93, the subject matter of Example 92 optionally includes wherein the order is changed based on a previously selected peer facet,

[0217] In Example 94, the subject matter of any one or more of

Examples 84-93 optionally include wherein to obtain the peer entity includes the machine to; search for entities based on an attri bute of the entity; score closeness between the entities; and select the peer entity based on closeness to the entity.

[0218] In Example 95, the subject matter of Example 94 optionally includes wherein to score the closeness includes the machine to: measure an overlap between attributes of the entity and peer entity; and measure a deviation between attributes of the entity and peer entity.

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

[0220] Example 97 is a method comprising: present 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, a graphical element for each facet including a graphical element representing the facet and a recommendation for an additional facet; receiving a user entry modifying the facets; and adjusting the search results based on the modified facets.

[0221] In Example 98, the subject matter of Example 97 optionally includes wherein facets in the filter area are grouped by categories.

[02221 In Example 99, the subject matter of Example 98 optionally includes wherein the recommendation for an additional facet is constrained to the category of the individual facet. [0223] In Example 100, the subject matter of any one or more of

Examples 97-99 optionally include wherein modifying the facets includes at least on of removing a facet, changing the value of a facet, or adding a facet.

[0224] In Example 101, the subject matter of any one or more of Examples 97-100 optionally include wherein adjusting the search results includes removing search results that do not match an added facet.

[0225] In Example 102, the subject matter of any one or more of

Examples 97-101 optionally include wherein adjusting the search results includes running a second search to produce new search results based on the modified facets.

[0226] Example 103 is a system comprising: a user interface module to: present search results on an area of a display; and place a filter area on the display, the filter area including a plurality of facets of the search results, a graphical element for each facet including a graphical element representing the facet and a recommendation for an additional facet: and a filter module to: receive a user entry modifying the facets, and adjust the search results based on the modified facets.

[0227] In Example 104, the subject matter of Example 103 optionally includes wherein facets in the filter area are grouped by categories.

[0228] In Example 105, the subject matter of Example 104 optionally includes wherein the recommendation for an additional facet is constrained to the category of the individual facet.

[0229] In Example 106, the subject matter of any one or more of

Examples 103-105 optionally include wherein modifying the facets includes at least on of removing a facet, changing the value of a facet, or adding a facet.

[0230] In Example 107, the subject matter of any one or more of

Examples 103-106 optionally include wherein to adjust the search results includes the filter module to remove search results that do not match an added facet,

[0231] In Example 108, the subject matter of any one or more of

Examples 103-107 optionally include wherein to adjust the search results includes a query engine to run a second search to produce new search results based on the modified facets. [0232] Example 109 is 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 search results; obtain a search context; add a context dependent facet set to a search result in the search results; present a user interface of the context dependent facet set in conjunction with displaying the search results; receive a selection of a facet in the context dependent facet set from a user; and filter the search results being displayed, the filtering including search results that meet a measurement of the facet and excluding the remaining search results.

[0233] In Example 1 10, the subject matter of Example 109 optionally includes wherein the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

[0234] In Example 1 1 1 , the subject matter of Example 1 10 optionally includes wherein the user interface displays members of the context dependent facet set in a linear element.

[0235] In Example 112, the subject matter of Example 111 optionally includes wherein the members of the context dependent facet set that are displayed in an order initially established by a value of each facet.

[0236] In Example 1 13, the subject matter of Example 1 12 optionally includes wherein the value is the count of the search results.

[0237] In Example 1 14, the subject matter of any one or more of

Examples 1 12-113 optionally include wherein the instructions further cause the processor to reorder the order to place the facet at an end of the linear element.

[0238] In Example 115, the subject matter of any one or more of

Examples 109-114 optionally include wherein the context includes identification of an entity.

[0239] In Example 1 16, the subject matter of Example 1 15 optionally includes wherein a facet in the context dependent facet set is an affiliation between a result in the search results and the entity.

[0240] In Example 1 17, the subject matter of Example 1 16 optionally includes wherein the search result identifies a person, and wherein the affiliation is a record of activity by the person with respect to the entity. [0241] In Example 1 18, the subject matter of Example 1 17 optionally includes wherein the record of activity includes a selecti on by the person to follow the entity in a social media platform.

[0242] In Example 1 19, the subject matter of any one or more of Examples 1 17-1 18 optionally include wherein the record of activity includes a search for the entity by the person.

[0243] In Example 120, the subject matter of any one or more of

Examples 1 17-1 19 optionally include wherein the record of activity includes a connection between the person and another person who is at the entity, the connection established in a social media platform under the direction of the person.

[0244] In Example 121, the subject matter of any one or more of

Examples 1 17-120 optionally include wherein the record of activity includes a previous application of employment at the entity .

[0245] In Example 122, the subject matter of any one or more of

Examples 109-121 optionally include wherein the context includes a user who performed a search resulting in the search results, and wherein a facet in the context dependent facet set is an action taken by the user with respect to the result in the past.

[0246] In Example 123, the subject matter of any one or more of

Examples 109- 122 optionally include wherein the context includes an entity position previously provided as a query parameter to produce the search results, and wherein a facet in the context dependent facet set i s a time-in-position metric.

[0247] In Example 124, the subject matter of Example 123 optionally includes wherein the time-in-position metric is a statistical characterization of the result in a group.

[0248 j In Example 125, the subject matter of Example 124 optionally includes wherein the group is the entire search results.

[0249] In Example 126, the subject matter of any one or more of

Examples 124-125 optionally include wherein the time-in-position metric is a segment identification.

[0250] Example 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 a search result in the search results; presenting a user interface of the context dependent facet set in conjunction with displaying the search results; receiving a selection of a facet in the context dependent facet set from a user; and filtering the search results being displayed, the filtering including search results that meet a measurement of the facet and excluding the remaining search results.

[0251 j In Example 128, the subject matter of Example 127 optionally includes wherein the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

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

[0253] In Example 130, the subject matter of Example 129 optionally includes wherein the members of the context dependent facet set that are displayed in an order initially established by a value of each facet.

[0254] In Example 131, the subject matter of Example 130 optionally includes wherein the value is the count of the search results.

[0255] In Example 132, the subject matter of any one or more of Examples 130-131 optionally include reordering the order to place the facet at an end of the linear element.

[0256] In Example 133, the subject matter of any one or more of

Examples 127-132 optionally include wherein the context includes identification of an entity.

[0257] In Example 134, the subject matter of Example 133 optionally includes wherein a facet in the context dependent facet set is an affiliation between a result in the search results and the entity.

[0258] In Example 135, the subject matter of Example 134 optionally includes wherein the search result identifies a person, and wherein the affiliation is a record of activity by the person with respect to the entity.

[0259] In Example 136, the subject matter of Example 135 optionally includes wherein the record of activity includes a selection by the person to follow the entity in a social media platform. [0260] In Example 137, the subject matter of any one or more of

Examples 135-136 optionally include wherein the record of activity includes a search for the entity by the person.

[0261] In Example 138, the subject matter of any one or more of Examples 135-137 optionally include wherein the record of activity includes a connection between the person and another person who is at the entity, the connection established in a social media platform under the direction of the person.

[0262] In Example 139, the subject matter of any one or more of Examples 135-138 optionally include wherein the record of activity includes a previous application of employment at the entity.

[0263] In Example 140, the subject matter of any one or more of

Examples 127-139 optionally include wherein the context includes a user who performed a search resulting in the search results, and wherein a facet in the context dependent facet set is an action taken by the user with respect to the result in the past,

[0264] In Example 141, the subject matter of any one or more of

Examples 127-140 optionally include wherein the context includes an entity position previously provided as a query parameter to produce the search results, and wherein a facet in the context dependent facet set is a time-in-position metric.

[0265] In Example 142, the subject matter of Example 141 optionally includes wherein the time-in-position metric is a statistical characterization of the result in a group.

[0266] In Example 143, the subject matter of Example 142 optionally includes wherein the group is the entire search results.

[0267] In Example 144, the subject matter of any one or more of

Examples 142-143 optionally include wherein the time-in-position metric is a segm ent i den tifi cati on .

[0268] Example 145 is a machine readable medium including instructions that, when executed by the machine, cause the machine to: obtain search results; obtain a search context; add a context dependent facet set to a search result in the search results; present a user interface of the context dependent facet set in conjunction with displaying the search results; receive a selection of a facet in the context dependent facet set from a user; and filter the search results being displayed, the filtering including search results that meet a measurement of the facet and excluding the remaining search results,

[0269] In Example 146, the subject matter of Example 145 optionally includes wherein the user interface of the context dependent facet set includes, for each facet in the context dependent facet set, a label for the facet and a count of the search results to which the facet applied.

[0270] In Example 147, the subject matter of Example 146 optionally includes wherein the user interface displays members of the context dependent facet set in a linear element.

[0271] In Example 148, the subject matter of Example 147 optionally includes wherein the members of the context dependent facet set that are displayed in an order initially established by a value of each facet.

[0272] In Example 149, the subject matter of Example 148 optionally includes wherein the value is the count of the search results.

[0273] In Example 150, the subject matter of any one or more of

Examples 148- 149 optionally include wherein the instructions further cause the processor to reorder the order to place the facet at an end of the linear element.

[0274] In Example 151, the subject matter of any one or more of Examples 145-150 optionally include wherein the context includes identification of an entity.

[0275] In Example 152, the subject matter of Example 151 optionally includes wherein a facet in the context dependent facet set is an affiliation between a result in the search results and the entity.

[0276] In Example 153, the subject matter of Example 152 optionally includes wherein the search result identifies a person, and wherein the affiliation is a record of activity by the person with respect to the entity,

[0277] In Example 154, the subject matter of Example 153 optionally includes wherein the record of activity includes a selection by the person to follow the entity in a social media platform.

[0278] In Example 155, the subject matter of any one or more of

Examples 153 -154 optionally include wherein the record of activity includes a search for the entity by the person. [0279] In Example 156, the subject matter of any one or more of

Examples 153-155 optionally include wherein the record of activity includes a connection between the person and another person who is at the entity, the connection established in a social media platform under the direction of the person,

[0280] In Example 157, the subject matter of any one or more of

Examples 153-156 optionally include wherein the record of activity includes a previous application of employment at the entity.

[0281] In Example 158, the subject matter of any one or more of Examples 145-157 optionally include wherein the context includes a user who performed a search resulting in the search results, and wherein a facet in the context dependent facet set is an action taken by the user with respect to the result in the past.

[0282] In Example 159, the subject matter of any one or more of Examples 145-158 optionally include wherein the context includes an entity position previously provided as a query parameter to produce the search results, and wherein a facet in the context dependent facet set is a time-in-position metric.

[0283] In Example 160, the subject matter of Example 159 optionally includes wherein the time-in-position metric is a statistical characterization of the result in a group.

[0284] In Example 161, the subject matter of Example 160 optionally includes wherein the group is the entire search results.

[0285] In Example 162, the subject matter of any one or more of Examples 160-161 optionally include wherein the time-in-position metric is a segment identification.

[0286] Example 163 is a method comprising; categorizing search result entities; presenting a subset of the categories along with the search results in a display; receiving a user entry selecting a category, and filtering the search results in response to the category selection.

[0287] In Example 164, the subject matter of Example 163 optionally includes wherein the subset of categories are ordered. [0288] In Example 165, the subject matter of Example 164 optionally includes wherein the order of the categories is determined by effectiveness for an identified search.

[0289] In Example 166, the subject matter of any one or more of

Examples 163-165 optionally include wherein the search result entities represent people who are job candidates.

[0290] In Example 167, the subject matter of Example 166 optionally includes wherein the categories include at least one of connections to a target company, follow the target company, are past applicants to the target company, have previous interactions with a recruiter, or works at a similar company to a target company.

[0291] In Example 168, the subject matter of any one or more of

Examples 163-167 optionally include wherein category selection is limited to a single category at a time.

[0292] Example 169 is a system comprising: a classifier to categorize search result entities; and a user interface to: present a subset of the categories along with the search results in a display; receiving a user entry selecting a category; and filtering the search results in response to the category selection. |Ό2931 In Example 170, the subject matter of Example 169 optionally includes wherein the subset of categories are ordered.

[0294] In Example 171, the subject matter of Example 170 optionally includes wherein the order of the categories is determined by effectiveness for an identified search.

[0295] In Example 172, the subject matter of any one or more of

Examples 169-171 optionall include wherein the search result entities represent people who are job candidates.

[0296] In Example 173, the subject matter of Example 172 optionally includes wherein the categories include at least one of connections to a target company, follow the target company, are past applicants to the target company, have previous interactions with a recruiter, or works at a similar company to a target company,

[02971 In Example 174, the subject matter of any one or more of

Examples 169-173 optionally include wherein category selection is limited to a single category at a time. [0298] The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that may be practiced. These embodiments are also referred to herein as "examples." Such examples may include elements in addition to those shown or described.

However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.

[0299] Ail publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) should be considered supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.

[0300] In this document, the terms "a" or "an" are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of "at least one" or "one or more." In this document, the term "or" is used to refer to a nonexclusive or, such that "A or B" includes "A but not B," "B but not A," and "A and B," unless otherwise indicated. In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein." Also, in the following claims, the terms "including" and "comprising" are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fail 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 numerical requirements on their objects,

[0301] The above description is intended to be illustrative, and 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, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is to allow the reader to quickly ascertain the nature of the technical disclosure and is submitted with the understanding that it wil l not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than ail 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 the embodiments should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.