IP Library › Granted Patent US 11,238,083
Granted Patent B2
US 11,238,083 · App. 15/977,931 · Granted Feb 1, 2022

Intelligently driven visual interface on mobile devices and tablets based on implicit and explicit user actions

Inventors: Robert Severn (Berkeley, CA); Matthew J. Strom (Concord, CA); Diego Guy M. Legrand (San Francisco, CA); James O'Neill (Berkeley, CA); Scott Henning (San Francisco, CA)
Assignee: Evolv Technology Solutions, Inc.
G06F16/358G06F16/335G06F16/355G06F16/93G06K9/00624G06K9/6215G06K9/6223G06K9/6274
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 11,238,083
App. No.
15/977,931
Granted
Feb 1, 2022
Kind
B2
Abstract

A method for identifying a desired document is provided to include forming K clusters of documents and, for each cluster: for each respective document of the cluster determining a sum of distances between (i) the respective document and (ii) each of the other documents of the cluster; and identifying a medoid document of the cluster as the document of the cluster having the smallest sum of determined distances of all of the documents of the cluster. The method also includes selecting M representative documents for each cluster, identifying for dynamic display toward the user K groupings of documents, wherein each of the K groupings of documents identifies the selected M representative documents of a corresponding cluster, and, in response to user selection of one of the K groupings of documents, identifying for dynamic display toward the user P documents of the cluster that corresponds to the selected grouping.

Claims (76)

1. A method for user identification of a desired document, comprising:

providing, accessibly to a computer system, a database identifying (i) a catalog of documents in an embedding space and (ii) a distance between each pair of the documents in the embedding space, the distance corresponding to a predetermined measure of dissimilarity between the pair of documents;

a clustering step of a computer system forming K>1 clusters of documents of the documents in the embedding space, such that each document of the catalog is included in a cluster of the K clusters;

a medoid locating step of locating a medoid document for each of the clusters;

adjusting a boundary of each of the clusters in dependence on the located medoid document of the respective cluster;

a representative selection step of selecting M k >1 representative documents from each k'th one of the clusters;

a cluster presentation step of identifying for dynamic display toward the user, K groupings of documents, wherein each of the groupings identifies the selected M k representative documents of a corresponding one of the clusters;

a document presentation step of, in response to user selection of one of the groupings, identifying, for dynamic display toward the user, a predetermined number P k >0 of documents of the cluster which corresponds to the selected grouping; and

receiving user feedback for one or more of the P k documents identified for dynamic display toward the user,

wherein the user feedback indicates that the user likes one or more documents of the P k documents and that the user dislikes one or more other documents of the P k documents,

wherein the liked one or more documents is a set of liked documents,

wherein the disliked one or more documents is a set of disliked documents,

wherein the cluster that corresponds to the selected grouping is a selected cluster, and

wherein the method further comprises identifying, for dynamic presentation to the user, a subsequent document from the selected cluster in dependence on the set of liked documents and the set of disliked documents.

2. The method of claim 1 ,

wherein the clustering step depends, for each j'th one of the clusters, on a respective predetermined anchor document of the documents in the embedding space, and

wherein the method further comprises stabilizing steps of:

after the medoid locating step of locating a medoid document for the j'th cluster, repeating the clustering step for the j'th cluster using the medoid document located for the j'th cluster as the anchor document; and

repeating the medoid locating step for the j'th cluster.

3. The method of claim 2 , further comprising iterating the stabilizing steps with respect to the j'th cluster until a predefined convergence criterion is met.

4. The method of claim 1 , wherein the medoid locating step of locating the medoid document for each of the clusters comprises, for each particular cluster:

determining, for each respective document of the particular cluster, a sum of distances between (i) the respective document and (ii) each of the other documents of the particular cluster; and

identifying the medoid document of the particular cluster as the document of the particular cluster having the smallest sum of determined distances of all of the documents of the particular cluster.

5. The method of claim 1 , wherein for each cluster k, M k is determined in dependence on a size of a display on which the P k documents are identified for dynamic display toward the user.

6. The method of claim 1 , wherein for each cluster k, M k is determined in dependence on a computing platform on which the P k documents are identified for dynamic display toward the user.

7. The method of claim 1 , wherein a number of M k representative documents is equal for each cluster of the clusters and a number of P k documents is equal for each cluster of the clusters.

8. The method of claim 1 , further comprising a sub-clustering step including:

determining that a particular one of the clusters contains more than a predetermined threshold number of documents;

dividing the particular cluster into L>1 new clusters which collectively include all the documents of the particular cluster, leaving K+L−1 clusters; and

locating a medoid document for each of the new clusters.

9. The method of claim 1 , further comprising a cluster merging step of:

determining that a particular one of the clusters contains fewer than a predetermined threshold number of documents;

merging the particular cluster with another one of the clusters to form a merged cluster and leaving K−1 clusters; and

locating a medoid document for the merged cluster.

10. The method of claim 1 , further comprising choosing the subsequent document by:

determining a score for each candidate document of the selected cluster in dependence on (i) a distance of the candidate document to each document of the set of liked documents and a weighting factor for liked documents and (ii) a distance of the candidate document to each document of the set of disliked documents and a weighting factor for disliked documents; and

identifying the subsequent document as a member of the group consisting of the candidate document having the lowest score and the candidate document having the highest score.

11. The method of claim 1 , wherein the cluster that corresponds to the selected grouping is a score cluster, and wherein the method further comprises:

receiving user feedback for documents of the P k documents identified for dynamic display toward the user, wherein the user feedback indicates whether the user likes or dislikes the documents;

determining a score for each document of the selected cluster in dependence on (i) a distance of a candidate document of the selected cluster to each previously liked document and a weighting factor for liked documents and (ii) a distance of the candidate document of the selected cluster to each previously disliked document and a weighting factor for disliked documents;

forming a sub-cluster of documents from the selected cluster to include N-zoom documents, the documents in the sub-cluster being a member of the group consisting of the N lowest scoring documents that have not previously been identified to the user, and the N highest scoring documents that have not previously been identified to the user;

receiving user feedback with respect to whether the user likes or dislikes one of the documents of the sub-cluster; and

refocusing the sub-cluster to zoom in on a document of the sub-cluster that has been liked by the user and to zoom out from a document of the sub-cluster that has been disliked by the user.

12. The method of claim 1 , wherein the M k representative documents of each of the k'th clusters are selected as M k closest documents to a centroid of the k'th cluster.

13. The method of claim 1 , wherein the M k representative documents of the each of the k'th clusters are selected randomly from the k'th cluster.

14. The method of claim 1 , wherein the representative selection step comprises:

repeating the clustering step on the k'th cluster to obtain M k sub-clusters;

locating a medoid document for each of the M k sub-clusters; and

selecting as the M k representative documents the medoid documents located for each of the M k sub-clusters.

15. A system including one or more processors coupled to memory, the memory loaded with computer instructions to perform user identification of a desired document, the instructions, when executed on the processors, implement actions comprising:

providing, accessibly to a computer system, a database identifying (i) a catalog of documents in an embedding space and (ii) a distance between each pair of the documents in the embedding space, the distance corresponding to a predetermined measure of dissimilarity between the pair of documents;

a clustering step of a computer system forming K>1 clusters of documents of the documents in the embedding space, such that each document of the catalog is included in a cluster of the K clusters;

a medoid locating step of locating a medoid document for each of the clusters;

adjusting a boundary of each of the clusters in dependence on the located medoid document of the respective cluster;

a representative selection step of selecting M k >1 representative documents from each k'th one of the clusters;

a cluster presentation step of identifying for dynamic display toward the user, K groupings of documents, wherein each of the groupings identifies the selected M k representative documents of a corresponding one of the clusters;

a document presentation step of, in response to user selection of one of the groupings, identifying, for dynamic display toward the user, a predetermined number P k >0 of documents of the cluster which corresponds to the selected grouping; and

a feedback step of receiving user feedback for one or more of the P k documents identified for dynamic display toward the user,

wherein the user feedback indicates that the user likes one or more documents of the P k documents and that the user dislikes one or more other documents of the P k documents,

wherein the liked one or more documents is a set of liked documents,

wherein the disliked one or more documents is a set of disliked documents,

wherein the cluster that corresponds to the selected grouping is a selected cluster, and

wherein the actions further comprise identifying, for dynamic presentation to the user, a subsequent document from the selected cluster in dependence on the set of liked documents and the set of disliked documents.

16. A non-transitory computer readable storage medium impressed with computer program instructions to perform user identification of a desired document, the instructions, when executed on a processor, implement a method comprising:

a clustering step of a computer system forming K>1 clusters of documents of the documents in the embedding space, such that each document of the catalog is included in a cluster of the K clusters;

a medoid locating step of locating a medoid document for each of the clusters;

adjusting a boundary of each of the clusters in dependence on the located medoid document of the respective cluster;

a representative selection step of selecting M k >1 representative documents from each k'th one of the clusters;

a cluster presentation step of identifying for dynamic display toward the user, K groupings of documents, wherein each of the groupings identifies the selected M k representative documents of a corresponding one of the clusters;

a document presentation step of, in response to user selection of one of the groupings, identifying, for dynamic display toward the user, a predetermined number P k >0 of documents of the cluster which corresponds to the selected grouping; and

a feedback step of receiving user feedback for one or more of the P k documents identified for dynamic display toward the user,

wherein the user feedback indicates that the user likes one or more documents of the P k documents and that the user dislikes one or more other documents of the P k documents,

wherein the liked one or more documents is a set of liked documents,

wherein the disliked one or more documents is a set of disliked documents,

wherein the cluster that corresponds to the selected grouping is a selected cluster, and

wherein the method further comprises identifying, for dynamic presentation to the user, a subsequent document from the selected cluster in dependence on the set of liked documents and the set of disliked documents.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2021
From: SENTIENT TECHNOLOGIES HOLDINGS LIMITED
To: EVOLV TECHNOLOGY SOLUTIONS, INC.
Reel/Frame 058092/0510 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2021
From: SENTIENT TECHNOLOGIES (BARBADOS) LIMITED
To: SENTIENT TECHNOLOGIES HOLDINGS LIMITED
Reel/Frame 058107/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2018
From: SEVERN, ROBERT; STROM, MATTHEW J.; LEGRAND, DIEGO GUY M.; O'NEILL, JAMES; HENNING, SCOTT
To: SENTIENT TECHNOLOGIES (BARBADOS) LIMITED
Reel/Frame 046259/0329 →
Continuity (6)
Provisional Application 62512646 · May 30, 2017
Provisional Application 62512649 · May 30, 2017
Provisional Application 62505757 · May 12, 2017
Provisional Application 62505753 · May 12, 2017
Provisional Application 62505756 · May 12, 2017
Related Publication 20180329990A1 · Nov 15, 2018