IP Library Granted Patent US 12,287,821
Granted Patent B2
US 12,287,821 · App. 18/460,803 · Granted Apr 29, 2025

Systems and methods for contextual clustering

Inventor: Stephen Lauber (Raanana, IL)
Assignee: Nice Ltd.
G06F16/355G06F16/3329
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 12,287,821
App. No.
18/460,803
Granted
Apr 29, 2025
Kind
B2
Abstract

A computerized system and method may provide automated clustering procedures where each clustered entity or node may be included in a plurality of clusters (e.g., more than a single cluster). Clustering procedures provided by some embodiments of the invention may involve measuring and/or quantifying degrees of relevance and/or generality for a plurality of entities or nodes. In some embodiments, a clustering procedure may be used, e.g., to generate a hierarchical, multi-tiered taxonomy of such entities. A computerized system comprising a processor, and a memory, may be used for ranking a plurality of nodes; select nodes based on the ranking; cluster selected nodes into intermediate clusters; calculate distances between unselected nodes and intermediate clusters; and cluster unselected nodes and intermediate clusters into final clusters based on the calculated distances. Some embodiments of the invention may allow routing interactions between remotely connected computer systems based on an automatically generated taxonomy.

Claims (62)

1. A method of clustering nodes, the method comprising:

ranking, by a computer processor, a plurality of nodes, each of the nodes comprising either an entity or an initial cluster of entities;

selecting, by the processor, one or more of the nodes based on the ranking;

clustering, by the processor, one or more of the selected nodes into intermediate clusters;

calculating, by the processor, one or more distances between one or more unselected nodes and one or more of the intermediate clusters;

clustering, by the processor, one or more of the unselected nodes and one or more of the intermediate clusters into final clusters based on one or more the calculated distances.

2. The method of claim 1 , comprising:

calculating, by the processor, one or more weights for one or more nodes within a given intermediate cluster;

calculating, by a vector embedding model, an embedding for the intermediate cluster based on one or more of the weights; and

wherein the calculating of one or more distances is performed based on the calculated embedding.

3. The method of claim 2 , comprising:

calculating, by the processor, relevancy scores for one or more of the nodes within the intermediate cluster;

selecting, by the processor, one or more of the nodes within the intermediate cluster as a cluster title based on the calculated relevancy scores; and

wherein the calculating of one or more weights is performed based on the selected cluster title.

4. The method of claim 3 , wherein at least one of: the ranking of a plurality of nodes, and the calculating of relevancy scores comprise using one or more generality indicators, the indicators describing a distance from one or more of the entities to one or more joint-entities.

5. The method of claim 1 , wherein the clustering of one or more of the unselected nodes comprises adding at least one of the unselected nodes to at least two of the intermediate clusters.

6. The method of claim 1 , comprising:

iteratively repeating the ranking of a plurality of nodes, the selecting of one or more of the nodes, the clustering of one or more of the selected nodes, the calculating of one or more distances, and the clustering of one or more of the unselected nodes to form the final clusters, the repeating taking place until one or more criteria are met, wherein the criteria are based on at least one of: a maximum cluster size, and a maximum number of calculated distances below a predetermined threshold, wherein each iteration comprises placing, by the processor, each final cluster in a tier below one of the intermediate clusters; and

automatically generating, by the processor, a taxonomy comprising one or more of the clusters and the titles from one or more iterations, the taxonomy organized in a hierarchical structure.

7. The method of claim 1 , wherein one or more clustering operations are performed using a plurality of different clustering protocols and input configurations, and wherein the method comprises:

generating, by the processor, a co-cluster matrix, the matrix describing results based on two or more of the protocols and configurations; and

wherein at least one clustering operation is performed based on the co-cluster matrix.

8. The method of claim 1 , wherein one or more of the entities include one or more words extracted from one or more documents.

9. A computerized system for clustering nodes, the system comprising:

a memory storing instructions,

and a computer processor executing instructions to:

rank a plurality of nodes, each of the nodes comprising either an entity or an initial cluster of entities;

select one or more of the nodes based on the ranking;

cluster one or more of the selected nodes into intermediate clusters;

calculate one or more distances between one or more unselected nodes and one or more of the intermediate clusters;

cluster one or more of the unselected nodes and one or more of the intermediate clusters into final clusters based on one or more the calculated distances.

10. The computerized system of claim 9 , wherein the processor executes instructions to:

calculate one or more weights for one or more nodes within a given intermediate cluster:

calculate, by a vector embedding model, an embedding for the intermediate cluster based on one or more of the weights; and

wherein the calculating of one or more distances is performed based on the calculated embedding.

11. The computerized system of claim 10 , wherein the processor executes instructions to:

calculate relevancy scores for one or more of the nodes within the intermediate cluster;

select one or more of the nodes within the intermediate cluster as a cluster title based on the calculated relevancy scores; and

wherein the calculating of one or more weights is performed based on the selected cluster title.

12. The computerized system of claim 11 , wherein at least one of: the ranking of a plurality of nodes, and the calculating of relevancy scores comprise using one or more generality indicators, the indicators describing a distance from one or more of the entities to one or more joint-entities.

13. The computerized system of claim 9 , wherein the clustering of one or more of the unselected nodes comprises adding at least one of the unselected nodes to at least two of the intermediate clusters.

14. The computerized system of claim 9 wherein the processor executes instructions to:

iteratively repeat the ranking of a plurality of nodes, the selecting of one or more of the nodes, the clustering of one or more of the selected nodes, the calculating of one or more distances, and the clustering of one or more of the unselected nodes to form the final clusters, the repeating taking place until one or more criteria are met, wherein the criteria are based on at least one of: a maximum cluster size, and a maximum number of calculated distances below a predetermined threshold, wherein each iteration comprises placing, by the processor, each final cluster in a tier higher than the intermediate clusters; and

automatically generate a taxonomy comprising one or more of the clusters and the titles from one or more iterations, the taxonomy organized in a hierarchical structure.

15. The computerized system of claim 9 , one or more clustering operations are performed using a plurality of different clustering protocols and input configurations, and wherein the processor is to:

generate a co-cluster matrix, the matrix describing results based on two or more of the protocols and configurations; and

wherein at least one clustering operation is performed based on the co-cluster matrix.

16. The computerized system of claim 9 , wherein one or more of the entities include one or more words extracted from one or more documents.

17. A method for categorizing interactions using an automatically generated taxonomy, the method comprising:

in a computerized-system comprising a processor, and a memory including a data store of a plurality of documents, and connected by a network to one or more remote computers:

extracting a plurality of words from the documents;

ranking, by the processor, a plurality of nodes, each of the nodes comprising either a word of the plurality of words or an initial cluster of words of the plurality of words:

selecting, by the processor, one or more of the nodes based on the ranking;

clustering, by the processor, one or more of the selected nodes into intermediate clusters:

calculating, by the processor, one or more distances between one or more unselected nodes and one or more of the intermediate clusters;

clustering, by the processor, one or more of the unselected nodes and one or more of the intermediate clusters into final clusters based on one or more the calculated distances;

iteratively repeating the ranking of a plurality of nodes, the selecting of one or more of the nodes, the clustering of one or more of the selected nodes, the calculating of one or more distances, and the clustering of one or more of the unselected nodes to form the final clusters, the repeating taking place until one or more criteria are met, wherein each iteration comprises placing, by the processor, each final cluster in a tier higher than the intermediate clusters, and wherein the criteria are based on at least one of: a maximum cluster size, and a maximum number of calculated distances below a predetermined threshold; and

automatically generating, by the processor, a taxonomy comprising one or more of the clusters from one or more iterations, the taxonomy organized in a hierarchical structure.

18. The method of claim 17 , comprising:

providing a plurality of search results for an input query based on the taxonomy.

19. The method of claim 17 , wherein one or more of the documents describe one or more interactions, the interactions routed using a private branch exchange to one or more of the remote computers.

20. The method of claim 19 , comprising: routing, by the private branch exchange, one or more of the interactions to one or more of the remote computers based on the taxonomy.

Assignments (3)
SECURITY INTEREST Recorded Feb 26, 2026
From: NICE LTD; NICE SYSTEMS INC.; NICE SYSTEMS TECHNOLOGIES INC.; INCONTACT, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 074986/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2025
From: LAUBER, STEPHEN
To: NICE LTD.
Reel/Frame 070398/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2024
From: LAUBER, STEPHEN
To: NICE LTD.
Reel/Frame 069051/0665 →
Continuity (1)
Related Publication 20250077564A1 · Mar 6, 2025
References Cited (31)
US 10970493B1 · Lee · 2021 [cited by applicant]
US 20020169770A1 · Kim · 2002 [cited by examiner]
US 20040260551A1 · Atkin · 2004 [cited by applicant]
US 20050033750A1 · Cobb · 2005 [cited by applicant]
US 20060026152A1 · Zeng et al. · 2006 [cited by applicant]
US 20090112881A1 · Kodama · 2009 [cited by examiner]
US 20100049708A1 · Kawai · 2010 [cited by examiner]
US 20160042053A1 · De Sousa Webber · 2016 [cited by applicant]
US 20160359680A1 · Parandehgheibi · 2016 [cited by examiner]
US 20180189307A1 · Yu et al. · 2018 [cited by applicant]
US 20180308487A1 · Goel et al. · 2018 [cited by applicant]
US 20190103104A1 · Nicholls · 2019 [cited by applicant]
US 20190244603A1 · Angkititrakul · 2019 [cited by applicant]
US 20200098366A1 · Chakraborty · 2020 [cited by applicant]
US 20220100798A1 · Donaldson · 2022 [cited by applicant]
US 20220108068A1 · Datla · 2022 [cited by applicant]
US 20240012663A1 · Yuan · 2024 [cited by examiner]
WO WO2017180475 · 2017 [cited by applicant]
Carrion et al., “A taxonomy generation tool for semantic visual analysis of large corpus of documents”, Jul. 2019. [cited by applicant]
Shen et al., “HiExpan: Task-Guided Taxonomy Construction by Hierarchical Tree Expansion, Association for Computing Machinery”, Aug. 2018. [cited by applicant]
Pathirana et al., “Concept Discovery through Information Extraction in Restaurant Domain”, Computación y Sistemas, vol. 23, No. 3, pp. 741-749, Apr. 2019. [cited by applicant]
Mihalcea et al., “Text Rank: Bringing Order into Texts”, Department of Computer Science University of North Texas, Jul. 2004. [cited by applicant]
Quoc et al., “Distributed Representations of Sentences and Documents.”, 2014, arXiv preprint arXiv:1405.4053v2. [cited by applicant]
Kusner et al., “From Word Embeddings to Document Distances.”, Proceedings of the 32nd International Conference on Machine Learning., 2015, vol. 37, JMLR W&CP, Lille, France. [cited by applicant]
Kiros et al., “Skip-Thought Vectors.”, 2015., arXiv preprint arXiv:1506.06726v1. [cited by applicant]
Hill et al., “Learning Distributed Representations of Sentences from Unlabelled Data.”, 2016, arXiv preprint arXiv:1602.03483v1. [cited by applicant]
Arora et al., “A Simple but Tough-to-Beat Baseline for Sentence Embeddings”, Conference Paper at ICLR, 2017. [cited by applicant]
Chen, Minmin., “Efficient Vector Representation for Documents Through Corruption.”, 2017., arXiv preprint arXiv:1707.02377v1. [cited by applicant]
Pagliardini et al., “Unsupervised Learning of Sentence Embeddings using Compositional n-Gram Features.”, 2018., arXiv preprint arXiv:1703.02507v3. [cited by applicant]
Levy et al., “Dependency-BasedWord Embeddings'.”. Computer Science Department, Bar-Ilan University, Ramat-Gan, Israel, Jun. 2014. [cited by applicant]
Logeswaran et al., “An Efficient Framework for Learning Sentence Representations.”, 2018., arXiv preprint arXiv:1803.02893v1. [cited by applicant]
Cited By (1)
US 12,505,463