IP Library Granted Patent US 10,353,685
Granted Patent B2
US 10,353,685 · App. 16/239,181 · Granted Jul 16, 2019

Automated model management methods

Inventors: Damien Patton (Park City, UT); Tilmann Bruckhaus (Redwood City, CA)
Assignee: Banjo, Inc.
G06F8/60G06N20/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,353,685
App. No.
16/239,181
Granted
Jul 16, 2019
Kind
B2
Abstract

The method for model management includes, within a testing platform: building candidate model(s), validating the candidate model(s), and selectively deploying the candidate model(s) into a production environment. The method can optionally include, within a production environment: detecting a class instance based on the raw data using deployed model(s) within the production environment, and transmitting a notification to an endpoint associated with the detected class.

Claims (67)

1. A computer-implemented method comprising:

labeling raw data from a set of data sources;

detecting a concept drift rate for a geographic region from the raw data;

detecting an occurrence of an event class at a deployed event detection model based on features of the raw data;

identifying labeled raw data associated with the event class;

segmenting the identified labeled raw data into a training data set and a testing data set;

training a seed model with the training data set generating an event class candidate model specific to the geographic region in response to detecting the concept drift rate by determining candidate model evaluation metric values using the testing data set;

in response to the candidate model evaluation metric values satisfying a set of deployment conditions, deploying the event class candidate model; and

detecting a subsequent occurrence of the event class based on subsequent raw data received from the set of data sources, using the event class candidate model.

2. The method of claim 1 , further comprising transmitting a notification to an endpoint associated with the event class in response to detecting the occurrence of the event class; and

wherein segmenting the identified labeled raw data into a training data set and a testing data set comprises segmenting the identified raw data into a training data set that is disjoint from the testing data set.

3. The method of claim 1 , computing a concept drift rate comprise computing the concept drift rate from change in an inaccuracy rate of the deployed event detection model.

4. The method of claim 3 , further comprising determining the inaccuracy rate of the deployed event detection model based on whether an expected subsequent event occurs within a predetermined time interval after detecting a precursor event associated with the event class.

5. The method of claim 1 , wherein labeling raw data from a set of data sources comprises labeling raw data by a labeling model; and further comprising:

extracting secondary features from secondary training data, wherein the secondary training data is pre-associated with the label; and

training a seed labeling model to algorithmically arrive at a label.

6. A computer-implemented method, comprising:

detecting a concept drift rate from a geographic region from raw data;

identifying labeled data including labels pre-associated with an event class;

segmenting the labeled data into a training data set and testing data set;

training a seed model specific to the geographic region and in response to detecting the concept drift rate with the training data set to generate a candidate model for the event class;

determining evaluation metrics for the candidate model using the testing data set;

detecting an occurrence of the event class based on raw data received from a set of data sources using the candidate model;

identifying other raw data geotagged with geographic locations within the geographic region;

determining feature values from the other raw data; and

detecting an occurrence of an event based on the feature values.

7. The method of claim 6 , wherein detecting an occurrence of an event comprises detecting one or more of: an event start time, an event end time, or an event location.

8. The method of claim 6 , wherein identifying labeled data comprises identifying labeled data derived from the raw data.

9. The method of claim 6 , wherein identifying labeled data comprises identifying one or more of: image data, text data, video data, or audio data.

10. The method of claim 6 , further comprising deploying the candidate model to a production environment to replace a previously deployed model within the production environment.

11. A computer system comprising:

a processor;

system memory coupled to the processor and storing instructions configured to cause the processor to:

label raw data from a set of data sources;

detect a concept drift rate for a geographic region from the raw data;

detect an occurrence of an event class at a deployed event detection model based on features of the raw data;

identify labeled raw data associated with the event class;

segment the identified labeled raw data into a training data set and a testing data set;

train a seed model with the training data set generating an event class candidate model specific to the geographic region in response to detecting the concept drift rate;

determine candidate model evaluation metric values using the testing data set;

in response to the candidate model evaluation metric values satisfying a set of deployment conditions, deploy the event class candidate model; and

detect a subsequent occurrence of the event class based on subsequent raw data received from the set of data sources, using the event class candidate model.

12. The computer system of claim 11 , further comprising instructions configured to transmit a notification to an endpoint in response to detecting the occurrence of the event class; and

wherein instructions configured to segment the identified labeled raw data into a training data set and a testing data set comprise instructions configured to segment the identified raw data into a training data set that is disjoint from the testing data set.

13. The computer system of claim 11 , wherein instructions configured to detect a concept drift rate comprise instruction configured to detect the concept drift rate from change in an inaccuracy rate of the deployed event detection model; and

wherein instructions configured to generate an event class candidate model comprise instructions configured to generate an event class candidate model automatically in response to detecting the concept drift rate.

14. The computer system of claim 13 , further comprising instructions configured to determine the inaccuracy rate of the deployed event detection model based on whether an expected subsequent event occurs within a predetermined time interval after detecting a precursor event associated with the event class.

15. The computer system of claim 11 , wherein instructions configured to label raw data from a set of data sources comprise instructions configured to label the raw data; and further comprising instructions configured to cause the processor to:

extract secondary features from secondary training data, wherein the secondary training data is pre-associated with a label; and

train a seed labeling model to algorithmically arrive at the label.

16. A computer system comprising:

a processor;

system memory coupled to the processor and storing instructions configured to cause the processor to:

identify labeled data including labels pre-associated with an event class;

segment the labeled data into a training data set and a testing data set that is disjoint from the training data set;

train a seed model with the training data set to generate a candidate model for the event class;

determine evaluation metrics for the candidate model using the testing data set;

detect an occurrence of the event within an event detection system class based on raw data received from a set of data sources using the candidate model;

transmit a notification to an endpoint in response to detecting the occurrence of the event;

identify other raw data geotagged with geographic locations within a geographic region;

determine feature values from the other raw data; and

detect an occurrence of an event based on the feature values.

17. The computer system of claim 16 , further comprising instructions configured to detect concept drift associated with the event class.

18. The computer system of claim 16 , wherein instructions configured to identify labeled data comprise instructions configured to cause the processor to identify one or more of: image data, text data, video data, or audio data.

19. The computer system of claim 16 , further comprising instructions configured to detect a concept drift draft rate from raw data; and

wherein instructions configured to generate a candidate model comprises instructions configured to generate a candidate model in response to detecting the concept drift rate.

20. The computer system of claim 19 , wherein instructions configured to identify labeled data comprise instructions configured to identify labeled data derived from the raw data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2019
From: PATTON, DAMIEN; BRUCKHAUS, TILMANN
To: BANJO, INC.
Reel/Frame 047894/0869 →
Continuity (3)
Continuation 16047932 · Jul 27, 2018
Provisional Application 62594459 · Dec 4, 2017
Related Publication 20190171428A1 · Jun 6, 2019
Cited By (4)
US 12,216,740 US 12,468,617 US 12,518,198 US 12,701,051