IP Library Granted Patent US 11,042,697
Granted Patent B2
US 11,042,697 · App. 16/589,445 · Granted Jun 22, 2021

Determining an extraction rule from positive and negative examples

Inventors: Jesse Miller (San Francisco, CA); Micah James Delfino (San Francisco, CA); Marc Robichaud (San Francisco, CA); David Carasso (San Francisco, CA)
Assignee: SPLUNK Inc.
G06F40/174G06F16/2477
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,042,697
App. No.
16/589,445
Granted
Jun 22, 2021
Kind
B2
Abstract

The technology disclosed relates to formulating and refining field extraction rules that are used at query time on raw data with a late-binding schema. The field extraction rules identify portions of the raw data, as well as their data types and hierarchical relationships. These extraction rules are executed against very large data sets not organized into relational structures that have not been processed by standard extraction or transformation methods. By using sample events, a focus on primary and secondary example events help formulate either a single extraction rule spanning multiple data formats, or multiple rules directed to distinct formats. Selection tools mark up the example events to indicate positive examples for the extraction rules, and to identify negative examples to avoid mistaken value selection. The extraction rules can be saved for query-time use, and can be incorporated into a data model for sets and subsets of event data.

Claims (71)

1. A computer-implemented method comprising:

receiving, via a sampling tool, a user selection of a primary event and a secondary event from a plurality of events concurrently presented via a graphical user interface, wherein each event in the plurality of events includes a portion of raw data;

receiving, via a selection tool, a selection of a first portion of text within the raw data of the primary event as a positive example of a first value to extract for a field that indicates a particular location in events;

receiving, via the selection tool, a selection of a second portion of text within the raw data of the secondary event as a negative example of a second value not to extract for the field; and

automatically determining an extraction rule that extracts the first value, but not the second value, into a set of values of the field.

2. The method of claim 1 , further comprising presenting an initial markup of the primary event comprising an indication, on the primary event, (i) of the first portion of text exacted as the first value, and (ii) of the field.

3. The method of claim 1 , further comprising:

presenting an initial markup of the primary event, and an unmatched secondary event that did not match the extraction rule;

receiving, via the selection tool, a selection of a third portion of text within the raw data of the unmatched secondary event as another positive example of a third value to extract for the field; and

automatically updating the extraction rule to extract the first value and the third value, but not the second value, into the set of values of the field.

4. The method of claim 1 , further comprising:

presenting an initial markup of the primary event and an unmatched secondary event that did not match the extraction rule;

receiving, via the selection tool, a selection of a third portion of text within the raw data of the unmatched secondary event as another positive example of a third value to extract for the field; and

based on receiving the selection of the third portion of text, prompting for a selection of an associated field, from a plurality of fields;

based on receiving the field as the selection of the associated field, linking the third portion of text to the field.

5. The method of claim 1 , further comprising presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, (i) of a corresponding portion of text exacted as values for the field, and (ii) of the field.

6. The method of claim 1 , further comprising accepting a selection of a second field, adjacent to the field, as an anchoring field indicating a location in the raw data of the field.

7. The method of claim 1 , further comprising accepting a selection of a third portion of text in the raw data, and requiring that the third portion of text is present in a matching event of the plurality of events for the extraction rule to succeed.

8. The method of claim 1 , further comprising presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, of positive examples exacted as values for the field, wherein each positive example includes an associated control configured to reclassify the positive example as a negative example.

9. The method of claim 1 , further comprising:

presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, of positive examples exacted as values for the field, wherein each positive example includes an associated control configured to reclassify the positive example as a negative example; and

automatically updating the extraction rule to extract the positive examples, but not reclassified negative examples, into the set of values of the field.

10. The method of claim 1 , further comprising presenting the secondary event and a markup of the secondary event comprising an indication, on the second event, of the second value registered as a negative example, a visual cue indicating registration as a negative example, and an associated control configured to undo registration as a negative example.

11. A system for generating an extraction rule, the system comprising:

one or more data processors; and

one or more computer-readable storage media containing instructions which when executed on the one or more data processors, cause the one or more processors to perform operations including:

receiving, via a sampling tool, a user selection of a primary event and a secondary event from a plurality of events concurrently presented via a graphical user interface, wherein each event in the plurality of events includes a portion of raw data;

receiving, via a selection tool, a selection of a first portion of text within the raw data of the primary event as a positive example of a first value to extract for a field that indicates a particular location in events;

receiving, via the selection tool, a selection of a second portion of text within the raw data of the secondary event as a negative example of a second value not to extract for the field; and

automatically determining an extraction rule that extracts the first value, but not the second value, into a set of values of the field.

12. The system of claim 11 , the operations further comprising presenting an initial markup of the primary event comprising an indication, on the primary event, (i) of the first portion of text exacted as the first value, and (ii) of the field.

13. The system of claim 11 , the operations further comprising:

presenting an initial markup of the primary event, and an unmatched secondary event that did not match the extraction rule;

receiving, via the selection tool, a selection of a third portion of text within the raw data of the unmatched secondary event as another positive example of a third value to extract for the field; and

automatically updating the extraction rule to extract the first value and the third value, but not the second value, into the set of values of the field.

14. The system of claim 11 , the operations further comprising:

presenting an initial markup of the primary event and an unmatched secondary event that did not match the extraction rule;

receiving, via the selection tool, a selection of a third portion of text within the raw data of the unmatched secondary event as another positive example of a third value to extract for the field; and

based on receiving the selection of the third portion of text, prompting for a selection of an associated field, from a plurality of fields;

based on receiving the field as the selection of the associated field, linking the third portion of text to the field.

15. The system of claim 11 , the operations further comprising presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, (i) of a corresponding portion of text exacted as values for the field, and (ii) of the field.

16. The system of claim 11 , the operations further comprising accepting a selection of a second field, adjacent to the field, as an anchoring field indicating a location in the raw data of the field.

17. The system of claim 11 , the operations further comprising accepting a selection of a third portion of text in the raw data, and requiring that the third portion of text is present in a matching event of the plurality of events for the extraction rule to succeed.

18. The system of claim 11 , the operations further comprising presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, of positive examples exacted as values for the field, wherein each positive example includes an associated control configured to reclassify the positive example as a negative example.

19. The system of claim 11 , the operations further comprising:

presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, of positive examples exacted as values for the field, wherein each positive example includes an associated control configured to reclassify the positive example as a negative example; and

automatically updating the extraction rule to extract the positive examples, but not reclassified negative examples, into the set of values of the field.

20. The system of claim 11 , the operations further comprising presenting the secondary event and a markup of the secondary event comprising an indication, on the second event, of the second value registered as a negative example, a visual cue indicating registration as a negative example, and an associated control configured to undo registration as a negative example.

21. One or more computer-storage media storing computer-executable instructions that, when executed by a computing device, perform a method for generating an extraction rule, the method comprising:

receiving, via a sampling tool, a user selection of a primary event and a secondary event from a plurality of events concurrently presented via a graphical user interface, wherein each event in the plurality of events includes a portion of raw data;

receiving, via a selection tool, a selection of a first portion of text within the raw data of the primary event as a positive example of a first value to extract for a field that indicates a particular location in events;

receiving, via the selection tool, a selection of a second portion of text within the raw data of the secondary event as a negative example of a second value not to extract for the field; and

automatically determining an extraction rule that extracts the first value, but not the second value, into a set of values of the field.

22. The one or more computer-storage media of claim 21 , the method further comprising presenting an initial markup of the primary event comprising an indication, on the primary event, (i) of the first portion of text exacted as the first value, and (ii) of the field.

23. The one or more computer-storage media of claim 21 , the method further comprising:

presenting an initial markup of the primary event, and an unmatched secondary event that did not match the extraction rule;

receiving, via the selection tool, a selection of a third portion of text within the raw data of the unmatched secondary event as another positive example of a third value to extract for the field; and

automatically updating the extraction rule to extract the first value and the third value, but not the second value, into the set of values of the field.

24. The one or more computer-storage media of claim 21 , the method further comprising:

presenting an initial markup of the primary event and an unmatched secondary event that did not match the extraction rule;

receiving, via the selection tool, a selection of a third portion of text within the raw data of the unmatched secondary event as another positive example of a third value to extract for the field; and

based on receiving the selection of the third portion of text, prompting for a selection of an associated field, from a plurality of fields;

based on receiving the field as the selection of the associated field, linking the third portion of text to the field.

25. The one or more computer-storage media of claim 21 , the method further comprising presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, (i) of a corresponding portion of text exacted as values for the field, and (ii) of the field.

26. The one or more computer-storage media of claim 21 , the method further comprising accepting a selection of a second field, adjacent to the field, as an anchoring field indicating a location in the raw data of the field.

27. The one or more computer-storage media of claim 21 , the method further comprising accepting a selection of a third portion of text in the raw data, and requiring that the third portion of text is present in a matching event of the plurality of events for the extraction rule to succeed.

28. The one or more computer-storage media of claim 21 , the method further comprising presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, of positive examples exacted as values for the field, wherein each positive example includes an associated control configured to reclassify the positive example as a negative example.

29. The one or more computer-storage media of claim 21 , the method further comprising:

presenting a plurality of secondary events that match the extraction rule and a markup of the secondary events comprising an indication, on the secondary events, of positive examples exacted as values for the field, wherein each positive example includes an associated control configured to reclassify the positive example as a negative example; and

automatically updating the extraction rule to extract the positive examples, but not reclassified negative examples, into the set of values of the field.

30. The one or more computer-storage media of claim 21 , the method further comprising presenting the secondary event and a markup of the secondary event comprising an indication, on the second event, of the second value registered as a negative example, a visual cue indicating registration as a negative example, and an associated control configured to undo registration as a negative example.

Assignments (5)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2021
From: MILLER, JEESE; ROBICHAUD, MARC; DELFINO, MICAH JAMES; CARASSO, DAVID
To: SPLUNK INC.
Reel/Frame 055813/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2020
From: MILLER, JESSE; DELFINO, MICAH JAMES; ROBICHAUD, MARC; HANSON, CATHERINE ANNE; CARASSO, R. DAVID
To: SPLUNK INC.
Reel/Frame 051992/0331 →
Continuity (13)
Continuation 16541637 · Aug 15, 2019
Continuation 15694654 · Sep 1, 2017
Continuation 14610668 · Jan 30, 2015
Continuation In Part 14266839 · May 1, 2014
Continuation 13748391 · Jan 23, 2013
Continuation In Part 14168888 · Jan 30, 2014
Continuation 13747153 · Jan 22, 2013
Continuation In Part 14169268 · Jan 31, 2014
Continuation 13748313 · Jan 23, 2013
Continuation In Part 13747177 · Jan 22, 2013
Continuation In Part 14067203 · Oct 30, 2013
Continuation 13607117 · Sep 7, 2012
Related Publication 20200034414A1 · Jan 30, 2020