IP Library › Granted Patent US 12,586,080
Granted Patent B2
US 12,586,080 · App. 18/449,106 · Granted Mar 24, 2026

Method and system for identifying trending topics in customer inquiries

Inventors: Xinhui Ge (Sammamish, WA); Veeravenkata Satya Sridhar Maddipati (Issaquah, WA); Venkatasatya Premnath Ayyalasomayajula (Sammamish, WA); Nikhil Verma (Sammamish, WA); Mara Saveliev (Redmond, WA); John Theodore Nassif (Sugar Hill, GA)
Assignee: Microsoft Technology Licensing, LLC
G06Q30/015
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,586,080
App. No.
18/449,106
Filed
Aug 14, 2023
Granted
Mar 24, 2026
Kind
B2
Art Unit
3628
USPC
705/304
Abstract

A system and method for detecting trending topics in customer inquiries includes retrieving customer inquiries from a plurality of data sources for a target time window and reference time windows and detecting trending keywords in the target time window as compared to keywords in the reference time windows. Responsive to detecting the trending keywords, customer inquiries in the target time window that include one or more of the trending keywords are collected and a weight is measured for each collected customer inquiry based on weights of detected trending keywords in each collected customer inquiry. A connection graph is generated for the detected trending keywords and the collected customer inquiries. The detected trending keywords are then clustered into a plurality of trending topics based on the connection graph, and the trending topics are ranked based on the measured weights of the collected customer inquiries associated with each trending topic.

Claims (44)

1 . A data processing system comprising:

a processor; and

a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the data processing system to perform functions of:

retrieving customer inquiries from a plurality of data sources for a target time window and for one or more reference time windows;

detecting trending keywords in the target time window by comparing a frequency of keywords in the target time window with a frequency of keywords in the one or more reference time windows;

responsive to detecting the trending keywords, collecting customer inquiries in the target time window that include one or more of the trending keywords;

generating a connection graph for the detected trending keywords and the collected customer inquiries, comprising using a depth-first search with the connection graph initially showing a connection between a detected trending keyword of the detected trending keywords and each collected customer inquiry that includes the detected trending keyword of the detected trending keywords;

in response to a query including a new trending keyword, establishing an additional connection with a new node for the new trending keyword to form nodes that represent the customer inquiries and trending keywords to produce non-overlapping connection graphs, wherein inquiries in different connection graphs do not overlap to indicate distinct topics;

clustering the detected trending keywords into a plurality of trending topics based on the connection graph; and

providing notification data for alerting a user of an anomaly indicated by the trending topics.

2 . The data processing system of claim 1 , wherein the connection graph includes a node for each detected trending keyword and an edge from the node to each collected customer inquiry that includes the detected trending keyword associated with the node.

3 . The data processing system of claim 2 , wherein a plurality of the collected customer inquiries include two or more of the detected trending keywords.

4 . The data processing system of claim 1 , wherein the connection graph displays an edge between two nodes when a co-occurrence frequency of detected trending keywords represented by the two nodes exceeds a given threshold.

5 . The data processing system of claim 4 , wherein a depth-first search algorithm is used to identify connected nodes in the connection graph.

6 . The data processing system of claim 5 , wherein the notification data is presented to the user via at least one of a message or a web portal.

7 . The data processing system of claim 1 , wherein notification data is provided for trending topics that include a total number of customer inquiries that exceed a threshold value.

8 . The data processing system of claim 1 , wherein the trending topics are identified in real-time based on a predetermined schedule.

9 . A method for detecting trending topics in customer inquiries comprising:

retrieving customer inquiries from a plurality of data sources for a target time window and for one or more reference time windows;

detecting trending keywords in the target time window as compared to keywords in the one or more reference time windows;

responsive to detecting the trending keywords, collecting customer inquiries in the target time window that include one or more of the trending keywords;

measuring a weight for each collected customer inquiry based on weights of detected trending keywords in each collected customer inquiry;

generating a connection graph for the detected trending keywords and the collected customer inquiries, comprising using a depth-first search with the connection graph initially showing a connection between a detected trending keyword of the detected trending keywords and each collected customer inquiry that includes the detected trending keyword of the detected trending keywords;

in response to a query including a new trending keyword, establishing an additional connection with a new node for the new trending keyword to form nodes that represent the customer inquiries and trending keywords to produce non-overlapping connection graphs, wherein inquiries in different connection graphs do not overlap to indicate distinct topics;

clustering the detected trending keywords into a plurality of trending topics based on the connection graph; and

ranking the trending topics based on the measured weights of the collected customer inquiries associated with each trending topic.

10 . The method of claim 9 , further comprising preprocessing the retrieved customer inquiries.

11 . The method of claim 10 , wherein preprocessing the retrieved customer inquiries includes converting customer inquiries that are retrieved from different data sources to a standardized schema.

12 . The method of claim 9 , wherein detecting the trending keywords in the target time window is done by utilizing statistical measurements.

13 . The method of claim 12 , wherein the statistical measurements include calculating a p value and a z score.

14 . The method of claim 9 , wherein the weight for each collected customer inquiry is measured by using a p value from a statistical measurement of the collected customer inquiry and an inverse document frequency parameter.

15 . A non-transitory computer readable medium on which are stored instructions that, when executed, cause a programmable device to perform functions of:

retrieving customer inquiries from a plurality of data sources for a target time window and for one or more reference time windows;

detecting trending keywords in the target time window by comparing a frequency of keywords in the target time window with a frequency of keywords in the one or more reference time windows;

responsive to detecting the trending keywords, collecting customer inquiries in the target time window that include one or more of the trending keywords;

generating a connection graph for the detected trending keywords and the collected customer inquiries, comprising using a depth-first search with the connection graph initially showing a connection between a detected trending keyword of the detected trending keywords and each collected customer inquiry that includes the detected trending keyword of the detected trending keywords;

in response to a query including a new trending keyword, establishing an additional connection with a new node for the new trending keyword to form nodes that represent the customer inquiries and trending keywords to produce non-overlapping connection graphs, wherein inquiries in different connection graphs do not overlap to indicate distinct topics;

clustering the detected trending keywords into a plurality of trending topics based on the connection graph; and

providing notification data for alerting a user of an anomaly indicated by the trending topics.

16 . The non-transitory computer readable medium of claim 15 , wherein the connection graph displays an edge between two nodes when a co-occurrence frequency of detected trending keywords represented by the two nodes exceeds a given threshold.

17 . The non-transitory computer readable medium of claim 15 , wherein the instructions when executed, further cause the programmable device to perform functions of measuring a weight for each collected customer inquiry based on weights of detected trending keywords in each collected customer inquiry.

18 . The non-transitory computer readable medium of claim 17 , wherein the instructions when executed, further cause the programmable device to perform functions of ranking the trending topics based on the measured weights of the collected customer inquiries associated with each trending topic.

19 . The non-transitory computer readable medium of claim 18 , wherein the notification data uses the ranking for alerting the user.

20 . The non-transitory computer readable medium of claim 17 , wherein the weight for each collected customer inquiry is measured by using a p value from a statistical measurement of the collected customer inquiry and an inverse document frequency parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2023
From: GE, XINHUI; MADDIPATI, VEERAVENKATA SATYA SRIDHAR; AYYALASOMAYAJULA, VENKATASATYA PREMNATH; VERMA, NIKHIL; SAVELIEV, MARA; NASSIF, JOHN THEODORE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064577/0120 →
Continuity (1)
Related Publication 20250061465A1 · Feb 20, 2025
References Cited (15)
US 10496637B2 · Podgorny et al. · 2019 [cited by applicant]
US 11650986B1 · Agbemabiese et al. · 2023 [cited by applicant]
US 20100274744A1 · Brdiczka · 2010 [cited by examiner]
US 20120278365A1 · Labat · 2012 [cited by examiner]
US 20160239847A1 · Arvapally · 2016 [cited by examiner]
US 20180357302A1 · Qi et al. · 2018 [cited by applicant]
US 20200242623A1 · Savir et al. · 2020 [cited by applicant]
US 20200380074A1 · Li · 2020 [cited by examiner]
US 20210241313A1 · Wang · 2021 [cited by examiner]
US 20220230089A1 · Peraud · 2022 [cited by examiner]
US 20230095935A1 · Robert Jose · 2023 [cited by examiner]
US 20240273289A1 · Li · 2024 [cited by examiner]
WO WO2021107982A1 · 2021 [cited by examiner]
S. He, J. Zhu, P. He and M. R. Lyu, “Experience Report: System Log Analysis for Anomaly Detection,” 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), Ottawa, ON, Canada, 2016, pp. 207-2… [cited by examiner]
Wolff, Rachel, “Harnessing NLP for Customer Feedback Analysis”, Retrieved from: https://monkeylearn.com/blog/nlp-feedback/, Jun. 23, 2021, 12 Pages. [cited by applicant]