IP Library Granted Patent US 10,402,735
Granted Patent B2
US 10,402,735 · App. 14/862,583 · Granted Sep 3, 2019

Methods and apparatus to improve decision tree execution

Inventors: Jonathan Sullivan (Natick, MA); Michael Sheppard (Brooklyn, NY); Peter Lipa (Tucson, AZ)
Assignee: THE NIELSEN COMPANY (US), LLC
G06N5/045G06Q30/0242
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,402,735
App. No.
14/862,583
Granted
Sep 3, 2019
Kind
B2
Abstract

Methods, apparatus, systems and articles of manufacture are disclosed to improve decision tree execution. An example method includes retrieving, with a processor, a decision tree logic expression in a sum-of-products (SOP) form, the decision tree logic expression consuming a first duration to evaluate a dataset, eliminating, with the processor, redundant variables of the decision tree logic expression by transforming the decision tree logic expression into a product-of-sums (POS) form, and evaluating, with the processor, the data set with the decision tree logic expression in the POS form, the decision tree logic expression in the POS form consuming a second duration to evaluate the data set that is less than the first duration.

Claims (36)

1. A method to reduce decision tree evaluation time, comprising:

retrieving, from a storage location via a network, by executing instructions with a processor, a decision tree logic expression in a sum-of-products (SOP) form, the SOP form including first subexpressions having a logical OR relationship, the decision tree logic expression consuming a first duration to evaluate a dataset;

eliminating, by executing instructions with the processor, redundant variables of the decision tree logic expression by transforming the decision tree logic expression into a product-of-sums (POS) form, the POS form including second subexpressions having a logical AND relationship; and

evaluating, by executing instructions with the processor, the data set with the decision tree logic expression in the POS form, the decision tree logic expression in the POS form consuming a second duration to evaluate the data set that is less than the first duration.

2. A method as defined in claim 1 , further including identifying a first variable that is common to at least two of the first subexpressions.

3. A method as defined in claim 2 , further including generating a simplified version of the transformed decision tree logic expression that factors out the first variable common to the at least two of the first subexpressions.

4. A method as defined in claim 1 , further including identifying surrogate variables associated with the transformed decision tree logic expression, the surrogate variables including a non-Boolean value.

5. A method as defined in claim 4 , further including replacing the non-Boolean value with a correction value when the non-Boolean value cannot be evaluated with an inequality test.

6. A method as defined in claim 5 , wherein the inequality test includes at least one of a greater-than inequality test, a less-than inequality test, or an equal test.

7. A method as defined in claim 5 , wherein the inequality test is associated with a threshold value.

8. A method as defined in claim 5 , wherein the non-Boolean value is at least one of NULL or missing.

9. A method as defined in claim 5 , further including reducing an evaluation computation burden on the processor by assigning the correction value as a binary value.

10. An apparatus to reduce decision tree evaluation time, comprising:

a decision tree interface to retrieve, from a storage location via a network, a decision tree logic expression in a sum-of-products (SOP) form, the SOP form including first subexpressions having a logical OR relationship, the decision tree logic expression consuming a first duration to evaluate a data set;

a tree transformation engine to eliminate redundant variables of the decision tree logic expression by transforming the decision tree logic expression into a product-of-sums (POS) form, the POS form including second subexpressions having a logical AND relationship; and

a segmentation optimizer to evaluate the data set with the decision tree logic expression in the POS form, the decision tree logic expression in the POS form consuming a second duration to evaluate the data set that is less than the first duration.

11. An apparatus as defined in claim 10 , further including a tree factorization engine to identify a first variable that is common to at least two of the first sub expressions.

12. An apparatus as defined in claim 11 , wherein the tree factorization engine is to generate a simplified version of the transformed decision tree logic expression that factors out the first variable common to the at least two of the first subexpressions.

13. An apparatus as defined in claim 10 , further including a variable evaluator to identify surrogate variables associated with the transformed decision tree logic expression, the surrogate variables including a non-Boolean value.

14. An apparatus as defined in claim 13 , further including a not-a-number (NaN) computation engine to replace the non-Boolean value with a correction value when the non-Boolean value cannot be evaluated with an inequality test.

15. An apparatus as defined in claim 14 , wherein the inequality test includes at least one of a greater-than inequality test, a less-than inequality test, or an equal test.

16. An apparatus as defined in claim 14 , wherein the inequality test is associated with a threshold value.

17. An apparatus as defined in claim 14 , wherein the non-Boolean value is at least one of NULL or missing.

18. An apparatus as defined in claim 14 , wherein the NaN computation engine is to reduce an evaluation computation burden on a processor by assigning the correction value as a binary value.

19. A tangible computer readable storage medium comprising computer readable instructions that, when executed, cause a processor to at least:

retrieve, from a storage location via a network, a decision tree logic expression in a sum-of-products (SOP) form, the SOP form including first subexpressions having a logical OR relationship, the decision tree logic expression consuming a first duration to evaluate a dataset;

eliminate redundant variables of the decision tree logic expression by transforming the decision tree logic expression into a product-of-sums (POS) form, the POS form including second subexpressions having a logical AND relationship; and

evaluate the data set with the decision tree logic expression in the POS form, the decision tree logic expression in the POS form consuming a second duration to evaluate the data set that is less than the first duration.

20. A tangible computer readable storage medium as defined in claim 19 , wherein the instructions, when executed, cause the processor to identify a first variable that is common to at least two of the first subexpressions.

21. A tangible computer readable storage medium as defined in claim 20 , wherein the instructions, when executed, cause the processor to generate a simplified version of the transformed decision tree logic expression that factors out the first variable common to the at least two of the first subexpressions.

22. A tangible computer readable storage medium as defined in claim 19 , wherein the instructions, when executed, cause the processor to identify surrogate variables associated with the transformed decision tree logic expression, the surrogate variables including a non-Boolean value.

23. A tangible computer readable storage medium as defined in claim 22 , wherein the instructions, when executed, cause the processor to replace the non-Boolean value with a correction value when the non-Boolean value cannot be evaluated with an inequality test.

24. A tangible computer readable storage medium as defined in claim 23 , wherein the instructions, when executed, cause the processor to reduce an evaluation computation burden on the processor by assigning the correction value as a binary value.

25. A method as defined in claim 1 , further including determining branch occurrence rates for the decision tree logic expression in the POS form.

26. A method as defined in claim 25 , further including ranking branches of the decision tree logic expression in the POS form by the branch occurrence rates.

27. A method as defined in claim 26 , further including rearranging the branches of the decision tree logic expression in the POS form based on the ranking of the branches.

Assignments (8)
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2015
From: SULLIVAN, JONATHAN; SHEPPARD, MICHAEL; LIPA, PETER
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 036636/0595 →
Continuity (2)
Provisional Application 62140005 · Mar 30, 2015
Related Publication 20160292580A1 · Oct 6, 2016