Patent Publication Number: US-2022222249-A1

Title: Enhancing search results with social labels

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application is a continuation of application Ser. No. 14/064,393, filed Oct. 28, 2013, which application is incorporated herein by reference in its entirety. 
    
    
     TECHNICAL FIELD 
     Aspects of the disclosure are related to computing hardware and software technology, and in particular to search technology and enhanced search services. 
     TECHNICAL BACKGROUND 
     Information search services have become ubiquitous in the modern information technology landscape. Through these services, users are able to access a large volume of information in many different ways, ranging from performing general Internet searches to more individual searches of their desktop, mailbox, photos, documents, or other personal information. Users can engage with such services using desktop and laptop computers, tablets, smart phones, gaming devices, or any of a variety of other suitable appliances. 
     A wide variety of algorithms are employed to find search results that are relevant to a query. The search results are usually ranked in some order related to their relevance to a query. However, why a particular search result is ranked as it is, may not always be apparent to a user. Moreover, as the volume and variety of searchable information expands, it has become increasingly important that search results be presented in a more useful way. Some search services have addressed this concern by accentuating their results and rankings with other information, of which a user&#39;s social graph is a prominent example. 
     A social graph is a data structure that includes information representative of a set of people and their social connections. Social graphs generally include nodes representative of people and edges representative of the connections between them. Other types of nodes can be represented in a social graph, such as documents, projects, and web pages. When a search of a data repository is performed, the search results can be accentuated by taking into account a user&#39;s social graph. 
     In a brief illustration, a user may perform a search of a document repository that returns a set of documents related to a topic. The search results can be accentuated by searching the user&#39;s social graph for experts associated with the topic and returning relevant contacts along with the relevant documents for presentation to the user. 
     In another illustration, a user may perform a web search for a given topic. The search results can be accentuated by showing related endorsements by others in the user&#39;s social network. For instance, the user may search for a particular type of restaurant, in response to which a list of restaurants or links to their sites are returned, along with an indication of who in the user&#39;s social network “liked” each of the restaurants. 
     Overview 
     Provided herein are systems, methods, and software for facilitating enhanced search services. In an implementation, an enhanced search service receives a search query associated with a user and responsively identifies documents relevant to the search query. The enhanced search service also identifies a social label for each of the documents that is at least partly representative of how the document relates socially to the user. In some implementations, the social label for each document may be selected from a set of candidate labels based on an evaluation of each of the candidate labels. The enhanced search service replies to the search query with search results indicative of at least the documents and the social label for each of the documents. 
     This Overview is provided to introduce a selection of concepts in a simplified form that are further described below in the Technical Disclosure. It should be understood that this Overview is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Many aspects of the disclosure can be better understood with reference to the following drawings. While several implementations are described in connection with these drawings, the disclosure is not limited to the implementations disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents. 
         FIG. 1  illustrates a visualization of enhanced search results returned by an enhanced search service in an implementation. 
         FIG. 2  illustrates an operational scenario involving an enhanced search service in an implementation. 
         FIG. 3  illustrates a social label process employed by an enhanced search service in an implementation. 
         FIG. 4  illustrates an operational scenario in an implementation. 
         FIG. 5  illustrates a social label process employed by an enhanced search service in an implementation. 
         FIG. 6  illustrates a visualization of relationships in an implementation. 
         FIG. 7  illustrates candidate labels and a social label in an implementation. 
         FIG. 8  illustrates a search environment in an implementation. 
         FIG. 9  illustrates a computing system in an implementation. 
     
    
    
     TECHNICAL DISCLOSURE 
     Implementations disclosed herein are directed to social labeling for search results that describes at least one way in which each result is related to a user. In one implementation, such social labeling is supported by an enhanced search service that receives a search query associated with a user. The enhanced search service identifies a set of documents or other types of content in response to the search query. For each document of the set of documents, the enhanced search service identifies a social label that is representative of how the document relates socially to the user. Search results can then be returned to the source of the search that are indicative of the set of documents and the social label for each document. 
     In a brief illustration, a user may engage in a search by way of any of a variety of search sources. A search query is communicated to an enhanced search service, in response to which the service performs a search of a data repository to identify relevant results, such as a set of documents, web pages, contacts, emails, conversations, meeting invites, or other suitable items. 
     In addition, the enhanced search service identifies a social label for each item that may express how the item is related to the user. For instance, the social label for any given item may indicate how the user relates to the item. In some scenarios, the relationship between an item and the user is expressed by the social label in terms of another user or users associated with the user. As an example, a social label associated with a document in a set of results may identify a user that recently viewed, modified, or presented the document. 
     In some implementations, the social label for each item may be selected from a set of potential candidate labels. Selecting the social label from the candidate labels may involve identifying the relationships between the item and users related to the user, such as those in the user&#39;s social network, work colleagues, team members, or by some other association. For instance, for a given document, web page, photo, contact, or other item, the enhanced search service analyzes which users have viewed, modified, presented, or otherwise interacted with the item. 
     Each relationship that is discovered for an item in the search results is then compared to the candidate labels to identify which of the candidate labels relates to, or represents the relationship. It is thus possible for multiple relationships to exist that describe how a given item relates to a user. This may be the case when, for example, multiple other users have interacted with a document or other item, when an individual user has interacted in multiple ways with a given item, or for some other reasons. 
     Each of the candidate labels can be evaluated based on the relationship or relationships associated therewith to identify which of the candidate labels to use as the social label for a given item. For instance, each candidate label may be scored based on at least a representative trait that is shared in common by each of the candidate labels. The trait may be derived at least in part from a characteristic of each of those of the relationships that relate to each of the candidate labels. Examples of the trait include, but are not limited to, a freshness of each of the candidate labels or a popularity of each of the candidate labels. In still other examples, the strength of a relationship may be considered when evaluating each of the candidate labels. The strength of the relationship may in some situations pertain to how strong the social link is between a person involved in a relationship and the person on behalf of whom a search is being performed. For instance, one candidate label representative how one&#39;s boss relates to a document may be chosen as the social label for the document over another candidate label representative of how one&#39;s peer or direct report relates to the document. In another scenario, one candidate label representative how one&#39;s sibling relates to a document may be chosen as the social label for the document over another candidate label representative of how one&#39;s cousin or neighbor relates to the document. 
     In some implementations, a graph may be queried to identify the relationships between an item, such as a document, and various users. The graph may include nodes representative of documents and possibly other types of items, as well as nodes representative of various users. Edges in the graph may be representative of actions taken by the users with respect to the documents and other items. The relationships considered when selecting the social label for a given result may be representative of the actions taken with respect to each individual document or other items. Thus, relationships between users and search results can be determined by analyzing the nature of the edges connecting search results in the graph to specific users. Examples of possible actions include, but are not limited to, presenting, sharing, creating, modifying, commenting on, viewing, following, and liking a document that is included in a set of search results. 
     The candidate labels in some scenarios correspond to the various possible actions performed by the users. In such scenarios, the social label identified for the document or other items includes social information that represents at least in part how the document relates socially to the user associated with the search. The social information may describe the relationship in terms of an action taken with respect to the document by at least one various other users related to the user. Examples of the candidate labels include a presented-by label, a shared-by label, a created-by label, a modified-by label, a commented-on-by label, a viewed-by label, a followed-by label, and a liked-by label. 
     Referring now to the drawings,  FIG. 1  illustrates a visualization of enhanced search results.  FIG. 2  illustrates an operational scenario involving an enhanced search service that employs a social label process illustrated in  FIG. 3 .  FIG. 4  illustrates another operational scenario involving an enhanced search service and  FIG. 5  illustrates another social label process.  FIG. 6  illustrates a visualization of various relationships between a document and enterprise users.  FIG. 7  illustrates several visualizations of a search result that includes the document in  FIG. 6 .  FIG. 8  illustrates a computing environment in which an enhanced search service may be provided.  FIG. 9  illustrates a computing system representative of those suitable for implementing an enhanced search service, such as those illustrated in  FIG. 2  and  FIG. 4 . 
     Turning to  FIG. 1 , a visualization  100  of enhanced search results  101  is illustrated. Enhanced search results  101  are representative of search results that may be returned by an enhanced search service employing a social label process in response to a search query. The search query may be initiated by any query source capable of communicating with an enhanced search service. Examples of the query source include computing hardware, software, and any combination or variation thereof. For instance, the query source may be a web page in a browser, a search tool included in an email client, a search tool in a productivity application, a desktop search application, a search tool included in an operating system, a webpage with an embedded search query, or any other search interface to any kind of search engine. In some cases, the search query may be explicitly initiated by user interaction, such as when a user enters a query string into a search box. However, the search query may also be triggered implicitly, such as when a productivity application automatically or programmatically initiates a search for relevant documents, or for any other reason. 
     Enhanced search results  101  include search result  103 , search result  105 , and search result  107 . Each of the search results identifies one item of various items returned by a search engine, as well as a social label corresponding to each item. Other types of content items in place of or in addition to documents are possible, such as photos, web pages, contacts, or any other type of item that can be identified in search results. 
     In particular, search result  103  identifies document  113  and a social label  123 . Social label  123  includes social information representative of how document  113  relates to a user associated with the search. In this case, document  113 , which is named alpha.doc, is identified as having been presented to the user by another person or people. Search result  105  includes document  115  (echo.doc) and social label  125 . Social label  125  expresses that document  115  was viewed by another person or people associated with the user. Search result  107  includes document  115  (kilo.doc) and social label  127 . Social label  125  includes social information that expresses that document  117  was modified recently by a person or people associated with the user. 
     Enhanced search results  101  may be presented to the user conducting the search in response to a search query. The social labels  123 ,  125 , and  127  accompanying the documents  113 ,  115 , and  117  in the search results  103 ,  105 , and  107 , serve to inform the user about how each item in the enhanced search results  101  relate to the user. For instance, social label  123  informs the user that document  113  was presented to her, social label  125  informs the user that document  115  was viewed by another person, and social label  127  informs the user that document  117  was modified recently by another person. This information may assist the user with navigating the enhanced search results  101  as how an item relates socially to the user may help distinguish one item over another. 
       FIG. 2  illustrates an operational scenario  200  in which a query source  201  communicates with an enhanced search service  203  to obtain enhanced search results. Enhanced search service  203  employs social label process  300 , described in more detail with respect to  FIG. 3 , to generate the enhanced search results. 
     In operation, query source  201  communicates a search query to enhanced search service  203 . Query source  201  is representative of any source from which a search query may be initiated and to which search results may be returned. Query source  201  may be implemented in hardware, in software, or in some combination thereof. Examples of query source  201  include, but are not limited to, email applications, productivity applications, gaming applications, browser applications, operating system applications, social network applications, and any other suitable application, variation, or combination thereof. Such applications may be provisioned and delivered as locally installed and executed applications, browser-based applications, streamlining applications, or in some other manner. In addition, such applications may be experienced on any of a variety of computing systems, such as desktop, laptop, tablet, and notebook computers, smart phones, gaming machines, or any other physical or virtual system, variation, or combination thereof. 
     In response to the search query, enhanced search service  203  searches information repository  205  to identify documents or other items relevant to the search query. Enhanced search service  203  is representative of any service capable of receiving search queries and returning enhanced search results. Enhanced search service  203  may be a stand-alone search service or may be integrated with other services. Examples of enhanced search service include, but are not limited to, Internet search services, enterprise search services, desktop search services, file system search services, email search services, image search services, or any other suitable search service, variation of service, or combination thereof. Examples of other services with which enhanced search service  203  may be integrated include, but are not limited to, email services, productivity application services, gaming services, social network services, or any other service, variation, or combination thereof. 
     Enhanced search service  203  may search information repository  205  using any criteria, algorithm, or other such technology to identify relevant documents, emails, contacts, images, or other content items. A wide variety of search techniques are possible and may be considered within the scope of the present disclosure. Information repository  205  is representative of any collection of searchable information, such as a collection of documents, emails, images, web pages, blog posts, text messages, or the like. It may be appreciated that information repository  205  may include other information, such as an index or a graph, to facilitate a search of the content items included therein. Information repository  205  may be a stand-alone repository dedicated to enhanced search service  203  or it may be implemented in an integrated manner with another service or services. Examples of information repository  205  include, but are not limited to, an email mailbox, an Internet search index, an enterprise information storage facility, a document storage facility, an information backup facility, or any other suitable collection of searchable information. Information repository  205  may be implemented on any physical or virtual computing system or collection of computing systems, as well as on any variation or combination thereof. 
     Upon identifying a set of relevant documents or other content items, enhanced search service  203  employs social label process  300 , discussed below with respect to  FIG. 3 , to identify a social label for each of the set of relevant documents. Enhanced search service  203  returns search results to query source  201  that are indicative of the relevant documents and the social labels associated therewith. Query source  201  may then display the search results to a user associated with the search such that the user can view, navigate, and potentially select one of the documents or other content items from the results. As mentioned above, the social labels included with the search results may assist the user in distinguishing one item form another, thereby enhancing the search experience. 
     Social label process  300 , illustrated in  FIG. 3 , is representative of any process that enhanced search service  203  may employ to determine which social labels to associate and return with various search items in a set of search results. In operation, documents or other content items are identified within the context of a search process employed by enhanced search service  203  in response to a search query (step  301 ). For each document (or other type of item) that is identified, one or more candidate labels associated with each document are identified that represent the various ways in which each document may related to the user associated with the search (step  303 ). 
     In a brief illustration, a document that is returned by a search process may be related to the user in multiple ways. For instance, a person associated with the user may have recently presented the document to the user, while another person may have recently viewed the document. As such, two candidate labels may be generated that correspond to both relationships. It may be appreciated that a variety of relationships are possible, and thus so are a variety of candidate labels, and the scope of the present disclosure is not restricted to just those disclosed herein. The two candidate labels are then evaluated to determine which one to put forth as the social label for the document. The candidate labels may be evaluated based on any suitable criteria, such as the recentness of the relationships associated with each candidate label, a weight given to each type of relationship, a frequency of the relationship, and so on. In some examples, the strength of a relationship may be considered when evaluating each of the candidate labels. The strength of a social link between a person represented in a candidate label and the user associated with the search may be considered. For instance, one candidate label representative how one&#39;s manager relates to a document may be chosen as the social label for the document over another candidate label representative of how one&#39;s distant peer relates to the document. In another scenario, one candidate label representative how one&#39;s close relative relates to a document may be chosen as the social label for the document over another candidate label representative of how one&#39;s distant relative relates to the document. In any case, a social label is then selected from the candidate labels based on the evaluation (step  305 ). 
     This analysis and evaluation may be carried out for each document that is returned as part of the search, at the end of which a set of documents and a set of corresponding social labels for the documents are assembled. Search results indicative of the documents and their social labels are returned to query source  201  for consideration by the user. In some scenarios, the actual documents or other content items may be returned as part of the search results. However, in many implementations merely an indication of the documents will be returned. For example, a link to each document, an icon representative of each document, or some other indication of each document will be returned. The social labels as identified in the search results may include social information that describes how each document is related to the user. Other types of descriptive data may also be included, such as images of people, color coding, and the like. 
       FIG. 4  illustrates another operational scenario  400  in an implementation. In operational scenario  400 , query source  401  communicates a search query to enhanced search service  402 . Enhanced search service  402  includes a service interface  403 , a search engine  405 , a social label engine  409 , and a results integrator  411 . Information repository  407  is illustrated as external to enhanced search service  402 , although it may be integrated with enhanced search service  402  in some implementations. In addition, graph service  415  and graph  417  are illustrated as external to enhanced search service  402 , although they too could be integrated with it in some implementations. 
     Service interface  403  receives the search query from query source  401  and communicates it to search engine  405  for processing. Query source  401  is representative of any source from which a search query may be initiated and to which search results may be returned. Query source  401  may be implemented in hardware, in software, or in some combination thereof. Service interface  403  is representative of any interface to search engine  405  capable of receiving search queries, communicating them to search engine  405 , and communicating enhanced search results to query source  401 . Service interface  403  may be a stand-alone element or may be integrated with other elements of enhanced search service  402 . In addition, service interface  403  may be implemented in hardware, in software, or in some variation or combination thereof. 
     Search engine  405  searches information repository  407  for any information items that may be relevant to the search query. Search engine  405  is representative of any search engine capable of searching information repository  407 . Examples include Internet search engines, email search engines, document search engines, desktop search engines, file system search engines, social network search engines, or any other type of search facility, variation, or combination thereof. Search engine  405  may be implemented in hardware, software, or any variation or combination thereof. 
     Information repository  407  is representative of any collection of information that may be searched by search engine  405 . Information repository  407  may include various documents, photos, contacts, emails, or other content items. Information repository  407  may also include an index to the items, although search engine  405  may maintain an index independently. A variety of information repositories  407  are possible and may be considered within the scope of the present disclosure. 
     In this scenario, it is assumed for exemplary purposes that search engine  405  identifies documents in information repository  407  that satisfy the search query. Search engine  405  identifies the documents to results integrator  411  such that the documents, or an indication thereof, may be included in enhanced search results. 
     Social label engine  409  is also made aware of which documents were found to be relevant to the search query. Social label engine  409  is representative of any service capable of identifying social labels for documents found to be relevant to a search query. Social label engine  409  may be implemented in hardware, in software, or in some variation or combination thereof. 
     While illustrated as coming from information repository  407 , it may be search engine  405  or results integrator  411  that communicates with social label engine  409  to identify the relevant search results. In any case, social label engine  409  employs social label process  500 , discussed below with respect to  FIG. 5 , to identify social labels for each of the relevant documents. As part of this process, social label engine  409  considers relationships that are monitored by graph service  415  and maintained in graph  417 . The relationships may be between, for example, the relevant documents and various users that are also related to the user associated with the search. 
     In particular, graph service  415  monitors information repository  407  or services associated with for interactions with the various documents and other content items stored therein. For example, graph service  415  can monitor a document for when a user views, modifies, shares, or presents the document. The various interactions with the various documents on behalf of users may be considered events that are represented in graph  417 . 
     Graph  417  includes nodes and edges representative of the documents, people, and relationships between them that are created when events occur. For example, graph  417  may include a node representative of a document and several other nodes representative of various people in an enterprise. The edges between them would then represent the various actions that the people may take with respect to the document. Graph service  415  may be implemented in a variety of ways that may be considered within the scope of the present disclosure. In other words, how graph service  415  operates and the structure or nature of graph  417  is not intended to limit the scope of the present disclosure. 
     Having identified a social label for each of the relevant documents, social label engine  409  communicates the social labels to results integrator  411 . Results integrator  411  generates search results indicative of the relevant documents and the social labels associated with the relevant documents. Results integrator  411  is representative of any element or collection of elements capable of integrating documents identified by a search with corresponding social labels to generate enhanced search results. Results integrator  411  may be implemented in hardware, in software, or in some variation or combination thereof. 
     Results integrator  411  communicates the search results, which includes at least an indication of the documents and the social labels, to service interface  403 . Service interface  403  then communicates the search results to query source  401 . Query source  401  may then present the enhanced search results or otherwise process them such that the user associated with the search may consider the enhanced results. 
       FIG. 5  illustrates social label process  500  that may be employed by social label engine  409  to identify social labels for the various documents found to be relevant to a search query. In operation, social label engine  409  identifies the relationship or relationships that may exist between the relevant documents and the user associated with the search (step  501 ). Social label engine  409  may accomplish this by querying graph  417  for any edges that relate a given document in the set of relevant documents to the user by way of other users linked to the user, but also possibly by a direct relationship. This step is repeated for each document in the set such that one or more relationships are returned for each document. 
     Next, social label engine  409  determines for each document in the set of relevant documents which of the relationships relate to which of a pool of candidate labels (step  503 ). In an example, for a document that returned just one relationship, just one candidate label will be identified. However, for another document in the set that return two or more relationships, two or more candidate labels may be identified. In some scenarios, the number of candidate labels may match the number of relationships found for a document, while in other scenarios the number of candidate labels may not match the number of relationships. For example, a given document may return four different relationships, two of which are the same kind of relationship. In such a scenario, social label engine  409  would identify three distinct candidate labels from which to select the social label. 
     Having identified the candidate social labels, social label engine  409  evaluates each of the candidate social labels based on the relationship or relationships associated therewith (step  505 ). This may include, for example, assessing the age or freshness of a given relationship. This may be accomplished by time-stamping each edge in graph  417  such that the age of the corresponding relationships can be ascertained. In another example, the popularity of a given candidate label may be assessed. For example, a candidate label that has several relationships associated with it may be given a greater weight than another candidate label that has relatively fewer relationships associated with it. Other criteria include the identity of the other person or people associated with a given relationship. In some examples, the strength of a social link between a person represented in a candidate label and the user associated with the search may be considered, such as when any candidate label corresponding to a relationship associated with a high ranking person may be given priority over a candidate label associated via a relationship with a relatively lower ranking person. Many other criteria for evaluating the candidate labels are possible and may be considered within the scope of the present disclosure. 
     The social label for each document in the set of relevant documents is selected from the candidate labels for each document based on the evaluation discussed above (step  507 ). A scoring process or some other technique may be used to weight each candidate label in the evaluations. The candidate label having the highest score may then be used as the social label for a document. In some implementations it may be possible to use multiple social labels for a single document, although it is assumed for the sake of clarity that a single social label is selected for each individual document. 
       FIG. 6  illustrates a visualization  600  of various relationships that may be established between a document  601  and users  611 ,  612 ,  613 ,  614 ,  615 ,  616 ,  617 , and  618  in an enterprise. The relationships depicted in visualization  600  may be captured by a graph service, such as graph service  415 , as events occur within an enterprise. An enterprise graph may be maintained by the graph service in which the events may be stored or otherwise reflected. A social label engine, such as social label engine  409 , may access the graph to identify relationships for documents in a set of documents returned by a search engine. Candidate labels may be derived from and evaluated based on the relationships in order to select a social label for each of the relevant documents. 
     Document  601  is representative of any type of document with respect to which users may perform actions and otherwise interact. Examples of document  601  include, but are not limited to, word processing documents, spreadsheets and workbooks, drawings, and presentations, as well as any other type of document. While visualization  600  makes reference to document  601 , it may be appreciated that such a visualization may apply as well to other types of content items, such as photos, music files, video files, blog posts, text messages, images, and contacts, as well as any other type of item with which relationships may be established by virtue of user interactions. 
     In visualization  600 , document  601  has been interacted with in a variety ways by a variety of people. In particular, user  611  has viewed document  601 . User  612  has viewed document  601  twice and presented it once. User  613  has presented document  601  and user  614  has modified it. User  615  has presented and viewed document  601 . User  616  commented on document  601  and user  617  created it. Lastly, user  618  both modified and commented on document  601 . 
     As mentioned, the relationships visualized in  FIG. 6  may be stored in a graph and can be used by a social label engine to generate candidate labels and ultimately a social label for document  601 .  FIG. 7  illustrates several exemplary candidate labels that may be generated with respect to document  601 . The candidate labels may then be evaluated to pick a social label for document  601 . 
     In candidate label  701 , social information included therein describes how the document relates to the user that initiated the search. In particular, candidate label expresses that document  601  was commented on by William on November 13 th . Candidate label  703  expresses that document  601  was viewed by three people. Candidate label  705  expresses that document  601  was presented to James by Sarah on July 11 th . Candidate label  708  expresses that document  601  was created by Kristin. Other candidate labels in addition to or in place of those disclosed herein are possible and may be considered within the scope of the disclosure. 
     It may be appreciated from candidate labels  701 ,  703 ,  705 , and  707  that a wide variety of candidate labels are possible and may be considered within the scope of the present disclosure. In addition, a wide variety of social information may be presented within the candidate labels. The social label may be selected based on a wide variety of weighting criteria and other factors that are evaluated when selecting a social label. It is assumed for exemplary purposes in  FIG. 7  that candidate label  705  is selected to be the social label for 601 in a set of search results returned to a user. 
     Accordingly,  FIG. 7  includes an example of an enhanced search result  709 . Enhanced search result  709  includes a content portion  711  that includes an icon representative of document  601  and its name, “Report.doc.” Enhanced search result  709  also includes social label  705 . Thus, it may be evident in from enhanced search result  709  that document  601  was presented to James by Sarah on July 11. This social information may be useful to the user associated with the search when navigating through various search results. In the aggregate, if others of the search results are also enhanced by way of a social label, the user is able to compare their relative social information, which may further assist with navigating what can be an overwhelming volume of search results. 
       FIG. 8  illustrates a search environment  800  that is representative of any environment in which the various implementations of an enhanced search service discussed herein may be carried out. Search environment  800  includes communication network  810  over which computing systems  801 ,  803 , and  805  may communicate with computing system  807  and with computing system  809 . Computing system  807  and computing system  809  may also communicate with each other over communication network  810  or over some other communication link or collection of links. 
     Examples of computing systems  801 ,  803 , and  805  include, but are not limited to, desktop computers, work stations, laptop computers, notebook computers, tablet computers, mobile phones, personal digital assistances, media devices, gaming devices, and any other physical or virtual computing machine or combinations and variations thereof. Computing systems  801 ,  803 , and  805  may be capable of implementing search sources  811 ,  813 , and  815  respectively. Search sources  811 ,  813 , and  815  may each be representative of any hardware, software, or combinations thereof capable of providing an interface to enhanced search service  817  such that users can interact with computing systems  801 ,  803 , and  805  to perform searches. Examples of search sources  811 ,  813 , and  815  include, but are not limited to, a search engine web page, a search engine tool integrated into another application (such as an email client or productivity application), a desktop search tool, a mobile search tool, or any other suitable search source. 
     Computing system  807  may be any computing system or collection of computing systems capable of implementing enhanced search service  817 , which is representative of any enhanced search service, including enhanced search services  203  and  402 . Computing system  809  may also be any computing system or collection of systems capable of implementing graph service  819 . Graph service  819  is optional and may be excluded in some implementations. Examples of computing system  807  and computing system  809  include server computers, cloud computing platforms, data center equipment, physical or virtual computing machines, and any variation or combination thereof. 
     Computing system  900  is representative of any computing system suitable for implementing any of computing systems  801 ,  803 ,  805 ,  807 , and  809 , although the discussion below makes specific reference to computing system  807  for purposes of clarity. In addition, while enterprise search service  817  is illustrated as implemented separately from a search interface, or remotely from the devices with which a user may interact, it may be appreciated that in some implementations all or portions of enterprise search service  817  may be implemented locally with respect to a user, such as in a co-located fashion on a device operated by a user, of which computing systems  801 ,  803 , and  805  are representative. 
     In operation, computing systems  801 ,  803 , and  805  may communicate with computing system  807  to perform information searches. This may include communicating search requests to and receiving search replies from enhanced search service  817 . Enhanced search service  817  handles the search requests in accordance with the various implementations described herein for enhanced search services  203  and  402 . 
     In addition, computing systems  801 ,  803 , and  805  may communicate from time to time with computing system  809  in the context of facilitating graph service  819 . Computing system  801 ,  803 , and  805  may communicate with other services that may be separate from enhanced search service  817  or that may include enhanced search service  817  therein, such as such as productivity application services, file storage services, email services, chat services, blog services, voice and video calling services, or any other type of application service. Some or all of the application services may be implemented locally or in part with respect to computing systems  801 ,  803 , and  805 . Within the context of these services, events may occur that can be captured and from which an enterprise graph or graphs may be constructed. Graph service  819  may capture the events and construct the graph, although in some implementations these tasks may be allocated to another service or services. 
     Communication between any of the elements contemplated in  FIG. 8  may occur in accordance with various communication protocols, such as the Internet protocol (IP, IPv4, IPv6, etc.), the transfer control protocol (TCP), and the user datagram protocol (UDP), as well as any other suitable communication protocol, variation, or combination thereof. Communication network  810  may be representative of a network or collection of networks over which the elements contemplated in  FIG. 8  may exchange information, such as an intranet, the Internet, a local area network, a wide area network, a wireless network, a wired network, a virtual network, a software defined network, or any combination or variation thereof. Communication network  810  may include connections, devices, and communication media, such as metal, glass, air, or any other suitable communication media over which information may be exchanged. The aforementioned communication media, networks, connections, protocols, and devices are well known and need not be discussed at length here. 
     In any of the aforementioned examples in which information is exchanged at least between search sources  811 ,  813 , and  815  and enhanced search service  817 , the exchange of information may occur in accordance with any of a variety of protocols, including FTP (file transfer protocol), HTTP (hypertext transfer protocol), REST (representational state transfer), Web Socket, DOM (Document Object Model), HTML (hypertext markup language), CSS (cascading style sheets), HTML5, XML (extensible markup language), JavaScript, JSON (JavaScript Object Notation), and AJAX (Asynchronous JavaScript and XML), as well as any other suitable protocol, variation, or combination thereof. 
     Referring now to  FIG. 9 , computing system  900  is representative of any computing system or collection of systems suitable for implementing all or portions of enhanced search service  817  and optionally any of the other operational scenarios and examples described herein. In the aggregate, a collection of systems such as computing system  900  may provide an enhanced search service on a large scale to many users. For example, computing system  900  may be representative of any system used in a physical or virtual data center or collection of data centers to provide an enhanced search service at a very large scale to millions of users or at even greater scale. However, smaller scale implementations at the enterprise, university, school, family, or individual size, for example, are also possible and may be considered within the scope of this disclosure. 
     Computing system  900  may be implemented as a single apparatus, system, or device or may be implemented in a distributed manner as multiple apparatuses, systems, or devices. Examples of computing system  900  include server computers, rack servers, blade servers, cloud computing platforms, and data center equipment, as well as any other type of physical or virtual server machine, and any variation or combination thereof. While typically implemented in a server or collection of servers, enhanced search service  817  may also be implemented all or in part on desktop computers, laptop computers, tablet computers, notebook computers, mobile computing devices, cell phones, media devices, and gaming devices, as well as any other type of physical or virtual computing machine and any combination or variation thereof, of which computing system  900  may also be representative. 
     Computing system  900  includes, but is not limited to, processing system  901 , storage system  903 , software  905 , communication interface system  907 , and user interface system  909 , which is optional. Processing system  901  is operatively coupled with storage system  903 , communication interface system  907 , and user interface system  909 . Processing system  901  loads and executes software  905  from storage system  903 . When executed by processing system  901 , software  905  directs processing system  901  to operate as described herein for enhanced search service  203 , enhanced search service  402 , social label process  300 , social label process  500 , and any of the operational scenarios and examples disclosed herein. Computing system  900  may optionally include additional devices or functionality not discussed for purposes of brevity. 
     Referring still to  FIG. 9 , processing system  901  may comprise a microprocessor and other circuitry that retrieves and executes software  905  from storage system  903 . Processing system  901  may be implemented within a single processing device but may also be distributed across multiple processing devices or sub-systems that cooperate in executing program instructions. Examples of processing system  901  include general purpose central processing units, application specific processors, and logic devices, as well as any other type of processing device, combinations, or variations thereof. 
     Storage system  903  may comprise any computer readable storage media readable by processing system  901  and capable of storing software  905 . Storage system  903  may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable program instructions, data structures, program modules, or other data. Examples of storage media include random access memory, read only memory, solid state memory, magnetic disks, optical disks, flash memory, virtual memory and non-virtual memory, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other suitable storage media. In no case is the computer readable storage media a propagated signal. 
     In addition to computer readable storage media, in some implementations storage system  903  may also include computer readable communication media over which software  905  may be communicated internally or externally. Storage system  903  may be implemented as a single storage device but may also be implemented across multiple storage devices or sub-systems co-located or distributed relative to each other. Storage system  903  may comprise additional elements, such as a controller, capable of communicating with processing system  901  or possibly other systems. 
     Software  905  may be implemented in program instructions and among other functions may, when executed by processing system  901 , direct processing system  901  to operate as described herein for social label process  300  or social label process  500  and their variations, and optionally as described with respect to the various operational scenarios and examples disclosed herein. In particular, the program instructions may include various components or modules that cooperate or otherwise interact to carry out social label process  300  or social label process  500 . The various components or modules may be embodied in compiled or interpreted instructions or in some other variation or combination of instructions. The various components or modules may be executed in a synchronous or asynchronous manner, serially or in parallel, in a single threaded environment or multi-threaded, or in accordance with any other suitable execution paradigm, variation, or combination thereof. Software  905  may include additional processes, programs, or components, such as operating system software or other application software. Software  905  may also comprise firmware or some other form of machine-readable processing instructions executable by processing system  901 . 
     In general, software  905  may, when loaded into processing system  901  and executed, transform a suitable apparatus, system, or device (of which computing system  900  is representative) overall from a general-purpose computing system into a special-purpose computing system customized to facilitate enhanced search services as described herein for each implementation. Indeed, encoding software  905  on storage system  903  may transform the physical structure of storage system  903 . The specific transformation of the physical structure may depend on various factors in different implementations of this description. Examples of such factors may include, but are not limited, to the technology used to implement the storage media of storage system  903  and whether the computer-storage media are characterized as primary or secondary storage, as well as other factors. 
     For example, if the computer readable storage media are implemented as semiconductor-based memory, software  905  may transform the physical state of the semiconductor memory when the program instructions are encoded therein, such as by transforming the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory. A similar transformation may occur with respect to magnetic or optical media. Other transformations of physical media are possible without departing from the scope of the present description, with the foregoing examples provided only to facilitate this discussion. 
     Referring again to  FIG. 2  and  FIG. 4 , through the operation of a computing system or systems of which computing system  900  is representative, transformations may be performed with respect to search results identified in response to a search query. As an example, a set of search results may include various documents. The set of search results may be modified from a first state in which there are no associated social labels, to a second state in which social labels are identified and included with the search results. When presented to a user, a visualization of the search results is enhanced by the social labels. 
     It should be understood that computing system  900  is generally intended to represent a computing system or systems on which software  905  may be deployed and executed in order to implement enhanced search service  203  or enhanced search service  402 , and optionally all or portions of the various operational scenarios and examples described herein. However, computing system  900  may also be suitable as any computing system on which software  905  may be staged and from where software  905  may be distributed, transported, downloaded, or otherwise provided to yet another computing system for deployment and execution, or yet additional distribution. 
     Communication interface system  907  may include communication connections and devices that allow for communication with other computing systems (not shown) over a communication network or collection of networks (not shown). Examples of connections and devices that together allow for inter-system communication may include network interface cards, antennas, power amplifiers, RF circuitry, transceivers, and other communication circuitry. The connections and devices may communicate over communication media to exchange communications with other computing systems or networks of systems, such as metal, glass, air, or any other suitable communication media. The aforementioned media, connections, and devices are well known and need not be discussed at length here. 
     Communication between computing system  900  and any other computing system (not shown) may occur over a communication network or networks and in accordance with various communication protocols, combinations of protocols, or variations thereof. Examples of communication networks over which computing system  900  may exchange information with other computing systems include intranets, the Internet, local area networks, wide area networks, wireless networks, wired networks, virtual networks, software defined networks, or any combination or variation thereof. The aforementioned communication networks and protocols are well known and need not be discussed at length here. 
     When applicable, user interface system  909  may include a keyboard, a mouse, a voice input device, a touch input device for receiving a touch gesture from a user, a motion input device for detecting non-touch gestures and other motions by a user, and other comparable input devices and associated processing elements capable of receiving user input from a user. Output devices such as a display, speakers, haptic devices, and other types of output devices may also be included in user interface system  909 . In some cases, the input and output devices may be combined in a single device, such as a display capable of displaying images and receiving touch gestures. The aforementioned user input and output devices are well known in the art and need not be discussed at length here. 
     User interface system  909  may also include associated user interface software executable by processing system  901  in support of the various user input and output devices discussed above. Separately or in conjunction with each other and other hardware and software elements, the user interface software and user interface devices may support a graphical user interface, a natural user interface, or any other type of user interface. For example, a search interface to an enhanced search service may be presented through user interface system  909 . In another example, search results returned from an enhanced search service that include social labels, may be presented through user interface system  909 . 
     The functional block diagrams, operational scenarios and sequences, and flow diagrams provided in the Figures are representative of exemplary systems, environments, and methodologies for performing novel aspects of the disclosure. While, for purposes of simplicity of explanation, methods included herein may be in the form of a functional diagram, operational scenario or sequence, or flow diagram, and may be described as a series of acts, it is to be understood and appreciated that the methods are not limited by the order of acts, as some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a method could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all acts illustrated in a methodology may be required for a novel implementation. 
     The included descriptions and figures depict specific implementations to teach those skilled in the art how to make and use the best option. For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. Those skilled in the art will appreciate variations from these implementations that fall within the scope of the invention. Those skilled in the art will also appreciate that the features described above can be combined in various ways to form multiple implementations. As a result, the invention is not limited to the specific implementations described above, but only by the claims and their equivalents.