IP Library Granted Patent US 12,437,158
Granted Patent B2
US 12,437,158 · App. 18/354,247 · Granted Oct 7, 2025

Method for filtering and semi-automatically labeling training data

Inventors: Ziaul Hasan Hashmi (Kirkland, WA); Mitul Tiwari (Santa Clara, CA); Soham Parikh (Santa Clara, CA); Quaizar Vohra (Santa Clara, CA); Jignesh Parmar (Santa Clara, CA); Shounak Purkayastha (Santa Clara, CA); Anil Madamala (Santa Clara, CA); Patrice Bechard (Montreal, CA); Orlando Marquez (Montreal, CA); Olivier Nguyen (Montreal, CA); Srivatsava Daruru (Santa Clara, CA)
Assignee: ServiceNow, Inc.
G06F40/40G06F16/355G06F40/35
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,437,158
App. No.
18/354,247
Granted
Oct 7, 2025
Kind
B2
Abstract

A method is provided for efficiently providing sentiments or other manual labels for textual training data. The method includes using an embedding model to project acquired user text to an embedding vector in an embedding space. Distances (e.g., cosine similarities) between this embedding vector and the embedding vectors determined for a plurality of already-label user text training examples are then determined. The already-labeled user text that has the shortest distance is determined and the label thereof is prospectively applied to the acquired user text and presented to a user for approval. The user can approve the prospectively applied label, in which case the newly acquired text is added to the training data with the prospectively applied label associated therewith for later use in training a language model. Alternatively, the user can decline the prospectively applied label and apply an alternative label to the newly acquired text.

Claims (67)

1. A method comprising:

obtaining user text;

applying an embedding model to the user text to generate an embedding vector in a vector space, wherein the embedding model was trained to generate respective embedding vectors for training data sets, and wherein the training data sets include a plurality of textual training examples each with respectively associated class labels;

identifying a particular textual training example, of the plurality of textual training examples, whose associated embedding vector is closest in the vector space to the embedding vector that is associated with the user text;

providing an indication of the user text and a class label respectively associated with the particular textual training example;

receiving a response that the class label correctly classifies the user text;

in response to receiving the response, training a production model using the user text associated with the class label;

obtaining additional user text; and

applying a natural language understanding (NLU) model to the additional user text to generate a predicted class label associated with the additional user text, wherein applying the embedding model to the user text to generate the embedding vector in the vector space is performed in response to determining that the NLU model was not applied to the user text to generate any class label for the user text.

2. The method of claim 1 , wherein training the production model using the user text associated with the class label additionally comprises training the production model using the additional user text associated with the predicted class label.

3. The method of claim 1 , wherein identifying the particular textual training example whose associated embedding vector is closest in the vector space to the embedding vector that is associated with the user text comprises identifying the particular textual training example whose associated embedding vector has a highest cosine similarity to the embedding vector that is associated with the user text.

4. The method of claim 1 , further comprising:

obtaining additional user text;

applying the embedding model to the additional user text to generate an additional embedding vector in the vector space;

identifying an additional particular textual training example, of the plurality of textual training examples, whose associated embedding vector is closest in the vector space to the additional embedding vector that is associated with the additional user text;

providing an indication of the additional user text and an additional class label respectively associated with the additional particular textual training example; and

receiving a response that the additional class label incorrectly classifies the additional user text and that the additional user text should be associated with a user-submitted class label, wherein training the production model using the user text associated with the class label additionally comprises training the production model using the additional user text associated with the user-submitted class label.

5. The method of claim 1 , further comprising:

applying the embedding model to the plurality of textual training examples to generate the respective embedding vectors associated therewith.

6. The method of claim 1 , further comprising:

applying the user text to a dialog act model to output a set of probabilities representing a likelihood that the user text belongs to respective different dialog act classes, wherein one of the dialog act classes is an out-of-domain class, and wherein a remainder of the dialog act classes represent training-irrelevant dialog; and

retaining the user text for use in training the production model based on the set of probabilities.

7. The method of claim 6 , wherein retaining the user text for use in training the production model based on the set of probabilities comprises at least one of:

based on the set of probabilities, classifying the user text as part of the out-of-domain class, or

determining that none of the probabilities of the set of probabilities exceeds a specified threshold value.

8. The method of claim 1 , wherein the embedding model is based on a transformer that uses self-attention mechanisms.

9. The method of claim 1 , wherein obtaining user text comprises providing a virtual agent dialog to a user and obtaining the user text from the user via the virtual agent dialog.

10. A non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing system, cause the computing system to perform operations comprising:

obtaining user text;

applying an embedding model to the user text to generate an embedding vector in a vector space, wherein the embedding model was trained to generate respective embedding vectors for training data sets, and wherein the training data sets include a plurality of textual training examples each with respectively associated class labels;

identifying a particular textual training example, of the plurality of textual training examples, whose associated embedding vector is closest in the vector space to the embedding vector that is associated with the user text;

providing an indication of the user text and a class label respectively associated with the particular textual training example;

receiving a response that the class label correctly classifies the user text;

in response to receiving the response, training a production model using the user text associated with the class label;

applying the user text to a dialog act model to output a set of probabilities representing a likelihood that the user text belongs to respective different dialog act classes, wherein one of the dialog act classes is an out-of-domain class, and wherein a remainder of the dialog act classes represent training-irrelevant dialog; and

retaining the user text for use in training the production model based on the set of probabilities.

11. The computer-readable medium of claim 10 , wherein the operations further comprise:

obtaining additional user text; and

applying a natural language understanding (NLU) model to the additional user text to generate a predicted class label associated with the additional user text, wherein applying the embedding model to the user text to generate the embedding vector in the vector space is performed in response to determining that the NLU model was not applied to the user text to generate any class label for the user text.

12. The computer-readable medium of claim 11 , wherein training the production model using the user text associated with the class label additionally comprises training the production model using the additional user text associated with the predicted class label.

13. The computer-readable medium of claim 10 , wherein retaining the user text for use in training the production model based on the set of probabilities comprises at least one of:

based on the set of probabilities, classifying the user text as part of the out-of-domain class, or

determining that none of the probabilities of the set of probabilities exceeds a specified threshold value.

14. A system comprising:

one or more processors; and

memory, containing program instructions that, upon execution by the one or more processors, cause the system to perform operations comprising:

obtaining user text;

applying an embedding model to the user text to generate an embedding vector in a vector space, wherein the embedding model was trained to generate respective embedding vectors for training data sets, and wherein the training data sets include a plurality of textual training examples each with respectively associated class labels;

identifying a particular textual training example, of the plurality of textual training examples, whose associated embedding vector is closest in the vector space to the embedding vector that is associated with the user text;

providing an indication of the user text and a class label respectively associated with the particular textual training example;

receiving a response that the class label correctly classifies the user text;

in response to receiving the response, training a production model using the user text associated with the class label;

obtaining additional user text;

applying the embedding model to the additional user text to generate an additional embedding vector in the vector space;

identifying an additional particular textual training example, of the plurality of textual training examples, whose associated embedding vector is closest in the vector space to the additional embedding vector that is associated with the additional user text;

providing an indication of the additional user text and an additional class label respectively associated with the additional particular textual training example; and

receiving a response that the additional class label incorrectly classifies the additional user text and that the additional user text should be associated with a user-submitted class label, wherein training the production model using the user text associated with the class label additionally comprises training the production model using the additional user text associated with the user-submitted class label.

15. The system of claim 14 , wherein the operations further comprise:

obtaining additional user text; and

applying a natural language understanding (NLU) model to the additional user text to generate a predicted class label associated with the additional user text, wherein applying the embedding model to the user text to generate the embedding vector in the vector space is performed in response to determining that the NLU model was not applied to the user text to generate any class label for the user text.

16. The system of claim 15 , wherein training the production model using the user text associated with the class label additionally comprises training the production model using the additional user text associated with the predicted class label.

17. The system of claim 14 , wherein the operations further comprise:

applying the user text to a dialog act model to output a set of probabilities representing a likelihood that the user text belongs to respective different dialog act classes, wherein one of the dialog act classes is an out-of-domain class, and wherein a remainder of the dialog act classes represent training-irrelevant dialog; and

retaining the user text for use in training the production model based on the set of probabilities.

18. The system of claim 17 , wherein retaining the user text for use in training the production model based on the set of probabilities comprises at least one of:

based on the set of probabilities, classifying the user text as part of the out-of-domain class, or

determining that none of the probabilities of the set of probabilities exceeds a specified threshold value.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2023
From: SERVICENOW CANADA INC.
To: SERVICENOW, INC.
Reel/Frame 064815/0823 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2023
From: BECHARD, PATRICE; MARQUEZ, ORLANDO; NGUYEN, OLIVIER
To: SERVICENOW CANADA INC.
Reel/Frame 064400/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2023
From: HASHMI, ZIAUL HASAN; TIWARI, MITUL; PARIKH, SOHAM; VOHRA, QUAIZAR; PARMAR, JIGNESH; PURKAYASTHA, SHOUNAK; MADAMALA, ANIL; DARURU, SRIVATSAVA
To: SERVICENOW, INC.
Reel/Frame 064388/0696 →
Continuity (1)
Related Publication 20250028910A1 · Jan 23, 2025
References Cited (150)
US 4941084A · Terada · 1990 [cited by applicant]
US 5185860A · Wu · 1993 [cited by applicant]
US 5237518A · Sztipanovits · 1993 [cited by applicant]
US 5261097A · Saxon · 1993 [cited by applicant]
US 5265252A · Rawson, III · 1993 [cited by applicant]
US 5367685A · Gosling · 1994 [cited by applicant]
US 5390297A · Barber · 1995 [cited by applicant]
US 5442791A · Wrabetz · 1995 [cited by applicant]
US 5452415A · Hotka · 1995 [cited by applicant]
US 5522042A · Fee · 1996 [cited by applicant]
US 5533116A · Vesterinen · 1996 [cited by applicant]
US 5655081A · Bonnell · 1997 [cited by applicant]
US 5659736A · Hasegawa · 1997 [cited by applicant]
US 5671412A · Christiano · 1997 [cited by applicant]
US 5696701A · Burgess · 1997 [cited by applicant]
US 5715463A · Merkin · 1998 [cited by applicant]
US 5745879A · Wyman · 1998 [cited by applicant]
US 5761502A · Jacobs · 1998 [cited by applicant]
US 5764913A · Jancke · 1998 [cited by applicant]
US 5887139A · Madison, Jr. · 1999 [cited by applicant]
US 5909217A · Bereiter · 1999 [cited by applicant]
US 5937165A · Schwaller · 1999 [cited by applicant]
US 5949976A · Chappelle · 1999 [cited by applicant]
US 5978594A · Bonnell · 1999 [cited by applicant]
US 6021437A · Chen · 2000 [cited by applicant]
US 6041347A · Harsham · 2000 [cited by applicant]
US 6088717A · Reed · 2000 [cited by applicant]
US 6101500A · Lau · 2000 [cited by applicant]
US 6128016A · Coelho · 2000 [cited by applicant]
US 6131118A · Stupek, Jr. · 2000 [cited by applicant]
US 6134581A · Ismael · 2000 [cited by applicant]
US 6138122A · Smith · 2000 [cited by applicant]
US 6148335A · Haggard · 2000 [cited by applicant]
US 6166732A · Mitchell · 2000 [cited by applicant]
US 6167448A · Hemphill · 2000 [cited by applicant]
US 6175866B1 · Holloway et al. · 2001 [cited by applicant]
US 6175878B1 · Seaman · 2001 [cited by applicant]
US 6260050B1 · Yost · 2001 [cited by applicant]
US 6263457B1 · Anderson · 2001 [cited by applicant]
US 6272150B1 · Hrastar · 2001 [cited by applicant]
US 6336138B1 · Caswell · 2002 [cited by applicant]
US 6363421B2 · Barker · 2002 [cited by applicant]
US 6393386B1 · Zager · 2002 [cited by applicant]
US 6397245B1 · Johnson, II · 2002 [cited by applicant]
US 6434626B1 · Prakash · 2002 [cited by applicant]
US 6438592B1 · Killian · 2002 [cited by applicant]
US 6456306B1 · Chin · 2002 [cited by applicant]
US 6466932B1 · Dennis · 2002 [cited by applicant]
US 6487590B1 · Foley · 2002 [cited by applicant]
US 6505248B1 · Casper · 2003 [cited by applicant]
US 6526442B1 · Stupek, Jr. · 2003 [cited by applicant]
US 6621823B1 · Mellquist · 2003 [cited by applicant]
US 6707795B1 · Noorhosseini · 2004 [cited by applicant]
US 6742015B1 · Bowman-Amuah · 2004 [cited by applicant]
US 6763380B1 · Mayton · 2004 [cited by applicant]
US 6816898B1 · Joe · 2004 [cited by applicant]
US 6895586B1 · Brasher · 2005 [cited by applicant]
US 6948175B1 · Fong · 2005 [cited by applicant]
US 6985901B1 · Sachse · 2006 [cited by applicant]
US 7003564B2 · Greuel · 2006 [cited by applicant]
US 7028228B1 · Lovy · 2006 [cited by applicant]
US 7043537B1 · Pratt · 2006 [cited by applicant]
US 7043661B2 · Valadarsky · 2006 [cited by applicant]
US 7062683B2 · Warpenburg · 2006 [cited by applicant]
US 7096459B2 · Keller · 2006 [cited by applicant]
US 7146574B2 · Goldthwaite · 2006 [cited by applicant]
US 7197466B1 · Peterson · 2007 [cited by applicant]
US 7215360B2 · Gupta · 2007 [cited by applicant]
US 7216304B1 · Gourdol · 2007 [cited by applicant]
US 7222147B1 · Black · 2007 [cited by applicant]
US 7281170B2 · Taylor · 2007 [cited by applicant]
US 7412502B2 · Fearn · 2008 [cited by applicant]
US 7505872B2 · Keller · 2009 [cited by applicant]
US 7593013B2 · Agutter · 2009 [cited by applicant]
US 7596716B2 · Frost · 2009 [cited by applicant]
US 7617073B2 · Trinon · 2009 [cited by applicant]
US 7660731B2 · Chaddha · 2010 [cited by applicant]
US 7676294B2 · Baier · 2010 [cited by applicant]
US 7676437B2 · Satkunanathan · 2010 [cited by applicant]
US 7840490B1 · Sellers · 2010 [cited by applicant]
US 7877783B1 · Cline · 2011 [cited by applicant]
US 7890869B1 · Mayer · 2011 [cited by applicant]
US 7966398B2 · Wiles, Jr. · 2011 [cited by applicant]
US 8060396B1 · Bessler · 2011 [cited by applicant]
US 8196210B2 · Sterin · 2012 [cited by applicant]
US 8321948B2 · Robinson · 2012 [cited by applicant]
US 8407669B2 · Yee · 2013 [cited by applicant]
US 8554750B2 · Rangarajan · 2013 [cited by applicant]
US 8595647B2 · Sabin · 2013 [cited by applicant]
US 8620818B2 · Hughes · 2013 [cited by applicant]
US 8646093B2 · Myers · 2014 [cited by applicant]
US 8674992B2 · Poston · 2014 [cited by applicant]
US 8725647B2 · Disciascio · 2014 [cited by applicant]
US 9053460B2 · Gilbert · 2015 [cited by applicant]
US 10673963B1 · Feiguine · 2020 [cited by applicant]
US 10749943B1 · Feiguine · 2020 [cited by applicant]
US 10771344B2 · Bitterfeld · 2020 [cited by applicant]
US 10824650B2 · Bar Oz · 2020 [cited by applicant]
US 10944654B2 · Rimar · 2021 [cited by applicant]
US 10999152B1 · Bar Oz · 2021 [cited by applicant]
US 11025481B1 · Louca · 2021 [cited by applicant]
US 11037549B1 · Kulkarni · 2021 [cited by applicant]
US 11089115B2 · Garty · 2021 [cited by applicant]
US 11095506B1 · Erblat · 2021 [cited by applicant]
US 11275580B2 · Tamir · 2022 [cited by applicant]
US 11277475B1 · Tal · 2022 [cited by applicant]
US 11281442B1 · Tal · 2022 [cited by applicant]
US 11296922B2 · Leibkowiz · 2022 [cited by applicant]
US 11301503B2 · Burli · 2022 [cited by applicant]
US 11379089B2 · Goswami · 2022 [cited by applicant]
US 11451573B2 · Waplington · 2022 [cited by applicant]
US 11470107B2 · Waplington · 2022 [cited by applicant]
US 20020116340A1 · Hellberg · 2002 [cited by applicant]
US 20020133584A1 · Greuel · 2002 [cited by applicant]
US 20020158969A1 · Gupta · 2002 [cited by applicant]
US 20030118087A1 · Goldthwaite · 2003 [cited by applicant]
US 20030200293A1 · Fearn · 2003 [cited by applicant]
US 20050015217A1 · Weidl · 2005 [cited by applicant]
US 20050091356A1 · Izzo · 2005 [cited by applicant]
US 20060026453A1 · Frost · 2006 [cited by applicant]
US 20060095461A1 · Raymond · 2006 [cited by applicant]
US 20060179058A1 · Bram · 2006 [cited by applicant]
US 20060293942A1 · Chaddha · 2006 [cited by applicant]
US 20070033279A1 · Battat · 2007 [cited by applicant]
US 20070188494A1 · Agutter · 2007 [cited by applicant]
US 20070288389A1 · Vaughan · 2007 [cited by applicant]
US 20080133289A1 · Armour · 2008 [cited by applicant]
US 20080148253A1 · Badwe · 2008 [cited by applicant]
US 20080319779A1 · Hughes · 2008 [cited by applicant]
US 20090088875A1 · Baier · 2009 [cited by applicant]
US 20090228984A1 · Sterin · 2009 [cited by applicant]
US 20100110932A1 · Doran · 2010 [cited by applicant]
US 20160055240A1 · Tur · 2016 [cited by applicant]
US 20180123940A1 · Rimar · 2018 [cited by applicant]
US 20190073257A1 · Dasgupta · 2019 [cited by applicant]
US 20190104398A1 · Owen · 2019 [cited by applicant]
US 20190384813A1 · Mahmoud · 2019 [cited by examiner]
US 20200050689A1 · Tal · 2020 [cited by applicant]
US 20200204443A1 · Bar Oz · 2020 [cited by applicant]
US 20200301678A1 · Burman · 2020 [cited by applicant]
US 20210194764A1 · Badyan · 2021 [cited by applicant]
US 20220029886A1 · Hameiri · 2022 [cited by applicant]
US 20220237383A1 · Park · 2022 [cited by applicant]
US 20230267175A1 · Jain · 2023 [cited by examiner]
EP 0433979A2 · 1991 [cited by applicant]
EP 1607824A2 · 2005 [cited by applicant]
WO 9934285W · 1999 [cited by applicant]
WO 0052559W · 2000 [cited by applicant]
WO 0179970W · 2001 [cited by applicant]
ServiceNow, Tokyo Now Intelligence, Mar. 24, 2023. [cited by applicant]