IP Library › Granted Patent US 12,069,019
Granted Patent B2
US 12,069,019 · App. 18/316,458 · Granted Aug 20, 2024

Topic overlap detection in messaging systems

Inventors: Jonathan Ray Bates (Redmond, WA); Shoou-Jiun Wang (Sammamish, WA); Jaclyn Ruth Elizabeth Phillips (Vancouver, CA); Tracy My Tuyen Nguyen (Renton, WA); Yi Zhang (Kirkland, WA); Thinesh Thangakumar Abimanyu Rathinavelu (Redmond, WA); Jennifer Olivia Ede (Everett, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L51/21G06F18/22G06F40/237G06F40/279G06F40/35H04L51/02
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,069,019
App. No.
18/316,458
Granted
Aug 20, 2024
Kind
B2
Abstract

Embodiments are provided for detecting overlapping topics in a messaging system. In an example system, a plurality of trigger phrases is received, where each trigger phrase is configured to trigger a bot that receives the trigger phrase to select a corresponding topic for conversation. For each trigger phrase, a vector representation is generated. Measures of similarity are generated based at least on the vector representations, where each measure of similarity represents a degree of similarity between a respective pair of vector representations. A topic overlap is detected based on a pair of vector representations having a measure of similarity above a similarity threshold, where the topic overlap indicates two trigger phrases that are overlapping. The topic overlap is provided to an authoring tool that comprises one or more interactive elements to enable a user to change at least one of the two trigger phrases that are overlapping.

Claims (48)

1. A system for detecting overlapping topics, the system comprising:

a processor circuit; and

a memory that stores program code that is executed by the processor circuit to cause the system to:

receive, in a bot authoring system, a first trigger phrase and a second trigger phrase, the first trigger phrase and the second trigger phrase each defining different topics of conversation for identification by a bot that receives the first trigger phrase or the second trigger phrase;

apply the first trigger phrase and second trigger phrase to a language processing model to generate a first vector representation for the first trigger phrase and a second vector representation for the second trigger phrase;

generate a measure of similarity between the first trigger phrase and the second trigger phrase based at least on the first vector representation and the second vector representation;

detect a topic overlap based on the measure of similarity being above a similarity threshold, the topic overlap indicating an overlap between the different topics of conversation corresponding to the first trigger phrase and the second trigger phrase; and

provide an indication of the topic overlap to an authoring tool.

2. The system of claim 1 , wherein the bot identifies a plurality of topics for conversation when provided with either the first trigger phrase or the second trigger phrase.

3. The system of claim 1 , wherein the authoring tool receives a change to one of the first trigger phrase or the second trigger phrase, and

wherein the bot selects a single topic for conversation when provided with the changed trigger phrase.

4. The system of claim 1 , wherein the measure of similarity is indicative of a degree of semantic similarity between the first vector representation and the second vector representation.

5. The system of claim 1 , wherein the program code that is executed by the processor circuit further causes the system to:

provide a testing interface that enables a simulated conversation with the bot, the simulated conversation comprising a conversation to determine whether a trigger phrase provided to the bot causes the bot to identify a plurality of topics for conversation.

6. The system of claim 1 , wherein the program code that is executed by the processor circuit further causes the system to:

provide a plurality of topic overlaps to the authoring tool, the plurality of topic overlaps ranked based on measures of similarity corresponding to the plurality of topic overlaps.

7. The system of claim 1 , wherein the program code that is executed by the processor circuit further causes the system to:

receive, in the authoring tool, a change to one of the first trigger phrase and the second trigger phrase,

automatically generate an updated measure of similarity based at least on the changed trigger phrase.

8. The system of claim 1 , wherein the bot comprises a chat bot to simulate human conversation with a user.

9. The system of claim 1 , wherein the measure of similarity is generated based on embeddings generated by applying a language model to the first trigger phrase and the second trigger phrase.

10. A method for detecting overlapping topics, the method comprising:

receiving, in a bot authoring system, a first trigger phrase and a second trigger phrase, the first trigger phrase and the second trigger phrase each defining different topics of conversation for identification by a bot that receives the first trigger phrase or the second trigger phrase;

applying the first trigger phrase and second trigger phrase to a language processing model to generate a first vector representation for the first trigger phrase and a second vector representation for the second trigger phrase;

generating a measure of similarity between the first trigger phrase and the second trigger phrase based at least on the first vector representation and the second vector representation;

detecting a topic overlap based on the measure of similarity being above a similarity threshold, the topic overlap indicating an overlap between the different topics of conversation corresponding to the first trigger phrase and the second trigger phrase; and

providing an indication of the topic overlap to an authoring tool.

11. The method of claim 10 , wherein the bot identifies a plurality of topics for conversation when provided with either the first trigger phrase or the second trigger phrase.

12. The method of claim 10 , wherein the authoring tool receives a change to one of the first trigger phrase or the second trigger phrase, and

wherein the bot selects a single topic for conversation when provided with the changed trigger phrase.

13. The method of claim 10 , wherein the measure of similarity is indicative of a degree of semantic similarity between the first vector representation and the second vector representation.

14. The method of claim 10 , further comprising:

providing a testing interface that enables a simulated conversation with the bot, the simulated conversation comprising a conversation to determine whether a trigger phrase provided to the bot causes the bot to identify a plurality of topics for conversation.

15. The method of claim 10 , further comprising:

providing a plurality of topic overlaps to the authoring tool, the plurality of topic overlaps ranked based on measures of similarity corresponding to the plurality of topic overlaps.

16. The method of claim 10 , further comprising:

receiving, in the authoring tool, a change to one of the first trigger phrase and the second trigger phrase,

automatically generating an updated measure of similarity based at least on the changed trigger phrase.

17. The method of claim 10 , wherein the bot comprises a chat bot to simulate human conversation with a user.

18. The method of claim 10 , wherein the measure of similarity is generated based on embeddings generated by applying a language model to the first trigger phrase and the second trigger phrase.

19. A computer-readable storage medium having program instructions recorded thereon that, when executed by at least one processor of a computing device, perform a method, the method comprising:

receiving, in a bot authoring system, a first trigger phrase and a second trigger phrase, the first trigger phrase and the second trigger phrase each defining different topics of conversation for identification by a bot that receives the first trigger phrase or the second trigger phrase;

applying the first trigger phrase and second trigger phrase to a language processing model to generate a first vector representation for the first trigger phrase and a second vector representation for the second trigger phrase;

generating a measure of similarity between the first trigger phrase and the second trigger phrase based at least on the first vector representation and the second vector representation;

detecting a topic overlap based on the measure of similarity being above a similarity threshold, the topic overlap indicating an overlap between the different topics of conversation corresponding to the first trigger phrase and the second trigger phrase; and

providing an indication of the topic overlap to an authoring tool.

20. The computer-readable storage medium of claim 19 , wherein the method further comprises:

providing a plurality of topic overlaps to the authoring tool, the plurality of topic overlaps ranked based on measures of similarity corresponding to the plurality of topic overlaps.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2023
From: BATES, JONATHAN RAY; WANG, SHOOU-JIUN; PHILLIPS, JACLYN RUTH ELIZABETH; NGUYEN, TRACY MY TUYEN; ZHANG, YI; RATHINAVELU, THINESH THANGAKUMAR ABIMANYU; EDE, JENNIFER OLIVIA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063714/0774 →
Continuity (3)
Continuation 17744241 · May 13, 2022
Provisional Application 63315741 · Mar 2, 2022
Related Publication 20230283582A1 · Sep 7, 2023
Cited By (1)
US 12,634,336