IP Library Granted Patent US 10,229,163
Granted Patent B1
US 10,229,163 · App. 14/836,489 · Granted Mar 12, 2019

Determining topic interest and/or topic expertise and generating recommendations based on topic interest and/or expertise

Inventor: Alek Kolcz (Seattle, WA)
Assignee: Twitter, Inc.
G06F17/30528G06F17/30867H04L67/10H04L67/306
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,229,163
App. No.
14/836,489
Granted
Mar 12, 2019
Kind
B1
Abstract

A method for providing recommendations involves obtaining a first topic group (TG) associated with a first expertise topic, the first TG specifying a first plurality of accounts, selecting a second TG that specifies a second plurality of accounts, making a first determination that one of the second plurality of accounts is specified in the first TG, based on the first determination, analyzing the second plurality of accounts to determine whether the second TG is associated with the first expertise topic, based on the analysis making a second determination that the second TG is associated with the first expertise topic, generating a recommendation for a first account based on a third determination that the first account is related to an account in the first plurality of accounts or an account in the second plurality of accounts, and providing the recommendation to the first account.

Claims (69)

1. A method for generating a topic ontology model and using the topic ontology model for providing recommendations, the method comprising:

obtaining data representing accounts that are associated with respective topics, each of the accounts being an account of a social network platform, each of the respective topics being an expertise topic of the account, and each of the accounts being associated with two or more respective topics;

ranking the topics associated with each account on a per account basis such that every account is associated with a ranked list of topics;

limiting the size of each ranked list to a top N topics, wherein N is initially a predetermined integer greater than one;

determining how many of the accounts are associated with each of the topics in the ranked lists;

identifying all topics associated with a number of accounts that is less than a threshold number of accounts, and for each of the identified topics:

creating a child node for the identified topic;

determining a parent node for the child node, including determining a highest ranked topic other than the identified topic in each of the ranked lists in which the identified topic appears and creating a parent node for a most frequently occurring topic among the highest ranked topics; and

generating a parent-child relationship between the parent node and the child node;

if N is greater than one, decrementing N by one and repeating the operations of limiting, determining, identifying and decrementing until N, before the decrementing, is equal to one;

when N is equal to one, combining the parent-child relationships generated in the generating operations to generate a topic ontology model;

after generating the topic ontology model, identifying, for a first account, a related topic from (i) interests of the account including a first interest of the first account and (ii) the topic ontology model, the first account being an account of the social network platform, the related topic not being one of the interests of the first account, wherein identifying the related topic includes finding the related topic by finding in the topic ontology model a first node corresponding to the first interest of the account and a related node connected closely to the first node, wherein the related node is connected closely by virtue of being a direct parent of the first node, a direct grandparent of the first node, or a child of the direct parent or the direct grandparent;

generating a recommendation for the first account based on the related topic; and

providing the recommendation to the first account.

2. The method of claim 1 , wherein obtaining data representing accounts that are associated with respective topics comprises obtaining data that associates accounts with respective normalized sets of topics, each normalized set including exactly two topics.

3. The method of claim 1 , wherein the ranking of topics for each account indicates a relative strength of expertise of the account for the topics associated with the account.

4. The method of claim 1 , wherein the threshold number of accounts is four.

5. The method of claim 1 , wherein the value of N is initially ten.

6. The method of claim 1 , wherein:

the recommendation is a recommendation to follow a second account that has the related topic as an expertise topic of the second account.

7. The method of claim 1 , wherein:

providing the recommendation comprises providing a platform message to the first account, wherein the platform message is from a third account that the first account is not following or otherwise related to, and wherein the third account has the related topic as an expertise topic of the third account.

8. A non-transitory computer readable medium comprising instructions that, when executed by a computer processor, perform a method for generating a topic ontology model and using the topic ontology model for providing recommendations, the method comprising:

obtaining data representing accounts that are associated with respective topics, each of the accounts being an account of a social network platform, each of the respective topics being an expertise topic of the account, and each of the accounts being associated with two or more respective topics;

ranking the topics associated with each account on a per account basis such that every account is associated with a ranked list of topics;

limiting the size of each ranked list to a top N topics, wherein N is initially a predetermined integer greater than one;

determining how many of the accounts are associated with each of the topics in the ranked lists;

identifying all topics associated with a number of accounts that is less than a threshold number of accounts, and for each of the identified topics:

creating a child node for the identified topic;

determining a parent node for the child node, including determining a highest ranked topic other than the identified topic in each of the ranked lists in which the identified topic appears and creating a parent node for a most frequently occurring topic among the highest ranked topics; and

generating a parent-child relationship between the parent node and the child node;

if N is greater than one, decrementing N by one and repeating the operations of limiting, determining, identifying and decrementing until N, before the decrementing, is equal to one;

when N is equal to one, combining the parent-child relationships generated in the generating operations to generate a topic ontology model;

after generating the topic ontology model, identifying, for a first account, a related topic from (i) interests of the account including a first interest of the first account and (ii) the topic ontology model, the first account being an account of the social network platform, the related topic not being one of the interests of the first account, wherein identifying the related topic includes finding the related topic by finding in the topic ontology model a first node corresponding to the first interest of the account and a related node connected closely to the first node, wherein the related node is connected closely by virtue of being a direct parent of the first node, a direct grandparent of the first node, or a child of the direct parent or the direct grandparent;

generating a recommendation for the first account based on the related topic; and

providing the recommendation to the first account.

9. The non-transitory computer readable medium of claim 8 , wherein obtaining data representing accounts that are associated with respective topics comprises obtaining data that associates accounts with respective normalized sets of topics, each normalized set including exactly two topics.

10. The non-transitory computer readable medium of claim 8 , wherein the ranking of topics for each account indicates a relative strength of expertise of the account for the topics associated with the account.

11. The non-transitory computer readable medium of claim 8 , wherein the threshold number of accounts is four.

12. The non-transitory computer readable medium of claim 8 , wherein the value of N is initially ten.

13. The non-transitory computer readable medium of claim 8 , wherein:

the recommendation is a recommendation to follow a second account that has the related topic as an expertise topic of the second account.

14. The non-transitory computer readable medium of claim 8 , wherein:

providing the recommendation comprises providing a platform message to the first account, wherein the platform message is from a third account that the first account is not following or otherwise related to, and wherein the third account has the related topic as an expertise topic of the third account.

15. A system for generating a topic ontology model and using the topic ontology model for providing recommendations, the system comprising:

a social network platform implemented on one or more computers and configured to connect to a plurality of client devices, each client device being associated with an account managed by the social network platform; and

an account repository comprising a plurality of accounts which are members of the social network platform,

the social network platform being configured to generate a topic ontology model and using the topic ontology model to provide recommendations to the plurality of accounts by:

obtaining data representing accounts that are associated with respective topics, each of the accounts being an account of a social network platform, each of the respective topics being an expertise topic of the account, and each of the accounts being associated with two or more respective topics;

ranking the topics associated with each account on a per account basis such that every account is associated with a ranked list of topics;

limiting the size of each ranked list to a top N topics, wherein N is initially a predetermined integer greater than one;

determining how many of the accounts are associated with each of the topics in the ranked lists;

identifying all topics associated with a number of accounts that is less than a threshold number of accounts, and for each of the identified topics:

creating a child node for the identified topic;

determining a parent node for the child node, including determining a highest ranked topic other than the identified topic in each of the ranked lists in which the identified topic appears and creating a parent node for a most frequently occurring topic among the highest ranked topics; and

generating a parent-child relationship between the parent node and the child node;

if N is greater than one, decrementing N by one and repeating the operations of limiting, determining, identifying and decrementing until N, before the decrementing, is equal to one;

when N is equal to one, combining the parent-child relationships generated in the generating operations to generate a topic ontology model;

after generating the topic ontology model, identifying, for a first account, a related topic from (i) interests of the account including a first interest of the first account and (ii) the topic ontology model, the first account being an account of the social network platform, the related topic not being one of the interests of the first account, wherein identifying the related topic includes finding the related topic by finding in the topic ontology model a first node corresponding to the first interest of the account and a related node connected closely to the first node, wherein the related node is connected closely by virtue of being a direct parent of the first node, a direct grandparent of the first node, or a child of the direct parent or the direct grandparent;

generating a recommendation for the first account based on the related topic; and

providing the recommendation to the first account.

16. The system of claim 15 , wherein obtaining data representing accounts that are associated with respective topics comprises obtaining data that associates accounts with respective normalized sets of topics, each normalized set including exactly two topics.

17. The system of claim 15 , wherein the ranking of topics for each account indicates a relative strength of expertise of the account for the topics associated with the account.

18. The system of claim 15 , wherein the threshold number of accounts is four.

19. The system of claim 15 , wherein the value of N is initially ten.

20. The system of claim 15 , wherein:

the recommendation is a recommendation to follow a second account that has the related topic as an expertise topic of the second account.

21. The system of claim 15 , wherein:

providing the recommendation comprises providing a platform message to the first account, wherein the platform message is from a third account that the first account is not following or otherwise related to, and wherein the third account has the related topic as an expertise topic of the third account.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2016
From: KOLCZ, ALEK
To: TWITTER, INC.
Reel/Frame 039568/0646 →
Continuity (1)
Provisional Application 62041776 · Aug 26, 2014