IP Library Granted Patent US 10,789,533
Granted Patent B2
US 10,789,533 · App. 15/659,888 · Granted Sep 29, 2020

Generating a consistently labeled training dataset by automatically generating and displaying a set of most similar previously-labeled texts and their previously assigned labels for each text that is being labeled for the training dataset

Inventors: Whitney Lige Clark (Auburn, CA); Ashish V. Thapliyal (Santa Barbara, CA); Christfried Focke (Santa Barbara, CA); Alexander John Huitric (Goleta, CA); Yogesh Moorjani (Dublin, CA)
Assignee: LogMeln, Inc.
G06N5/022G06F7/08G06F16/35G06F16/358G06F16/685G06K9/6254G06K9/6256G06N20/00
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 10,789,533
App. No.
15/659,888
Granted
Sep 29, 2020
Kind
B2
Abstract

Technology for generating a consistently labeled training dataset. For each one of multiple previously labeled texts, a distance between the previously labeled text and a current text to be labeled is generated by comparing a list of tokens for the previously labeled text to a list of tokens for the current text to determine an overlap value equal to a number of tokens that match between the list of tokens for the previously labeled text and the list of tokens for the current text, and using the overlap value to calculate a distance between the previously labeled text and the current text that is inversely correlated to the overlap value. Previously labeled texts that are most similar to the current text are identified as those previously labeled texts having the shortest distances to the current text, and are displayed with their previously assigned labels in a label selection user interface.

Claims (63)

1. A method of generating a training dataset, comprising:

extracting tokens from a current text to generate a list of tokens for the current text;

generating, by processing circuitry, for each one of a plurality of previously labeled texts, a distance between the previously labeled text and the current text, by i) extracting tokens from the previously labeled text to generate a list of tokens for the previously labeled text, ii) comparing the list of tokens for the previously labeled text to the list of tokens for the current text to determine an overlap value for the previously labeled text that is equal to a total number of tokens that match between the list of tokens for the previously labeled text and the list of tokens for the current text, and iii) using the overlap value for the previously labeled text to calculate a distance between the previously labeled text and the current text that is inversely correlated to the overlap value for the previously labeled text;

generating, by the processing circuitry from the plurality of previously labeled texts, a set of previously labeled texts that are most similar to the current text, by selecting a predetermined number of the previously labeled texts that have the shortest distances between them and the current text; and

displaying, simultaneously with the current text within a label selection user interface displayed by a display device, i) the set of previously labeled texts that are most similar to the current text, and ii) a plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text, wherein the label selection user interface is operable to receive user indications that cause at least one label to be assigned to the current text within the training dataset.

2. The method of claim 1 , wherein using the overlap value for the previously labeled text to calculate a distance between the previously labeled text and the current text that is inversely correlated to the overlap value for the previously labeled text includes:

calculating a normalization value for the previously labeled text by taking a square root of a product of i) a total number of tokens in the list of tokens for the current text, and ii) a total number of tokens in the list of tokens for the previously labeled text; and

setting the distance between the previously labeled text and the current text equal to one minus a result of dividing the overlap value for the previously labeled text by the normalization value for the previously labeled text.

3. The method of claim 2 , wherein generating, by the processing circuitry from the plurality of previously labeled texts, the set of previously labeled texts that are most similar to the current text, includes:

sorting the distances between the previously labeled texts and the current text in ascending order to generate an ordered list of distances; and

selecting the predetermined number of the previously labeled texts having the shortest distances between them and the current text in response to the ordered list of distances.

4. The method of claim 3 , wherein extracting tokens from the current text to generate the list of tokens for the current text includes i) identifying a plurality of words that each occur one or more times in the current text, and ii) storing a single copy of each one of the words that occur one or more times in the current text into the list of tokens for the current text; and

wherein extracting tokens from the previously labeled text to generate the list of tokens for the previously labeled text includes i) identifying a plurality of words that each occur one or more times in the previously labeled text, and ii) storing a single copy of each one of the words that occur one or more times in the previously labeled text into the list of tokens for the previously labeled text.

5. The method of claim 4 , wherein the label selection user interface displayed by a display device comprises a user interface displayed by a display device of a client computer, and further comprising:

transmitting, by communications circuitry to the client computer, i) the set of previously labeled texts that are most similar to the current text, and ii) the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text, for display in the label selection user interface displayed by the display device of the client computer.

6. The method of claim 5 , wherein the current text comprises a previously labeled text to which at least one label has previously been assigned; and

wherein the label selection user interface displays the label previously assigned to the current text and is further operable to receive a user indication causing at least one label previously assigned to the current text to be de-assigned from the current text in the training dataset.

7. The method of claim 6 , further comprising:

passing the training dataset to a label prediction system, wherein the label prediction system automatically predicts labels for unlabeled texts based on how texts in the training dataset are labeled, and wherein the labels automatically predicted by the label prediction system are assigned to the unlabeled texts;

storing the training dataset with all previously labeled texts, including at least one label assigned in response to a user indication received by the label selection user interface;

wherein at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text was predicted by the label prediction system;

wherein at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text was assigned in response to a user indication received by the label selection user interface; and

wherein the label selection user interface displays at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text that was predicted by the label prediction system in a visually distinct manner from the at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text that was assigned in response to a user indication received by the label selection user interface.

8. The method of claim 7 , further comprising generating the plurality of previously labeled texts from all previously labeled texts by sampling all previously labeled texts to obtain a subset of all previously labeled texts, wherein each previously labeled text in the subset of all previously labeled texts was labeled during a different one of a set of discrete preceding time periods.

9. The method of claim 8 , wherein the current text and the previously labeled texts comprise textual user feedback entered through a user interface for providing user feedback regarding performance of an online meeting application.

10. The method of claim 8 , further comprising:

receiving digital audio data;

performing speech to text conversion processing on the received digital audio data; and

wherein the current text and the previously labeled texts comprise text obtained by performing the speech to text conversion processing on the received audio data.

11. A system for generating a training dataset, comprising:

processing circuitry;

a memory having program code stored thereon, wherein the program code, when executed by the processing circuitry, causes the processing circuitry to

extract tokens from a current text to generate a list of tokens for the current text;

generate, for each one of a plurality of previously labeled texts, a distance between the previously labeled text and the current text, by i) extracting tokens from the previously labeled text to generate a list of tokens for the previously labeled text, ii) comparing the list of tokens for the previously labeled text to the list of tokens for the current text to determine an overlap value for the previously labeled text that is equal to a total number of tokens that match between the list of tokens for the previously labeled text and the list of tokens for the current text, and iii) using the overlap value for the previously labeled text to calculate a distance between the previously labeled text and the current text that is inversely correlated to the overlap value for the previously labeled text;

generate, by the processing circuitry from the plurality of previously labeled texts, a set of previously labeled texts that are most similar to the current text, by selecting a predetermined number of the previously labeled texts that have the shortest distances between them and the current text; and

transmit, by communication circuitry to a client computer, for simultaneous display with the current text within a label selection user interface displayed by a display device of the client computer, i) the set of previously labeled texts that are most similar to the current text, and ii) a plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text, wherein the label selection user interface is operable to receive user indications that cause at least one label to be assigned to the current text within the training dataset.

12. The system of claim 11 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to use the overlap value for the previously labeled text to calculate a distance between the previously labeled text and the current text that is inversely correlated to the overlap value for the previously labeled text by causing the processing circuitry to:

calculate a normalization value for the previously labeled text by taking a square root of a product of i) a total number of tokens in the list of tokens for the current text, and ii) a total number of tokens in the list of tokens for the previously labeled text; and

set the distance between the previously labeled text and the current text equal to one minus a result of dividing the overlap value for the previously labeled text by the normalization value for the previously labeled text.

13. The system of claim 12 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to generate, from the plurality of previously labeled texts, the set of previously labeled texts that are most similar to the current text, by causing the processing circuitry to:

sort the distances between the previously labeled texts and the current text in ascending order to generate an ordered list of distances; and

select the predetermined number of the previously labeled texts having the shortest distances between them and the current text in response to the ordered list of distances.

14. The system of claim 13 , wherein the program code, when executed by the processing circuitry, causes the processing circuitry to extract tokens from the current text to generate the list of tokens for the current text by causing the processing circuitry to i) identify a plurality of words that each occur one or more times in the current text, and ii) store a single copy of each one of the words that occur one or more times in the current text into the list of tokens for the current text; and

wherein the program code, when executed by the processing circuitry, causes the processing circuitry to extract tokens from the previously labeled text to generate the list of tokens for the previously labeled text by causing the processing circuitry to i) identify a plurality of words that each occur one or more times in the previously labeled text, and ii) store a single copy of each one of the words that occur one or more times in the previously labeled text into the list of tokens for the previously labeled text.

15. The system of claim 14 , wherein the current text comprises a previously labeled text to which at least one label has previously been assigned; and

wherein the label selection user interface displays the label previously assigned to the current text and is further operable to receive a user indication causing at least one label previously assigned to the current text to be de-assigned from the current text in the training dataset.

16. The system of claim 15 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to:

pass the training dataset to a label prediction system, wherein the label prediction system automatically predicts labels for unlabeled texts based on how texts in the training dataset are labeled, and wherein the labels automatically predicted by the label prediction system are assigned to the unlabeled texts;

store the training dataset with all previously labeled texts, including at least one label assigned in response to a user indication received by the label selection user interface;

wherein at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text was predicted by the label prediction system;

wherein at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text was assigned in response to a user indication received by the label selection user interface; and

wherein the label selection user interface displays at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text that was predicted by the label prediction system in a visually distinct manner from the at least one of the plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text that was assigned in response to a user indication received by the label selection user interface.

17. The system of claim 16 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to generate the plurality of previously labeled texts from all previously labeled texts by causing the processing circuitry to sample all previously labeled texts to obtain a subset of all previously labeled texts, wherein each previously labeled text in the subset of all previously labeled texts was labeled during a different one of a set of discrete preceding time periods.

18. The system of claim 17 , wherein the current text and the previously labeled texts comprise textual user feedback entered through a user interface for providing user feedback regarding performance of an online meeting application.

19. The system of claim 18 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to:

receive digital audio data;

perform speech to text conversion processing on the received digital audio data; and

wherein the current text and the previously labeled texts comprise text obtained by performing the speech to text conversion processing on the received audio data.

20. A non-transitory computer readable medium for generating a training dataset, comprising instructions stored thereon, that when executed on a processor, perform the steps of:

extracting tokens from a current text to generate a list of tokens for the current text;

generating, by processing circuitry, for each one of a plurality of previously labeled texts, a distance between the previously labeled text and the current text, by i) extracting tokens from the previously labeled text to generate a list of tokens for the previously labeled text, ii) comparing the list of tokens for the previously labeled text to the list of tokens for the current text to determine an overlap value for the previously labeled text that is equal to a total number of tokens that match between the list of tokens for the previously labeled text and the list of tokens for the current text, and iii) using the overlap value for the previously labeled text to calculate a distance between the previously labeled text and the current text that is inversely correlated to the overlap value for the previously labeled text;

generating, by the processing circuitry from the plurality of previously labeled texts, a set of previously labeled texts that are most similar to the current text, by selecting a predetermined number of the previously labeled texts that have the shortest distances between them and the current text; and

displaying, simultaneously with the current text within a label selection user interface displayed by a display device, i) the set of previously labeled texts that are most similar to the current text, and ii) a plurality of labels that were previously assigned to individual ones of the previously labeled texts in the set of previously labeled texts that are most similar to the current text, wherein the label selection user interface is operable to receive user indications that cause at least one label to be assigned to the current text within the training dataset.

Assignments (14)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 053667/0169, REEL/FRAME 060450/0171, REEL/FRAME 063341/0051) Recorded Mar 15, 2024
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: GOTO GROUP, INC. (F/K/A LOGMEIN, INC.)
Reel/Frame 066800/0145 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.,; GOTO GROUP, INC., A; LASTPASS US LP,
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0402 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.; GOTO GROUP, INC.; LASTPASS US LP
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0355 →
SECURITY INTEREST Recorded Feb 7, 2024
From: GOTO GROUP, INC.,; GOTO COMMUNICATIONS, INC.; LASTPASS US LP
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 066508/0443 →
NOTES IP SUPPLEMENT TO NOTES SECURITY AGREEMENT Recorded Feb 3, 2023
From: GOTO GROUP, ICN. (F/K/A LOGMEIN, INC.)
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 062651/0566 →
FIRST LIEN IP SUPPLEMENT NO. 1 Recorded Jun 15, 2022
From: GOTO GROUP, INC. (F/K/A LOGMEIN, INC.)
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 060450/0171 →
CHANGE OF NAME Recorded Apr 8, 2022
From: LOGMEIN, INC.
To: GOTO GROUP, INC.
Reel/Frame 059644/0090 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Feb 16, 2021
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: LOGMEIN, INC.
Reel/Frame 055306/0200 →
NOTES LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053667/0032 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0079 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: CLARK, WHITNEY LIGE
To: GETGO, INC.
Reel/Frame 048576/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2019
From: GETGO, INC.
To: LOGMEIN, INC.
Reel/Frame 049843/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2017
From: CLARK, WHTINEY LIGE; THAPLIYAL, ASHISH V.; FOCKE, CHRISTFRIED; HUITRIC, ALEXANDER JOHN; MOORJANI, YOGESH
To: GETGO, INC.
Reel/Frame 043278/0412 →
Continuity (1)
Related Publication 20190034807A1 · Jan 31, 2019