IP Library Granted Patent US 10,719,890
Granted Patent B1
US 10,719,890 · App. 15/612,587 · Granted Jul 21, 2020

Machine learning system and method for clustering

Inventor: Ahmet Karakas (Palo Alto, CA)
Assignee: shallow.AI Inc.
G06Q50/01G06F16/27G06F16/35H04L51/046H04L51/32
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,719,890
App. No.
15/612,587
Granted
Jul 21, 2020
Kind
B1
Abstract

A system and method for identification and introduction of like-minded users and forming colonies of users based on their preferences. An implementation of the platform is a mobile application.

Claims (112)

1. A method comprising:

providing a social graph, wherein the social graph comprises:

a first type of node, referred to as a user-provided node;

a first type of edge, referred to as a user-provided edge; and

a second type of edge, referred to as a system-provided edge;

using at least one electronic processor, managing a social graph comprising:

creating a user-provided node for each user of a system comprising the social graph;

allowing a first user-provided node for a first user to become coupled to a second user-provided node for a second user via a first user-provided edge;

allowing the first and second users to view the first user-provided edge;

providing a third user-provided node for a third user;

monitoring first content contributed by the first user-provided node, second content contributed by the second user-provided node, and third content contributed by the third user-provided node in an online social platform represented by the social graph;

monitoring first feedback by others to the first content contributed by the first user-provided node, monitoring second feedback by others to the second content contributed by the second user-provided node, and monitoring third feedback by others to the third content contributed by the third user-provided node;

from the monitored first content and first feedback by others to the first user-provided node, generating a first rating vector for the first user-provided node;

from the monitored second content and second feedback by others for the second user-provided node, generating a second rating vector for the second user-provided node;

from the monitored third content and the third feedback by others for the third user-provided node, generating a third rating vector for the third user-provided node;

determining a first similarity factor between the first user-provided node and the third user-provided node, wherein the determination comprises a computation of a cosine of the first rating vector and the third rating vector;

determining a second similarity factor between the second user-provided node and the third user-provided node, wherein the determination comprises a computation of a cosine of the second rating vector and the third rating vector;

based on the first similarity factor, coupling the first user-provided node to the third user-provided node via a first system-provided edge, wherein the first user and third user are members of a first colony group of the social graph;

based on the second similarity factor, not coupling the second user-provided node to the third user-provided node via a system-provided edge, wherein the third user is not a member of the first colony group of the social graph;

disallowing the first and third users from being able to view the first system-provided edge;

displaying to the first user other users that are coupled to the first user via user-provided edges but not system-provided edges;

determining one or more additional user-provided nodes in the social graph should belong to the first colony group; and

adding to the one or more additional user-provided nodes to the first colony group by connecting each user by a system-provided edge to other user-provided nodes already in the first colony group.

2. The method of claim 1 wherein via the first user-provided edge, the first user-provided node is separated by one degree of separation from the second user-provided node.

3. The method of claim 1 wherein the managing the social graph comprises:

allowing the second user-provided node to become coupled to a fourth user-provided node for a fourth user via a second user-provided edge, wherein via the second user-provided edge, the first user-provided node is separated by two degrees of separation from the fourth user-provided node.

4. The method of claim 1 comprising:

delivering a first informational content to the first colony group of the social graph, wherein the first colony group comprises user-provided nodes coupled together via the first system-provided edge, which includes the first and third user-provided nodes.

5. The method of claim 4 comprising:

disallowing delivering of the first informational content to the second user-provided node, which is not coupled to the first system-provided edge.

6. The method of claim 1 wherein the managing the social graph comprises:

allowing the second user-provided node to become coupled to a fourth user-provided node for a fourth user via a second system-provided edge.

7. The method of claim 6 comprising:

delivering a first informational content to the first colony group of the social graph, wherein the first colony group comprises user-provided nodes coupled together via the first system-provided edge, which includes the first and third user-provided nodes; and

delivering a second informational content to a second colony group of the social graph, wherein the second colony group comprises user-provided nodes coupled together via the second system-provided edge, which includes the second and fourth user-provided nodes.

8. The method of claim 7 wherein the first informational content is not delivered to the fourth user-provided node, and the second informational content is not delivered to the third user-provided node.

9. The method of claim 1 wherein the system creates the first user-provided edge because the first user indicated a connection to the second user.

10. The method of claim 1 wherein the system creates the first system-provided edge although the first user had not indicated any connection to the third user.

11. The method of claim 9 wherein the system creates the first system-provided edge although the first user had not indicated any connection to the third user.

12. The method of claim 1 comprising:

determining one or more existing user-provided nodes in the first colony group should no longer belong to the first colony group; and

removing the one or more existing user-provided nodes from the first colony group by removing system-provided edges representative of the first colony group from connecting to the existing user-provided nodes that are to be removed.

13. A system comprising:

a first mobile device, wherein the first mobile device comprises a touchscreen and a wireless transceiver;

a software application program, comprising code executable on a processor of the first mobile device, wherein the software application program comprises:

code to cause the wireless transceiver to connect to and access a social network, wherein the social network comprises:

a first type of node, referred to as a user-provided node,

a first type of edge, referred to as a user-provided edge; and

a second type of edge, referred to as a system-provided edge, and the social network is managed comprising:

creating a user-provided node for each user of a system comprising the social graph;

allowing a first user-provided node for a first user to become coupled to a second user-provided node for a second user via a first user-provided edge;

allowing the first and second users to view the first user-provided edge;

providing a third user-provided node for a third user;

monitoring first content contributed by the first user-provided node, second content contributed by the second user-provided node, and third content contributed by the third user-provided node in an online social platform represented by the social graph;

monitoring first feedback by others to the first content contributed by the first user-provided node, monitoring second feedback by others to the second content contributed by the second user-provided node, and monitoring third feedback by others to the third content contributed by the third user-provided node;

from the monitored first content and first feedback by others to the first user-provided node, generating a first rating vector for the first user-provided node;

from the monitored second content and second feedback by others for the second user-provided node, generating a second rating vector for the second user-provided node;

from the monitored third content and the third feedback by others for the third user-provided node, generating a third rating vector for the third user-provided node;

determining a first similarity factor between the first user-provided node and the third user-provided node, wherein the determination comprises a computation of a cosine of the first rating vector and the third rating vector;

determining a second similarity factor between the second user-provided node and the third user-provided node, wherein the determination comprises a computation of a cosine of the second rating vector and the third rating vector;

based on the first similarity factor, coupling the first user-provided node to the third user-provided node via a first system-provided edge, wherein the first user and third user are members of a first colony group of the social graph;

based on the second similarity factor, not coupling the second user-provided node to the third user-provided node via a system-provided edge, wherein the third user is not a member of the first colony group of the social graph;

disallowing the first and third users from being able to view the first system-provided edge;

determining one or more additional user-provided nodes in the social graph should belong to the first colony group; and

adding to the one or more additional user-provided nodes to the first colony group by connecting each user by a system-provided edge to other user-provided nodes already in the first colony group;

code to generate a first touch interactive screen for a first user of the first mobile device comprising a picture of second user of a social network, wherein the second user is coupled to the first user via a user-provided edge;

code to generate a second touch interactive screen for the first user of the first mobile device comprising a picture of the third user of a social network, wherein the third user is coupled to the first user via a system-provided edge;

code to generate a third touch interactive screen to allow the first user to select from a list of system-generated ice breaker questions to send to the third user; and

code to generate a fourth touch interactive screen to the first user to start a party and invite one or more other users of the social network, including the third user, to the party.

14. The system of claim 13 comprising:

a second mobile device, wherein the second mobile device comprises a touchscreen and a wireless transceiver;

a software application program, comprising code executable on a processor of the second mobile device, wherein the software application program comprises:

code to generate a fifth touch interactive screen for the third user of the second mobile device comprising a first informational content for the first colony group of the social graph, wherein the first colony group comprises user-provided nodes coupled together via the first system-provided edge, which includes the first and third user-provided nodes.

15. The system of claim 13 wherein the system creates the first system-provided edge although the first user had not indicated any connection to the third user.

16. The system of claim 15 wherein the system creates the first user-provided edge because the first user indicated a connection to the second user.

17. The system of claim 13 wherein the social network is managed comprising:

determining one or more existing user-provided nodes in the first colony group should no longer belong to the first colony group; and

removing the one or more existing user-provided nodes from the first colony group by removing system-provided edges representative of the first colony group from connecting to the existing user-provided nodes that are to be removed.

18. A method comprising:

providing a social graph, wherein the social graph comprises:

a first type of node, referred to as a user-provided node;

a first type of edge, referred to as a user-provided edge; and

a second type of edge, referred to as a system-provided edge;

using at least one electronic processor, managing a social graph comprising:

creating a user-provided node for each user of a system comprising the social graph;

allowing a first user-provided node for a first user to become coupled to a second user-provided node for a second user via a first user-provided edge;

allowing the first and second users to view the first user-provided edge;

providing a third user-provided node for a third user;

monitoring first content contributed by the first user-provided node, second content contributed by the second user-provided node, and third content contributed by the third user-provided node in an online social platform represented by the social graph;

monitoring first feedback by others to the first content contributed by the first user-provided node, monitoring second feedback by others to the second content contributed by the second user-provided node, and monitoring third feedback by others to the third content contributed by the third user-provided node;

from the monitored first content and first feedback by others to the first user-provided node, generating a first rating vector for the first user-provided node;

from the monitored second content and second feedback by others for the second user-provided node, generating a second rating vector for the second user-provided node;

from the monitored third content and the third feedback by others for the third user-provided node, generating a third rating vector for the third user-provided node;

determining a first similarity factor between the first user-provided node and the third user-provided node, wherein the determination comprises a computation of a cosine of the first rating vector and the third rating vector;

determining a second similarity factor between the second user-provided node and the third user-provided node, wherein the determination comprises a computation of a cosine of the second rating vector and the third rating vector;

based on the first similarity factor, coupling the first user-provided node to the third user-provided node via a first system-provided edge, wherein the first user and third user are members of a first colony group of the social graph;

based on the second similarity factor, not coupling the second user-provided node to the third user-provided node via a system-provided edge, wherein the third user is not a member of the first colony group of the social graph;

disallowing the first and third users from being able to view the first system-provided edge;

displaying to the first user other users that are coupled to the first user via user-provided edges but not system-provided edges;

determining one or more additional user-provided nodes in the social graph should belong to the first colony group;

adding to the one or more additional user-provided nodes to the first colony group by connecting each user by a system-provided edge to other user-provided nodes already in the first colony group,

wherein via the first user-provided edge, the first user-provided node is separated by one degree of separation from the second user-provided node, and

the managing the social graph comprises allowing the second user-provided node to become coupled to a fourth user-provided node for a fourth user via a second user-provided edge, wherein via the second user-provided edge, the first user-provided node is separated by two degrees of separation from the fourth user-provided node;

delivering a first informational content to the first colony group of the social graph, wherein the first colony group comprises user-provided nodes coupled together via the first system-provided edge, which includes the first and third user-provided nodes;

disallowing delivering of the first informational content to the second user-provided node, which is not coupled to the first system-provided edge,

wherein the managing the social graph comprises allowing the second user-provided node to become coupled to a fifth user-provided node for a fifth user via a second system-provided edge;

delivering a first informational content to the first colony group of the social graph, wherein the first colony group comprises user-provided nodes coupled together via the first system-provided edge, which includes the first and third user-provided nodes;

delivering a second informational content to a second colony group of the social graph, wherein the second colony group comprises user-provided nodes coupled together via the second system-provided edge, which includes the second and fifth user-provided nodes, wherein the first informational content is not delivered to the fifth user-provided node, and the second informational content is not delivered to the third user-provided node,

the system creates the first user-provided edge because the first user indicated a connection to the second user,

the system creates the first system-provided edge although the first user had not indicated any connection to the third user;

determining one or more existing user-provided nodes in the first colony group should no longer belong to the first colony group; and

removing the one or more existing user-provided nodes from the first colony group by removing system-provided edges representative of the first colony group from connecting to the existing user-provided nodes that are to be removed.

Assignments (2)
CHANGE OF NAME Recorded Jun 4, 2020
From: INTRODUCE.SOCIAL INC.
To: SHALLOW.AI INC.
Reel/Frame 052847/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2018
From: KARAKAS, AHMET
To: INTRODUCE.SOCIAL INC.
Reel/Frame 046795/0798 →
Continuity (2)
Provisional Application 62344946 · Jun 2, 2016
Provisional Application 62344938 · Jun 2, 2016