IP Library Granted Patent US 11,689,486
Granted Patent B1
US 11,689,486 · App. 17/744,241 · Granted Jun 27, 2023

Topic overlap detection in messaging systems

Inventors: Jonathan Ray Bates (Bellevue, 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/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 11,689,486
App. No.
17/744,241
Granted
Jun 27, 2023
Kind
B1
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 (50)

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

at least one processor circuit; and

at least one memory that stores program code configured to be executed by the at least one processor circuit, the program code comprising:

a phrase representation generator configured to:

receive a plurality of trigger phrases, each trigger phrase being configured to trigger a bot that receives the trigger phrase to select a corresponding topic for conversation, and

generate a vector representation for each trigger phrase of the plurality of trigger phrases; and

an overlap detector configured to:

generate measures of similarity based at least on the vector representations, each measure of similarity representing a degree of similarity between a respective pair of vector representations;

detect a topic overlap based on a pair of vector representations having a measure of similarity above a similarity threshold, the topic overlap indicating two trigger phrases that are overlapping; and

provide the topic overlap to an authoring tool, wherein the authoring tool comprises one or more interactive elements to enable a user to change at least one of the two trigger phrases that are overlapping.

2. The system of claim 1 , wherein the bot is configured to identify two topics for conversation when provided with either trigger phrase of the two trigger phrases that are overlapping.

3. The system of claim 2 , wherein the authoring tool is configured to receive a change to one of the two trigger phrases that are overlapping, and

wherein the bot is configured to select a single topic for conversation when provided with the changed trigger phrase.

4. The system of claim 1 , wherein each measure of similarity is indicative of a degree of semantic similarity between a first vector representation corresponding to a first trigger phrase and a second vector representation corresponding to a second trigger phrase.

5. The system of claim 1 , further comprising:

a testing interface configured to enable 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 overlap detector is configured 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 authoring tool is configured to:

receive a change to one of the two trigger phrases that are overlapping, and

wherein the overlap detector is configured to:

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 configured to simulate human conversation with a user.

9. The system of claim 1 , wherein the vector representation comprises an embedding generated by applying a language model to each trigger phrase of the plurality of trigger phrases.

10. A method for detecting overlapping topics in a messaging system, the method comprising:

receiving a plurality of trigger phrases, each trigger phrase being configured to trigger a bot that receives the trigger phrase to select a corresponding topic for conversation;

generating a vector representation for each trigger phrase of the plurality of trigger phrases;

generating measures of similarity based at least on the vector representations, each measure of similarity representing a degree of similarity between a respective pair of vector representations;

detecting a topic overlap based on a pair of vector representations having a measure of similarity above a similarity threshold, the topic overlap indicating two trigger phrases that are overlapping; and

providing the topic overlap to an authoring tool, wherein the authoring tool comprises one or more interactive elements to enable a user to change at least one of the two trigger phrases that are overlapping.

11. The method of claim 10 , wherein providing either trigger phrase of the two trigger phrases that are overlapping to the bot causes the bot to identify two topics for conversation.

12. The method of claim 11 , further comprising:

receiving a change to one of the two trigger phrases that are overlapping via the authoring tool, wherein providing the changed trigger phrase to the bot causes the bot to select a single topic for conversation.

13. The method of claim 10 , wherein each measure of similarity is indicative of a degree of semantic similarity between a first vector representation corresponding to a first trigger phrase and a second vector representation corresponding to a second trigger phrase.

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 a change to one of the two trigger phrases that are overlapping; and

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 configured to simulate human conversation with a user.

18. The method of claim 10 , wherein the vector representation comprises an embedding generated by applying a language model to each trigger phrase of the plurality of trigger phrases.

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 a plurality of trigger phrases, each trigger phrase being configured to trigger a bot that receives the trigger phrase to select a corresponding topic for conversation;

generating a vector representation for each trigger phrase of the plurality of trigger phrases;

generating measures of similarity based at least on the vector representations, each measure of similarity representing a degree of similarity between a respective pair of vector representations;

detecting a topic overlap based on a pair of vector representations having a measure of similarity above a similarity threshold, the topic overlap indicating two trigger phrases that are overlapping; and

providing the topic overlap to an authoring tool, wherein the authoring tool comprises one or more interactive elements to enable a user to change at least one of the two trigger phrases that are overlapping.

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

receiving a change to one of the two trigger phrases that are overlapping via the authoring tool, wherein providing the changed trigger phrase to the bot causes the bot to select a single topic for conversation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2022
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 059905/0162 →
Continuity (1)
Provisional Application 63315741 · Mar 2, 2022
Cited By (4)
US 12,225,158 US 12,260,303 US 12,284,148 US 12,634,336