HK1179710B - Selectively adding social dimension to web searches - Google Patents
Selectively adding social dimension to web searches Download PDFInfo
- Publication number
- HK1179710B HK1179710B HK13106684.3A HK13106684A HK1179710B HK 1179710 B HK1179710 B HK 1179710B HK 13106684 A HK13106684 A HK 13106684A HK 1179710 B HK1179710 B HK 1179710B
- Authority
- HK
- Hong Kong
- Prior art keywords
- search
- query
- search results
- trusted
- trust
- Prior art date
Links
Description
Reference to related applications
This application claims the benefit of U.S. patent application serial No. 12/764,818, filed on 21/4/2010, the entire contents of which are incorporated herein by reference.
Technical Field
The present invention relates generally to search queries over a network, and more particularly, but not exclusively, to selectively refining search results based on a user's social network, wherein social network or trust search results are selectively displayed distinguishable from other untrusted search results based on a query category and a number and location of trust search results to be displayed in a display for the query category.
Background
The internet has been a vast change that affects our daily lives. For example, mobile computing devices are becoming increasingly popular in today's society. Many mobile computing devices, such as personal digital assistants, mobile phones, and the like, may be used to communicate voice messages, emails, text messages, and the like, as well as to search for information on the internet. It is also common for people to use mobile devices to search for merchants, restaurants, music, businesses, etc. on buses, trains, and even boats.
However, it is still cumbersome to perform search queries on user-related information. Often times, a user will perform several search queries to obtain relevant search results. Irrelevant search results mean that the user is unlikely to find when making a search, which in turn may be interpreted as a loss of the opportunity for the merchant or other merchant to become aware of the user.
Some search engines attempt to refine search queries by modifying the query based on information obtained from various social networks. For example, information for modifying a search query may be obtained based on a searcher's address book, buddy list, and the like. However, modifying a search query may actually modify a user's search for certain content rather than modifying the content that the user wants to search. The results of the search are still irrelevant because they do not match the content of interest searched by the user. Thus, many businesses are still attempting to identify new methods that make search results more relevant to users. It is with respect to these considerations and others that the present invention has been made.
Drawings
Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various views unless otherwise specified.
For a better understanding of the present invention, reference is made to the following detailed description, taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a system diagram of an embodiment of an environment in which the invention is implemented;
FIG. 2 illustrates one embodiment of a client device that may be included in a system implementing the invention;
FIG. 3 illustrates one embodiment of a network device that may be included in a system implementing the invention;
FIG. 4 illustrates a logical flow diagram generally showing one embodiment of an overview process for performing and displaying search results that selectively include trust search results that are displayed differently than non-trust search results based on query category;
FIG. 5 illustrates a logical flow diagram generally showing one embodiment of an overview process of managing trusted content from a user's social networking sites;
FIG. 6 illustrates a logical flow diagram generally showing one embodiment of an overview process for determining query categories and for selectively displaying the relative number and location of trust search results from a search query other than untrusted search query results; and
FIG. 7 illustrates one non-limiting and non-exhaustive example of a screen display of search query results showing trusted search results different from untrusted search query results.
Detailed Description
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific embodiments in which the invention may be practiced. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Among other things, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
In the specification and claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrase "in one embodiment" as used herein does not necessarily refer to the same embodiment, although it may. Moreover, the phrase "in another embodiment" as used herein does not necessarily refer to a different embodiment, although it may. Thus, as described below, various embodiments of the invention may be readily incorporated without departing from the scope or spirit of the invention.
Furthermore, as used herein, the term "or" is an inclusive "or" operator, which is equivalent to "and/or," unless the context clearly dictates otherwise. Unless the context clearly dictates otherwise, the term "based on" is not exclusive and allows for being based on other factors not described. In addition, in the specification, the meaning of "a", "an", and "the" also includes plural meanings. The meaning of "in …" includes "in …" and "on …".
The term "social network" as used herein refers to the concept of using the personal networks of an individual's friends, family, co-workers, and subsequent connections within these networks to find more relevant connections for various activities, including but not limited to dating, job networking, referral services (servicereferrals), content sharing, like-minded participants, activity partners, and the like.
An online social network generally includes a collection of individuals' direct and/or indirect personal relationships, including real and virtual privileges and permissions that users may contact these individuals. Direct personal relationships typically include the relationship of a user to those who communicate directly with the user, including family members, friends, colleagues, and others with whom the user has some direct contact (such as private contact through telephone, email, instant message, letter, etc.). Sometimes these direct human relationships are referred to as first degree relationships. The first degree relationships may have varying degrees of closeness, confidence, and other characteristics.
Indirect personal relationships generally include relationships established through first degree relationships to people who do not have some form of direct or limited direct contact, such as people that are cc'd in an email message. For example, a friend of a friend represents an indirect personal relationship. More extensively, an indirect relationship may be a friend of a friend. Sometimes, these indirect relationships are characterized by the degree of separation between people. For example, a friend of a friend may be described as two degrees of separation or a second degree of relationship. Similarly, a friend of a friend can be described as three degrees of separation or a third degree of relationship.
Social network information includes a variety of information about communications between some members and other members in a social network, including, but not limited to, emails, Short Message Service (SMS) messages, Instant Messaging (IM) messages, Multimedia Message (MMS) messages, alerts, audio messages, phone calls, etc. received or sent by a member. Such social networking information may also be obtained from a member's address book, buddy list, or similar source.
The following presents a simplified summary of embodiments of the invention in order to provide a basic understanding of some aspects of the invention. This brief description should not be taken as an extensive overview. It is not intended to identify key or critical elements or to delineate or otherwise narrow the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
Brief summary of the inventionthe present invention is directed to the case where the display of search results is managed by using search query classifications to selectively display search results from a search user's social networking sites (referred to as trusted search results, which are displayed distinct from untrusted search results). In one embodiment, the search queries are analyzed to classify the search queries. Based on the determined query category, a number and location of selectively displaying trust search results is determined. The retrieval is then performed on so-called untrusted data sources (including, for example, various internet web sites, etc.) for which the searching user does not have a social network relationship. If the query category indicates to search for trusted data sources, such as social networking sites, messages between users, etc., are searched for trusted search results. The trust search results may then be ranked (ranked) according to and/or within various classifications of the search criteria. For example, results obtained from well-defined data sources (explicit relationships such as friends, family, people in a buddy list, people a search user explicitly follows in various social network addresses or other various prescribed networks of trust) may be ranked and displayed differently from another type of trust search result. Another type of trust search results may include implicit sources of trust (implicit relationships) such as social networking sites, clubs, etc. of which the search user is a member, but results obtained from members other than members having a direct defined relationship with the search user (e.g., people of a first degree of separation relationship defined within the search user's buddy list, address book, etc.). Thus, implicit relationships may include relationships with other people who have a common taste, work in the same company, are a member of a group, and the like.
Yet another category of trust search results may include results from social networking sites of which the searching user is not a member, but may be determined to be relevant to the search query based on a relationship of the source to another source, friend, or the like. For example, such social networking sites may have friends, family members, colleagues, etc. as members. Another example of such a trusted search result may be a community, enterprise, etc. that has the same purpose, goal, etc. and for which the searching user is a member. For example, the searching user may be a member of a particular diving club. Such trusted search results may then include other diving clubs, including diving clubs for which the search user's friends, family members, colleagues, etc. are members, or for which someone is known to be a member. This class may be referred to as extended implicit relationships. These search results from other network sites, websites, etc. that have no explicit or implicit relationship with the searching user and the searching user does not explicitly identify as a trusted source will then be referred to herein as untrusted sites (from which untrusted search results may be obtained).
In one embodiment, a different number of trusted search results may be displayed along with untrusted search results based on the query category. Additionally, the display location of the trusted search results relative to the untrusted search results may be based on the query category. In one embodiment, the number and location for displaying the trusted search results may be determined by analyzing multiple click-through rates of the search results (both trusted and untrusted) to obtain search user feedback that may be used to optimize the number and location of trusted search results for each query category.
In one embodiment, untrusted search results are displayed separately or apart from trusted search results. In this manner, information is separately and distinctly displayed based on the trust level of the source, and by uniquely identifying trust search results as trust search results, a search user is able to obtain enhanced confidence and relevance of search results displayed in response to a search query.
Further, in one embodiment, the searching user may select from which social networking site to obtain the trust search results for selective display. In one embodiment, a default set of one or more social networking sites may be provided. However, in another embodiment, the search user may also provide one or more additional social networking sites, and/or other sources from which to obtain trust search results for selective display.
Illustrative operating Environment
FIG. 1 illustrates the components of one embodiment of an environment in which the invention may be practiced. Not all of the components may be required to practice the invention, and the arrangement and type of the components may be changed without departing from the spirit or scope of the invention. As shown, the system 100 of FIG. 1 includes a local area network ("LAN")/wide area network ("WAN") - (network) 105, a wireless network 110, a Trusted Search Server (TSS)106, a mobile device (client device) 102, a client device 101, and a content server 107.
One embodiment of a client device that may be used as one of client devices 101-104 is described in more detail below in conjunction with fig. 2. In general, however, client device 102 and 104 may comprise almost any mobile computing device capable of receiving and sending messages over a network, such as wireless network 110. Such devices include portable devices such as mobile phones, smart phones, display pagers, Radio Frequency (RF) devices, Infrared (IR) devices, Personal Digital Assistants (PDAs), handheld computers, laptop computers, wearable computers, tablet computers, integrated devices incorporating one or more of the foregoing devices, and the like. Client devices 101 may include virtually any computing device typically connected using a wired communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network Personal Computers (PCs), and the like. In one embodiment, one or more of client devices 101-104 may also be configured to operate over wired and/or wireless networks.
Generally, the capabilities and functions of client device 101-104 are wide ranging. For example, a cell phone may have a numeric keypad and several lines of monochrome LCD display on which text may only be displayed. In another example, a web-enabled client device (web-enabled client device) may have a touch sensitive screen, a stylus, and several lines of color LCD display in which text and graphics may be displayed.
A web-enabled client device may include a browser application configured to receive and send web pages, web-based messages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, and the like, using virtually any web-based language, including wireless application protocol messages (WAP), and the like. In one embodiment, the browser application may use Handheld Device Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, standard generalized markup language (SMGL), hypertext markup language (HTML), extensible markup language (XML), and the like, to display and send information.
Client device 101 may also include at least one other client application configured to receive content from another computing device. The client application may include the ability to provide and receive textual content, multimedia information, and the like. The client application may further provide information that identifies itself, including type, capabilities, name, etc. In one embodiment, client device 101-. The identifier may be provided in a message or the like sent to another computing device.
Client device 101 may also be configured to communicate messages between it and another computing device, such as via email, SMS, MMS, IM, IRC, mIRC, Jabber, etc. However, the present invention is not limited to these message protocols and virtually any other message protocol may be used.
The client device 101-104 may be further configured to include a client application that enables a user to log into a user account managed by another computing device, such as the content server 107-109, the TSS106, and so forth. In one embodiment, credentials, registration username/password, or other information may be used to allow a user to access content at one or more content servers 107, 109, and/or the like. For example, such a user account may be configured to allow the user to receive emails, send/receive IM messages, SMS messages, access selected web pages, and/or engage in any other social networking activity. However, message management or other social activities may also be performed without logging into the user account.
In one embodiment, the user of client device 101-104 may be allowed to access web pages, perform query searches on various content, and/or perform any other activities. For example, client device 101-. However, the user may participate in various other social networking sites in addition to, and/or in lieu of, the websites listed herein. Thus, the present invention is not limited solely based on the social networking sites explicitly identified herein. Regardless, social networking sites that a user has identified or has an explicit or implicit relationship may be referred to as a trust data source. Social networking sites that the user has neither identified nor had explicit or implicit relationships are untrusted data sources. However, the untrusted data source may include content other than social networking sites. For example, the untrusted data source may include, but is not limited to, a website hosting dictionary, downloadable content, transactions, and the like.
In summary, a user of a client device 101 along 104 may perform various search queries over a network, such as networks 105 and/or 110, through TSS106 for content available, for example, from another client device and/or content server 107 along 109. In one embodiment, a user may identify various trusted data sources to be searched. In one embodiment, the TSS106 may determine which trust data source to search for based in part on a user profile that includes information about the user, the user's social network online activities, and the like. The results of the search query may then be displayed on the user's client device, where the search results may visibly and uniquely identify the search results from trusted data sources and the search results from untrusted data sources. In one embodiment, the number of trusted search results displayed, and the location on the display screen relative to the untrusted search results, may be based on the query category to which the search query is determined to belong.
Wireless network 110 is configured to couple client device 102 and 104 with network 105. The wireless network 110 may include any of a variety of wireless sub-networks that may further overlay stand-alone ad-hoc networks, etc., to provide an infrastructure-oriented connection for the client devices 102 and 104. Such sub-networks may include mesh networks, Wireless Local Area Networks (WLANs), cellular networks, and the like.
Wireless network 110 may further include autonomous systems of terminals, gateways, routers, and the like connected by radio links, and the like. These connectors may be configured to move freely and organize themselves arbitrarily, such that the topology of wireless network 110 may change rapidly.
Wireless network 110 may further employ a variety of access technologies including second generation (2G), third generation (3G), fourth generation (4G) radio access of cellular systems, WLAN, Wireless Router (WR) cells, and the like. Access technologies such as 2G, 2.5G, 3G, 4G, and future access networks may enable wide area coverage for client devices such as client device 102 and 104 with various degrees of mobility. For example, the wireless network 110 may enable radio connection through radio network access such as global system for mobile communications (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (WCDMA), bluetooth, and the like. In essence, wireless network 110 may include virtually any wireless communication mechanism by which information may be communicated between client device 102 and 104 and another computing device, network, or the like.
The network 105 is configured to couple the TSS106, the content server 107, and the client device 101 with other computing devices, including the client device 102 and 104 through the wireless network 110. The network 105 may use any form of computer readable media for transferring information from one electronic device to another. Additionally, the network 105 may include the Internet in addition to Local Area Networks (LANs), Wide Area Networks (WANs), direct connections, such as through a Universal Serial Bus (USB) port, other forms of computer-readable media, or any combination thereof. In a set of interconnected LANs, including those based on differing architectures and protocols, a router acts as a link between LANs, enabling messages to be sent from one to another. Further, the communication links within LANs typically comprise twisted wire pairs or coaxial cables, and the communication links between networks may utilize analog telephone lines, dedicated digital lines including, in whole or in part, T1, T2, T3, and T4, Integrated Services Digital Networks (ISDN), Digital Subscriber Lines (DSL), wireless links including satellite links, or other communication links known to those skilled in the art. In addition, remote computers and other related electronic devices can be remotely connected to either LANs or WANs through modem and temporary telephone links. Network 105 includes virtually any communication method by which information may be transferred between computing devices.
One embodiment of the TSS106 is described in more detail below in conjunction with FIG. 3. Briefly, however, TSS106 may comprise any computing device capable of connecting to network 105 to selectively refine search results based on a user's social network, where social network or trust search results may be selectively displayed differently from other untrusted search results based on a query category and the number and location of trusted search results for the query category to be displayed within the display.
The TSS106 may integrate social network information including a search user's profile, a profile of friends, family, etc., and various social activity streams across multiple trusted social networks to create a "trust data source for each user" of social network search data. It should be understood that there may be multiple sources of trust data for a given user.
When conducting a web search query, the search query can be classified into one or more query categories. If the query classification of the search query includes performing a search on a trusted data source, the trusted data source is searched to obtain trusted search results. Likewise, a search is performed on an untrusted data source. Then, based on the number of trusted search results and the location of the trusted search results for displaying one or more query categories, the trusted search results are uniquely displayed distinct from the untrusted search results. In one embodiment, trust search results are uniquely identified based on their trust data source. In one embodiment, the search user may then selectively display a subset of the trusted search results of the trusted data source. The TSS106 may perform at least a portion of its actions using a process such as that described below in connection with fig. 4-6. Further, FIG. 7 below illustrates a non-limiting display of search results where trusted and untrusted search results are displayed differently.
Devices that may be used as TSS106 include a variety of network devices including, but not limited to, personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network Personal Computers (PCs), servers, network appliances, and the like.
Although FIG. 1 illustrates TSS106 as a single computing device, the invention is not so limited. For example, one or more functions of the TSS106 may be distributed across one or more different computing devices. For example, a user's social networking data may be integrated on one network device while a search query may be executed and search results provided on another network device. However, other arrangements may be used.
Content server 107 and 109 include virtually any network device configured to provide content to another computing device over a network. As such, content server 107 and 109 may provide content that includes social networking content as well as non-social networking content. Content server 107-. Content server 107-.
Content server 107-. The content may include web content, audio content, video content, FTP data, and the like.
Devices that may be used as content server 107 include personal computers desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network Personal Computers (PCs), servers, and the like.
Illustrative Mobile client Environment
FIG. 2 illustrates one embodiment of a client device 200 that may be included in a system implementing the invention. Client device 200 may include more or fewer components than shown in fig. 2. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. Client device 200 may represent, for example, one embodiment of at least one of client devices 101-104 in FIG. 1.
As shown, client device 200 includes a processing unit (CPU)222 in communication with a mass memory 230 via a bus 224. Client device 200 also includes a power supply 226, one or more network interfaces 250, an audio interface 252, a display 254, a keyboard 256, an illumination lamp (illumiator) 258, an input/output interface 260, a haptic interface 262, and an optional Global Positioning System (GPS) receiver 264. Power supply 226 provides power to client device 200. Power may be provided using rechargeable or non-rechargeable batteries. Power may also be provided by an external power source, such as an AC adapter or power base that can charge and/or recharge the batteries.
Client device 200 may optionally communicate with a base station (not shown), or directly with another computing device. Network interface 250 includes circuitry for coupling client device 200 to one or more networks and is constructed for use with one or more communication protocols and technologies including, but not limited to, global system for mobile communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), User Datagram Protocol (UDP), transmission control protocol/internet protocol (TCP/IP), SMS, General Packet Radio Service (GPRS), WAP, Ultra Wideband (UWB), IEEE802.16 worldwide interoperability for microwave access (WiMax), SIP/RTP, or any of a variety of other wireless communication protocols. Sometimes, the network interface 250 is a transceiver, transceiving device, or Network Interface Card (NIC).
Audio interface 252 is configured to generate and receive audio signals, such as the sound of a human voice. For example, audio interface 252 may be coupled to a speaker and microphone (not shown) to remotely communicate with others and/or generate audio acknowledgements for certain actions. Display 254 may be a Liquid Crystal Display (LCD), a gas plasma display, a Light Emitting Diode (LED), or any other type of display used with a computing device. Display 254 may also include a touch screen configured to receive input from an object such as a stylus or a number from a human hand.
The keypad 256 may include any input device configured to receive input from a user. For example, the keypad 256 may include a push button numeric dialing pad or keyboard. The keypad 256 may also include command buttons associated with selecting and sending images. The illumination lamps 258 may provide status indications and/or provide light. The illumination lamps 258 may remain active for a particular period of time or in response to an event. For example, when the illumination lamp 258 is active, it may backlight the keys on the keyboard 256 and remain on for a period of time during power-up of the client device. In addition, the illumination lamps 258 may backlight these buttons in various modes when performing a particular action (e.g., dialing up to connect to another client device). The illumination lamps 258 may also cause light sources disposed within a transparent or translucent housing of the client device to illuminate in response to an action.
Client device 200 also includes input/output interface 260 for communicating with external devices, such as a headset or other input or output devices not shown in fig. 2. The input/output interface 260 may employ one or more communication technologies such as USB, infrared, or bluetooth, among others. Haptic interface 262 is configured to provide haptic feedback to a user of the client device. For example, the haptic interface may be used to vibrate client device 200 in a particular manner when another user of the computing device calls.
Optional GPS transceiver 264 can determine the physical coordinates of client device 200 on the surface of the earth, which generally outputs a location as latitude and longitude values. GPS transceiver 264 may also use other geolocation mechanisms including, but not limited to, triangulation, assisted GPS (agps), E-OTD, CI, SAI, ETA, BSS, etc. to further determine the physical location of client device 200 on the surface of the earth. It is appreciated that under different conditions, GPS transceiver 264 can determine the millimeter-scale physical location of client device 200. In other cases, the determined physical location may be less accurate, such as determining the physical location to meters, or greater distances. However, in one embodiment, the mobile device may provide, through other components, other information that may be used to determine the physical location of the device (including, for example, a MAC address, an IP address, etc.).
Mass memory 230 includes RAM232, ROM234, and other physical storage devices. Mass memory 230 illustrates an example of computer storage media for storage of information such as computer readable instructions, data structures, program modules or other data. Mass memory 230 stores a basic input/output system ("BIOS") 240 for controlling low-level operations of client device 200. The mass memory also stores an operating system 241 for controlling the operation of client device 200. It is understood that the component may include a general purpose operating system (e.g., UNIX or LINUX)TMVersion), or a specialized client communication operating system (e.g., windows mobile)TMOrAn operating system). The operating system may include or interface with a Java virtual machine module that enables control of hardware components and/or performs operations on the operating system through Java application programs.
Memory 230 further includes one or more data stores 244 that can be used by client device 200 to store application programs 242 and/or other data. For example, the data store 244 may also be used to store information describing various capabilities of the client device 200. This information may then be provided to another device based on any of a variety of events, including being sent as part of a header during a communication, being sent upon request, etc. Further, the data store 244 may also be used to store social network information including address books, buddy lists, aliases, registered usernames/passwords, credentials, user profiles, and the like. At least a portion of the social networking information may also be stored on a disk drive or other storage medium (not shown) within client device 200.
Application 242 may include computer-executable instructions that, when executed by client device 200, transmit, receive, and/or process messages (e.g., SMS, MMS, IM, email, and/or other messages), audio, video, and enable remote communication with another user of another client device. Other examples of applications include calendars, search programs, email clients, IM applications, SMS applications, VOIP applications, contact managers, task managers, transcoders, database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and so forth. Application 242 may include, for example, messenger tools (messenger)243 and browser 245.
Browser 245 may include virtually any client application configured to receive and display graphics, text, multimedia, and the like, in virtually any web-based language. In one embodiment, the browser application is enabled to display and send messages using Handheld Device Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, standard generalized markup language (SMGL), hypertext markup language (HTML), extensible markup language (XML), and the like. However, any of a variety of other network-based languages may be used. In addition, browser 245 may be used to request various content and/or receive the content. In one embodiment, browser 245 may also be used to execute one or more search query requests and request search results over a network (e.g., the Internet, etc.), in which case at least one search query request may include a request to execute a search over a defined plurality of trusted data sources and one or more untrusted data sources. A non-limiting example of the display of search results, including displaying trusted search results that are different from untrusted search results, is described in more detail below in conjunction with FIG. 7.
Messenger 243 may be configured to initiate and manage message sessions using any of a variety of messaging communications including, but not limited to, email, Short Message Service (SMS), Instant Message (IM), Multimedia Message Service (MMS), Internet Relay Chat (IRC), mrc, and the like. For example, in one embodiment, messenger tool 243 may be configured as an IM application program, such as AOL instant messenger, Yahoo! Messenger tools,. NET messenger tool servers, ICQs, etc. In one embodiment, the messenger tools 243 may be configured to include Mail User Agents (MUAs), such as Elm, Pine, MH, Outlook, Eudora, MacMail, Mozilla thunderbird, gmal, and the like. In another embodiment, messenger tool 243 may be a client application configured to integrate and use various messaging protocols.
Illustrative Server Environment
Fig. 3 illustrates one embodiment of a network device according to one embodiment of the present invention. Network device 300 may include more or fewer components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the present invention. For example, the network device 300 may represent the TSS106 in fig. 1.
Network device 300 includes processing unit 312, video display adapter 314, and a mass memory, all in communication with each other via bus 322. The mass memory generally includes RAM316, ROM332, and one or more permanent mass storage devices (e.g., hard disk drive 328, tape drive, optical drive, and/or floppy disk drive). The mass memory stores operating system 320 for controlling the operation of network device 300. Any general purpose operating system may be used. A basic input/output system ("BIOS") 318 is also provided for controlling low-level operation of network device 300. As shown in fig. 3, network device 300 may also communicate with the internet or some other communication network through a network interface unit 310 configured for use with various communication protocols, including the TCP/IP protocol. Sometimes, the network interface unit 310 is a transceiver, transceiving device, or Network Interface Card (NIC).
As mentioned above, the mass memory illustrates another type of computer-readable media, namely computer storage media. Such computer-readable storage media as used herein refers to physically tangible devices. Computer-readable storage media may include volatile, nonvolatile, removable, and non-removable media implemented in a method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Examples of computer-readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical device which can be used to store the desired information and which can be accessed by a computing device.
As shown, the data store 352 may include databases, text, spreadsheets, folders, files, and the like, which may be configured to maintain and store social networking information including, but not limited to: including profile information for the user's name, identification information for various social networking sites or trust data sources with which the user is a member, has an explicit relationship, or has an implicit relationship (including an extended implicit relationship), etc. Data store 352 may further include various credentials, username/password information, etc., that may be used to allow TSM354 to access social network information and other trust data for determining trust data that may be used in executing a search query. The data store may further include social networking information from or included in the user's IM friends list, address book, email history log, Twitter message log, IM talk log, VOIP store, and the like. However, contact information may also be obtained indirectly by monitoring various interactions of the user. Thus, for example, social network information may be extracted based on content in a message between the user and another member of the social network. For example, in one embodiment, the user and other members may include information about third parties, and the like. In one embodiment, such third party information may also be obtained and stored in the data storage device 352. Similarly, various networking behaviors of the user or other social network members may also be obtained, including, for example, websites visited, types of information searched by the user, types of content downloaded, from which content was downloaded, and so forth. Information may also be obtained from social network contact information of another member, which may be used in performing a search query. The data store 352 may further include information regarding a plurality of query categories, including information that may be used to determine whether a given search query is relevant to one or more of the plurality of query categories. The data store 352 may also include information regarding the number and location of trust search results used to display each of a plurality of query categories. The data store 352 also stores one or more web page formats, templates, etc. that may be used to display various search results, provide a user interface for a user to select various trusted data sources for displaying trusted search results, and allow the user to identify one or more trusted data sources on which to also conduct a trusted search query. Data store 352 is not limited to storing only the few items identified above, and virtually any information (including information that may be used by TSM354 to perform and/or display trusted and untrusted search results) may be stored within data store 352. Further, although data store 352 is shown with RAM316, at least a portion of the contents of data store 352 may be stored elsewhere (including, but not limited to, cd-rom/dvd-rom drive 326, hard disk drive 328), and/or even on another network device.
The mass memory also stores program code and data. One or more application programs 350 are loaded into mass memory and run in operating system 320 by central processing unit 312. Examples of application programs may include transcoders, calendars, database programs, word processing programs, HTTP programs, customizable user interface programs, IPSec application programs, encryption programs, security programs, SMS message servers, IM message servers, email servers, account managers, and so forth. A Trusted Search Manager (TSM)354 may also be included as an application within application 350.
TSM354 is configured to selectively display trusted search results that are displayed differently from untrusted search results of a search query by managing the display of the search query and the search results using a query category of the search query. TSM354 may classify the search query into one or more query categories. Then, a search is conducted over the untrusted sources and selectively over the trusted data sources to obtain untrusted and trusted search results, respectively. TSM354 orders the trust search results based on various classifications of search rules (including, for example, explicit and implicit relationships or associations). Based on the query category of the search query, a determined number of trust search results may be displayed. Additionally, a location to display the trust search results may be determined based on the query category. In addition, the untrusted search results are displayed distinct or separate from the trusted search results to easily discern the type of data source of the search results.
In one embodiment, TSM354 may receive various login usernames/passwords, credentials, etc. for a user for various social networking sites, and/or other social networking data sources. In one embodiment, TSM354 may determine which social networking sites are relevant to the user based on the user's user profile, an analysis of the user's online social behavior, messages communicated to/by the user, and so on. Social networking sites and other social networking data sources may also be determined based on various buddy lists, address books, etc. related to the user.
In summary, TSM354 may store user credentials, usernames/passwords, and other access information for the user to various social network data sources, etc., in data store 352. Based on some criteria, TSM354 may perform various searches on the user's social network, data sources, etc. to obtain profiles about the user's friends, activity streams, etc. TSM354 may store such profiles, activity streams, and/or other social network data for the user in data store 352. Such stored results may be referred to as social network data sources, trust data sources, and the like. In one embodiment, the stored results include various information indicative of data sources, such as clubs, social networking sites, members, friends, family members, and the like. In one embodiment, the data also includes a timestamp, or the like. In one embodiment, the results may be further organized so that they may be accessed or searched.
When TSM354 determines that a search query is received from a searching user, TSM354 may classify the search query into at least one of a plurality of different query categories. The TSM may use the search query to search over multiple untrusted data sources to obtain multiple untrusted search results, and further optionally use the search query to search over again the above trusted data sources that have been determined for the user to obtain trusted search results. TSM354 may then determine a number and location for selectively displaying the plurality of trust search results based on the at least one query category of the search query. TSM354 may further selectively display a plurality of trusted search results distinct from the display of the plurality of untrusted search results, wherein the selectively displayed plurality of trusted search results includes information indicating a source of each trusted search result within the trusted social network sources. TSM354 may perform at least a portion of its actions using a process such as described further below in conjunction with fig. 4-6.
It should be appreciated that although TSM354 may perform various searches on various data sources, these actions may also be performed by another component, such as a search engine or the like (not shown). Thus, the configuration of network device 300 including TSM354 should not be construed as limiting, and at least a portion of the actions of TSM354 may be performed using other configurations, components, and/or network devices. For example, as mentioned, TSM354 may analyze the search query, send the search query to one or more search engines (each of which may search a different data source), receive the search results, and provide the search results for display to a client device of the search requestor.
General operation
The operation of certain aspects of the present invention will now be described in conjunction with fig. 4-6. Further, FIG. 7 provides a non-limiting and non-exhaustive example of a screen display of search query results showing trusted search results as opposed to untrusted search query results. This example can be utilized to illustrate various aspects further described in this disclosure.
FIG. 4 illustrates a logical flow diagram generally showing one embodiment of an overview process for executing and displaying search results that selectively include trust search results displayed differently than untrusted search results based on query category. For example, process 400 of fig. 4 may be performed within network device 300 of fig. 3.
The process 400 begins at block 402, which follows the start block, where a search query is received from a client device at block 402. In one embodiment, various information is also received that can be used to indicate a user that is relevant to a search query. The various information may include, but is not limited to, a user identifier, a client device identifier that may then be used to identify a potential user, and the like.
Processing next continues to block 404, where the search query is analyzed to classify the search query into one or more query categories. Various mechanisms may be used to classify search queries and thus the process is not limited to a particular mechanism. For example, in one embodiment, keywords may be extracted from a search query and used to match keywords associated with one or more defined query categories. However, this mechanism may result in insufficient classification because the general search query is short. Thus, other mechanisms may also be used or employed in place of keyword extraction. For example, various query-enrichment based mechanisms can be used that can initially enrich search queries with collections or text documents obtained through various search engines. That is, the search query may be represented by a pseudo file that includes page fragments resulting from various searches. The pseudo-file may then be classified into one or more defined query classes using a synonym-based classifier, a statistical classifier, or the like, including, for example, a naive bayes (NaiveBayes) mechanism, a support vector machine, or the like.
Other classification mechanisms may also be used, including, for example, query-clustering (query-clustering) mechanisms. For example, a log of the user's previous search behavior may be recorded and analyzed to identify search results for a given search query clicked by the user. That is, related queries may be attempted to be correlated by aggregating previous search data that contains multiple queries from a user's previous activities along with click information. In one embodiment, a query clustering mechanism may be combined with the key word mechanism described above to classify search queries into one or more query categories.
In summary, processing next proceeds to decision block 406, where a classification into one or more query categories may be utilized to determine whether to perform a search on trusted data sources (e.g., search various social network data sources identified as trusted by the user, as mentioned above). It has been recognized that while some search queries may benefit from such social network data search results, other search queries may benefit much less. Thus, a search query classified as a true-only type search query results in less benefit from social networking data source search results than a search query seeking social input (e.g., a search query seeking comments, opinions, activity-oriented information, etc.). Thus, one or more query categories may be associated with social search queries, while other query categories may be associated with non-social search queries. And as mentioned above, by way of non-limiting and non-exhaustive example, a fact search query may not be socially directed, whereas a search query based on activities, opinions, and comments may be considered a socially directed query category. Thus, at decision block 406, the query categories into which the search query has been classified are examined to determine whether at least one query category is to be considered a socially oriented query category. If so, processing continues with block 408; otherwise, processing proceeds to block 410.
At block 408, the plurality of trusted data sources of the identified user are searched using the search query to determine trusted search results. Processing then proceeds to block 410 where a search query is used to search multiple untrusted data sources. Such untrusted data sources may include a property database (preprietrydatabase), various untrusted (to the user) websites, and the like. In one embodiment, such untrusted data sources may include virtually any of a variety of web sites accessible within the Internet that are outside of the trusted data sources that have been determined for the user.
Processing next proceeds to decision block 412, where a determination is made whether trusted search results are obtained for the search query. If so, processing proceeds to block 414; otherwise, processing continues with block 420.
At block 414, the trust search results may be ranked. In one embodiment, trust search results may be organized based on a categorization of the obtained trust search results. For example, trust search results may be obtained from explicit relationships, implicit relationships, and/or extended implicit relationships, as described above. Accordingly, in one embodiment, trust search results may be organized based on these or other classifications. In one embodiment, the trust search results may then be weighted based on their respective categories. For example, a trust search result in an explicit classification may be weighted numerically higher than a trust search result in an implicit classification, and further, a trust search result in an implicit classification may be weighted numerically higher than a trust search result in an extended implicit classification.
The weighted results may be further weighted based on the results and the number of updates associated with a particular data source. For example, in one embodiment, a predetermined number of trust search results from a particular source, such as family members, co-workers, etc., may be used. For example, in one embodiment, 1000 updated results from a particular family member may be used, while additional results from the same particular family member may be discarded. In this way, search results that are not 'time-dependent' may be used. However, in another embodiment, the search results may be limited or tied based on a time constraint, such as only retaining search results provided by a particular data source for a previously defined period of time. Thus, the present invention is not limited to a particular mechanism for managing, ordering, and/or weighting trust search results. In summary, the weighted and/or constrained trust search results may then be ranked based on weighting.
Processing then proceeds to a block in which the number and location for determining how many trusted search results are to be displayed and where the trusted search results are to be displayed relative to the untrusted search results is determined. As described further below in conjunction with FIG. 6, each query category has a determined 'best' number and location for displaying trust search results. However, where the search query is classified into multiple different query categories, the trust search results may have different numbers and locations associated with them. Some mechanism may be used to solve this problem. For example, in one embodiment, the largest number and highest location may be selected from a multitude of possible numbers and locations for the query category into which the search query is classified. Other methods may also be used. Thus, the present invention is not limited to a particular mechanism. In summary, the number and location of the trust search results is determined.
Processing next continues to block 418, where the determined number of ranked trusted search results may be displayed at the client device at the determined location relative to the untrusted search results. Thus, in one embodiment, while block 418 is shown as distinct from block 422 discussed below, the invention is not so limited. For example, in one embodiment, blocks 418 and 422 are performed simultaneously.
In summary, processing proceeds to block 420, where the untrusted search results from the untrusted data source may be ranked based on various criteria including, for example, the number of keyword matches to the keywords of the search query, a temporal relationship, a relationship to the user based on a location related to the untrusted search results, etc. Processing then proceeds to block 422, where the ranked untrusted search results (and trusted search results) are displayed to the client device of the searching user. A non-limiting example of such a display will be further described below in conjunction with fig. 7. Processing then returns to the calling process to perform other actions.
FIG. 5 illustrates a logical flow diagram generally showing one embodiment of an overview process for managing trusted content from a user's social networking sites. In one embodiment, the results of process 500 of FIG. 5 may be used to generate trust data store entries (trustdatastores) on a per user basis, which may then be searched in the course of executing block 408 of FIG. 4. Thus, for example, process 500 may be performed within network device 300 in fig. 3.
Process 500 begins at block 502, which follows the start block, where the user's social networking sites, activity streams, etc. are determined. In one embodiment, a default set of social networking sites may be used. For example, in one embodiment, the default set may include, but is not limited to, Twitter, Facebook, Linkedln, and the like. However, in another embodiment, the user may provide a list of preferred social networking sites, activities, etc. for conducting the search. In yet another embodiment, activities detected based on the location of the user's mobile device, online activities, address books, buddy lists, calendars, user profiles, and the like may also be monitored and analyzed to determine a set of social networking sites for the user, and the like.
In summary, processing next proceeds to block 504, where various credentials, usernames/passwords, and other login access information may be obtained for crawling, etc. of various social networking sites. Processing then proceeds to block 506, where the set of social networking sites may be information gathered using the login access information in searching for various social networking activities, profiles of friends, activity streams, and so forth. For example, for Twitter, a direct API may be used that may be used to obtain profiles, activity streams, etc. of friends including message threads, blog information, posts, etc. For Facebook, Linkedln, etc., browser actions may be simulated using, for example, HTTPUnit libraries or the like for form filling to collect information for various websites, activities, etc.
Processing proceeds to block 508 where various pages, profiles, activity stream information, etc. may be extracted from the crawling activity by, for example, examining specific HTML tags, keywords, etc. in the crawled content. However, it should be understood that other mechanisms may be used to examine the content to determine the context of the content as well as other social information. In one embodiment, the amount of information collected and/or subsequently stored in the plurality of trusted data stores when block 510 is performed may be based on various criteria (including, but not limited to, the amount of data for a given data source, a timestamp associated with the data, etc.). For example, in one embodiment, the last 1000 updates generated by a person may be collected, analyzed, and stored in a trust data store. Other quantities may also be collected, analyzed and stored. In another embodiment, updates that are not older than a certain period of time, such as an hour, day, week, etc., may be used. In summary, at block 510, the collected and/or analyzed data may be stored in a plurality of trusted data stores based on data source, timestamp, keyword, or other organizational mechanism. In one embodiment, the stored data is on a per user basis. Processing then proceeds to decision block 512, where a determination is made whether to continue to collect more social networking data for the user. In one embodiment, data collection may be based on a period of time such as hours, days, weeks, months, or the like. In another embodiment, data collection may be based on some other criteria. For example, process 500 may be performed more frequently where it is determined that the user is performing a threshold or more number of searches, and these searches may benefit from current social networking data. In one embodiment, process 500 may also be performed more frequently in the event that it is determined that the various data sources of the user are very active (i.e., above some other threshold) in sending messages, publishing content, etc. Thus, the frequency with which data collection is performed may be set to a default value and/or may be modified based on some criteria. In summary, if it is determined that more social networking data is to be obtained, processing loops back to block 502. It should be noted that in one embodiment, the trusted data store may also include a mechanism for phasing out aged data. That is, social networking data collected before a certain period of time may be considered aging data, or phased out because it is considered outdated and thus less relevant to the user. Various aging or phase-out mechanisms may be utilized and the present invention is not limited to a particular mechanism. In general, if it is determined that no more social networking data is available, process 500 may return to a calling process to perform other actions.
FIG. 6 illustrates a logical flow diagram generally showing one embodiment of an overview process for determining query categories and for selectively displaying trust search results from a search query that differ from non-trust search query results. In one embodiment, process 600 of fig. 6 may be performed within network device 300 of fig. 3.
As mentioned above, there are several types of queries whose social network search results provide less interest or benefit to a searching user than other non-social network search results. For example, for a fact query, such as "where the premier of california is" or "address of Target (Target) Sunnyvale" or "how many people in china" or the like, a searching user may not want to see social network search results. This is simply because searching for users is actually looking for information that generally does not change based on the user's social network. Thus, providing social networking or trust search results for such queries may actually provide less value to the searching user and may even cause dissatisfaction. However, for other types of queries, it may be determined that social network search results provide more relevance to the searching user. For example, in the case of a review query, such as "tell me reviews about movie X" or product reviews, etc., it may benefit from social network search results. Similarly, active queries may also benefit from social network search results. Examples of activity queries may include "weekend," "skiing in tower Huo," "riding a bike on a mountain," and so forth. Thus, whether and/or how much social network search results are provided may be based on the type or classification of the query.
Thus, process 600 is directed to determining the number of social network results that may be shown based on a given query category. Moreover, because social network results may be more relevant than other untrusted search results for a given particular query category, the display location on the web page of the trusted search results relative to the untrusted search results is also determined by process 600.
Accordingly, the process 600 begins at block 602, which follows the start block, with a default number of trust results and a default location to display the trust results set at block 602. In one embodiment, the default value may be set substantially independent of the query class. Thus, for example, for any query category, i.e., a query category for which trust search results have been determined to be displayed (e.g., excluding the factual query category), a maximum of 2-4 trust search results may be displayed by default. However, other values may be selected. In one embodiment, the location of the trust search result may be set by default to the first search result to be displayed in the first page of web page search results. Thus, the default 2-4 trusted search results may be displayed first, followed by the untrusted search results.
Further, in one embodiment, trust search results may be visibly and uniquely identified as a trust data source from the user. Trusted search results may be visibly and uniquely identified using a variety of mechanisms, including but not limited to placing a box around the results, uniquely marking the trusted search results, using different colors, font sizes, font types, providing a trusted data source icon, and the like. In one non-limiting example, as shown in FIG. 7, the trusted data source icons 720-722 and 730-731 are illustrated as being uniquely able to discern and identify the search results shown as trusted search results, and further identify their trusted data sources. As can be seen, the untrusted search results 708 of fig. 7 do not include such a trusted data source icon.
In summary, returning to process 600, a plurality of query categories are determined at block 604. The determination of the plurality of query categories may be implemented using any of a variety of mechanisms including statistical analysis of a plurality of online behaviors, various dictionary analysis mechanisms, and the like. In one embodiment, each query category is further identified as at least an untrusted based query category or a trusted based query category, such as the fact-based, comment-based examples and activity-based examples discussed above.
It should be noted that although block 602 identifies a default number and location of trust-based query category searches, the present invention is not limited to performing such actions prior to determining multiple query categories. For example, the default number and location may be further refined in performing block 604. For example, at block 604, both the number and the location may be set to zero based on the untrusted query class. For review query categories, the default number may be set to 3-7; while the default number may be set to 3-5, etc., based on the query category of the activity. Similarly, for a comment query category, the default location may be zero (or one), which reflects that a trusted search result is displayed before or on an untrusted search result. For other query categories, different locations may be used, including adjusting the default value to four to display the trusted search results in the middle of the web page, between the untrusted search results, and even at the bottom position where the trusted search result is placed on the first page search result (e.g., 11, etc.). Other values may also be selected. Further, it should be noted that although only activity and review based query categories are discussed herein, the present invention is not limited to only these query categories, and other query categories may be used.
In summary, processing then proceeds to block 606, where an analysis is performed to determine an optimal number and location to display the trust search results based on a plurality of user feedback for each determined query category. The term "best" as used herein refers to an output that satisfies a given test, such as will be described below.
Thus, for each query category, various trusted and untrusted search results are displayed to a plurality of different search users. Monitoring is then performed to determine various click rates for the displayed trusted and untrusted search results. At block 608, the tracked click-through rates are aggregated, and at block 610 the aggregate rate for each query category is used to calculate number and location. Processing continues with decision block 612 to determine whether to continue the analysis based on whether the optimal number and location have been determined. If an optimal number and position are not determined, the process returns to block 614 where the number and/or position values are adjusted. Processing then returns to block 606 to continue collecting click rates for analysis. If at decision block 612 the optimal number and location are determined, processing proceeds to decision block 616.
At decision block 616, a determination is made whether to update the number or location of query categories. If so, processing returns to block 606; otherwise, processing proceeds to decision block 618.
At decision block 618, a determination is made whether to modify the determined plurality of query classes. The determination may be based on various criteria including additional analysis of existing query categories, user feedback, and the like. In summary, if the determined plurality of query categories are to be updated, processing returns to 604; otherwise, processing returns to the calling process to perform other actions.
As described above, process 600 may be performed concurrently to determine the number and location of query categories. However, in another embodiment, the process 600 may loop first to determine the number of trust search results for the query category, for example, and loop again to determine the location of the query category. Thus, for example, the following represents an improvement over process 600, and in particular blocks 606, 608, 610, 612, and 614.
In another embodiment, the location may be determined first. First, the display may only show one trust search result for a given query classification at a fixed location (e.g., location N). In one embodiment, for example, N may be four to display the trust search results in the middle of the web page of the search results.
Then, if it is determined that the search result at location N +1 is clicked more than the trust search result at location N based on the tracked click-through rate, it may be determined that the user's rating for location N +1 is higher than the rating for the location of the trust search result. Accordingly, the location of the trust search result is modified (block 614) to move the trust search result one location down the web page. The trust search result is now displayed at location N + 1. Through the loop of blocks 606, 608, and 610, additional click-through rates may be obtained for trusted search results for location N +1 and untrusted search results for location N +2, among others. In one embodiment, the analysis may indicate that if the click-through rate for location N +2 is higher than the click-through rate for the trust search result displayed at location N +1, the trust search result may be moved further down.
On the other hand, if it is determined that the click-through rate of the untrusted search results for location N-1 is lower than the click-through rate of the trusted search results for location N, it may be determined that the trusted search results are more valuable to the user and should be moved up the displayed location on the web page, such as to location N-1. The above modifying and tracking click-through rates may be performed through a number of cycles until the location K of the trusting search result is determined at decision block 612, such that the click-through rate of the distrust search result at location K-1 is higher than the click-through rate of the trusting search result at location K, which in turn is higher than the click-through rate of the distrust search result at location K + 1. Processing may then continue to determine the number of trust search results to be displayed beginning at the determined optimal location K.
Thus, after determining location K, the process may begin with displaying N trust search results. In one embodiment, N may be initially set to three, again starting from position K, as determined above. Other values for N may be selected.
Processing returns to block 606, click rates are collected at block 606, aggregated at block 608, and the following analysis is performed at block 610. If it is determined that the click-through rate of the Nth trust search result is higher than the click-through rate of the search result of the next location, it may be determined that the Nth trust search result is more valuable to the searcher than the next search result of the next location. Thus, at block 614, the number of trust search results displayed may be increased to N + 1. If the click through rate of the Nth trust search result is lower than the click through rate of the search result of the next location, it indicates that the trust search result at location N is less valuable to the searcher than the search result of the next location. Thus, the number of trust search results may be reduced to N-1. These actions may be performed again until it is determined that the number of trust search results is N, the click-through rate of the trust search result at location N is higher than the click-through rate of the search result displayed at the next location, and if the number of trust search results is increased to N +1, the click-through rate of the N +1 th trust search result is lower than the click-through rate of the next search result. In this way, the optimal number of trust search results for a given query category may be determined to be N.
It should be understood that other mechanisms may be used to determine the number and location of a given query class and that the invention is not limited to a particular method.
In summary, as mentioned at decision block 616, the number and/or location of given query categories can be updated periodically (e.g., every few months, weeks, etc.) to adjust the value based on changes in the searcher's opinion, social and/or other events, etc.
It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions, which execute on the processor, create means for implementing the actions specified in the flowchart block or blocks. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer implemented process such that the instructions, which execute on the processor, provide for implementing the actions specified in the flowchart block or blocks. The computer program instructions may also cause at least some of the operational steps illustrated in the flowchart blocks to be performed in parallel. Moreover, some of the steps may also be performed on more than one processor (e.g., multiple processors in a multi-processor computer system). Furthermore, one or more blocks or combinations of blocks in the flowcharts may be performed concurrently with other modules or combinations of modules, or even in a different order than illustrated, without departing from the scope or spirit of the present invention.
Accordingly, blocks of the flowchart support combinations of means for performing the specified actions, combinations of steps for performing the specified actions and program instruction means for performing the specified actions. It will also be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based systems which perform the specified actions or steps, or by combinations of special purpose hardware and computer instructions.
Non-limiting examples of search results with trusted search results
FIG. 7 illustrates a non-limiting and non-exhaustive example of a screen display of search query results showing trusted search results that differ from untrusted search query results. Display screen 700 may include more or fewer components than those shown in fig. 7. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the present invention.
As shown in display 700, search results for a given search query are displayed. In particular, trusted search results 702, 704, and 706 are displayed in the above display, and they are different from untrusted search results 708. That is, as shown in FIG. 7, trusted data source icons 720 and 730 and 731 are shown to uniquely identify and identify the shown search results as trusted search results and further identify their trusted data sources. As can be seen, the untrusted search results 708 of fig. 7 do not include such a trusted data source icon.
As further illustrated, the trust search result illustrates the trust search result 702 as a result obtained from searching through various apparent relationships of the user. Trust search results 704 represent results obtained from searching the user's various implicit relationships, and trust search results 706 represent results obtained from various extended implicit relationships. That is, the trust search results 706 represent results from a group that has been determined to be relevant to the search query, but the searching user is not a member thereof. However, a person with a first degree of separation from the user may be a member of the group. Thus, as shown, the trust search results 702, 704, and 706 may be ordered based on the trust data source, e.g., explicit relationships over implicit relationships, implicit relationships over extended implicit relationships. Further, in one embodiment, trust search results 702, 704, and 706 may be sorted within each grouping and ordered based on time/date stamps. It should be noted that five trust search results are displayed starting at the top position of the web page for displaying the search results. However, the number and location may be different for different query categories. Thus, the present invention is not limited by the number and location shown in FIG. 7.
Although in one embodiment, the number and location may be used to place trust search results, other techniques may be used to cause an additional number of trust search results to be displayed. For example, in one embodiment, optional scrollbar 714 may be used to view trusted search results independent of untrusted search results 708. In this way, a greater number of trust search results may be made available for a given location on a web page.
Also shown in display 700 is a trust data source 710. Other trusted data sources may be displayed. Also note is a trust data source 712 that represents a user definable trust data source. It should be noted that while only one user definable trust data source is shown, the invention is not so limited and more trust data sources may be added by the user.
In one embodiment, the searching user may select any or all of the displayed trusted data sources 710 so that those non-selected trusted data sources will have their respective trusted search results removed from the display 700. For example, if the searcher deselects the Facebook trust data source, the corresponding trust search results that were obtained for display in trust search results 702, 704, and 706 will be removed from the display. In one embodiment, trust search results from the selected trust data source are added to the displayed list based on the determined optimal number for a given query category.
The above specification, examples, and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Claims (8)
1. A network device that performs a search over a network, comprising:
means for receiving a search query from a searching user;
means for classifying the search query into at least one query category of a plurality of query categories;
means for performing a search on a plurality of untrusted data sources using the search query to obtain a plurality of untrusted search results;
means for selectively performing another search on a plurality of trusted data sources using the search query to obtain a plurality of trusted search results;
means for determining a number and a location for selectively displaying the plurality of trust search results based on the at least one query category of the search query; and
means for selectively displaying the plurality of trusted search results distinct from the display of the plurality of untrusted search results, wherein the selectively displayed plurality of trusted search results includes information indicating a source of each trusted search result within the trusted social network sources;
wherein the plurality of query categories includes at least one of a factual query category, a commenting query category, and an active query category, and wherein display of the trust search results is inhibited if the search query is determined to be the factual query category.
2. The network device of claim 1, wherein the plurality of trusted search results are further categorized based on a social network source of each trusted search result, wherein the categorization comprises at least one of an explicit source, an implicit source, or a trusted source of which the searching user requesting the search is not a member.
3. The network device of claim 1, wherein the search user is provided with a user interface to selectively display a subset of the plurality of trust search results based on a trust data source associated with the trust search result.
4. The network device of claim 1, wherein each query category has a number and a location for selectively displaying the plurality of trust search results, and wherein the number and the location of each query category is determined by:
tracking a plurality of click-through rates from a plurality of search query users on a plurality of trust results;
aggregating click-through rates on each of the tracked plurality of query categories;
determining an optimal number and location for each of the plurality of query categories using feedback of a search query user, wherein the feedback of the search query user indicates a number and location for which a selection of a most frequent number represented in part by the aggregated tracked click-through rates is made.
5. The network device of claim 1, wherein the plurality of trust data sources comprises at least one of a plurality of social networking websites or a plurality of messages from at least one of friends or family members of the search user.
6. A method of performing a search over a network, comprising:
receiving a search query from a searching user;
classifying the search query into at least one query category of a plurality of query categories;
performing a search on a plurality of untrusted data sources using the search query to obtain a plurality of untrusted search results;
performing another search on a plurality of trusted data sources using the search query to obtain a plurality of trusted search results;
determining a number and a location for selectively displaying the plurality of trust search results based on at least one query category of the search query; and
selectively displaying the plurality of trusted search results distinct from the display of the plurality of untrusted search results, wherein the selectively displayed plurality of trusted search results includes information indicating a source of each trusted search result within the trusted social network sources;
wherein the plurality of query categories includes at least one of a factual query category, a commenting query category, and an active query category, and wherein display of the trust search results is inhibited if the search query is determined to be the factual query category.
7. The method of claim 6, wherein the plurality of trust data sources comprises at least one of a plurality of social networking websites or a plurality of messages from at least one of friends or family members of the search user.
8. The method of claim 6, wherein the plurality of trust search results are ordered based on a defined number of information updates specified for a given trust data source.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/764,818 | 2010-04-21 | ||
| US12/764,818 US8880520B2 (en) | 2010-04-21 | 2010-04-21 | Selectively adding social dimension to web searches |
| PCT/US2011/033318 WO2011133716A2 (en) | 2010-04-21 | 2011-04-20 | Selectively adding social dimension to web searches |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1179710A1 HK1179710A1 (en) | 2013-10-04 |
| HK1179710B true HK1179710B (en) | 2016-11-25 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102859524B (en) | Optionally add a social dimension to web search | |
| US9367618B2 (en) | Context based search arrangement for mobile devices | |
| US8468158B2 (en) | Adaptive weighted crawling of user activity feeds | |
| US8195656B2 (en) | Social network search | |
| US8838564B2 (en) | Method to increase content relevance using insights obtained from user activity updates | |
| US8112393B2 (en) | Determining related keywords based on lifestream feeds | |
| US20110173198A1 (en) | Recommendations based on relevant friend behaviors | |
| US20130304731A1 (en) | Behavior targeting social recommendations | |
| US20120316972A1 (en) | Intelligent feature expansion of online text ads | |
| US20100114938A1 (en) | Search results for a topic that include a list of messaging users that have previously searched on that topic | |
| CN101675432A (en) | Enabling clustered search processing via text messaging | |
| US8489590B2 (en) | Cross-market model adaptation with pairwise preference data | |
| US9189508B2 (en) | Inferring relevance based on user interactions with email | |
| US7693907B1 (en) | Selection for a mobile device using weighted virtual titles | |
| KR101473076B1 (en) | Selectively adding social dimension to web searches | |
| HK1179710B (en) | Selectively adding social dimension to web searches | |
| HK1141878B (en) | Enabling clustered search processing via text messaging |