US20110106895A1 - Social search engine - Google Patents
- ️Thu May 05 2011
US20110106895A1 - Social search engine - Google Patents
Social search engine Download PDFInfo
-
Publication number
- US20110106895A1 US20110106895A1 US12/915,624 US91562410A US2011106895A1 US 20110106895 A1 US20110106895 A1 US 20110106895A1 US 91562410 A US91562410 A US 91562410A US 2011106895 A1 US2011106895 A1 US 2011106895A1 Authority
- US
- United States Prior art keywords
- candidate
- answerer
- question
- answer
- answerers Prior art date
- 2009-10-30 Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 abstract description 14
- 238000003860 storage Methods 0.000 abstract description 14
- 238000004891 communication Methods 0.000 description 16
- 238000009826 distribution Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000004043 responsiveness Effects 0.000 description 4
- 230000000699 topical effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 235000015114 espresso Nutrition 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 241000282836 Camelus dromedarius Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 206010024796 Logorrhoea Diseases 0.000 description 1
- 241001122315 Polites Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- This specification describes technologies relating to question and answer services.
- the village paradigm In a village, knowledge dissemination is achieved socially—information is passed from person to person, and the retrieval task consists of finding the right person, rather than the right document, to answer a question.
- the users may be provided with an opportunity to opt in/out of programs or features that may collect personal information (e.g., information about a user's preferences or a user's current location).
- personal information e.g., information about a user's preferences or a user's current location.
- a user may also be informed of the accompanying limitations on the functionality of a service that may result from limiting access to such personal information.
- certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed.
- a user's identity may be anonymized so that the no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, zip code, or state level), so that a particular location of a user cannot be determined.
- some users may not want to be associated with a certain topic for which they provide answers. In these cases, the users' privacy can be protected by providing minimal or no information that would identify the users. Moreover, users can control
- one innovative aspect of the subject matter described in this specification can be embodied in methods that include the actions of receiving a question from an asker in which the question is associated with one or more topics; ranking candidate answerers based at least partly on each answerer's respective relationship to the asker and a respective probability that the answerer will provide a satisfactory answer to the question; sending the question successively to groups of one or more candidate answerers according to the ranking until an answer is received from a particular one of the candidate answerers; and sending to the asker the received answer and information that identifies the particular answerer.
- Other embodiments of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
- Ranking candidate answerers can be based at least partly on a time of day and whether a candidate answerer in the candidate answerers has been historically active during the time of day or prefers not to be contacted during the time of day.
- Ranking candidate answerers can be based at least partly on a whether a candidate answerer is in the candidate answerers is online.
- Ranking candidate answerers can be based at least partly on whether the potential answer has been contacted in a recent time period or a contact frequency preference of the candidate answerer. Identification of another potential answer can be received from a candidate answerer and the question can be sent to the other candidate answerer.
- the respective relationship of a candidate answerer to the asker can be based at least partly a degree of social indirection between the two.
- One or more message formats appropriate for the one or more candidate answerers in the group can be selected and the question can be sent using the selected message formats.
- the message format can be an instant message, electronic mail, a blog post, a short message service message, a posted comment, a micro-blog post, a wall post, or other social network message.
- the message format for a candidate answerer in the group can be selected based at least partly on the time of day.
- the message format for a candidate answerer in the group can be selected based at least partly on a likelihood that the candidate answerer will provide an answer based at least partly on the message format.
- the information can include a description of a relationship between the asker and the particular answerer.
- Ranking candidate answerers can further comprise selecting one or more candidate answerers based on topics associated with the selected candidate answerers.
- users can ask a question, either by instant message, email, web input, text message, or voice, for example.
- the system then routes the question to a person in the user's social affinity group most likely to be able to answer that question.
- Potential answerers may choose not to answer a question in order to protect their privacy, or they may choose to answer but opt to provide only minimal or no information that identifies them to others.
- the challenge in a social search engine is to find the right person to satisfy a user's information need.
- trust in a traditional search engine can be based on authority
- trust in a social search engine trust is based on intimacy.
- Other advantages include the ability to ask questions in natural language, the ability to receive a useful answer even if the question does not include identifiable or relevant topics, and the ability to receive more information than a specific answer to a question.
- FIG. 1A illustrates an example graphical user interface for interacting with an asker.
- FIG. 1B illustrates an example graphical user interface for interacting with an answerer.
- FIG. 1C illustrates another example graphical user interface for interacting with an answerer.
- FIG. 1D illustrates an example graphical user interface for obtaining permission to insert an affiliate link in an answer.
- FIG. 1E illustrates an example graphical user interface for providing search results and answers in response to queries.
- FIG. 2 is a schematic diagram of an example social search engine system.
- FIG. 3 is a flowchart of an example technique for providing a question to an answerer.
- FIG. 4 is a flowchart of an example technique for providing an affiliate link in an answer.
- a social affinity group of a user is a group of other users with whom the user has relationships known by a system.
- the relationships can be implicit or explicit, and in either case the relationships identify the group of users and the user as a proper subset of users of a network.
- Examples of groups identified by explicit relationships include users belonging to a “friends lists” of a user in a social network, users that are “linked to” a user in a professional network, and users that otherwise explicitly identify themselves as belonging to a group so as to form a group that is distinct from the larger group of all users.
- Other types of explicit relationships are possible.
- Examples of groups identified by implicit relationships include users located near a common location (e.g., users within a predefined distance of a city center), users that have opined on a particular product or article (e.g., users that have provided a review for a particular product) and users that are otherwise implicitly identified so as to form a group that is distinct from the larger group of all users.
- Other types of implicit relationships are possible.
- a degree of social indirection between a user and a member of the user's social affinity group is a number of intermediate relationships between the two.
- the degree of social indirection is 0 if the member is the user's friend, 1 if the member is a friend of a friend of the user, 2 if the member is a friend of a friend of a friend of the user, and so on.
- implicit relationships and combinations of implicit and explicit types of relationships If two users have a degree of social indirection between them that is greater than zero, the nature of their relationship may depend on the nature of their relationships with users to whom they are both related.
- user A and user B have a degree of social indirection of 4 and both user A and user B have a relationship with user C
- user C has a lower degree of social indirection to user A than user A has to user B
- user A's trust of user B could be based on user B's relationship with user C. That is, if user B also has a close relationship to user C than user A is more likely to trust answers from user B.
- Other types of measures of social indirection are possible.
- FIG. 1A illustrates an example graphical user interface (GUI) 100 for a user to pose questions and receive answers to questions from members of the user's social affinity group.
- Software implementing the GUI 100 can execute on a client device which is a data processing apparatus such as, for example, a personal computer, a smart phone, a tablet computer, a laptop computer, and so on.
- the GUI 100 can be presented by a web browser or by other software executing on the client device.
- Input to the GUI 100 can be by way of a physical or virtual keypad, voice, or video, for example.
- Other GUIs are possible, including GUIs for instant messaging, electronic mail, micro-blogging, and short message service, for example.
- a software application can register with one or more instant messaging services as a user.
- Such automated users of instant messaging services are commonly referred to as “bots”. Users who have the bot in their contact list for a particular instant messaging service can send the bot questions.
- the bot can interact with the system (see FIG. 2 below) in order to convey the question to the system and relay the answer from the system to the user.
- a user Bob submits a question to the system as shown in 104 .
- the question is submitted as text, voice, video, or a combination of these.
- the question can also include one or more attachments, such as images, sound recordings, video, or documents, for example.
- the system responds with message 106 indicating that the system is looking for someone in Bob's social affinity group who can answer the question.
- message 106 indicating that the system is looking for someone in Bob's social affinity group who can answer the question.
- Messages to users from the system 200 are generated by the conversation manager 206 , described further below in reference to FIG. 2 .
- Notice that the system has identified a topic 106 a of the question.
- the system can identify one or more topics for each submitted question. Topic identification is described further below.
- the system identifies members of Bob's social affinity group who have a level expertise in the identified topic(s) and who are likely to provide an answer as potential answerers.
- One or more of the potential answers are contacted by the system over communication channels (e.g., instant message, electronic mail, blog post, short message service message, and so on) appropriate for the potential answer.
- communication channels e.g., instant message, electronic mail, blog post, short message service message, and so on
- An example of an interaction with a potential answer is described in relation to FIG. 1B , below.
- the system presents message 108 which includes the answer along with, in some implementations, information identifying the answerer as a member of the user's social affinity group.
- Answers can come from members of the user's social affinity group that have different relationships to the asker. For instance, one answer may come from someone with only a distant social connection to the asker (i.e., a high degree of social indirection); a second answer may come from a co-worker; and a third answer may come from a friend-of-friend-of-friend.
- the information identifying the answerer in the answer includes the answerer's full or partial name 108 a , the answerer's age, their location 108 b (e.g., city, state, country, region, and so on), and a description of a social affinity group relationship between the asker and the particular answerer 108 c .
- the description of a social affinity group relationship between the asker and the particular answerer identifies a friend in common that the asker is closest to (from a social indirection standpoint).
- Some or all of the information describing the answerer can be omitted (e.g., at the request of the answerer), but providing this information can facilitate trust in the answer.
- the question was answered by Julia Thompson who is in San Francisco and is a friend of the user's friend John Smith.
- askers and/or answerers can opt-in or opt-out of providing information with their messages that would identify them.
- askers and/or answerers can limit the amount of identifying information that is provided with their messages. By limiting the identifying information to a user's initials, their state, and a level of social indirection (e.g., “K. from California is a friend of a friend of yours”), for example, users can strike a balance between maintaining their anonymity and gaining the trust of the recipient of their message.
- the system allows the user to communicate directly with the answerer in order to, for example, thank the answerer, request clarifying information or follow-up with another question ( 110 ).
- the conversation manager 206 described below, facilitates such communication.
- the system maintains a tone of voice which is friendly, polite, and appreciative. The system relies upon the goodwill and interest of its users, so it is important to demonstrate the kind of (linguistic) behavior that can encourage these sentiments, in order to set a good example for users to adopt.
- FIG. 1B illustrates an example GUI 120 for interacting with an answerer.
- Software implementing the GUI 120 can execute on a client device, for example.
- the GUI 120 can be presented by a web browser or by other software executing on the client device.
- Input to the GUI 120 can be by way of a physical or virtual keypad, voice, or video, for example.
- Other GUIs are possible, including GUIs for instant messaging, electronic mail, micro-blogging, and short message service, for example.
- a candidate answerer for a question is selected based on the potential answer's membership in the question asker's social affinity group and one or more topics for the question, for example. (Selection of potential answers is described further below.) In this illustration, the system has identified Julia Thompson as one of the candidate answerers.
- the system presents Julia with the message 124 which asks if she is available and able to answer a question regarding the identified topic(s) of the question which, in this instance, includes the topic “hiking” 124 a .
- Julia is given the options to answer (e.g., by typing or speaking “sure”), not answer (e.g., by typing or speaking “pass”), or forward the question to someone else in Julia's or the asker's social affinity group (e.g., by typing or speaking “forward”).
- Julia has typed “sure” 126 indicating that she is willing to answer the question regarding hiking.
- There is no shame in “passing” or “forwarding” a question since nobody else knows that the question was sent to the potential answerer.
- there is no social cost to the user in asking a question since the user is not directly imposing on a friend or requesting a favor; rather, the system plays the role of the intermediary who bears this social cost.
- a key benefit of this interaction model is that the available set of candidate answerers is not just whatever users happen to be online at the time a question is posted, but rather, the entire set of members of a user's social affinity group that the system has contact information for. Because this kind of “reaching out” to candidate answerers has the potential to become an unwelcome interruption if it happens too frequently, in some implementations the system sends such requests usually less than once a day to a given candidate answerer. In further implementations, users can easily change their contact settings, specifying preferred frequency and time-of-day for such requests.
- the question includes information describing the asker such as the asker's name 128 a , age, and location 128 b .
- the description of a social affinity group relationship between the answerer and the particular asker is provided. This information can include a friend in common that the answerer is closest to (from a social indirection standpoint).
- the information can also include the social relationship between the asker and the answerer.
- the potential answerer can ask the system 130 why they were chosen to answer the question (e.g., by typing or speaking “Why?”) and indicate a preference to the system that they do not want such questions in the future.
- This is like the real-world model of social information sharing: the person asking a question, or the intermediary in the system's role, is careful not to impose too much upon a possible answerer.
- the system responds with detailed information 132 regarding why the candidate answerer was chosen.
- This information 132 can include the social relationship between the candidate answerer and the asker (“Bob is a friend of your friend Sally Johnson”), the relevance of the question's topic(s) to the candidate answerer (“You know a lot about hiking and San Francisco”), and identification of similar interests between the asker and the answerer (“You and he have similar interests in sports.”), for example.
- the candidate answerer can still decline to answer or forward the question to another user if they so desire.
- Julia then provides an answer 134 to the question which is routed by the conversation manager 206 to the asker (e.g., Bob; see 108 in FIG. 1 ).
- the answer can include one or more of text, a Uniform Resource Locator (URL), an image, audio content, a video, an attached file, and other content, for example.
- the system presents a message 136 thanking Julia for answering the question (and acknowledging if she had answered the question quickly). Julia can then correspond directly with the asker Bob, if she so chooses, by typing or speaking his name followed be a message.
- a user can participate in multiple question and answer conversations simultaneously. In these implementations, the multiple conversations could be visually separated (e.g., in separate windows) in a graphical user interface so that the user would not need to explicitly tell the system who they wish to communicate with.
- FIG. 1C illustrates another example GUI 140 for interacting with an answerer.
- One flow involves the system sending a candidate answerer a message (as illustrated above in regards to FIG. 1B ).
- a secondary flow of answering questions is similar to bulletin-board style interactions: a user sends a message to the system (e.g., “try”), and the system presents the user with a recent question from their social affinity group which has not yet been answered and is related to topics for which the user has expertise.
- This mode involves the user initiating the exchange when the user is in the mood to try to answer a question; as such, it has the benefit of an eager candidate answerer.
- the GUI 140 includes a sampling of topics 142 a - c .
- the topics are selected in order to develop information regarding the expertise of the user. For example, if a user has indicated that they have expertise in topic A but has not answered any questions related to this topic in a recent time frame or ever, the sampling of topics can include topic A so that the system can identify if the user is still willing to answer questions regarding topic A.
- Selection of a topic e.g., topic 142 b “cafes” causes the presentation of a question 144 for the topic and, optionally, information that identifies the particular asker.
- the information can include the asker's name (“Angela Smith”) and their social relationship to the answerer (“a friend of your friend Mike Jones”), for example. Other information such as the asker's age and location can be included.
- any or all of the information identifying the asker can be omitted.
- the user can submit an answer to the question 144 by selecting the Answer button 146 a .
- the user can inform the system of another who is better able to answer the question by selecting button 146 b .
- the user can decline to answer the question by selecting button 146 c .
- the user can answer as many questions as they like. In such implementations the sampling of topics can change over time as questions are answered.
- FIG. 1D illustrates an example GUI 150 for obtaining permission to insert an affiliate link in an answer.
- the GUI 150 allows the system to insert one or more affiliate links in an answer if permission is given by the answerer.
- the system can automatically insert one or more affiliate links into the answer without obtaining permission from the answerer.
- affiliate marketing a content provider is compensated when a customer that it delivered to a merchant website makes a purchase after linking from the content provider's website or application (as opposed to, for example, returning to the merchant website a week later to make a purchase, in which case the content provider receives no commission). This allows web merchants to efficiently market and sell goods in cooperation with content providers or other business partners, referred to herein as “affiliates.”
- a content provider can enroll as an affiliate, and can then disseminate hyperlinks (or other types of interactive links) containing affiliate tags.
- Content providers publish hyperlinks (or other types of interactive links) containing affiliate tags that allow potential customers to link to the merchant's website to initiate purchases of products or services from the merchant.
- affiliate tags allow merchants to identify the website or software application of origin for users who execute a purchase and compensate the associated affiliate.
- the affiliate tag includes a unique identifier of the affiliate (e.g., assigned upon enrollment) and, optionally, the unique identifier of the selected product or service. Software implemented on the merchant website uses this information to identify the affiliate that referred the customer to the merchant site.
- software automatically credits the referring affiliate for the referral by, for example, applying a commission to an affiliate account.
- the referral commission can be automatically generated based on a fixed percentage of the merchant's selling price, and is paid to the affiliate electronically on a periodic basis, for instance.
- an answerer has provided an answer 152 to question 144 .
- the question can be provided to the user as described above in relation to FIGS. 1B and 1C , for example.
- the system identifies one or more entities (i.e., products, services, company names, merchant names) referred to in the answer.
- An entity can be referred to by natural language text (e.g., “Nikon D3X”) or the entity can be referred to by a URL (http://www.nikon.com/25442/D3X.html), for example.
- An entity can be specific or general.
- an entity can identify a specific product, service, and/or company (e.g., “Joe & John's dark roast espresso”) or the entity can be general (e.g., “espresso”). If the entity is specific, it can be linked to a resource (e.g., a merchant's website or application that sells the particular product or service). Otherwise, the entity can be linked to a resource that sells the category of product or service identified by the entity.
- the system has identified the company “Café Bébé Lapin” in the answer 152 .
- other content besides a link to a resource can be inserted in an answer such, for example, a map showing the location of the entity, user or customer ratings of the entity, images and video for the entity or the entity's products/services, and so on.
- the system asks 152 the answerer if a link to the entity can be inserted into their answer before the answer is delivered to the asker.
- the answerer can approve the link assertion by selecting the button 156 a , or decline the link insertion by selecting button 156 b . If the link is allowed to be inserted, it is inserted with an affiliate code so that the system will receive credit for the referral if the asker selects the link and purchases the product or service. If an entity is referred to by a URL in the answer, the system can add an affiliate code to the URL.
- the answer returned to the asker can include one or more words in the answer highlighted (e.g., underlined) indicating that they are linked to a corresponding entity (e.g., product or service) on a merchant website, or the answer can include a separate advertisement for a merchant that sells the entity. For example, the word “espresso” would be highlighted in the answer 152 returned to the user.
- User selection of the linked words or the advertisement will cause the user's application (e.g., web browser or other software application) to present the merchant's website with the entity in question.
- the answerer if the answerer has given permission to insert the affiliate link, the answer will indicate such to the asker. This may make it more likely that the asker will select the affiliate link knowing that the answerer, who has a social connection to them, approved the link.
- affiliate links are described further below.
- FIG. 1E illustrates an example GUI 160 for providing search results and answers in response to search engine queries.
- Software implementing the GUI 160 can execute on a client device, for example.
- the GUI 160 can be presented by a web browser or by other software executing on the client device.
- Input to the GUI 160 can be by way of a physical or virtual keypad, voice, or video, for example.
- Other GUIs are possible.
- a user submits a query 162 “san francisco hotel pets” to a search engine through the GUI 160 in order to find pet friendly hotels in San Francisco.
- the search engine can be an interne search engine or another type of system that can respond to queries.
- Search results 164 responsive to query 162 “san francisco hotel pets” are presented to the user in the GUI 160 .
- search result 166 is for the Hotel Nippon San Francisco and includes a snippet of information about the hotel include the URL of the hotel's website.
- search result 170 is for the Hotel Dalton.
- Search result 168 is a previously submitted answer to a question that was deemed related to the topics of the search query 162 .
- an explanation 172 is included in the answer 168 as to why the answer was deemed relevant to the search query 162 .
- the explanation includes the original question with relevant topics highlighted: “hotel” 168 c , “San Francisco” 168 d , and “pets” 168 e .
- the answer 168 can include information 168 a that identifies the user who answered the question if, for example, the answerer is in the social affinity group of the user who submitted the query 162 .
- the answer 168 can also include affiliate links (e.g., affiliate link 168 b which is a hyperlink to the website of the Metro Inn hotel).
- FIG. 2 is a schematic diagram of an example social search engine system 200 .
- the system includes one or more client devices (e.g., client devices 202 a - 202 c ), software components (e.g., transport layer 214 , question analyzer 204 , conversation manager 206 , routing engine 208 , search result processor 210 , affiliate link generator 212 , crawler/indexer 227 and classifiers 216 ), and one or more data stores (e.g., question and answer archive 218 , forward index 220 , inverted index 222 , and social graph 224 ).
- the client devices are data processing apparatuses such as, for example, personal computers, smart phones, tablet computers, laptop computers, and so on.
- a software component is a computer program or module that can be executed by one or more data processing apparatuses in which the data processing apparatuses can be communicatively coupled by one or more networks.
- Data processing apparatuses that execute the software components can reside in different locations.
- software components can be combined into fewer components or divided into additional components.
- the data stores comprise computer storage media coupled directly or indirectly (through one or more networks) to one or more of the data processing apparatuses that execute the software components.
- the data stored on the data stores can be stored in fewer data stores or stored in additional data stores.
- the crawler/indexer 227 can perform a number of indexing steps for a new user in order to be able to direct appropriate questions to the user for answering. Because questions will be routed to members of the user's social affinity group, the first step involves indexing social affinity group information.
- the data structure responsible for this is the social graph 224 .
- a new user has the option of connecting to commercial social affinity groups and importing members and relationships from the social affinity group into the social graph 224 , or manually adding members and relationships to the social graph 224 .
- the crawler/indexer 227 indexes this information and stores it in the social graph 222 , which in some implementations can be a fixed width Indexed Sequential Access Method (ISAM) index sorted by user identifier.
- IAM Indexed Sequential Access Method
- the crawler/indexer 227 can also index the topics about which the new user has some level of knowledge or expertise.
- topical expertise can be garnered from one or more of the following sources shown in TABLE 1. Other sources of topical expertise are possible.
- Topics extracted from the user's status message updates for their social affinity group, and from the messages they send to members of their social affinity group.
- Topics extracted from images or videos associated with the user e.g., posted to the user's social affinity group). For example, a picture or video a foreign landmark could imply an interest in travel or the city of the landmark.
- Topics can be extracted, for example, by associating objects identified in images with topic categories. Topics gleaned from articles or web pages linked to by the user.
- the crawler/indexer 227 uses web content not as a source of existing answers about a topic, but rather, as an indicator of the topics about which a user is likely able to give new answers on demand. In essence, this involves modeling a user as a content-generator, with probabilities indicating the likelihood that the user will respond to questions about given topics.
- Each topic t associated with a user u has an associated score, depending upon the confidence appropriate to the source of the topic.
- the crawler/indexer 227 learns over time which topics not to send a user questions about by keeping track of cases when the user: (1) explicitly “mutes” a topic; (2) declines to answer questions about a topic when given the opportunity; (3) receives negative feedback on his answer about the topic from another user.
- the set of topics associated with a user is recorded in the forward index 220 , which stores for each user, a scored list of topics, and a series of further scores about a user's behavior (e.g., responsiveness or answer quality).
- the crawler/indexer 227 constructs an inverted index 222 .
- the inverted index 222 stores each topic and a scored list of users that have expertise in that topic.
- the inverted index 222 stores scored lists of users for features like answer quality and response time.
- a user (or “asker”) of a client device begins by posing a question to the system 200 through GUI 100 or through an instant messaging service bot, for example.
- the question is sent from the client device 202 b to the transport layer 214 , where it can then sent to the conversation manager 206 .
- the transport layer 214 converts message formats to and from their external representation (e.g., electronic mail, short message service, instant message, and so on) to a normalized internal representation.
- the conversation manager 206 determines that the message is a question
- the conversation manager 206 sends the question to the question analyzer 204 .
- the question analyzer 204 determines one or more appropriate topic(s) for the question by analyzing the question.
- the conversation manager 206 informs the asker of the topic(s) that were determined for the question, and provides the asker the opportunity to edit the topics.
- the conversation manager 206 issues a routing suggestion request to the routing engine 208 .
- the routing engine 208 plays a role analogous to a ranking function in a corpus-based search engine.
- the routing engine 208 accesses the inverted index 222 and the social graph 224 for a list of candidate answerers, and ranks them to reflect how well the routing engine 208 believes they can answer the question, and how good of a match they are for the asker.
- the routing engine 208 returns a ranked list of routing suggestions to the conversation manager 206 , which then contacts the candidate answerers in order to obtain an answer to the question.
- the routing engine 208 can note such and potentially rank the user lower in future ranked lists of candidate answerers for the same or similar topics.
- the conversation manager 206 contacts each candidate answerer in order of the ranking beginning with the highest ranked candidate answerer until one of the candidate answerers provides an answer.
- the conversation manager 206 can wait an amount of time before giving up on a given candidate answerer and moving on to the next one. (Note that an answer to a question can be received even after the conversation manager 206 has moved on to another candidate answerer.)
- the amount of wait time can be based on the communication channel (e.g., instant message, electronic mail, blog post, short message service message, and so on).
- the wait time can be short (e.g., 30 seconds) if the communication channel is an instant message or short message server, or the wait time can be longer (e.g., two minutes) if the communication channel is electronic mail, for instance.
- the wait time can also be based on the candidate answerer's historical responsiveness for a given communication channel. For example, if a given candidate answer takes on average 10 minutes to respond to a question sent through electronic mail, the wait time can be adjusted in view of this.
- the wait time can be increased if, for example, the system determines that the quality of the social match between the asker and the answerer is high and would likely promote a good answer.
- the asker and the answerer can use different communication channels.
- the system can deliver the answer to the asker through a slower communication channel such as email, for example, rather than through instant messaging.
- the communication channel is selected to deliver a question or an answer is dependent on user preferences and/or the availability of both the asker and the answerer.
- the conversation manager 206 contacts groups of two or more candidate answerers in order of the ranking beginning with the highest ranked candidate answerers until an answer is received.
- the ranking of candidate answerers is A, B, C, D and E, and that the group size is two.
- the conversation manager 206 would contact candidate answerers A and B first and, if no answer is received from either A or B after a period of group wait time has passed, the conversation manager 206 would then contact C and D. If an answer is not received from C or D after a period of group wait time has passed, the conversation manager 206 would then contact candidate answer E. (Note that an answer to a question can be received even after the conversation manager 206 has moved on to another group of candidate answerers.)
- Candidate answerers in a group can be contacted in parallel in some implementations.
- the amount of group wait time can be based on the communication channels used to contact the candidate answerers in a group such that the longest wait time is used. If candidate answerer A is contacted through electronic mail and candidate answerer B is contacted through short message service, for instance, the group wait time would be based on the slower response channel—e.g., electronic mail.
- the group wait time can also be based on the candidate answerers' historical responsiveness for the communication channels used in the group such that the group wait time is adjusted in view of the candidate answerer who is anticipated to take the longest amount of time to respond.
- the routing engine 208 uses a statistical model for routing questions to candidate answerers.
- the statistical model is a variant of an aspect model and has two primary features.
- the model associates an unobserved class variable t ⁇ T with each observation (i.e., the successful answer of question q by user u i ).
- q) that user i will successfully answer question q depends on whether q is about the topics t in which u i has expertise:
- a second feature of the model is that it defines a question-independent probability of success for each potential asker/answerer pair (u i , u j ), based upon their degree of social indirection and the similarity of their profiles.
- u j ) is defined that user u i will deliver a satisfying answer to user u j , regardless of the question.
- a scoring function s(u i , u j , q) is defined as the composition of the two probabilities.
- the goal in the ranking problem is: given a question q from user u j , return a ranked list of users u i ⁇ U that maximizes s(u i , u j , q).
- the scoring function is composed of a question-dependent relevance score p(u i
- the quality score described herein aims to measure intimacy rather than authority.
- the relevance score described herein aims to measure a user's potential to answer a question, rather than a document's relevance to a query.
- this scoring function has a number of advantages. It allows real-time routing because it pushes much of the computation offline.
- the only component probability that needs to be computed at question time is p(t
- q) is equivalent to assigning topics to a question.
- the question analyzer 204 executes one or more probabilistic classifiers 216 on the question at question time. (The question analyzer is described further below.)
- t) assigns users to topics, and the distribution p(u i
- the component multiplications and sorting can also be performed at question time, but these are easily parallelizable.
- a comprehensive knowledge base is important for search engines as question distributions tend to have a long tail. In corpus-based search engines, this is achieved by large-scale crawlers and thoughtful crawl policies.
- the knowledge base consists of people rather than documents, so the methods for acquiring and expanding a comprehensive knowledge base are quite different. The more active users there are, the more candidate answerers there are, and therefore the more comprehensive the coverage. More importantly, because the system 200 looks for answerers in a user's social affinity group, the denser the network is, the larger the effective knowledge base is. This suggests that the strategy for increasing the knowledge base of the system 200 involves creating a good experience for users so that they remain active and are inclined to invite their friends.
- the effective breadth of the knowledge base depends upon designing interfaces and algorithms that can collect and learn an extended topic list for each user over time.
- a central technical challenge is to select the right user to answer a given question from another user.
- the system 200 learns the following for each user u i : (1) the topics t user u i might be able to answer questions about p smoothed (t
- the system 200 computes the distribution p(t
- the system can perform a topic strengthening algorithm at various times, the essential idea of which is: if a user has expertise in a topic and most of the members of the user's friends (e.g., members of the user's social affinity group having a small or null degree of social indirection from the user) also have some expertise in that topic, we have more confidence in that user's level of expertise than if the user were alone in his group with knowledge in that area.
- the system 200 can then perform smoothing algorithms the purpose of which are to record the possibility that the user may be able to answer questions about additional topics not explicitly associated with the user.
- One algorithm uses basic collaborative filtering techniques on topics (e.g., based on users with similar topics), another algorithm uses semantic similarity.
- semantic similarity is computed by using an approximation of distributional similarity computed over Wikipedia and other corpora; this serves as a proxy measure of the topics' semantic relatedness.
- the system 200 collects these probabilities p(u i
- the system 200 can compute the connectedness between users p(u i
- Social proximity e.g., the degree of social indirection
- similarities in demographics and behavior among members of the user's social affinity network can be taken into account.
- the factors considered can include one more of the following:
- Connection strengths between members of a social affinity group can be computed using, for example, a weighted cosine similarity over this feature set, normalized so that ⁇ ui ⁇ U p(u i
- u j ) 1, and stored in the social graph 224 for quick access at question time. Both the distributions p(u i
- the question analyzer 204 determines a scored list of topics p(t
- the one or more of the classifiers 216 in TABLE 2 can be run on each question.
- Other classifiers are possible.
- Non- This classifier determines if the input is not actually a Question question (e.g., is it a misdirected message, a sequence of Classifier keywords, etc.); if so, the user is asked to submit a new question. Inappropriate This classifier determines if the input is obscene, Question commercial spam, or otherwise inappropriate content for a Classifier public question-answering community; if so, the user is warned and asked to submit a new question.
- a Question question e.g., is it a misdirected message, a sequence of Classifier keywords, etc.
- Trivial This classifier determines if the input is a simple factual Question question which can be easily answered by existing common Classifier services (e.g., “What time is it now?”, “What is the weather?”, etc.); if so, the user is offered an automatically generated answer resulting from traditional web search.
- Location This classifier determines if the input is a question which Sensitive requires knowledge of a particular location, usually in Classifier addition to specific topical knowledge (e.g., “What's a great sushi restaurant in Austin, TX?”); if so, the relevant location is determined and passed along to the routing engine 208 with the question.
- the list of topics relevant to a question can then be produced by merging the output of one or more distinct topic mapper algorithms, each of which suggests its own scored list of topics.
- One or more of the topic mappers described in TABLE 3 can be used. Other topic mappers are possible.
- Topic Mapper Description Keyword This passes any terms in the question which are matches Match with topics associated with a user through a classifier which is trained to determine whether a given match is likely to be semantically significant or misleading. For example, if the string “camel wrestling” occurs in a question, it is likely to be semantically relevant to a user who has “camel wrestling” as a profile topic; whereas the string “running” may be too ambiguous to use in this manner without further validation, since it might errantly route a question about “running a business” to a user who knows about fitness. Taxonomy This classifies the question text into a taxonomy of popular question topics using an SVM trained on an annotated corpus of several millions questions.
- Salient Term This extracts salient phrases from the question - using a noun-phrase chunker and a tf-idf-based measure of importance - and finds semantically similar user topics.
- User Tag This takes any user “tags” provided by the asker (or by any would-be answerers), and maps these to semantically- similar user topics.
- the output distributions of the topic mappers can be combined by weighted linear combination. Other ways of combining the output distributions are possible.
- Ranking is performed by the routing engine 208 which determines an ordered list of users (or “candidate answerers”) who should be contacted to answer a question given the asker of the question and the information about the question derived by the question analyzer 204 .
- the core ranking function is, in some implementations, equation (2); the routing engine 208 can compute equation (2) for candidate answerers and sort the candidate answerers according to their scores.
- factors that can determine this ranking of users are Topic Expertise p(u i
- Topic Expertise The routing engine 208 finds the subset of users who are semantic matches to the question: those users whose associated topics indicate expertise relevant to the topics which the question is about. Users whose associated topics are closer matches to the question's topics are given higher rank. For questions which are location-sensitive, only users with matching locations in their profiles are considered.
- the routing engine 208 scores each user according to the degree to which the user—as a person, independently of their topical expertise—is a good “match” for the asker for this information question.
- the goal of this scoring is to optimize the degree to which the asker and the answerer feel kinship and trust, arising from their sense of connection and similarity, and meet each other's expectations for conversational behavior in the interaction.
- the routing engine 208 prioritizes candidate answerers in such a way so as to optimize the chances that the present question will be answered, while also preserving the available set of answerers as much as possible by spreading out the answering load across the user base. This involves factors such as prioritizing users who are currently online (e.g., via instant messaging presence data, smart phone usage, and so on), who are historically active at the present time-of-day, and who have not been contacted recently with a request to answer a question.
- the routing engine 208 process can be parallelized such that each shard in the inverted index 222 computes its own ranking for users in that shard, and sends the top users to the routing engine 208 .
- This is scalable as the user base grows, since as more users are added, more shards can be added.
- the routing engine 208 can in some implementations filter out candidate answerers who should not be contacted according to guidelines for preserving a high-quality user experience. These filters operate largely as a set of rules: do not contact users who prefer to not be contacted at the present time of day; do not contact users who have recently been contacted as many times as their contact frequency settings permit; and so on.
- the ordered list of candidate answerers who survive this filtering process are returned to the conversation manager 206 .
- the conversation manager 206 then proceeds to contact one or more candidate answerers inquiring as to whether they would like to answer the present question and continuing until an answer is provided and returned to the asker.
- the system 200 includes a search result processor 210 .
- the search result processor 210 identifies previously submitted answers in a question and answer archive 218 that are relevant to a search query and provides them to invoking processes (e.g., search engines).
- the archive 218 is a store of previously submitted questions and corresponding answers that have been routed through the conversation manager 206 .
- the archive 218 can be indexed by topic and by words or n-grams that appear in the answers, for example. (An n-gram is a subsequence of n items from a given sequence.
- the items in question can be phonemes, syllables, letters, words or base pairs.
- the archive 218 can include other content from sources such as blog posts and micro blog posts. The other content can be identified and provided in a similar fashion to answers.
- a search query such as a search query submitted by a user to a search engine, is received by search result processor 210 .
- the search result processor 210 identifies one or more answers (or other content) in the archive 218 that are relevant to the search query and returns these to the invoking process.
- the search result processor 210 determines one or more topics for the search query based on the text of the search query. Topics can be determined, for example, as described above in regards to the question analyzer 204 .
- one or more topics can be determined for each answer in the archive 218 ahead of time using similar or different techniques.
- the relatedness of a search query's topics to an answer's topics can be determined in a number of different ways.
- the presence of keywords in a search query can be used to identify questions and answers that have the same keywords, for instance.
- the presence of a URL in an answer that is included in a result set that a search engine would return for the search query can indicate relatedness of the answer to the search query.
- the archived answers can be ranked according to relevance to a search particular query.
- the search result processor 210 can provide a relevance score for each identified answer that indicates how relevant the answer is to the search query. This score can be derived from the determined similarity of an answer to the search query, for example. An answer's relevance score can be used by the invoking process to determine a rank of an answer in a listing of search results for the search query.
- the system 200 includes an affiliate link generator 212 .
- the affiliate link generator 212 adds affiliate links to answers (or other content) that are provided by the conversation manager 206 to askers or by the search result processor 210 to invoking processes.
- the affiliate link generator 212 can add an affiliate link to an answer for one or more identified entities in the answer for which the system has affiliate tags.
- affiliate tags allow merchants to identify the website or software application of origin for users who execute a purchase and compensate the associated affiliate.
- the affiliate tag includes a unique identifier of the affiliate (e.g., assigned upon enrollment) and, optionally, the unique identifier of the selected product or service.
- An entity can be referred to by natural language text or the entity can be referred to by a URL, for example.
- Entities can be identified in an answer (or other content) by textually searching for URLs, product names, service names, or company names in the answer (or other content) that match names for which the system 200 has an entity tags.
- the matching does not have to be exact: synonyms, misspellings, and filler text can be taking into account and compensated for in the text matching algorithm. Other ways of identifying entities in text are possible.
- the affiliate link generator 212 can add an affiliate link to an answer for one or more identified entities in the answer for which the system has affiliate tags only if the corresponding question appears to be seeking a recommendation for a product or service.
- a question can be classified according to its syntax and the presence of certain keywords or punctuation.
- the sentences in a question could be classified as questions or non-questions according to the presence of a question mark at the end of the sentence or the appearance at the beginning of “who”, what”, “when”, “where”, “does”, “why”, and so on. Further classification could be effected by monitoring subjective keywords within question such as “best”, “good”, and so on. More detailed classification may be performed by constructing statistical language models or supervised classifiers based on training sets.
- the training sets may contain hits, wherein a recommendation seeker receives an answer containing an entity, and misses wherein the answer does not contain such.
- FIG. 3 is a flowchart of an example technique for providing a question to an answerer.
- a question is received, e.g., by the conversation manager 206 , from an asker in which the question is associated with one or more topics ( 302 ).
- the topics can be determined by the question analyzer 204 , for example.
- Candidate answerers are ranked, e.g., by the routing engine 208 , based at least partly on each answerer's respective relationship to the asker and a respective probability that the answerer will provide a satisfactory answer to the question ( 304 ).
- the question is sent successively to groups of one or more candidate answerers, e.g., by the conversation manager 206 , according to the ranking until an answer is received from a particular one of the candidate answerers ( 306 ).
- the received answer is then sent to the asker, e.g., by the conversation manager 206 , in which the answer includes information that identifies the particular answerer ( 308 ).
- FIG. 4 is a flowchart of an example technique for providing an affiliate link in an answer.
- An answer to a question is received from an answerer, e.g., by the conversation manager 206 ( 402 ).
- An entity is identified in the answer, e.g., by the affiliate link generator 212 , in which the entity refers to a product or a service ( 404 ).
- Permission is obtained from the answerer, e.g., by the conversation manager, to provide an interactive link for the entity in the answer to a resource from which the entity can be obtained ( 406 ).
- a query submitted by a user is received, e.g., by the search result processor 210 , and it is determined whether query is related to the entity ( 408 ).
- An answer is provided, e.g., by the search result processor 210 , including the link to the resource, as part of search results that are responsive to the query.
- Embodiments of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus.
- the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- a computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them.
- a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal.
- the computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
- the operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
- the term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing
- the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
- the apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
- a computer program may, but need not, correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
- Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
- Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- LAN local area network
- WAN wide area network
- inter-network e.g., the Internet
- peer-to-peer networks e.g., ad hoc peer-to-peer networks.
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device).
- client device e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device.
- Data generated at the client device e.g., a result of the user interaction
- the system can match users based on existing content on the web rather than questions or answers submitted directly to the system.
- the system can initiate a conversation between two users where one had posted a question on one forum but there was a candidate answerer who had written on relevant topics on another forum.
- the system might also give the questioner more visibility into the types of users that might receive the question and allow the asker to take more control over who might see the question and who would be barred from seeing the question. For example, an asker might be given the option of saying send this to users such as their professors but not to friends of someone they are dating.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a social search engine. In one aspect, a method includes receiving a question from an asker in which the question is associated with one or more topics; selecting candidate answerers based at least partly on each answerer's respective relationship to the asker; sending the question successively to groups of one or more candidate answerers according to the ranking until an answer is received from a particular one of the candidate answerers; and sending to the asker the received answer and information that identifies the particular answerer.
Description
-
CROSS-REFERENCE TO RELATED APPLICATIONS
-
This application claims the benefit under 35 U.S.C. §119(e) of U.S. Patent Application No. 61/256,324, entitled “REAL TIME, INTERACTIVE ANSWERS IN A SOCIAL NETWORK ENVIRONMENT,” filed Oct. 30, 2009, which is incorporated herein by reference in its entirety.
-
This application claims the benefit under 35 U.S.C. §119(e) of U.S. Patent Application No. 61/256,325, entitled “METHOD FOR GENERATING AFFILIATE REVENUE IN AN ONLINE MESSAGING SERVICE,” filed Oct. 30, 2009, which is incorporated herein by reference in its entirety.
BACKGROUND
-
This specification describes technologies relating to question and answer services.
-
Traditionally, the basic paradigm in information retrieval has been the library. While this paradigm has worked well in several contexts, it ignores an age-old model for knowledge acquisition, which we shall call “the village paradigm”. In a village, knowledge dissemination is achieved socially—information is passed from person to person, and the retrieval task consists of finding the right person, rather than the right document, to answer a question.
-
In a library, people use keywords to search, the knowledge base is created by a small number of content publishers before the questions are asked, and trust is based on authority. In a village, by contrast, people use natural language to ask questions, answers are generated in real-time by those in the community, and trust is based on intimacy. Real-time responses from socially proximal responders tend to elicit (and work well for) highly contextualized and subjective queries. For example, the following question is better answered by a friend than the library: “Do you have any good babysitter recommendations in Palo Alto for my 6-year-old twins? I'm looking for somebody that won't let them watch TV.”
SUMMARY
-
For situations in which the systems discussed here collect personal information about users, the users may be provided with an opportunity to opt in/out of programs or features that may collect personal information (e.g., information about a user's preferences or a user's current location). A user may also be informed of the accompanying limitations on the functionality of a service that may result from limiting access to such personal information. In addition, certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity may be anonymized so that the no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, zip code, or state level), so that a particular location of a user cannot be determined. In addition, some users may not want to be associated with a certain topic for which they provide answers. In these cases, the users' privacy can be protected by providing minimal or no information that would identify the users. Moreover, users can control how much identifying information is provided with their answers.
-
In general, one innovative aspect of the subject matter described in this specification can be embodied in methods that include the actions of receiving a question from an asker in which the question is associated with one or more topics; ranking candidate answerers based at least partly on each answerer's respective relationship to the asker and a respective probability that the answerer will provide a satisfactory answer to the question; sending the question successively to groups of one or more candidate answerers according to the ranking until an answer is received from a particular one of the candidate answerers; and sending to the asker the received answer and information that identifies the particular answerer. Other embodiments of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
-
These and other embodiments can each optionally include one or more of the following features. Ranking candidate answerers can be based at least partly on a time of day and whether a candidate answerer in the candidate answerers has been historically active during the time of day or prefers not to be contacted during the time of day. Ranking candidate answerers can be based at least partly on a whether a candidate answerer is in the candidate answerers is online. Ranking candidate answerers can be based at least partly on whether the potential answer has been contacted in a recent time period or a contact frequency preference of the candidate answerer. Identification of another potential answer can be received from a candidate answerer and the question can be sent to the other candidate answerer. The respective relationship of a candidate answerer to the asker can be based at least partly a degree of social indirection between the two. One or more message formats appropriate for the one or more candidate answerers in the group can be selected and the question can be sent using the selected message formats. The message format can be an instant message, electronic mail, a blog post, a short message service message, a posted comment, a micro-blog post, a wall post, or other social network message. The message format for a candidate answerer in the group can be selected based at least partly on the time of day. The message format for a candidate answerer in the group can be selected based at least partly on a likelihood that the candidate answerer will provide an answer based at least partly on the message format. The information can include a description of a relationship between the asker and the particular answerer. Ranking candidate answerers can further comprise selecting one or more candidate answerers based on topics associated with the selected candidate answerers.
-
Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. In various aspects, users can ask a question, either by instant message, email, web input, text message, or voice, for example. The system then routes the question to a person in the user's social affinity group most likely to be able to answer that question. Potential answerers may choose not to answer a question in order to protect their privacy, or they may choose to answer but opt to provide only minimal or no information that identifies them to others.
-
As compared to a traditional web search engine, where the challenge lies in finding the right document to satisfy a user's information need, the challenge in a social search engine is to find the right person to satisfy a user's information need. Further, while trust in a traditional search engine can be based on authority, in a social search engine trust is based on intimacy. Other advantages include the ability to ask questions in natural language, the ability to receive a useful answer even if the question does not include identifiable or relevant topics, and the ability to receive more information than a specific answer to a question.
-
The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
- FIG. 1A
illustrates an example graphical user interface for interacting with an asker.
- FIG. 1B
illustrates an example graphical user interface for interacting with an answerer.
- FIG. 1C
illustrates another example graphical user interface for interacting with an answerer.
- FIG. 1D
illustrates an example graphical user interface for obtaining permission to insert an affiliate link in an answer.
- FIG. 1E
illustrates an example graphical user interface for providing search results and answers in response to queries.
- FIG. 2
is a schematic diagram of an example social search engine system.
- FIG. 3
is a flowchart of an example technique for providing a question to an answerer.
- FIG. 4
is a flowchart of an example technique for providing an affiliate link in an answer.
-
Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
-
As used in this specification, a social affinity group of a user is a group of other users with whom the user has relationships known by a system. The relationships can be implicit or explicit, and in either case the relationships identify the group of users and the user as a proper subset of users of a network. Examples of groups identified by explicit relationships include users belonging to a “friends lists” of a user in a social network, users that are “linked to” a user in a professional network, and users that otherwise explicitly identify themselves as belonging to a group so as to form a group that is distinct from the larger group of all users. Other types of explicit relationships are possible. Examples of groups identified by implicit relationships include users located near a common location (e.g., users within a predefined distance of a city center), users that have opined on a particular product or article (e.g., users that have provided a review for a particular product) and users that are otherwise implicitly identified so as to form a group that is distinct from the larger group of all users. Other types of implicit relationships are possible. A degree of social indirection between a user and a member of the user's social affinity group is a number of intermediate relationships between the two. For example, in the case of explicit “friend list” type relationships, the degree of social indirection is 0 if the member is the user's friend, 1 if the member is a friend of a friend of the user, 2 if the member is a friend of a friend of a friend of the user, and so on. The same applies for implicit relationships and combinations of implicit and explicit types of relationships. If two users have a degree of social indirection between them that is greater than zero, the nature of their relationship may depend on the nature of their relationships with users to whom they are both related. For example, if user A and user B have a degree of social indirection of 4 and both user A and user B have a relationship with user C, if user C has a lower degree of social indirection to user A than user A has to user B, user A's trust of user B could be based on user B's relationship with user C. That is, if user B also has a close relationship to user C than user A is more likely to trust answers from user B. Other types of measures of social indirection are possible.
- FIG. 1A
illustrates an example graphical user interface (GUI) 100 for a user to pose questions and receive answers to questions from members of the user's social affinity group. Software implementing the
GUI100 can execute on a client device which is a data processing apparatus such as, for example, a personal computer, a smart phone, a tablet computer, a laptop computer, and so on. The
GUI100 can be presented by a web browser or by other software executing on the client device. Input to the
GUI100 can be by way of a physical or virtual keypad, voice, or video, for example. Other GUIs are possible, including GUIs for instant messaging, electronic mail, micro-blogging, and short message service, for example. In some implementations, a software application can register with one or more instant messaging services as a user. Such automated users of instant messaging services are commonly referred to as “bots”. Users who have the bot in their contact list for a particular instant messaging service can send the bot questions. The bot can interact with the system (see
FIG. 2below) in order to convey the question to the system and relay the answer from the system to the user.
-
By way of illustration, a user Bob submits a question to the system as shown in 104. In some implementations, the question is submitted as text, voice, video, or a combination of these. The question can also include one or more attachments, such as images, sound recordings, video, or documents, for example. Next, the system responds with
message106 indicating that the system is looking for someone in Bob's social affinity group who can answer the question. (Messages to users from the
system200 are generated by the
conversation manager206, described further below in reference to
FIG. 2.) Notice that the system has identified a
topic106 a of the question. Generally speaking, the system can identify one or more topics for each submitted question. Topic identification is described further below. The system identifies members of Bob's social affinity group who have a level expertise in the identified topic(s) and who are likely to provide an answer as potential answerers. One or more of the potential answers are contacted by the system over communication channels (e.g., instant message, electronic mail, blog post, short message service message, and so on) appropriate for the potential answer. An example of an interaction with a potential answer is described in relation to
FIG. 1B, below. When one of the potential answers responds to the system with an answer, the system presents
message108 which includes the answer along with, in some implementations, information identifying the answerer as a member of the user's social affinity group.
-
Answers can come from members of the user's social affinity group that have different relationships to the asker. For instance, one answer may come from someone with only a distant social connection to the asker (i.e., a high degree of social indirection); a second answer may come from a co-worker; and a third answer may come from a friend-of-friend-of-friend. In some implementations, the information identifying the answerer in the answer includes the answerer's full or
partial name108 a, the answerer's age, their
location108 b (e.g., city, state, country, region, and so on), and a description of a social affinity group relationship between the asker and the particular answerer 108 c. In some implementations, the description of a social affinity group relationship between the asker and the particular answerer identifies a friend in common that the asker is closest to (from a social indirection standpoint).
-
Some or all of the information describing the answerer can be omitted (e.g., at the request of the answerer), but providing this information can facilitate trust in the answer. In this illustration, the question was answered by Julia Thompson who is in San Francisco and is a friend of the user's friend John Smith. In some implementations, askers and/or answerers can opt-in or opt-out of providing information with their messages that would identify them. Alternatively, askers and/or answerers can limit the amount of identifying information that is provided with their messages. By limiting the identifying information to a user's initials, their state, and a level of social indirection (e.g., “K. from California is a friend of a friend of yours”), for example, users can strike a balance between maintaining their anonymity and gaining the trust of the recipient of their message.
-
In some implementations, the system allows the user to communicate directly with the answerer in order to, for example, thank the answerer, request clarifying information or follow-up with another question (110). In various implementations, the
conversation manager206, described below, facilitates such communication. Throughout all of the user/answerer interactions, the system maintains a tone of voice which is friendly, polite, and appreciative. The system relies upon the goodwill and interest of its users, so it is important to demonstrate the kind of (linguistic) behavior that can encourage these sentiments, in order to set a good example for users to adopt.
- FIG. 1B
illustrates an
example GUI120 for interacting with an answerer. Software implementing the
GUI120 can execute on a client device, for example. The
GUI120 can be presented by a web browser or by other software executing on the client device. Input to the
GUI120 can be by way of a physical or virtual keypad, voice, or video, for example. Other GUIs are possible, including GUIs for instant messaging, electronic mail, micro-blogging, and short message service, for example. A candidate answerer for a question is selected based on the potential answer's membership in the question asker's social affinity group and one or more topics for the question, for example. (Selection of potential answers is described further below.) In this illustration, the system has identified Julia Thompson as one of the candidate answerers. The system presents Julia with the
message124 which asks if she is available and able to answer a question regarding the identified topic(s) of the question which, in this instance, includes the topic “hiking” 124 a. Julia is given the options to answer (e.g., by typing or speaking “sure”), not answer (e.g., by typing or speaking “pass”), or forward the question to someone else in Julia's or the asker's social affinity group (e.g., by typing or speaking “forward”). In this example, Julia has typed “sure” 126 indicating that she is willing to answer the question regarding hiking. There is no shame in “passing” or “forwarding” a question, since nobody else knows that the question was sent to the potential answerer. Similarly, there is no social cost to the user in asking a question, since the user is not directly imposing on a friend or requesting a favor; rather, the system plays the role of the intermediary who bears this social cost.
-
A key benefit of this interaction model is that the available set of candidate answerers is not just whatever users happen to be online at the time a question is posted, but rather, the entire set of members of a user's social affinity group that the system has contact information for. Because this kind of “reaching out” to candidate answerers has the potential to become an unwelcome interruption if it happens too frequently, in some implementations the system sends such requests usually less than once a day to a given candidate answerer. In further implementations, users can easily change their contact settings, specifying preferred frequency and time-of-day for such requests.
-
The system then presents the
question128 to Julia. In some implementations, the question includes information describing the asker such as the asker's
name128 a, age, and
location128 b. In some implementations, the description of a social affinity group relationship between the answerer and the particular asker is provided. This information can include a friend in common that the answerer is closest to (from a social indirection standpoint). The information can also include the social relationship between the asker and the answerer. Some or all of the information describing the asker can be omitted (e.g., at the request of the asker) but, as mentioned previously, providing this information can facilitate trust between users of the system.
-
The potential answerer can ask the
system130 why they were chosen to answer the question (e.g., by typing or speaking “Why?”) and indicate a preference to the system that they do not want such questions in the future. This is like the real-world model of social information sharing: the person asking a question, or the intermediary in the system's role, is careful not to impose too much upon a possible answerer. The system responds with
detailed information132 regarding why the candidate answerer was chosen. This
information132 can include the social relationship between the candidate answerer and the asker (“Bob is a friend of your friend Sally Johnson”), the relevance of the question's topic(s) to the candidate answerer (“You know a lot about hiking and San Francisco”), and identification of similar interests between the asker and the answerer (“You and he have similar interests in sports.”), for example. After reviewing this information, the candidate answerer can still decline to answer or forward the question to another user if they so desire.
-
Julia then provides an
answer134 to the question which is routed by the
conversation manager206 to the asker (e.g., Bob; see 108 in
FIG. 1). The answer can include one or more of text, a Uniform Resource Locator (URL), an image, audio content, a video, an attached file, and other content, for example. The system then presents a
message136 thanking Julia for answering the question (and acknowledging if she had answered the question quickly). Julia can then correspond directly with the asker Bob, if she so chooses, by typing or speaking his name followed be a message. In some implementations, a user can participate in multiple question and answer conversations simultaneously. In these implementations, the multiple conversations could be visually separated (e.g., in separate windows) in a graphical user interface so that the user would not need to explicitly tell the system who they wish to communicate with.
- FIG. 1C
illustrates another
example GUI140 for interacting with an answerer. In some implementations, there are two interaction flows available for answering a question. One flow involves the system sending a candidate answerer a message (as illustrated above in regards to
FIG. 1B). A secondary flow of answering questions is similar to bulletin-board style interactions: a user sends a message to the system (e.g., “try”), and the system presents the user with a recent question from their social affinity group which has not yet been answered and is related to topics for which the user has expertise. This mode involves the user initiating the exchange when the user is in the mood to try to answer a question; as such, it has the benefit of an eager candidate answerer. The
GUI140 includes a sampling of topics 142 a-c. In some implementations, the topics are selected in order to develop information regarding the expertise of the user. For example, if a user has indicated that they have expertise in topic A but has not answered any questions related to this topic in a recent time frame or ever, the sampling of topics can include topic A so that the system can identify if the user is still willing to answer questions regarding topic A. Selection of a topic (e.g.,
topic142 b “cafes”) causes the presentation of a
question144 for the topic and, optionally, information that identifies the particular asker. The information can include the asker's name (“Angela Smith”) and their social relationship to the answerer (“a friend of your friend Mike Jones”), for example. Other information such as the asker's age and location can be included. In addition, any or all of the information identifying the asker can be omitted. The user can submit an answer to the
question144 by selecting the
Answer button146 a. Or, the user can inform the system of another who is better able to answer the question by selecting
button146 b. Finally, the user can decline to answer the question by selecting
button146 c. In some implementations, the user can answer as many questions as they like. In such implementations the sampling of topics can change over time as questions are answered.
- FIG. 1D
illustrates an
example GUI150 for obtaining permission to insert an affiliate link in an answer. The
GUI150 allows the system to insert one or more affiliate links in an answer if permission is given by the answerer. In other implementations, the system can automatically insert one or more affiliate links into the answer without obtaining permission from the answerer. In so-called affiliate marketing, a content provider is compensated when a customer that it delivered to a merchant website makes a purchase after linking from the content provider's website or application (as opposed to, for example, returning to the merchant website a week later to make a purchase, in which case the content provider receives no commission). This allows web merchants to efficiently market and sell goods in cooperation with content providers or other business partners, referred to herein as “affiliates.”
-
Through the merchant's website, for example, a content provider can enroll as an affiliate, and can then disseminate hyperlinks (or other types of interactive links) containing affiliate tags. Content providers publish hyperlinks (or other types of interactive links) containing affiliate tags that allow potential customers to link to the merchant's website to initiate purchases of products or services from the merchant. Affiliate tags allow merchants to identify the website or software application of origin for users who execute a purchase and compensate the associated affiliate. In various implementations, the affiliate tag includes a unique identifier of the affiliate (e.g., assigned upon enrollment) and, optionally, the unique identifier of the selected product or service. Software implemented on the merchant website uses this information to identify the affiliate that referred the customer to the merchant site. If the customer subsequently purchases the selected product from the merchant site (e.g., by filling out an order form page and submitting the order), software automatically credits the referring affiliate for the referral by, for example, applying a commission to an affiliate account. The referral commission can be automatically generated based on a fixed percentage of the merchant's selling price, and is paid to the affiliate electronically on a periodic basis, for instance.
-
Referring again to
FIG. 1D, an answerer has provided an
answer152 to
question144. The question can be provided to the user as described above in relation to
FIGS. 1B and 1C, for example. The system identifies one or more entities (i.e., products, services, company names, merchant names) referred to in the answer. An entity can be referred to by natural language text (e.g., “Nikon D3X”) or the entity can be referred to by a URL (http://www.nikon.com/25442/D3X.html), for example. An entity can be specific or general. That is, an entity can identify a specific product, service, and/or company (e.g., “Joe & John's dark roast espresso”) or the entity can be general (e.g., “espresso”). If the entity is specific, it can be linked to a resource (e.g., a merchant's website or application that sells the particular product or service). Otherwise, the entity can be linked to a resource that sells the category of product or service identified by the entity. By way of illustration, the system has identified the company “Café Bébé Lapin” in the
answer152. In further implementations, other content besides a link to a resource can be inserted in an answer such, for example, a map showing the location of the entity, user or customer ratings of the entity, images and video for the entity or the entity's products/services, and so on.
-
In some implementations, the system asks 152 the answerer if a link to the entity can be inserted into their answer before the answer is delivered to the asker. The answerer can approve the link assertion by selecting the
button156 a, or decline the link insertion by selecting
button156 b. If the link is allowed to be inserted, it is inserted with an affiliate code so that the system will receive credit for the referral if the asker selects the link and purchases the product or service. If an entity is referred to by a URL in the answer, the system can add an affiliate code to the URL.
-
The answer returned to the asker can include one or more words in the answer highlighted (e.g., underlined) indicating that they are linked to a corresponding entity (e.g., product or service) on a merchant website, or the answer can include a separate advertisement for a merchant that sells the entity. For example, the word “espresso” would be highlighted in the
answer152 returned to the user. User selection of the linked words or the advertisement will cause the user's application (e.g., web browser or other software application) to present the merchant's website with the entity in question. In some implementations, if the answerer has given permission to insert the affiliate link, the answer will indicate such to the asker. This may make it more likely that the asker will select the affiliate link knowing that the answerer, who has a social connection to them, approved the link. Affiliate links are described further below.
- FIG. 1E
illustrates an
example GUI160 for providing search results and answers in response to search engine queries. Software implementing the
GUI160 can execute on a client device, for example. The
GUI160 can be presented by a web browser or by other software executing on the client device. Input to the
GUI160 can be by way of a physical or virtual keypad, voice, or video, for example. Other GUIs are possible. A user submits a query 162 “san francisco hotel pets” to a search engine through the
GUI160 in order to find pet friendly hotels in San Francisco. The search engine can be an interne search engine or another type of system that can respond to queries.
-
Search results 164 responsive to query 162 “san francisco hotel pets” are presented to the user in the
GUI160. For instance,
search result166 is for the Hotel Nippon San Francisco and includes a snippet of information about the hotel include the URL of the hotel's website. Likewise,
search result170 is for the Hotel Dalton.
Search result168 is a previously submitted answer to a question that was deemed related to the topics of the search query 162. In some implementations, an
explanation172 is included in the
answer168 as to why the answer was deemed relevant to the search query 162. In this example, the explanation includes the original question with relevant topics highlighted: “hotel” 168 c, “San Francisco” 168 d, and “pets” 168 e. Other types of explanations are possible, including ones that omit the original question. The
answer168 can include
information168 a that identifies the user who answered the question if, for example, the answerer is in the social affinity group of the user who submitted the query 162. The
answer168 can also include affiliate links (e.g., affiliate link 168 b which is a hyperlink to the website of the Metro Inn hotel).
- FIG. 2
is a schematic diagram of an example social
search engine system200. In various implementations, the system includes one or more client devices (e.g., client devices 202 a-202 c), software components (e.g.,
transport layer214,
question analyzer204,
conversation manager206,
routing engine208,
search result processor210,
affiliate link generator212, crawler/
indexer227 and classifiers 216), and one or more data stores (e.g., question and
answer archive218,
forward index220,
inverted index222, and social graph 224). The client devices are data processing apparatuses such as, for example, personal computers, smart phones, tablet computers, laptop computers, and so on. A software component is a computer program or module that can be executed by one or more data processing apparatuses in which the data processing apparatuses can be communicatively coupled by one or more networks. Data processing apparatuses that execute the software components can reside in different locations. Moreover, software components can be combined into fewer components or divided into additional components. The data stores comprise computer storage media coupled directly or indirectly (through one or more networks) to one or more of the data processing apparatuses that execute the software components. The data stored on the data stores can be stored in fewer data stores or stored in additional data stores.
-
The crawler/
indexer227 can perform a number of indexing steps for a new user in order to be able to direct appropriate questions to the user for answering. Because questions will be routed to members of the user's social affinity group, the first step involves indexing social affinity group information. The data structure responsible for this is the
social graph224. A new user has the option of connecting to commercial social affinity groups and importing members and relationships from the social affinity group into the
social graph224, or manually adding members and relationships to the
social graph224. The crawler/
indexer227 indexes this information and stores it in the
social graph222, which in some implementations can be a fixed width Indexed Sequential Access Method (ISAM) index sorted by user identifier.
-
The crawler/
indexer227 can also index the topics about which the new user has some level of knowledge or expertise. For example, topical expertise can be garnered from one or more of the following sources shown in TABLE 1. Other sources of topical expertise are possible.
-
TABLE 1 Topic Source Topics explicitly provided by the user which they believe they have expertise about. Topics explicitly provided by members of the user's social affinity group. Topics parsed out from the user's existing profile for a social affinity group. Topics parsed out from profile pages of the user that have a known structure. A simple topic parsing algorithm that uses regular expressions devised for specific fields in the profile pages can be used, for example. Topics extracted from unstructured text on the user's existing online homepages or blogs, if provided. For unstructured text, a linear support vector machine (SVM) can be used to identify the general subject area of the text, while an ad-hoc named entity extractor can be used to extract more specific topics, scaled by a variant term frequency-inverse document frequency (tf-idf) score. Topics extracted from the user's status message updates for their social affinity group, and from the messages they send to members of their social affinity group. Topics extracted from images or videos associated with the user (e.g., posted to the user's social affinity group). For example, a picture or video a foreign landmark could imply an interest in travel or the city of the landmark. Topics can be extracted, for example, by associating objects identified in images with topic categories. Topics gleaned from articles or web pages linked to by the user. -
A motivation for using these latter sources of topic information is a simple one: if you want to be able to predict what kind of content a user will generate, first examine the content they have generated in the past. In this spirit, the crawler/
indexer227 uses web content not as a source of existing answers about a topic, but rather, as an indicator of the topics about which a user is likely able to give new answers on demand. In essence, this involves modeling a user as a content-generator, with probabilities indicating the likelihood that the user will respond to questions about given topics. Each topic t associated with a user u, has an associated score, depending upon the confidence appropriate to the source of the topic. In addition, the crawler/
indexer227 learns over time which topics not to send a user questions about by keeping track of cases when the user: (1) explicitly “mutes” a topic; (2) declines to answer questions about a topic when given the opportunity; (3) receives negative feedback on his answer about the topic from another user. The set of topics associated with a user is recorded in the
forward index220, which stores for each user, a scored list of topics, and a series of further scores about a user's behavior (e.g., responsiveness or answer quality). From the
forward index220, the crawler/
indexer227 constructs an
inverted index222. The
inverted index222 stores each topic and a scored list of users that have expertise in that topic. In addition to topics, the
inverted index222 stores scored lists of users for features like answer quality and response time. Once the
inverted index222 and the
social graph224 for a user are created, the user is now active on the system and ready to ask her first question.
-
The following high-level illustration follows the life of a question as it is processed by the
system200. A user (or “asker”) of a client device, e.g.,
client device202 b, begins by posing a question to the
system200 through
GUI100 or through an instant messaging service bot, for example. The question is sent from the
client device202 b to the
transport layer214, where it can then sent to the
conversation manager206. The
transport layer214 converts message formats to and from their external representation (e.g., electronic mail, short message service, instant message, and so on) to a normalized internal representation. Once the
conversation manager206 determines that the message is a question, the
conversation manager206 sends the question to the
question analyzer204. The
question analyzer204 determines one or more appropriate topic(s) for the question by analyzing the question.
-
In some implementations, the
conversation manager206 informs the asker of the topic(s) that were determined for the question, and provides the asker the opportunity to edit the topics. The
conversation manager206 issues a routing suggestion request to the
routing engine208. The
routing engine208 plays a role analogous to a ranking function in a corpus-based search engine. The
routing engine208 accesses the
inverted index222 and the
social graph224 for a list of candidate answerers, and ranks them to reflect how well the
routing engine208 believes they can answer the question, and how good of a match they are for the asker. The
routing engine208 returns a ranked list of routing suggestions to the
conversation manager206, which then contacts the candidate answerers in order to obtain an answer to the question. In some implementations, if a candidate answerer declines to answer a question or does so ineffectively (e.g., providing a terse or cryptic answer), the
routing engine208 can note such and potentially rank the user lower in future ranked lists of candidate answerers for the same or similar topics.
-
In some implementations, the
conversation manager206 contacts each candidate answerer in order of the ranking beginning with the highest ranked candidate answerer until one of the candidate answerers provides an answer. The
conversation manager206 can wait an amount of time before giving up on a given candidate answerer and moving on to the next one. (Note that an answer to a question can be received even after the
conversation manager206 has moved on to another candidate answerer.) By way of illustration, the amount of wait time can be based on the communication channel (e.g., instant message, electronic mail, blog post, short message service message, and so on). The wait time can be short (e.g., 30 seconds) if the communication channel is an instant message or short message server, or the wait time can be longer (e.g., two minutes) if the communication channel is electronic mail, for instance. The wait time can also be based on the candidate answerer's historical responsiveness for a given communication channel. For example, if a given candidate answer takes on average 10 minutes to respond to a question sent through electronic mail, the wait time can be adjusted in view of this. The wait time can be increased if, for example, the system determines that the quality of the social match between the asker and the answerer is high and would likely promote a good answer.
-
The asker and the answerer can use different communication channels. In some implementations, if the asker uses an instantaneous message channel such as instant messaging and the answerer does not provide an answer for long period of time, then the system can deliver the answer to the asker through a slower communication channel such as email, for example, rather than through instant messaging. In some implementations, the communication channel is selected to deliver a question or an answer is dependent on user preferences and/or the availability of both the asker and the answerer.
-
In other implementations, the
conversation manager206 contacts groups of two or more candidate answerers in order of the ranking beginning with the highest ranked candidate answerers until an answer is received. By way of illustration, assume the ranking of candidate answerers (from highest to lowest ranked) is A, B, C, D and E, and that the group size is two. The
conversation manager206 would contact candidate answerers A and B first and, if no answer is received from either A or B after a period of group wait time has passed, the
conversation manager206 would then contact C and D. If an answer is not received from C or D after a period of group wait time has passed, the
conversation manager206 would then contact candidate answer E. (Note that an answer to a question can be received even after the
conversation manager206 has moved on to another group of candidate answerers.) Candidate answerers in a group can be contacted in parallel in some implementations.
-
The amount of group wait time can be based on the communication channels used to contact the candidate answerers in a group such that the longest wait time is used. If candidate answerer A is contacted through electronic mail and candidate answerer B is contacted through short message service, for instance, the group wait time would be based on the slower response channel—e.g., electronic mail. The group wait time can also be based on the candidate answerers' historical responsiveness for the communication channels used in the group such that the group wait time is adjusted in view of the candidate answerer who is anticipated to take the longest amount of time to respond.
-
In various implementations, the
routing engine208 uses a statistical model for routing questions to candidate answerers. In some implementations, the statistical model is a variant of an aspect model and has two primary features. First, the model associates an unobserved class variable tεT with each observation (i.e., the successful answer of question q by user ui). In other words, the probability p(ui|q) that user i will successfully answer question q depends on whether q is about the topics t in which ui has expertise:
-
p ( u i | q ) = ∑ t ∈ T p ( u i | t ) p ( t | q ) ( 1 )
-
A second feature of the model is that it defines a question-independent probability of success for each potential asker/answerer pair (ui, uj), based upon their degree of social indirection and the similarity of their profiles. In other words, a probability p(ui|uj) is defined that user ui will deliver a satisfying answer to user uj, regardless of the question.
-
A scoring function s(ui, uj, q) is defined as the composition of the two probabilities.
-
s ( u i , u j , q ) = p ( u i | u j ) · p ( u i | q ) = p ( u i | u j ) ∑ t ∈ T p ( u i | t ) p ( t | q ) ( 2 )
-
The goal in the ranking problem is: given a question q from user uj, return a ranked list of users uiεU that maximizes s(ui, uj, q).
-
Note that the scoring function is composed of a question-dependent relevance score p(ui|q) and a question-independent quality score p(ui|uj). This bears similarity to the ranking functions of traditional corpus-based search engines. But unlike quality scores of traditional search engines, the quality score described herein aims to measure intimacy rather than authority. And unlike the relevance scores in corpus-based search engines, the relevance score described herein aims to measure a user's potential to answer a question, rather than a document's relevance to a query.
-
Computationally, this scoring function has a number of advantages. It allows real-time routing because it pushes much of the computation offline. In some implementations, the only component probability that needs to be computed at question time is p(t|q). Computing p(t|q) is equivalent to assigning topics to a question. In some implementations, the
question analyzer204 executes one or more
probabilistic classifiers216 on the question at question time. (The question analyzer is described further below.) The distribution p(ui|t) assigns users to topics, and the distribution p(ui|uj) defines the
social graph224. Both of these can be computed by the crawler/
indexer227 and updated in the background as users answer questions. The component multiplications and sorting can also be performed at question time, but these are easily parallelizable.
-
A comprehensive knowledge base is important for search engines as question distributions tend to have a long tail. In corpus-based search engines, this is achieved by large-scale crawlers and thoughtful crawl policies. In the
system200, the knowledge base consists of people rather than documents, so the methods for acquiring and expanding a comprehensive knowledge base are quite different. The more active users there are, the more candidate answerers there are, and therefore the more comprehensive the coverage. More importantly, because the
system200 looks for answerers in a user's social affinity group, the denser the network is, the larger the effective knowledge base is. This suggests that the strategy for increasing the knowledge base of the
system200 involves creating a good experience for users so that they remain active and are inclined to invite their friends.
-
Given a set of active users on the
system200, the effective breadth of the knowledge base depends upon designing interfaces and algorithms that can collect and learn an extended topic list for each user over time. A central technical challenge is to select the right user to answer a given question from another user. In order to do this, the
system200 learns the following for each user ui: (1) the topics t user ui might be able to answer questions about psmoothed(t|ui); (2) the users uj to whom user ui is connected p(ui|uj).
-
In various implementations, the
system200 computes the distribution p(t|ui) of topics known by user ui from one or more sources of information, such as those illustrated in TABLE 1, for example. In some implementations, the system can perform a topic strengthening algorithm at various times, the essential idea of which is: if a user has expertise in a topic and most of the members of the user's friends (e.g., members of the user's social affinity group having a small or null degree of social indirection from the user) also have some expertise in that topic, we have more confidence in that user's level of expertise than if the user were alone in his group with knowledge in that area. Mathematically, for some user m, m's group of friends U, and some topic t, if p(t|ui)≠0, then s(t|ui)=p(t|ui)+γΣuεUp(t|u), where γ is a small constant. The s values can then be renormalized to form probabilities.
-
The
system200 can then perform smoothing algorithms the purpose of which are to record the possibility that the user may be able to answer questions about additional topics not explicitly associated with the user. One algorithm uses basic collaborative filtering techniques on topics (e.g., based on users with similar topics), another algorithm uses semantic similarity. In some implementations, semantic similarity is computed by using an approximation of distributional similarity computed over Wikipedia and other corpora; this serves as a proxy measure of the topics' semantic relatedness.
-
Once all of these bootstrap, extraction, and smoothing methods are applied, there is a list of topics and scores for a given user. Normalizing these topic scores so that ΣtεTp(t|ui)=1, we have a probability distribution for topics known by user ui. Using Bayes' Law, we compute for each topic and user:
-
p ( u i | t ) = p ( t | u i ) p ( u i ) p ( t ) , ( 3 )
-
using a uniform distribution for p(ui) and observed topic frequencies for p(t). The
system200 collects these probabilities p(ui|t) indexed by topic into the
inverted index222, which allows for easy lookup when a question comes in.
-
The
system200 can compute the connectedness between users p(ui|uj) in a number of ways. Social proximity (e.g., the degree of social indirection) and similarities in demographics and behavior among members of the user's social affinity network can be taken into account. By way of illustration, the factors considered can include one more of the following:
-
- Social connections (common friends and affiliations)
- Demographic similarity
- Profile similarity (e.g., common favorite movies)
- Vocabulary match (e.g., instant messaging shortcuts)
- Chattiness match (e.g., frequency of follow-up messages)
- Verbosity match (e.g., the average length of messages)
- Politeness match (e.g., use of “Thanks!”)
- Speed match (e.g., responsiveness to other users)
-
Connection strengths between members of a social affinity group can be computed using, for example, a weighted cosine similarity over this feature set, normalized so that ΣuiεUp(ui|uj)=1, and stored in the
social graph224 for quick access at question time. Both the distributions p(ui|uj) in the
social graph224 and p(t|ui) in the inverted index 222) can be updated as users interact with one another.
-
The
question analyzer204 determines a scored list of topics p(t|q) for each question q representing the semantic subject matter of the question. In some implementations, this is the only probability distribution in equation (2) that is computed at question time. The role of the
question analyzer204 is to learn enough about the question that it may be sent to appropriately interested and knowledgeable human answerers.
-
In various implementations, the one or more of the
classifiers216 in TABLE 2 can be run on each question. Other classifiers are possible.
-
TABLE 2 Classifier Description Non- This classifier determines if the input is not actually a Question question (e.g., is it a misdirected message, a sequence of Classifier keywords, etc.); if so, the user is asked to submit a new question. Inappropriate This classifier determines if the input is obscene, Question commercial spam, or otherwise inappropriate content for a Classifier public question-answering community; if so, the user is warned and asked to submit a new question. Trivial This classifier determines if the input is a simple factual Question question which can be easily answered by existing common Classifier services (e.g., “What time is it now?”, “What is the weather?”, etc.); if so, the user is offered an automatically generated answer resulting from traditional web search. Location This classifier determines if the input is a question which Sensitive requires knowledge of a particular location, usually in Classifier addition to specific topical knowledge (e.g., “What's a great sushi restaurant in Austin, TX?”); if so, the relevant location is determined and passed along to the routing engine 208 with the question. -
The list of topics relevant to a question can then be produced by merging the output of one or more distinct topic mapper algorithms, each of which suggests its own scored list of topics. One or more of the topic mappers described in TABLE 3 can be used. Other topic mappers are possible.
-
TABLE 3 Topic Mapper Description Keyword This passes any terms in the question which are matches Match with topics associated with a user through a classifier which is trained to determine whether a given match is likely to be semantically significant or misleading. For example, if the string “camel wrestling” occurs in a question, it is likely to be semantically relevant to a user who has “camel wrestling” as a profile topic; whereas the string “running” may be too ambiguous to use in this manner without further validation, since it might errantly route a question about “running a business” to a user who knows about fitness. Taxonomy This classifies the question text into a taxonomy of popular question topics using an SVM trained on an annotated corpus of several millions questions. Salient Term This extracts salient phrases from the question - using a noun-phrase chunker and a tf-idf-based measure of importance - and finds semantically similar user topics. User Tag This takes any user “tags” provided by the asker (or by any would-be answerers), and maps these to semantically- similar user topics. -
In various implementations, the output distributions of the topic mappers can be combined by weighted linear combination. Other ways of combining the output distributions are possible.
-
Ranking is performed by the
routing engine208 which determines an ordered list of users (or “candidate answerers”) who should be contacted to answer a question given the asker of the question and the information about the question derived by the
question analyzer204. The core ranking function is, in some implementations, equation (2); the
routing engine208 can compute equation (2) for candidate answerers and sort the candidate answerers according to their scores. In various implementations, factors that can determine this ranking of users are Topic Expertise p(ui|q), Connectedness p(ui|ji), and Availability.
-
Topic Expertise: The
routing engine208 finds the subset of users who are semantic matches to the question: those users whose associated topics indicate expertise relevant to the topics which the question is about. Users whose associated topics are closer matches to the question's topics are given higher rank. For questions which are location-sensitive, only users with matching locations in their profiles are considered.
-
Connectedness: Second, the
routing engine208 scores each user according to the degree to which the user—as a person, independently of their topical expertise—is a good “match” for the asker for this information question. The goal of this scoring is to optimize the degree to which the asker and the answerer feel kinship and trust, arising from their sense of connection and similarity, and meet each other's expectations for conversational behavior in the interaction.
-
Availability: Third, the
routing engine208 prioritizes candidate answerers in such a way so as to optimize the chances that the present question will be answered, while also preserving the available set of answerers as much as possible by spreading out the answering load across the user base. This involves factors such as prioritizing users who are currently online (e.g., via instant messaging presence data, smart phone usage, and so on), who are historically active at the present time-of-day, and who have not been contacted recently with a request to answer a question.
-
The
routing engine208 process can be parallelized such that each shard in the
inverted index222 computes its own ranking for users in that shard, and sends the top users to the
routing engine208. This is scalable as the user base grows, since as more users are added, more shards can be added.
-
Given this ordered list of candidate answerers, the
routing engine208 can in some implementations filter out candidate answerers who should not be contacted according to guidelines for preserving a high-quality user experience. These filters operate largely as a set of rules: do not contact users who prefer to not be contacted at the present time of day; do not contact users who have recently been contacted as many times as their contact frequency settings permit; and so on. The ordered list of candidate answerers who survive this filtering process are returned to the
conversation manager206. The
conversation manager206 then proceeds to contact one or more candidate answerers inquiring as to whether they would like to answer the present question and continuing until an answer is provided and returned to the asker.
-
In some implementations, the
system200 includes a
search result processor210. The
search result processor210 identifies previously submitted answers in a question and
answer archive218 that are relevant to a search query and provides them to invoking processes (e.g., search engines). The
archive218 is a store of previously submitted questions and corresponding answers that have been routed through the
conversation manager206. The
archive218 can be indexed by topic and by words or n-grams that appear in the answers, for example. (An n-gram is a subsequence of n items from a given sequence. The items in question can be phonemes, syllables, letters, words or base pairs.) In further implementations, the
archive218 can include other content from sources such as blog posts and micro blog posts. The other content can be identified and provided in a similar fashion to answers. A search query, such as a search query submitted by a user to a search engine, is received by
search result processor210. The
search result processor210 identifies one or more answers (or other content) in the
archive218 that are relevant to the search query and returns these to the invoking process. The
search result processor210 determines one or more topics for the search query based on the text of the search query. Topics can be determined, for example, as described above in regards to the
question analyzer204. Likewise, one or more topics can be determined for each answer in the
archive218 ahead of time using similar or different techniques. The relatedness of a search query's topics to an answer's topics can be determined in a number of different ways. The presence of keywords in a search query can be used to identify questions and answers that have the same keywords, for instance. In addition, the presence of a URL in an answer that is included in a result set that a search engine would return for the search query can indicate relatedness of the answer to the search query. In further implementations, the archived answers can be ranked according to relevance to a search particular query.
-
Other ways of determining the similarity between a search query and an answer are possible including, for instance, basing similarity on a similarity of n-grams in the search query and the answer rather than topics. The
search result processor210 can provide a relevance score for each identified answer that indicates how relevant the answer is to the search query. This score can be derived from the determined similarity of an answer to the search query, for example. An answer's relevance score can be used by the invoking process to determine a rank of an answer in a listing of search results for the search query. In some implementations, the
system200 includes an
affiliate link generator212.
-
The
affiliate link generator212 adds affiliate links to answers (or other content) that are provided by the
conversation manager206 to askers or by the
search result processor210 to invoking processes. In some implementations, the
affiliate link generator212 can add an affiliate link to an answer for one or more identified entities in the answer for which the system has affiliate tags. As described above, affiliate tags allow merchants to identify the website or software application of origin for users who execute a purchase and compensate the associated affiliate. In various implementations, the affiliate tag includes a unique identifier of the affiliate (e.g., assigned upon enrollment) and, optionally, the unique identifier of the selected product or service. An entity can be referred to by natural language text or the entity can be referred to by a URL, for example. Entities can be identified in an answer (or other content) by textually searching for URLs, product names, service names, or company names in the answer (or other content) that match names for which the
system200 has an entity tags. The matching does not have to be exact: synonyms, misspellings, and filler text can be taking into account and compensated for in the text matching algorithm. Other ways of identifying entities in text are possible.
-
In other implementations, the
affiliate link generator212 can add an affiliate link to an answer for one or more identified entities in the answer for which the system has affiliate tags only if the corresponding question appears to be seeking a recommendation for a product or service. A question can be classified according to its syntax and the presence of certain keywords or punctuation. For example, the sentences in a question could be classified as questions or non-questions according to the presence of a question mark at the end of the sentence or the appearance at the beginning of “who”, what”, “when”, “where”, “does”, “why”, and so on. Further classification could be effected by monitoring subjective keywords within question such as “best”, “good”, and so on. More detailed classification may be performed by constructing statistical language models or supervised classifiers based on training sets. The training sets may contain hits, wherein a recommendation seeker receives an answer containing an entity, and misses wherein the answer does not contain such.
- FIG. 3
is a flowchart of an example technique for providing a question to an answerer. A question is received, e.g., by the
conversation manager206, from an asker in which the question is associated with one or more topics (302). The topics can be determined by the
question analyzer204, for example. Candidate answerers are ranked, e.g., by the
routing engine208, based at least partly on each answerer's respective relationship to the asker and a respective probability that the answerer will provide a satisfactory answer to the question (304). The question is sent successively to groups of one or more candidate answerers, e.g., by the
conversation manager206, according to the ranking until an answer is received from a particular one of the candidate answerers (306). The received answer is then sent to the asker, e.g., by the
conversation manager206, in which the answer includes information that identifies the particular answerer (308).
- FIG. 4
is a flowchart of an example technique for providing an affiliate link in an answer. An answer to a question is received from an answerer, e.g., by the conversation manager 206 (402). An entity is identified in the answer, e.g., by the
affiliate link generator212, in which the entity refers to a product or a service (404). Permission is obtained from the answerer, e.g., by the conversation manager, to provide an interactive link for the entity in the answer to a resource from which the entity can be obtained (406). A query submitted by a user is received, e.g., by the
search result processor210, and it is determined whether query is related to the entity (408). An answer is provided, e.g., by the
search result processor210, including the link to the resource, as part of search results that are responsive to the query.
-
Embodiments of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
-
The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
-
The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
-
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
-
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
-
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
-
To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
-
Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
-
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.
-
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
-
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
-
Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
-
In further implementations, the system can match users based on existing content on the web rather than questions or answers submitted directly to the system. By way of example, the system can initiate a conversation between two users where one had posted a question on one forum but there was a candidate answerer who had written on relevant topics on another forum. The system might also give the questioner more visibility into the types of users that might receive the question and allow the asker to take more control over who might see the question and who would be barred from seeing the question. For example, an asker might be given the option of saying send this to users such as their professors but not to friends of someone they are dating.
Claims (25)
1. A method implemented by data processing apparatus, the method comprising:
receiving a question from an asker in which the question is associated with one or more topics;
selecting candidate answerers based at least partly on each answerer's respective relationship to the asker;
sending the question successively to groups of one or more candidate answerers until an answer is received from a particular one of the candidate answerers; and
sending to the asker the received answer and information that identifies the particular answerer.
2. The method of
claim 1in which selecting candidate answerers is based at least partly on a time of day and whether a candidate answerer in the candidate answerers has been historically active during the time of day or prefers not to be contacted during the time of day.
3. The method of
claim 1in which selecting candidate answerers is based at least partly on a whether a candidate answerer is in the candidate answerers is online.
4. The method of
claim 1in which selecting candidate answerers is based at least partly on whether the candidate answerer has been contacted in a recent time period or a contact frequency preference of the candidate answerer.
5. The method of
claim 1, in which sending further comprises receiving from a candidate answerer identification of another potential answer and sending the question to the other candidate answerer.
6. The method of
claim 1in which the respective relationship of a candidate answerer to the asker is based at least partly a degree of social indirection between the two.
7. The method of
claim 1in which sending further comprises selecting one or more message formats appropriate for the one or more candidate answerers in the group and sending the question using the selected message formats.
8. The method of
claim 7in which a message format is an instant message, electronic mail, a blog post, a short message service message, a posted comment, a micro-blog post, a wall post, or other social network message.
9. The method of
claim 7in which the message format for a candidate answerer in the group is selected based at least partly on the time of day.
10. The method of
claim 7in which the message format for a candidate answerer in the group is selected based at least partly on a likelihood that the candidate answerer will provide an answer based at least partly on the message format.
11. The method of
claim 1in which the information includes a description of a relationship between the asker and the particular answerer.
12. The method of
claim 1in which selecting candidate answerers further comprises selecting one or more candidate answerers based on topics associated with the selected candidate answerers.
13. A system comprising:
a computer-readable medium including instructions; and
data processing apparatus coupled to the computer-readable medium and able to execute the instructions to perform operations comprising:
receiving a question from an asker in which the question is associated with one or more topics;
selecting candidate answerers based at least partly on each answerer's respective relationship to the asker;
sending the question successively to groups of one or more candidate answerers until an answer is received from a particular one of the candidate answerers; and
sending to the asker the received answer and information that identifies the particular answerer.
14. The system of
claim 13in which selecting candidate answerers is based at least partly on a time of day and whether a candidate answerer in the candidate answerers has been historically active during the time of day or prefers not to be contacted during the time of day.
15. The system of
claim 13in which selecting candidate answerers is based at least partly on a whether a candidate answerer is in the candidate answerers is online.
16. The system of
claim 13in which selecting candidate answerers is based at least partly on whether the candidate answerer has been contacted in a recent time period or a contact frequency preference of the candidate answerer.
17. The system of
claim 13in which sending further comprises receiving from a candidate answerer identification of another potential answer and sending the question to the other candidate answerer.
18. The system of
claim 13in which the respective relationship of a candidate answerer to the asker is based at least partly a degree of social indirection between the two.
19. The system of
claim 13in which sending further comprises selecting one or more message formats appropriate for the one or more candidate answerers in the group and sending the question using the selected message formats.
20. The system of
claim 19in which a message format is an instant message, electronic mail, a blog post, a short message service message, a posted comment, a micro-blog post, a wall post, or other social network message.
21. The system of
claim 19in which the message format for a candidate answerer in the group is selected based at least partly on the time of day.
22. The system of
claim 19in which the message format for a candidate answerer in the group is selected based at least partly on a likelihood that the candidate answerer will provide an answer based at least partly on the message format.
23. The system of
claim 13in which the information includes a description of a relationship between the asker and the particular answerer.
24. The system of
claim 13in which selecting candidate answerers further comprises selecting one or more candidate answerers based on topics associated with the selected candidate answerers.
25. A computer-readable medium including instructions operable to cause data processing apparatus to perform operations comprising:
receiving a question from an asker in which the question is associated with one or more topics;
selecting candidate answerers based at least partly on each answerer's respective relationship to the asker;
sending the question successively to groups of one or more candidate answerers until an answer is received from a particular one of the candidate answerers; and
sending to the asker the received answer and information that identifies the particular answerer.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/915,624 US20110106895A1 (en) | 2009-10-30 | 2010-10-29 | Social search engine |
US13/620,377 US9444772B2 (en) | 2009-10-30 | 2012-09-14 | Social search engine |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25632509P | 2009-10-30 | 2009-10-30 | |
US25632409P | 2009-10-30 | 2009-10-30 | |
US12/915,624 US20110106895A1 (en) | 2009-10-30 | 2010-10-29 | Social search engine |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/620,377 Continuation US9444772B2 (en) | 2009-10-30 | 2012-09-14 | Social search engine |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110106895A1 true US20110106895A1 (en) | 2011-05-05 |
Family
ID=43923021
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/915,624 Abandoned US20110106895A1 (en) | 2009-10-30 | 2010-10-29 | Social search engine |
US12/915,654 Expired - Fee Related US8515888B2 (en) | 2009-10-30 | 2010-10-29 | Affiliate linking where answerer requests permission to insert an interactive link in an answer |
US13/620,377 Expired - Fee Related US9444772B2 (en) | 2009-10-30 | 2012-09-14 | Social search engine |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/915,654 Expired - Fee Related US8515888B2 (en) | 2009-10-30 | 2010-10-29 | Affiliate linking where answerer requests permission to insert an interactive link in an answer |
US13/620,377 Expired - Fee Related US9444772B2 (en) | 2009-10-30 | 2012-09-14 | Social search engine |
Country Status (3)
Country | Link |
---|---|
US (3) | US20110106895A1 (en) |
DE (1) | DE212010000172U1 (en) |
WO (1) | WO2011053830A2 (en) |
Cited By (84)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078129A1 (en) * | 2005-07-22 | 2011-03-31 | Rathod Yogesh Chunilal | System and method of searching, sharing, and communication in a plurality of networks |
US20110106746A1 (en) * | 2009-10-30 | 2011-05-05 | Google Inc. | Affiliate linking |
US20110196922A1 (en) * | 2010-02-08 | 2011-08-11 | At&T Intellectual Property I, L.P. | Providing an answer to a question from a social network site using a separate messaging site |
US20110252011A1 (en) * | 2010-04-08 | 2011-10-13 | Microsoft Corporation | Integrating a Search Service with a Social Network Resource |
US20110252108A1 (en) * | 2010-04-08 | 2011-10-13 | Microsoft Corporation | Designating automated agents as friends in a social network service |
US20120041850A1 (en) * | 2010-08-10 | 2012-02-16 | International Business Machines, Inc. | Incentivizing content-receivers in social networks |
US20120095996A1 (en) * | 2010-10-14 | 2012-04-19 | Bruno Dumant | Search in a multi-relationship social network |
US20120150972A1 (en) * | 2010-12-14 | 2012-06-14 | Microsoft Corporation | Interactive search results page |
US20120167007A1 (en) * | 2010-12-23 | 2012-06-28 | Blake Ross | Targeting Questions to Users of a Social Networking System |
US20120166457A1 (en) * | 2010-12-23 | 2012-06-28 | Blake Ross | Tagging Questions from Users on a Social Networking System |
US20120185484A1 (en) * | 2011-01-17 | 2012-07-19 | Chacha Search, Inc. | Method and system of selecting responders |
US20120226995A1 (en) * | 2011-03-02 | 2012-09-06 | Microsoft Corporation | Content Customization with Security for Client Preferences |
US8275769B1 (en) * | 2011-04-14 | 2012-09-25 | Palo Alto Research Center Incorporated | System and method for identifying users relevant to a topic of interest |
US20120295633A1 (en) * | 2011-05-19 | 2012-11-22 | Elad Yom-Tov | Using user's social connection and information in web searching |
US20120323991A1 (en) * | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Mobile social interaction |
WO2013013217A1 (en) * | 2011-07-20 | 2013-01-24 | Microsoft Corporation | Modeling search in a social graph |
US20130041876A1 (en) * | 2011-08-08 | 2013-02-14 | Paul Alexander Dow | Link recommendation and densification |
US20130144961A1 (en) * | 2011-12-01 | 2013-06-06 | Nhn Corporation | System and method for providing information interactively by instant messaging application |
US8473489B1 (en) | 2011-09-27 | 2013-06-25 | Google Inc. | Identifying entities using search results |
US8504418B1 (en) * | 2012-07-19 | 2013-08-06 | Benjamin P. Dimock | Incenting answer quality |
US20130246390A1 (en) * | 2010-02-11 | 2013-09-19 | c/o Facebook, Inc. | Real time content searching in social network |
US20130325755A1 (en) * | 2012-05-31 | 2013-12-05 | Lex Arquette | Methods and systems for optimizing messages to users of a social network |
US8606742B1 (en) | 2011-05-13 | 2013-12-10 | Google Inc. | User behavior based contact decisions |
US20140067782A1 (en) * | 2012-09-02 | 2014-03-06 | Microsoft Corporation | Social network responses to queries |
US8712944B1 (en) * | 2011-05-13 | 2014-04-29 | Google Inc. | Adaptive contact window wherein the probability that an answering user/expert will respond to a question corresponds to the answering users having response rates that are based on the time of day |
US8712943B1 (en) * | 2011-05-13 | 2014-04-29 | Google Inc. | Question and answer system wherein experts are associated with models and have response rates that are associated with time intervals |
US8775439B1 (en) | 2011-09-27 | 2014-07-08 | Google Inc. | Identifying entities using search results |
US20140214818A1 (en) * | 2011-09-08 | 2014-07-31 | Nokia Corporation | Method and apparatus for hybrid social search model |
US20140215515A1 (en) * | 2011-09-28 | 2014-07-31 | Sanyo Electric Co., Ltd. | Television receiver, portable information terminal and information exchange system including same |
CN104052648A (en) * | 2013-03-12 | 2014-09-17 | 国际商业机器公司 | Flow-directed collaborative communication |
US20140280027A1 (en) * | 2013-03-12 | 2014-09-18 | International Business Machines Corporation | Flow-directed collaborative communication |
US20140279996A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Providing crowdsourced answers to information needs presented by search engine and social networking application users |
US8843466B1 (en) * | 2011-09-27 | 2014-09-23 | Google Inc. | Identifying entities using search results |
US8856099B1 (en) * | 2011-09-27 | 2014-10-07 | Google Inc. | Identifying entities using search results |
US8874559B1 (en) * | 2012-10-01 | 2014-10-28 | Google Inc. | Ranking and ordering items in user-streams |
US8903914B2 (en) * | 2012-10-10 | 2014-12-02 | Microsoft Corporation | Selecting user accounts in social network to answer question |
US8935192B1 (en) | 2010-04-22 | 2015-01-13 | Google Inc. | Social search engine |
US8984076B1 (en) * | 2011-07-12 | 2015-03-17 | Relationship Science LLC | System-facilitated leveraging of relationships |
US20150200880A1 (en) * | 2014-01-10 | 2015-07-16 | Chacha Search, Inc | Method and system of providing a notification |
US9088533B1 (en) | 2014-05-27 | 2015-07-21 | Insidesales.com | Email optimization for predicted recipient behavior: suggesting a time at which a user should send an email |
US9092742B1 (en) | 2014-05-27 | 2015-07-28 | Insidesales.com | Email optimization for predicted recipient behavior: suggesting changes in an email to increase the likelihood of an outcome |
US9122756B2 (en) | 2010-12-16 | 2015-09-01 | Google Inc. | On-line social search |
US20150363403A1 (en) * | 2014-06-16 | 2015-12-17 | Dmitry Khalatov | Contextual suggestions of communication targets |
US20150370802A1 (en) * | 2010-09-24 | 2015-12-24 | Aol Inc. | Systems and methods for customized electronic cummunications |
US9223866B2 (en) | 2010-02-08 | 2015-12-29 | Yellowpages.Com Llc | Tagged favorites from social network site for use in search request on a separate site |
US20160055247A1 (en) * | 2014-08-22 | 2016-02-25 | Facebook, Inc. | Systems and methods for providing communications to and from verified entities |
US9299059B1 (en) * | 2012-06-07 | 2016-03-29 | Google Inc. | Generating a summary of social media content |
US9317816B2 (en) | 2014-05-27 | 2016-04-19 | InsideSales.com, Inc. | Email optimization for predicted recipient behavior: suggesting changes that are more likely to cause a target behavior to occur |
US20170132207A1 (en) * | 2015-11-10 | 2017-05-11 | Hipmunk, Inc. | Automatic conversation analysis and participation |
US9661138B2 (en) * | 2015-01-14 | 2017-05-23 | Unify Gmbh & Co. Kg | System and method for automatic intention evaluation and communication routing |
US20170201474A1 (en) * | 2014-06-10 | 2017-07-13 | Netease, Inc. | Method and device for questioning and answering |
US9720964B1 (en) | 2013-02-21 | 2017-08-01 | Scott B Hansen | Methods for enhancing search using a social network |
US9767492B2 (en) | 2011-07-13 | 2017-09-19 | Alibaba Group Holding Limited | Ranking and searching method and apparatus based on interpersonal distances |
US20180032625A1 (en) * | 2014-02-05 | 2018-02-01 | International Business Machines Corporation | Capturing and managing knowledge from social networking interactions |
US20180096067A1 (en) * | 2016-10-04 | 2018-04-05 | Searchmetrics Gmbh | Creation and optimization of resource contents |
US20180349500A1 (en) * | 2017-06-02 | 2018-12-06 | Microsoft Technology Licensing, Llc | Search engine results for low-frequency queries |
US20190020726A1 (en) * | 2015-02-27 | 2019-01-17 | Rovi Guides, Inc. | Methods and systems for recommending media content |
US10192458B2 (en) * | 2012-02-29 | 2019-01-29 | International Business Machines Corporation | Enhancing knowledge bases using rich social media |
US20190050731A1 (en) * | 2016-03-01 | 2019-02-14 | Microsoft Technology Licensing, Llc | Automated commentary for online content |
US10325033B2 (en) | 2016-10-28 | 2019-06-18 | Searchmetrics Gmbh | Determination of content score |
US10339221B2 (en) * | 2017-10-05 | 2019-07-02 | Amadeus S.A.S. | Auto-completion and auto-correction of cryptic language commands with dynamic learning of syntax rules |
US10382367B2 (en) * | 2016-11-23 | 2019-08-13 | Oath Inc. | Commentary generation |
US10467265B2 (en) | 2017-05-22 | 2019-11-05 | Searchmetrics Gmbh | Method for extracting entries from a database |
US10475043B2 (en) | 2015-01-28 | 2019-11-12 | Intuit Inc. | Method and system for pro-active detection and correction of low quality questions in a question and answer based customer support system |
US10540409B2 (en) | 2017-05-01 | 2020-01-21 | International Business Machines Corporation | Categorized social opinions as answers to questions |
US10552843B1 (en) | 2016-12-05 | 2020-02-04 | Intuit Inc. | Method and system for improving search results by recency boosting customer support content for a customer self-help system associated with one or more financial management systems |
US10572954B2 (en) | 2016-10-14 | 2020-02-25 | Intuit Inc. | Method and system for searching for and navigating to user content and other user experience pages in a financial management system with a customer self-service system for the financial management system |
US10733677B2 (en) | 2016-10-18 | 2020-08-04 | Intuit Inc. | Method and system for providing domain-specific and dynamic type ahead suggestions for search query terms with a customer self-service system for a tax return preparation system |
US10748157B1 (en) | 2017-01-12 | 2020-08-18 | Intuit Inc. | Method and system for determining levels of search sophistication for users of a customer self-help system to personalize a content search user experience provided to the users and to increase a likelihood of user satisfaction with the search experience |
US10755294B1 (en) | 2015-04-28 | 2020-08-25 | Intuit Inc. | Method and system for increasing use of mobile devices to provide answer content in a question and answer based customer support system |
US10789310B2 (en) * | 2016-06-30 | 2020-09-29 | Oath Inc. | Fact machine for user generated content |
US10861023B2 (en) | 2015-07-29 | 2020-12-08 | Intuit Inc. | Method and system for question prioritization based on analysis of the question content and predicted asker engagement before answer content is generated |
US10922367B2 (en) | 2017-07-14 | 2021-02-16 | Intuit Inc. | Method and system for providing real time search preview personalization in data management systems |
US20210243149A1 (en) * | 2020-02-05 | 2021-08-05 | International Business Machines Corporation | Dynamically modifying shared location information |
US11093951B1 (en) | 2017-09-25 | 2021-08-17 | Intuit Inc. | System and method for responding to search queries using customer self-help systems associated with a plurality of data management systems |
US20210365940A1 (en) * | 2020-05-25 | 2021-11-25 | Edatanetworks, Inc. | Transaction For Tamper and Quality Evidenced Delivery of Purchase Incented By Donation |
US11263255B2 (en) * | 2017-01-20 | 2022-03-01 | Twitter, Inc. | Content carousel in a social media timeline |
US11269665B1 (en) | 2018-03-28 | 2022-03-08 | Intuit Inc. | Method and system for user experience personalization in data management systems using machine learning |
US11301526B2 (en) * | 2018-05-22 | 2022-04-12 | Kydryl, Inc. | Search augmentation system |
US11329934B2 (en) * | 2019-06-07 | 2022-05-10 | Fujitsu Limited | Recording medium, information management method, and information management apparatus |
US11436642B1 (en) | 2018-01-29 | 2022-09-06 | Intuit Inc. | Method and system for generating real-time personalized advertisements in data management self-help systems |
US11443348B1 (en) | 2016-01-05 | 2022-09-13 | Twitter, Inc. | Conversational targeted content |
US11574212B2 (en) * | 2017-11-22 | 2023-02-07 | Ntt Docomo, Inc. | Interaction device and interactive response system |
CN116303975A (en) * | 2023-05-11 | 2023-06-23 | 腾讯科技(深圳)有限公司 | Training method of recall model, recall method and related equipment |
Families Citing this family (79)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280603B2 (en) * | 2002-09-17 | 2016-03-08 | Yahoo! Inc. | Generating descriptions of matching resources based on the kind, quality, and relevance of available sources of information about the matching resources |
US8666979B2 (en) * | 2010-04-09 | 2014-03-04 | Palo Alto Research Center Incorporated | Recommending interesting content using messages containing URLs |
US10142441B2 (en) * | 2010-09-24 | 2018-11-27 | Google Llc | Search result annotations |
CN103229120A (en) * | 2010-09-28 | 2013-07-31 | 国际商业机器公司 | Providing answers to questions using hypothesis pruning |
US8499048B2 (en) * | 2010-10-27 | 2013-07-30 | Facebook, Inc. | Indexing and organizing messages in a messaging system using social network information |
US9203796B2 (en) | 2010-11-12 | 2015-12-01 | Facebook, Inc. | Messaging system with multiple messaging channels |
US20180293646A1 (en) * | 2010-12-21 | 2018-10-11 | Google Inc. | Inspiration Feedback by an Activity Assistant |
US20120290374A1 (en) * | 2011-05-13 | 2012-11-15 | Dell Products L.P. | Social Marketplace Process and Architecture |
US9244985B1 (en) * | 2011-09-06 | 2016-01-26 | Google Inc. | Generating search results for people |
US9311404B2 (en) | 2011-09-08 | 2016-04-12 | International Business Machines Corporation | Obscuring search results to increase traffic to network sites |
US20130097141A1 (en) | 2011-10-12 | 2013-04-18 | Microsoft Corporation | Presenting search results annotated with social network connection information |
US20130174058A1 (en) * | 2012-01-04 | 2013-07-04 | Sprylogics International Corp. | System and Method to Automatically Aggregate and Extract Key Concepts Within a Conversation by Semantically Identifying Key Topics |
JP5437426B2 (en) * | 2012-03-30 | 2014-03-12 | 楽天株式会社 | Answer sheet processing system, answer sheet processing method and program |
US11010795B2 (en) | 2012-03-30 | 2021-05-18 | Rewardstyle, Inc. | System and method for affiliate link generation |
US9348811B2 (en) * | 2012-04-20 | 2016-05-24 | Sap Se | Obtaining data from electronic documents |
US20140030688A1 (en) * | 2012-07-25 | 2014-01-30 | Armitage Sheffield, Llc | Systems, methods and program products for collecting and displaying query responses over a data network |
US10169456B2 (en) * | 2012-08-14 | 2019-01-01 | International Business Machines Corporation | Automatic determination of question in text and determination of candidate responses using data mining |
US9311005B2 (en) * | 2012-10-04 | 2016-04-12 | International Business Machines Corporation | Method to prevent I/O starvation of slower hosts in a multi-host environment |
WO2014076559A1 (en) * | 2012-11-19 | 2014-05-22 | Ismail Abdulnasir D | Keyword-based networking method |
US9015162B2 (en) * | 2013-01-25 | 2015-04-21 | International Business Machines Corporation | Integrating smart social question and answers enabled for use with social networking tools |
US9166943B2 (en) | 2013-03-12 | 2015-10-20 | International Business Machines Corporation | Systems and methods for using social network analysis to schedule communications |
US9146986B2 (en) * | 2013-03-14 | 2015-09-29 | Facebook, Inc. | Systems, methods, and apparatuses for implementing an interface to view and explore socially relevant concepts of an entity graph |
US20140330755A1 (en) * | 2013-03-15 | 2014-11-06 | Exterro, Inc. | Intelligent searching of electronically stored information |
US9400840B2 (en) * | 2013-03-25 | 2016-07-26 | Salesforce.Com, Inc. | Combining topic suggestions from different topic sources to assign to textual data items |
US20140344259A1 (en) * | 2013-05-15 | 2014-11-20 | Google Inc. | Answering people-related questions |
KR102228455B1 (en) * | 2013-08-05 | 2021-03-16 | 삼성전자주식회사 | Device and sever for providing a subject of conversation and method for providing the same |
US11120491B2 (en) * | 2013-09-24 | 2021-09-14 | Ebay Inc. | Method, medium, and system for social media based recommendations |
US20150134461A1 (en) * | 2013-09-30 | 2015-05-14 | Goldenslate, Inc. | Referral management methods and apparatus |
US20150100581A1 (en) * | 2013-10-08 | 2015-04-09 | Chacha Search, Inc | Method and system for providing assistance to a responder |
US9396263B1 (en) | 2013-10-14 | 2016-07-19 | Google Inc. | Identifying canonical content items for answering online questions |
WO2015065327A1 (en) * | 2013-10-29 | 2015-05-07 | Hewlett-Packard Development Company, L.P. | Providing information technology support |
US8949360B1 (en) | 2013-12-30 | 2015-02-03 | crWOWd, Inc. | Request and response aggregation system and method with request relay |
US9396236B1 (en) | 2013-12-31 | 2016-07-19 | Google Inc. | Ranking users based on contextual factors |
US20150271126A1 (en) * | 2014-03-20 | 2015-09-24 | Drgnfly, Inc. | Event creation and organization |
US10506075B1 (en) * | 2014-03-26 | 2019-12-10 | Amazon Technologies, Inc. | Link correction system and methods |
CN104166707B (en) * | 2014-08-08 | 2017-10-31 | 百度在线网络技术(北京)有限公司 | Search for recommendation method and search recommendation apparatus |
US11182442B1 (en) * | 2014-10-30 | 2021-11-23 | Intuit, Inc. | Application usage by selecting targeted responses to social media posts about the application |
NL2013800B1 (en) * | 2014-11-14 | 2016-09-20 | Thinkin B V | A computer program for responding to a question from a first user by a group of other users, computer-readable medium provided therewith and in accordance with system. |
US9898170B2 (en) | 2014-12-10 | 2018-02-20 | International Business Machines Corporation | Establishing user specified interaction modes in a question answering dialogue |
CN105786936A (en) | 2014-12-23 | 2016-07-20 | 阿里巴巴集团控股有限公司 | Search data processing method and device |
US20160196353A1 (en) * | 2015-01-02 | 2016-07-07 | Dell Products L.P. | Workflow to Automatically Engage SMES with Customers Over Multiple Social Media Platforms |
BR102015004521B1 (en) * | 2015-02-27 | 2023-09-26 | Samsung Eletrônica da Amazônia Ltda. | METHOD FOR COMMUNICATION BETWEEN USERS AND SMART DEVICES |
US10594810B2 (en) | 2015-04-06 | 2020-03-17 | International Business Machines Corporation | Enhancing natural language processing query/answer systems using social network analysis |
US10083213B1 (en) | 2015-04-27 | 2018-09-25 | Intuit Inc. | Method and system for routing a question based on analysis of the question content and predicted user satisfaction with answer content before the answer content is generated |
US20160321439A1 (en) * | 2015-04-28 | 2016-11-03 | Linkedin Corporation | Connection Prediction As Identity Verification |
US10134050B1 (en) | 2015-04-29 | 2018-11-20 | Intuit Inc. | Method and system for facilitating the production of answer content from a mobile device for a question and answer based customer support system |
US10447777B1 (en) | 2015-06-30 | 2019-10-15 | Intuit Inc. | Method and system for providing a dynamically updated expertise and context based peer-to-peer customer support system within a software application |
US10147037B1 (en) | 2015-07-28 | 2018-12-04 | Intuit Inc. | Method and system for determining a level of popularity of submission content, prior to publicizing the submission content with a question and answer support system |
US10268956B2 (en) | 2015-07-31 | 2019-04-23 | Intuit Inc. | Method and system for applying probabilistic topic models to content in a tax environment to improve user satisfaction with a question and answer customer support system |
US9852226B2 (en) | 2015-08-10 | 2017-12-26 | Microsoft Technology Licensing, Llc | Search engine results system using entity density |
KR102598273B1 (en) * | 2015-09-01 | 2023-11-06 | 삼성전자주식회사 | Method of recommanding a reply message and device thereof |
US10394804B1 (en) | 2015-10-08 | 2019-08-27 | Intuit Inc. | Method and system for increasing internet traffic to a question and answer customer support system |
US10242093B2 (en) | 2015-10-29 | 2019-03-26 | Intuit Inc. | Method and system for performing a probabilistic topic analysis of search queries for a customer support system |
US11449785B2 (en) * | 2016-02-24 | 2022-09-20 | Line Corporation | Method and system for artificial intelligence learning using messaging service and method and system for relaying answer using artificial intelligence |
US10599699B1 (en) | 2016-04-08 | 2020-03-24 | Intuit, Inc. | Processing unstructured voice of customer feedback for improving content rankings in customer support systems |
US10230816B2 (en) * | 2016-05-11 | 2019-03-12 | International Business Machines Corporation | Communication management in a social networking environment |
US10762438B1 (en) * | 2016-06-30 | 2020-09-01 | Facebook, Inc. | Extracting questions and answers |
US10162734B1 (en) | 2016-07-20 | 2018-12-25 | Intuit Inc. | Method and system for crowdsourcing software quality testing and error detection in a tax return preparation system |
US10467541B2 (en) * | 2016-07-27 | 2019-11-05 | Intuit Inc. | Method and system for improving content searching in a question and answer customer support system by using a crowd-machine learning hybrid predictive model |
US10460398B1 (en) | 2016-07-27 | 2019-10-29 | Intuit Inc. | Method and system for crowdsourcing the detection of usability issues in a tax return preparation system |
US10445332B2 (en) | 2016-09-28 | 2019-10-15 | Intuit Inc. | Method and system for providing domain-specific incremental search results with a customer self-service system for a financial management system |
US10325025B2 (en) | 2016-11-30 | 2019-06-18 | International Business Machines Corporation | Contextual analogy representation |
US10325024B2 (en) | 2016-11-30 | 2019-06-18 | International Business Machines Corporation | Contextual analogy response |
US10133736B2 (en) | 2016-11-30 | 2018-11-20 | International Business Machines Corporation | Contextual analogy resolution |
US10169770B2 (en) * | 2017-04-10 | 2019-01-01 | Wildfire Systems, Inc. | Digital communications monetization system |
US10628754B2 (en) | 2017-06-06 | 2020-04-21 | At&T Intellectual Property I, L.P. | Personal assistant for facilitating interaction routines |
US10769138B2 (en) | 2017-06-13 | 2020-09-08 | International Business Machines Corporation | Processing context-based inquiries for knowledge retrieval |
JP6427702B1 (en) * | 2018-05-01 | 2018-11-21 | 株式会社Triart | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM |
US20190384827A1 (en) * | 2018-06-14 | 2019-12-19 | Naver Corporation | Item recommendation method and apparatus, and computer program for executing the item recommending method |
CN109412931B (en) * | 2018-09-18 | 2021-07-09 | 阿里巴巴(中国)有限公司 | Method, device and terminal equipment for performing knowledge question answering by using instant messaging mode |
US10997250B2 (en) * | 2018-09-24 | 2021-05-04 | Salesforce.Com, Inc. | Routing of cases using unstructured input and natural language processing |
GB201815743D0 (en) * | 2018-09-27 | 2018-11-14 | Microsoft Technology Licensing Llc | Gathering data in a communication system |
GB201815765D0 (en) | 2018-09-27 | 2018-11-14 | Microsoft Technology Licensing Llc | Gathering data in a communication system |
US10992612B2 (en) * | 2018-11-12 | 2021-04-27 | Salesforce.Com, Inc. | Contact information extraction and identification |
US11360969B2 (en) | 2019-03-20 | 2022-06-14 | Promethium, Inc. | Natural language based processing of data stored across heterogeneous data sources |
WO2020218929A1 (en) | 2019-04-26 | 2020-10-29 | Motorola Solutions, Inc | System and method for management of commercial virtual assistant services |
US10592961B1 (en) * | 2019-05-17 | 2020-03-17 | Capital Once Services, LLC | Methods and systems for providing purchase recommendations to users |
US11809958B2 (en) | 2020-06-10 | 2023-11-07 | Capital One Services, Llc | Systems and methods for automatic decision-making with user-configured criteria using multi-channel data inputs |
US11823044B2 (en) * | 2020-06-29 | 2023-11-21 | Paypal, Inc. | Query-based recommendation systems using machine learning-trained classifier |
Citations (33)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311211B1 (en) * | 1996-04-19 | 2001-10-30 | Juno Online Services, Inc. | Method and apparatus for delivering electronic advocacy messages |
US20020046084A1 (en) * | 1999-10-08 | 2002-04-18 | Scott A. Steele | Remotely configurable multimedia entertainment and information system with location based advertising |
US20020169595A1 (en) * | 2001-03-30 | 2002-11-14 | Yevgeny Agichtein | Method for retrieving answers from an information retrieval system |
US20030028596A1 (en) * | 2001-05-15 | 2003-02-06 | Kabushiki Toshiba | Community-based collaborative knowledge system, and user access limiting method in that system |
US20030092455A1 (en) * | 2001-02-06 | 2003-05-15 | Takeshi Natsuno | Device and method for mediating between questioners and answerer by using mobile telephone |
US20040083265A1 (en) * | 2002-10-29 | 2004-04-29 | Joerg Beringer | Collaborative conversation channels |
US20050222906A1 (en) * | 2002-02-06 | 2005-10-06 | Chen Timothy T | System and method of targeted marketing |
US20050256866A1 (en) * | 2004-03-15 | 2005-11-17 | Yahoo! Inc. | Search system and methods with integration of user annotations from a trust network |
US20060167874A1 (en) * | 2005-01-24 | 2006-07-27 | Microsoft Corporation | Game-powered search engine |
US20060212900A1 (en) * | 1998-06-12 | 2006-09-21 | Metabyte Networks, Inc. | Method and apparatus for delivery of targeted video programming |
US20070286169A1 (en) * | 2006-05-18 | 2007-12-13 | Anthony Roman | Radio flag (focused listening and advertising guide) system and method |
US20080114755A1 (en) * | 2006-11-15 | 2008-05-15 | Collective Intellect, Inc. | Identifying sources of media content having a high likelihood of producing on-topic content |
US20080307320A1 (en) * | 2006-09-05 | 2008-12-11 | Payne John M | Online system and method for enabling social search and structured communications among social networks |
US20090089126A1 (en) * | 2007-10-01 | 2009-04-02 | Odubiyi Jide B | Method and system for an automated corporate governance rating system |
US20090162824A1 (en) * | 2007-12-21 | 2009-06-25 | Heck Larry P | Automated learning from a question and answering network of humans |
US20090228458A1 (en) * | 2006-02-02 | 2009-09-10 | Iac Search & Media, Inc. | Searching for services in natural language |
US20090265317A1 (en) * | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Classifying search query traffic |
US20100030770A1 (en) * | 2008-08-04 | 2010-02-04 | Microsoft Corporation | Searching questions based on topic and focus |
US20100057712A1 (en) * | 2008-09-02 | 2010-03-04 | Yahoo! Inc. | Integrated community-based, contribution polling arrangement |
US20100054218A1 (en) * | 2008-08-27 | 2010-03-04 | Richard Mark Clayton | Method and System for Detecting Broadcast Receivers and Transitioning to Selective Communications |
US20100057688A1 (en) * | 2008-09-04 | 2010-03-04 | Kana Software, Inc. | Adaptive multi-channel answering service for knowledge management systems |
US20100106668A1 (en) * | 2008-10-17 | 2010-04-29 | Louis Hawthorne | System and method for providing community wisdom based on user profile |
US20100125605A1 (en) * | 2008-11-18 | 2010-05-20 | Yahoo! Inc. | System and method for data privacy in url based context queries |
US20100198757A1 (en) * | 2009-02-02 | 2010-08-05 | Microsoft Corporation | Performance of a social network |
US20100205541A1 (en) * | 2009-02-11 | 2010-08-12 | Jeffrey A. Rapaport | social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US7788260B2 (en) * | 2004-06-14 | 2010-08-31 | Facebook, Inc. | Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation |
US20100223212A1 (en) * | 2009-02-27 | 2010-09-02 | Microsoft Corporation | Task-related electronic coaching |
US20110106746A1 (en) * | 2009-10-30 | 2011-05-05 | Google Inc. | Affiliate linking |
US20110153542A1 (en) * | 2009-12-23 | 2011-06-23 | Yahoo! Inc. | Opinion aggregation system |
US20110307478A1 (en) * | 2007-11-02 | 2011-12-15 | Thomas Pinckney | Geographically localized recommendations in a computing advice facility |
US8135609B2 (en) * | 2002-01-08 | 2012-03-13 | Microsoft Corporation | Identifying and surveying subscribers |
US8275803B2 (en) * | 2008-05-14 | 2012-09-25 | International Business Machines Corporation | System and method for providing answers to questions |
US8295465B2 (en) * | 2007-09-25 | 2012-10-23 | Utbk, Inc. | Systems and methods to connect members of a social network for real time communication |
Family Cites Families (7)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000050967A2 (en) | 1999-02-23 | 2000-08-31 | Webqna, Inc. | Computer system and methods for trading information in a networked environment |
US20010032244A1 (en) * | 1999-11-15 | 2001-10-18 | Neustel Michael S. | Internet based help system |
AU3401001A (en) | 2000-01-24 | 2001-07-31 | Neuronia Ltd. | A system and method for matching requests for information with sources thereof |
US20010034015A1 (en) * | 2000-02-11 | 2001-10-25 | Raichur Arvind A. | Network based anonymous question and answer system |
US6938068B1 (en) * | 2000-06-30 | 2005-08-30 | International Business Machines Corporation | System for managing an exchange of questions and answers through an expert answer web site |
US7958215B2 (en) * | 2003-02-12 | 2011-06-07 | International Business Machines Corporation | System management using real time collaboration |
WO2007052285A2 (en) | 2005-07-22 | 2007-05-10 | Yogesh Chunilal Rathod | Universal knowledge management and desktop search system |
-
2010
- 2010-10-29 US US12/915,624 patent/US20110106895A1/en not_active Abandoned
- 2010-10-29 US US12/915,654 patent/US8515888B2/en not_active Expired - Fee Related
- 2010-10-29 WO PCT/US2010/054808 patent/WO2011053830A2/en active Application Filing
- 2010-10-29 DE DE212010000172U patent/DE212010000172U1/en not_active Expired - Lifetime
-
2012
- 2012-09-14 US US13/620,377 patent/US9444772B2/en not_active Expired - Fee Related
Patent Citations (34)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311211B1 (en) * | 1996-04-19 | 2001-10-30 | Juno Online Services, Inc. | Method and apparatus for delivering electronic advocacy messages |
US20060212900A1 (en) * | 1998-06-12 | 2006-09-21 | Metabyte Networks, Inc. | Method and apparatus for delivery of targeted video programming |
US20020046084A1 (en) * | 1999-10-08 | 2002-04-18 | Scott A. Steele | Remotely configurable multimedia entertainment and information system with location based advertising |
US20050261013A1 (en) * | 2001-02-06 | 2005-11-24 | Ntt Docomo, Inc. | Apparatus and method for mediating between callers and receivers using mobile phones |
US20030092455A1 (en) * | 2001-02-06 | 2003-05-15 | Takeshi Natsuno | Device and method for mediating between questioners and answerer by using mobile telephone |
US20020169595A1 (en) * | 2001-03-30 | 2002-11-14 | Yevgeny Agichtein | Method for retrieving answers from an information retrieval system |
US20030028596A1 (en) * | 2001-05-15 | 2003-02-06 | Kabushiki Toshiba | Community-based collaborative knowledge system, and user access limiting method in that system |
US8135609B2 (en) * | 2002-01-08 | 2012-03-13 | Microsoft Corporation | Identifying and surveying subscribers |
US20050222906A1 (en) * | 2002-02-06 | 2005-10-06 | Chen Timothy T | System and method of targeted marketing |
US20040083265A1 (en) * | 2002-10-29 | 2004-04-29 | Joerg Beringer | Collaborative conversation channels |
US20050256866A1 (en) * | 2004-03-15 | 2005-11-17 | Yahoo! Inc. | Search system and methods with integration of user annotations from a trust network |
US7788260B2 (en) * | 2004-06-14 | 2010-08-31 | Facebook, Inc. | Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation |
US20060167874A1 (en) * | 2005-01-24 | 2006-07-27 | Microsoft Corporation | Game-powered search engine |
US20090228458A1 (en) * | 2006-02-02 | 2009-09-10 | Iac Search & Media, Inc. | Searching for services in natural language |
US20070286169A1 (en) * | 2006-05-18 | 2007-12-13 | Anthony Roman | Radio flag (focused listening and advertising guide) system and method |
US20080307320A1 (en) * | 2006-09-05 | 2008-12-11 | Payne John M | Online system and method for enabling social search and structured communications among social networks |
US20080114755A1 (en) * | 2006-11-15 | 2008-05-15 | Collective Intellect, Inc. | Identifying sources of media content having a high likelihood of producing on-topic content |
US8295465B2 (en) * | 2007-09-25 | 2012-10-23 | Utbk, Inc. | Systems and methods to connect members of a social network for real time communication |
US20090089126A1 (en) * | 2007-10-01 | 2009-04-02 | Odubiyi Jide B | Method and system for an automated corporate governance rating system |
US20110307478A1 (en) * | 2007-11-02 | 2011-12-15 | Thomas Pinckney | Geographically localized recommendations in a computing advice facility |
US20090162824A1 (en) * | 2007-12-21 | 2009-06-25 | Heck Larry P | Automated learning from a question and answering network of humans |
US20090265317A1 (en) * | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Classifying search query traffic |
US8275803B2 (en) * | 2008-05-14 | 2012-09-25 | International Business Machines Corporation | System and method for providing answers to questions |
US20100030770A1 (en) * | 2008-08-04 | 2010-02-04 | Microsoft Corporation | Searching questions based on topic and focus |
US20100054218A1 (en) * | 2008-08-27 | 2010-03-04 | Richard Mark Clayton | Method and System for Detecting Broadcast Receivers and Transitioning to Selective Communications |
US20100057712A1 (en) * | 2008-09-02 | 2010-03-04 | Yahoo! Inc. | Integrated community-based, contribution polling arrangement |
US20100057688A1 (en) * | 2008-09-04 | 2010-03-04 | Kana Software, Inc. | Adaptive multi-channel answering service for knowledge management systems |
US20100106668A1 (en) * | 2008-10-17 | 2010-04-29 | Louis Hawthorne | System and method for providing community wisdom based on user profile |
US20100125605A1 (en) * | 2008-11-18 | 2010-05-20 | Yahoo! Inc. | System and method for data privacy in url based context queries |
US20100198757A1 (en) * | 2009-02-02 | 2010-08-05 | Microsoft Corporation | Performance of a social network |
US20100205541A1 (en) * | 2009-02-11 | 2010-08-12 | Jeffrey A. Rapaport | social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US20100223212A1 (en) * | 2009-02-27 | 2010-09-02 | Microsoft Corporation | Task-related electronic coaching |
US20110106746A1 (en) * | 2009-10-30 | 2011-05-05 | Google Inc. | Affiliate linking |
US20110153542A1 (en) * | 2009-12-23 | 2011-06-23 | Yahoo! Inc. | Opinion aggregation system |
Cited By (155)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583683B2 (en) | 2005-07-22 | 2013-11-12 | Onepatont Software Limited | System and method for publishing, sharing and accessing selective content in a social network |
US20110231489A1 (en) * | 2005-07-22 | 2011-09-22 | Yogesh Chunilal Rathod | System and method for publishing, sharing and accessing selective content in a social network |
US20110078018A1 (en) * | 2005-07-22 | 2011-03-31 | Rathod Yogesh Chunilal | System and method of targeting advertisements and providing advertisements management |
US20110078129A1 (en) * | 2005-07-22 | 2011-03-31 | Rathod Yogesh Chunilal | System and method of searching, sharing, and communication in a plurality of networks |
US20110161419A1 (en) * | 2005-07-22 | 2011-06-30 | Rathod Yogesh Chunilal | Method and system for dynamically providing a journal feed and searching, sharing and advertising |
US20110225293A1 (en) * | 2005-07-22 | 2011-09-15 | Yogesh Chunilal Rathod | System and method for service based social network |
US20110078583A1 (en) * | 2005-07-22 | 2011-03-31 | Rathod Yogesh Chunilal | System and method for accessing applications for social networking and communication in plurality of networks |
US8515888B2 (en) | 2009-10-30 | 2013-08-20 | Google Inc. | Affiliate linking where answerer requests permission to insert an interactive link in an answer |
US20110106746A1 (en) * | 2009-10-30 | 2011-05-05 | Google Inc. | Affiliate linking |
US9444772B2 (en) | 2009-10-30 | 2016-09-13 | Google Inc. | Social search engine |
US20110196922A1 (en) * | 2010-02-08 | 2011-08-11 | At&T Intellectual Property I, L.P. | Providing an answer to a question from a social network site using a separate messaging site |
US8751578B2 (en) * | 2010-02-08 | 2014-06-10 | Yellowpages.Com Llc | Providing an answer to a question from a social network site using a separate messaging site |
US8412770B2 (en) * | 2010-02-08 | 2013-04-02 | Yellowpages.Com Llc | Providing an answer to a question from a social network site using a separate messaging site |
US9223866B2 (en) | 2010-02-08 | 2015-12-29 | Yellowpages.Com Llc | Tagged favorites from social network site for use in search request on a separate site |
US9237123B2 (en) | 2010-02-08 | 2016-01-12 | Yp Llc | Providing an answer to a question from a social network site using a separate messaging site |
US9465830B2 (en) | 2010-02-11 | 2016-10-11 | Facebook, Inc. | Real time content searching in social network |
US8756239B2 (en) * | 2010-02-11 | 2014-06-17 | Facebook, Inc. | Real time content searching in social network |
US20130246390A1 (en) * | 2010-02-11 | 2013-09-19 | c/o Facebook, Inc. | Real time content searching in social network |
US20210119956A1 (en) * | 2010-04-08 | 2021-04-22 | Microsoft Technology Licensing, Llc | Integrating a Search Service with a Social Network Resource |
US20110252011A1 (en) * | 2010-04-08 | 2011-10-13 | Microsoft Corporation | Integrating a Search Service with a Social Network Resource |
US9929982B2 (en) * | 2010-04-08 | 2018-03-27 | Microsoft Technology Licensing, Llc | Designating automated agents as friends in a social network service |
US20110252108A1 (en) * | 2010-04-08 | 2011-10-13 | Microsoft Corporation | Designating automated agents as friends in a social network service |
US8935192B1 (en) | 2010-04-22 | 2015-01-13 | Google Inc. | Social search engine |
US9098808B1 (en) | 2010-04-22 | 2015-08-04 | Google Inc. | Social search engine |
US20120041850A1 (en) * | 2010-08-10 | 2012-02-16 | International Business Machines, Inc. | Incentivizing content-receivers in social networks |
US11120028B2 (en) | 2010-09-24 | 2021-09-14 | Verizon Media Inc. | Systems and methods for customized electronic communications |
US12210536B2 (en) * | 2010-09-24 | 2025-01-28 | Yahoo Ad Tech Llc | Systems and methods for customized electronic communications |
US20150370802A1 (en) * | 2010-09-24 | 2015-12-24 | Aol Inc. | Systems and methods for customized electronic cummunications |
US10114869B2 (en) * | 2010-09-24 | 2018-10-30 | Oath Inc. | Systems and methods for customized electronic communications |
US11714817B2 (en) | 2010-09-24 | 2023-08-01 | Yahoo Ad Tech Llc | Systems and methods for customized electronic communications |
US20120095996A1 (en) * | 2010-10-14 | 2012-04-19 | Bruno Dumant | Search in a multi-relationship social network |
US9292602B2 (en) * | 2010-12-14 | 2016-03-22 | Microsoft Technology Licensing, Llc | Interactive search results page |
US20120150972A1 (en) * | 2010-12-14 | 2012-06-14 | Microsoft Corporation | Interactive search results page |
US10216797B2 (en) | 2010-12-14 | 2019-02-26 | Microsoft Technology Licensing, Llc | Interactive search results page |
US9122756B2 (en) | 2010-12-16 | 2015-09-01 | Google Inc. | On-line social search |
US20120167007A1 (en) * | 2010-12-23 | 2012-06-28 | Blake Ross | Targeting Questions to Users of a Social Networking System |
US9576045B2 (en) * | 2010-12-23 | 2017-02-21 | Facebook, Inc. | Tagging questions from users on a social networking system |
US20120166457A1 (en) * | 2010-12-23 | 2012-06-28 | Blake Ross | Tagging Questions from Users on a Social Networking System |
US8812982B2 (en) * | 2010-12-23 | 2014-08-19 | Facebook, Inc. | Targeting questions to users of a social networking system |
US20120185484A1 (en) * | 2011-01-17 | 2012-07-19 | Chacha Search, Inc. | Method and system of selecting responders |
US10990701B2 (en) * | 2011-03-02 | 2021-04-27 | Microsoft Technology Licensing, Llc | Content customization with security for client preferences |
US20120226995A1 (en) * | 2011-03-02 | 2012-09-06 | Microsoft Corporation | Content Customization with Security for Client Preferences |
US9519717B2 (en) * | 2011-03-02 | 2016-12-13 | Microsoft Technology Licensing, Llc | Content customization with security for client preferences |
US8275769B1 (en) * | 2011-04-14 | 2012-09-25 | Palo Alto Research Center Incorporated | System and method for identifying users relevant to a topic of interest |
US20120265771A1 (en) * | 2011-04-14 | 2012-10-18 | Palo Alto Research Center Incorporated | System and method for identifying users relevant to a topic of interest |
US8712944B1 (en) * | 2011-05-13 | 2014-04-29 | Google Inc. | Adaptive contact window wherein the probability that an answering user/expert will respond to a question corresponds to the answering users having response rates that are based on the time of day |
US9135558B1 (en) | 2011-05-13 | 2015-09-15 | Google Inc. | Generating models based on response rates of users/experts using probabilities, and random numbers |
US8712943B1 (en) * | 2011-05-13 | 2014-04-29 | Google Inc. | Question and answer system wherein experts are associated with models and have response rates that are associated with time intervals |
US8606742B1 (en) | 2011-05-13 | 2013-12-10 | Google Inc. | User behavior based contact decisions |
US20120295633A1 (en) * | 2011-05-19 | 2012-11-22 | Elad Yom-Tov | Using user's social connection and information in web searching |
US20160057096A1 (en) * | 2011-06-17 | 2016-02-25 | Microsoft Technology Licensing, Llc | Mobile social interaction |
US20120323991A1 (en) * | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Mobile social interaction |
US9203795B2 (en) * | 2011-06-17 | 2015-12-01 | Microsoft Technology Licensing, Llc | Mobile social interaction |
US9985923B2 (en) * | 2011-06-17 | 2018-05-29 | Microsoft Technology Licensing, Llc | Mobile social interaction |
US20140059137A1 (en) * | 2011-06-17 | 2014-02-27 | Microsoft Corporation | Mobile social interaction |
US8566394B2 (en) * | 2011-06-17 | 2013-10-22 | Microsoft Corporation | Mobile social interaction |
US8984076B1 (en) * | 2011-07-12 | 2015-03-17 | Relationship Science LLC | System-facilitated leveraging of relationships |
US9767492B2 (en) | 2011-07-13 | 2017-09-19 | Alibaba Group Holding Limited | Ranking and searching method and apparatus based on interpersonal distances |
WO2013013217A1 (en) * | 2011-07-20 | 2013-01-24 | Microsoft Corporation | Modeling search in a social graph |
US20130041876A1 (en) * | 2011-08-08 | 2013-02-14 | Paul Alexander Dow | Link recommendation and densification |
US20140214818A1 (en) * | 2011-09-08 | 2014-07-31 | Nokia Corporation | Method and apparatus for hybrid social search model |
US9886509B2 (en) * | 2011-09-08 | 2018-02-06 | Nokia Technologies Oy | Method and apparatus for processing a query based on associating intent and audience |
US8843466B1 (en) * | 2011-09-27 | 2014-09-23 | Google Inc. | Identifying entities using search results |
US8473489B1 (en) | 2011-09-27 | 2013-06-25 | Google Inc. | Identifying entities using search results |
US8856099B1 (en) * | 2011-09-27 | 2014-10-07 | Google Inc. | Identifying entities using search results |
US8775439B1 (en) | 2011-09-27 | 2014-07-08 | Google Inc. | Identifying entities using search results |
US20140215515A1 (en) * | 2011-09-28 | 2014-07-31 | Sanyo Electric Co., Ltd. | Television receiver, portable information terminal and information exchange system including same |
US20130144961A1 (en) * | 2011-12-01 | 2013-06-06 | Nhn Corporation | System and method for providing information interactively by instant messaging application |
US9621492B2 (en) * | 2011-12-01 | 2017-04-11 | Line Corporation | System and method for providing information interactively by instant messaging application |
US10192458B2 (en) * | 2012-02-29 | 2019-01-29 | International Business Machines Corporation | Enhancing knowledge bases using rich social media |
US10192457B2 (en) * | 2012-02-29 | 2019-01-29 | International Business Machines Corporation | Enhancing knowledge bases using rich social media |
US9363223B2 (en) * | 2012-05-31 | 2016-06-07 | Facebook, Inc. | Optimizing messages to users of a social network using a message that includes a user's performance of a desired activity associated with a link included in the message |
US20170171142A1 (en) * | 2012-05-31 | 2017-06-15 | Facebook, Inc. | Methods and systems for optimizing messages to users of a social network |
US20130325755A1 (en) * | 2012-05-31 | 2013-12-05 | Lex Arquette | Methods and systems for optimizing messages to users of a social network |
US20150074215A1 (en) * | 2012-05-31 | 2015-03-12 | Facebook, Inc. | Methods And Systems For Optimizing Messages To Users Of A Social Network |
US9882863B2 (en) * | 2012-05-31 | 2018-01-30 | Facebook, Inc. | Methods and systems for optimizing messages to users of a social network |
US20160269347A1 (en) * | 2012-05-31 | 2016-09-15 | Facebook, Inc. | Methods and systems for optimizing messages to users of a social network |
US8924326B2 (en) * | 2012-05-31 | 2014-12-30 | Facebook, Inc. | Methods and systems for optimizing messages to users of a social network |
US9584465B2 (en) * | 2012-05-31 | 2017-02-28 | Facebook, Inc. | Optimizing messages to users of a social network using a prediction model that determines likelihood of user performing desired activity |
US9299059B1 (en) * | 2012-06-07 | 2016-03-29 | Google Inc. | Generating a summary of social media content |
US8504418B1 (en) * | 2012-07-19 | 2013-08-06 | Benjamin P. Dimock | Incenting answer quality |
US20140067782A1 (en) * | 2012-09-02 | 2014-03-06 | Microsoft Corporation | Social network responses to queries |
WO2014036044A3 (en) * | 2012-09-02 | 2014-09-18 | Microsoft Corporation | Social network responses to queries |
US8874559B1 (en) * | 2012-10-01 | 2014-10-28 | Google Inc. | Ranking and ordering items in user-streams |
US8903914B2 (en) * | 2012-10-10 | 2014-12-02 | Microsoft Corporation | Selecting user accounts in social network to answer question |
US9720964B1 (en) | 2013-02-21 | 2017-08-01 | Scott B Hansen | Methods for enhancing search using a social network |
US20140280449A1 (en) * | 2013-03-12 | 2014-09-18 | International Business Machines Corporation | Flow-directed collaborative communication |
US9679023B2 (en) | 2013-03-12 | 2017-06-13 | International Business Machines Corporation | Flow-directed collaborative communication |
US10324994B2 (en) | 2013-03-12 | 2019-06-18 | International Business Machines Corporation | Flow-directed collaborative communication |
US20140280027A1 (en) * | 2013-03-12 | 2014-09-18 | International Business Machines Corporation | Flow-directed collaborative communication |
CN104052648A (en) * | 2013-03-12 | 2014-09-17 | 国际商业机器公司 | Flow-directed collaborative communication |
US9258356B2 (en) * | 2013-03-12 | 2016-02-09 | International Business Machines Corporation | Flow-directed collaborative communication |
US9270739B2 (en) * | 2013-03-12 | 2016-02-23 | International Business Machines Corporation | Flow-directed collaborative communication |
US9953090B2 (en) | 2013-03-12 | 2018-04-24 | International Business Machines Corporation | Flow-directed collaborative communication |
US20140279996A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Providing crowdsourced answers to information needs presented by search engine and social networking application users |
US9424354B2 (en) * | 2013-03-15 | 2016-08-23 | Microsoft Technology Licensing, Llc | Providing crowdsourced answers to information needs presented by search engine and social networking application users |
US20150200880A1 (en) * | 2014-01-10 | 2015-07-16 | Chacha Search, Inc | Method and system of providing a notification |
US11113356B2 (en) | 2014-02-05 | 2021-09-07 | Airbnb, Inc. | Capturing and managing knowledge from social networking interactions |
US20180032625A1 (en) * | 2014-02-05 | 2018-02-01 | International Business Machines Corporation | Capturing and managing knowledge from social networking interactions |
US10762158B2 (en) * | 2014-02-05 | 2020-09-01 | International Business Machines Corporation | Capturing and managing knowledge from social networking interactions |
US9088533B1 (en) | 2014-05-27 | 2015-07-21 | Insidesales.com | Email optimization for predicted recipient behavior: suggesting a time at which a user should send an email |
US9092742B1 (en) | 2014-05-27 | 2015-07-28 | Insidesales.com | Email optimization for predicted recipient behavior: suggesting changes in an email to increase the likelihood of an outcome |
US9317816B2 (en) | 2014-05-27 | 2016-04-19 | InsideSales.com, Inc. | Email optimization for predicted recipient behavior: suggesting changes that are more likely to cause a target behavior to occur |
US9319367B2 (en) * | 2014-05-27 | 2016-04-19 | InsideSales.com, Inc. | Email optimization for predicted recipient behavior: determining a likelihood that a particular receiver-side behavior will occur |
US9742718B2 (en) | 2014-05-27 | 2017-08-22 | Insidesales.com | Message optimization utilizing term replacement based on term sentiment score specific to message category |
US20170201474A1 (en) * | 2014-06-10 | 2017-07-13 | Netease, Inc. | Method and device for questioning and answering |
US10944699B2 (en) * | 2014-06-10 | 2021-03-09 | Netease, Inc. | Method and device for questioning and answering |
US20150363403A1 (en) * | 2014-06-16 | 2015-12-17 | Dmitry Khalatov | Contextual suggestions of communication targets |
US10984061B2 (en) | 2014-08-22 | 2021-04-20 | Facebook, Inc. | Systems and methods for providing communications to and from verified entities |
US10268650B2 (en) * | 2014-08-22 | 2019-04-23 | Facebook, Inc. | Systems and methods for providing communications to and from verified entities |
US20160055247A1 (en) * | 2014-08-22 | 2016-02-25 | Facebook, Inc. | Systems and methods for providing communications to and from verified entities |
US9883039B2 (en) | 2015-01-14 | 2018-01-30 | Unify Gmbh & Co. Kg | System and method for automatic intention evaluation and communication routing |
US9661138B2 (en) * | 2015-01-14 | 2017-05-23 | Unify Gmbh & Co. Kg | System and method for automatic intention evaluation and communication routing |
US10154141B2 (en) | 2015-01-14 | 2018-12-11 | Unify Gmbh & Co. Kg | System and method for automatic intention evaluation and communication routing |
US10475043B2 (en) | 2015-01-28 | 2019-11-12 | Intuit Inc. | Method and system for pro-active detection and correction of low quality questions in a question and answer based customer support system |
US11044331B2 (en) * | 2015-02-27 | 2021-06-22 | Rovi Guides, Inc. | Methods and systems for recommending media content |
US20190020726A1 (en) * | 2015-02-27 | 2019-01-17 | Rovi Guides, Inc. | Methods and systems for recommending media content |
US11429988B2 (en) | 2015-04-28 | 2022-08-30 | Intuit Inc. | Method and system for increasing use of mobile devices to provide answer content in a question and answer based customer support system |
US10755294B1 (en) | 2015-04-28 | 2020-08-25 | Intuit Inc. | Method and system for increasing use of mobile devices to provide answer content in a question and answer based customer support system |
US10861023B2 (en) | 2015-07-29 | 2020-12-08 | Intuit Inc. | Method and system for question prioritization based on analysis of the question content and predicted asker engagement before answer content is generated |
US10007720B2 (en) * | 2015-11-10 | 2018-06-26 | Hipmunk, Inc. | Automatic conversation analysis and participation |
US10289639B2 (en) | 2015-11-10 | 2019-05-14 | Hipmunk, Inc. | Automatic conversation analysis and participation |
US20170132207A1 (en) * | 2015-11-10 | 2017-05-11 | Hipmunk, Inc. | Automatic conversation analysis and participation |
US11443348B1 (en) | 2016-01-05 | 2022-09-13 | Twitter, Inc. | Conversational targeted content |
US11922300B2 (en) * | 2016-03-01 | 2024-03-05 | Microsoft Technology Licensing, Llc. | Automated commentary for online content |
US20190050731A1 (en) * | 2016-03-01 | 2019-02-14 | Microsoft Technology Licensing, Llc | Automated commentary for online content |
US10789310B2 (en) * | 2016-06-30 | 2020-09-29 | Oath Inc. | Fact machine for user generated content |
US20180096067A1 (en) * | 2016-10-04 | 2018-04-05 | Searchmetrics Gmbh | Creation and optimization of resource contents |
US10572954B2 (en) | 2016-10-14 | 2020-02-25 | Intuit Inc. | Method and system for searching for and navigating to user content and other user experience pages in a financial management system with a customer self-service system for the financial management system |
US10733677B2 (en) | 2016-10-18 | 2020-08-04 | Intuit Inc. | Method and system for providing domain-specific and dynamic type ahead suggestions for search query terms with a customer self-service system for a tax return preparation system |
US11403715B2 (en) | 2016-10-18 | 2022-08-02 | Intuit Inc. | Method and system for providing domain-specific and dynamic type ahead suggestions for search query terms |
US10325033B2 (en) | 2016-10-28 | 2019-06-18 | Searchmetrics Gmbh | Determination of content score |
US10931604B2 (en) * | 2016-11-23 | 2021-02-23 | Verizon Media Inc. | Commentary generation |
US10382367B2 (en) * | 2016-11-23 | 2019-08-13 | Oath Inc. | Commentary generation |
US11423411B2 (en) | 2016-12-05 | 2022-08-23 | Intuit Inc. | Search results by recency boosting customer support content |
US10552843B1 (en) | 2016-12-05 | 2020-02-04 | Intuit Inc. | Method and system for improving search results by recency boosting customer support content for a customer self-help system associated with one or more financial management systems |
US10748157B1 (en) | 2017-01-12 | 2020-08-18 | Intuit Inc. | Method and system for determining levels of search sophistication for users of a customer self-help system to personalize a content search user experience provided to the users and to increase a likelihood of user satisfaction with the search experience |
US11263255B2 (en) * | 2017-01-20 | 2022-03-01 | Twitter, Inc. | Content carousel in a social media timeline |
US10540409B2 (en) | 2017-05-01 | 2020-01-21 | International Business Machines Corporation | Categorized social opinions as answers to questions |
US10891339B2 (en) * | 2017-05-01 | 2021-01-12 | International Business Machines Corporation | Categorized social opinions as answers to questions |
US10467265B2 (en) | 2017-05-22 | 2019-11-05 | Searchmetrics Gmbh | Method for extracting entries from a database |
US11481454B2 (en) * | 2017-06-02 | 2022-10-25 | Microsoft Technology Licensing, Llc | Search engine results for low-frequency queries |
US20180349500A1 (en) * | 2017-06-02 | 2018-12-06 | Microsoft Technology Licensing, Llc | Search engine results for low-frequency queries |
US10922367B2 (en) | 2017-07-14 | 2021-02-16 | Intuit Inc. | Method and system for providing real time search preview personalization in data management systems |
US11093951B1 (en) | 2017-09-25 | 2021-08-17 | Intuit Inc. | System and method for responding to search queries using customer self-help systems associated with a plurality of data management systems |
US10339221B2 (en) * | 2017-10-05 | 2019-07-02 | Amadeus S.A.S. | Auto-completion and auto-correction of cryptic language commands with dynamic learning of syntax rules |
US11574212B2 (en) * | 2017-11-22 | 2023-02-07 | Ntt Docomo, Inc. | Interaction device and interactive response system |
US11436642B1 (en) | 2018-01-29 | 2022-09-06 | Intuit Inc. | Method and system for generating real-time personalized advertisements in data management self-help systems |
US11269665B1 (en) | 2018-03-28 | 2022-03-08 | Intuit Inc. | Method and system for user experience personalization in data management systems using machine learning |
US11301526B2 (en) * | 2018-05-22 | 2022-04-12 | Kydryl, Inc. | Search augmentation system |
US11329934B2 (en) * | 2019-06-07 | 2022-05-10 | Fujitsu Limited | Recording medium, information management method, and information management apparatus |
US11223591B2 (en) * | 2020-02-05 | 2022-01-11 | International Business Machines Corporation | Dynamically modifying shared location information |
US20210243149A1 (en) * | 2020-02-05 | 2021-08-05 | International Business Machines Corporation | Dynamically modifying shared location information |
US20210365940A1 (en) * | 2020-05-25 | 2021-11-25 | Edatanetworks, Inc. | Transaction For Tamper and Quality Evidenced Delivery of Purchase Incented By Donation |
CN116303975A (en) * | 2023-05-11 | 2023-06-23 | 腾讯科技(深圳)有限公司 | Training method of recall model, recall method and related equipment |
Also Published As
Publication number | Publication date |
---|---|
US8515888B2 (en) | 2013-08-20 |
US20130173725A1 (en) | 2013-07-04 |
US9444772B2 (en) | 2016-09-13 |
WO2011053830A3 (en) | 2016-09-29 |
WO2011053830A2 (en) | 2011-05-05 |
DE212010000172U1 (en) | 2012-06-22 |
US20110106746A1 (en) | 2011-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9444772B2 (en) | 2016-09-13 | Social search engine |
US8935192B1 (en) | 2015-01-13 | Social search engine |
Horowitz et al. | 2010 | The anatomy of a large-scale social search engine |
US10162816B1 (en) | 2018-12-25 | Computerized system and method for automatically transforming and providing domain specific chatbot responses |
US20180152396A1 (en) | 2018-05-31 | Designating Automated Agents as Friends in Social Network Service |
US8782069B2 (en) | 2014-07-15 | Method and system of providing a search tool |
US8301651B2 (en) | 2012-10-30 | Method and system for improving utilization of human searchers |
US8768934B2 (en) | 2014-07-01 | Method and system of providing verified content |
US8719256B2 (en) | 2014-05-06 | Method and system for improvement of request processing |
US8788476B2 (en) | 2014-07-22 | Method and system of triggering a search request |
US20150178392A1 (en) | 2015-06-25 | Method and system of providing a search tool |
US20140250145A1 (en) | 2014-09-04 | Method and system of providing verified content |
US20130317808A1 (en) | 2013-11-28 | System for and method of analyzing and responding to user generated content |
US20110010352A1 (en) | 2011-01-13 | Method and system of providing search tools |
US20140108143A1 (en) | 2014-04-17 | Social content distribution network |
US11232522B2 (en) | 2022-01-25 | Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source |
AU2008357463A1 (en) | 2009-12-10 | System and method of collecting market-related data via a web-based networking environment |
US20140310329A1 (en) | 2014-10-16 | Method and system of assigning topics to answerers |
CN102694662B (en) | 2016-08-03 | Network service push system and method |
Horowitz et al. | 2012 | Searching the village: models and methods for social search |
US20140025496A1 (en) | 2014-01-23 | Social content distribution network |
US20150293988A1 (en) | 2015-10-15 | System and Method for Opinion Sharing and Recommending Social Connections |
AU2012100405A4 (en) | 2012-05-10 | Social search engine |
US20130066861A1 (en) | 2013-03-14 | Method and system of management of search results |
Svee et al. | 2016 | A model-based approach for capturing consumer preferences from crowdsources: the case of Twitter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
2013-05-24 | AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THE MECHANICAL ZOO, INC.;REEL/FRAME:030484/0683 Effective date: 20100709 Owner name: THE MECHANICAL ZOO, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VENTILLA, MAX;HOROWITZ, DAMON;SPIRO, ROBERT;AND OTHERS;SIGNING DATES FROM 20091216 TO 20091231;REEL/FRAME:030484/0636 |
2015-09-08 | STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
2017-10-06 | AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044142/0357 Effective date: 20170929 |