IP Library › Granted Patent US 12,223,442
Granted Patent B2
US 12,223,442 · App. 18/070,338 · Granted Feb 11, 2025

Contextual situation analysis

Inventor: Thomas Fischbacher (Gattikon, CH)
Assignee: Google LLC
G06N5/045G06F8/10G06F8/41G06F16/9027
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,223,442
App. No.
18/070,338
Granted
Feb 11, 2025
Kind
B2
Abstract

A first context update indicative of a present state associated with an application is received. A first contextual situation, among a plurality of contextual situations associated with a plurality of conditions, that corresponds to the first context update is identified. Identifying the first contextual situation includes implementing a decision tree to minimize a number of the plurality of conditions to be evaluated, identifying the first contextual situation using the decision tree, and determining one or more actions to be performed corresponding with the first contextual situation.

Claims (61)

1. A method comprising:

receiving, by a processing device, a first context update identifying a present state associated with an application;

identifying a first contextual situation, among a plurality of contextual situations associated with a plurality of conditions, that corresponds to the first context update, wherein identifying the first contextual situation comprises:

implementing a decision tree to minimize a number of the plurality of conditions to be evaluated,

comparing parameters of a plurality of features associated with the first context update with conditions of the plurality of conditions that are associated with the decision tree, and

identifying the first contextual situation based on a satisfaction of one or more of the plurality of conditions corresponding to the decision tree; and

determining one or more actions to be performed corresponding with the first contextual situation.

2. The method of claim 1 , wherein the application is part of an online gaming system.

3. The method of claim 1 , wherein the application is part of an autonomous vehicle system.

4. The method of claim 1 , further comprising:

causing playback of a first media item of a playlist of media items to accompany the first contextual situation identified for the application.

5. The method of claim 1 , further comprising:

receiving a second context update indicative of a new state associated with the application;

identifying a second contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the second context update; and

determining one or more other actions to be performed with the second contextual situation.

6. The method of claim 5 , further comprising:

causing playback of a second media item of a playlist of media items to accompany the second contextual situation identified for the application.

7. The method of claim 1 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update comprises:

applying a data set associated with the first context update to a callable function that implements the decision tree, wherein the plurality of conditions are associated with a plurality of nodes of the decision tree.

8. The method of claim 7 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update further comprises:

keeping a record of conditions of the plurality of conditions that have outcomes that are explicitly and implicitly determined from evaluated nodes of the plurality of nodes of the decision tree.

9. The method of claim 7 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update further comprises:

determining an initial condition of the plurality of conditions to evaluate by determining a root node of the plurality of nodes of the decision tree, wherein the root node indicates a feature and a condition associated with the feature; and

evaluating the initial condition identified by the root node in view of the data set of the first context update.

10. The method of claim 9 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update further comprises:

responsive to the evaluation of the initial condition, evaluating a subsequent node of the decision tree where a number of the plurality of conditions that have outcomes that are implied by the evaluation of the initial condition are eliminated from subsequent evaluation.

11. A system, comprising:

a memory; and

processing device, coupled to the memory, to perform operations comprising:

receiving a first context update identifying a present state associated with an application;

identifying a first contextual situation, among a plurality of contextual situations associated with a plurality of conditions, that corresponds to the first context update, wherein identifying the first contextual situation comprises:

implementing a decision tree to minimize a number of the plurality of conditions to be evaluated,

comparing parameters of a plurality of features associated with the first context update with conditions of the plurality of conditions that are associated with the decision tree, and

identifying the first contextual situation based on a satisfaction of one or more of the plurality of conditions corresponding to the decision tree; and

determining one or more actions to be performed corresponding with the first contextual situation.

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

causing playback of a first media item of a playlist of media items to accompany the first contextual situation identified for the application.

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

receiving a second context update indicative of a new state associated with the application;

identifying a second contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the second context update; and

determining one or more other actions to be performed with the second contextual situation.

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

causing playback of a second media item of a playlist of media items to accompany the second contextual situation identified for the application.

15. The system of claim 11 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update comprises:

applying a data set associated with the first context update to a callable function that implements the decision tree, wherein the plurality of conditions are associated with a plurality of nodes of the decision tree.

16. The system of claim 15 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update further comprises:

keeping a record of conditions of the plurality of conditions that have outcomes that are explicitly and implicitly determined from evaluated nodes of the plurality of nodes of the decision tree.

17. The system of claim 15 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update further comprises:

determining an initial condition of the plurality of conditions to evaluate by determining a root node of the plurality of nodes of the decision tree, wherein the root node indicates a feature and a condition associated with the feature; and

evaluating the initial condition identified by the root node in view of the data set of the first context update.

18. The system of claim 17 , wherein identifying the first contextual situation, among the plurality of contextual situations associated with the plurality of conditions, that corresponds to the first context update further comprises:

responsive to the evaluation of the initial condition, evaluating a subsequent node of the decision tree where a number of the plurality of conditions that have outcomes that are implied by the evaluation of the initial condition are eliminated from subsequent evaluation.

19. A non-transitory computer-readable medium comprising instructions that, responsive to execution by a processing device, cause the processing device to perform operations comprising:

receiving a first context update identifying a present state associated with an application;

identifying a first contextual situation, among a plurality of contextual situations associated with a plurality of conditions, that corresponds to the first context update, wherein identifying the first contextual situation comprises:

implementing a decision tree to minimize a number of the plurality of conditions to be evaluated,

comparing parameters of a plurality of features associated with the first context update with conditions of the plurality of conditions that are associated with the decision tree, and

identifying the first contextual situation based on a satisfaction of one or more of the plurality of conditions corresponding to the decision tree; and

determining one or more actions to be performed corresponding with the first contextual situation.

20. The non-transitory computer-readable medium of claim 19 , the operations further comprising:

causing playback of a first media item of a playlist of media items to accompany the first contextual situation identified for the application.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068311/0588 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2024
From: FISCHBACHER, THOMAS
To: GOOGLE INC
Reel/Frame 068138/0196 →
Continuity (3)
Continuation 16607021
Provisional Application 62489333 · Apr 24, 2017
Related Publication 20230090175A1 · Mar 23, 2023
References Cited (53)
US 5602982A · Judd · 1997 [cited by applicant]
US 5875285A · Chang · 1999 [cited by examiner]
US 6009420A · Fagg, III · 1999 [cited by examiner]
US 6952688B1 · Goldman · 2005 [cited by applicant]
US 7236963B1 · LaMuth · 2007 [cited by examiner]
US 7657497B2 · Nandy · 2010 [cited by applicant]
US 7797267B2 · Horvitz · 2010 [cited by examiner]
US 7805461B2 · Gadamsetty · 2010 [cited by applicant]
US 7987144B1 · Drissi · 2011 [cited by examiner]
US 8217756B2 · Kumar · 2012 [cited by examiner]
US 8423494B2 · Barrett · 2013 [cited by examiner]
US 8886576B1 · Sanketi · 2014 [cited by examiner]
US 8898098B1 · Luechtefeld · 2014 [cited by examiner]
US 9053124B1 · Dornquast · 2015 [cited by examiner]
US 9443192B1 · Cosic · 2016 [cited by examiner]
US 9495444B2 · Shapira · 2016 [cited by applicant]
US 9727423B2 · Dornquast · 2017 [cited by examiner]
US 9977807B1 · Bowman · 2018 [cited by examiner]
US 9990187B1 · Carroll · 2018 [cited by examiner]
US 10057736B2 · Gruber · 2018 [cited by examiner]
US 10170123B2 · Orr · 2019 [cited by examiner]
US 10474934B1 · Cosic · 2019 [cited by examiner]
US 10650067B2 · Desineni · 2020 [cited by applicant]
US 10713289B1 · Mishra · 2020 [cited by applicant]
US 11238241B1 · Mallikarjuniah · 2022 [cited by examiner]
US 11501116B1 · Kakde · 2022 [cited by examiner]
US 11514346B2 · Fischbacher · 2022 [cited by examiner]
US 11902607B1 · Roy · 2024 [cited by examiner]
US 11989636B1 · Leeds · 2024 [cited by examiner]
US 20090182689A1 · Chiles · 2009 [cited by applicant]
US 20090210470A1 · Sarlos et al. · 2009 [cited by applicant]
US 20090210479A1 · Ahmed · 2009 [cited by applicant]
US 20140279814A1 · Park · 2014 [cited by examiner]
US 20150235126A1 · De Borst · 2015 [cited by applicant]
US 20160018959A1 · Yamashita · 2016 [cited by applicant]
US 20160360382A1 · Gross · 2016 [cited by examiner]
CN 103036921A · 2013 [cited by applicant]
Do et al, “Sentiment Analysis of Real-Life Situations Using Location, People and Time as Contextual Features”, IEEE, pp. 39-42 ( Year: 2015). [cited by examiner]
Harris, Mitigating Cognitive Biases in Machine Learning Algorithms for Decision Making, ACM, pp. 775-781 (Year: 2019). [cited by examiner]
Zhang et al, “An Improved Object Tracking Algorithm Combining Spatio-Temporal Context and Selection Update”, IEEE, pp. 1-6 (Year: 2020). [cited by examiner]
Crane et al, “Context Aware Electronic Updates for Virtual Learning Environments”, IEEE, pp. 173-175 (Year: 2012). [cited by examiner]
Crane et al, “A Study of User Interaction with Context Aware Electronic Updates from a Moodle Learning Environment”, IEEE, pp. 50-52 (Year: 2013). [cited by examiner]
Dolan et al, “Compiler Support for Lightweight Context Switching”, ACM, pp. 1-25 (Year: 2013). [cited by examiner]
Erdwed at al.“A Con-contextual Formulation of Type Rules and its Application to Incremental Type Checking” AMC pp. 880-897 (Year 2015). [cited by applicant]
Wang et al. “Ontology Bases Context Modeling and Reasoning using Owl” IEEE, pp. 1-5 (Year 2004). [cited by applicant]
Basak et al., “Interpretable Hierarchical Clustering by Constructing an Unsupervised Decision Tree,” IEEE, pp. 121-132 (Year 2005). [cited by applicant]
Maranget “Compiling Pattern Matching to Good Decision Tree,” ACM, pp. 35-46 (year 2008). [cited by applicant]
Leather et al, “Automatic Feature Generation for Machine Learning-Based Optimizing Compilation” ACM pp. 1-32 (Year 2014). [cited by applicant]
Ogilvie et al., “Minimizing the Cost of Interactive Compilation with Active Learning” IEEE, pp. 245-256 (Year 2017). [cited by applicant]
International Search Report and Written Opinion on application # PCT/US2018/025744, mailed on Jul. 25, 2018. [cited by applicant]
International Preliminary Report on Patenability on application # PCT/US2018/025744, mailed on Nov. 7, 2019. [cited by applicant]
Li R-H., et al., “Instability of Decision Tree Classification Algorithms,” SIGKDD' 02, ACM, 2002, pp. 570-575. [cited by applicant]
Written Opinion of the International Preliminary Examining Authority for International Application No. PCT/US2018/025744, mailed Mar. 21, 2019, 11 Pages. [cited by applicant]