Systems and methods for predicting user actions associated with vehicle user interfaces using machine learning

A machine learning-based system predicts future vehicle user interface actions using Bayesian models to enhance user interface efficiency and reduce resource usage, addressing the inefficiencies of manual selection in vehicle interfaces.

JP2026503943APending Publication Date: 2026-02-03MERCEDES BENZ GROUP AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025534755
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-15
Filing Date
2023-12-01
Publication Date
2026-02-03

AI Technical Summary

Technical Problem

Existing vehicle user interfaces lack the ability to predict user actions efficiently, leading to a frustrating and distracting driving experience due to the need for manual selection of options, which can be improved through machine learning-based predictions.

Method used

A system utilizing machine learning to predict future vehicle user interface actions based on current context and past user behavior, employing Bayesian models to determine posterior probabilities and reduce computational resource usage.

Benefits of technology

Enhances user interface efficiency by automatically suggesting likely actions, reducing the number of steps required and minimizing resource consumption in vehicles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026503943000001_ABST
    Figure 2026503943000001_ABST
Patent Text Reader

Abstract

Techniques are provided for predicting the actions of individuals in relation to a vehicle user interface. Systems and methods are disclosed for predicting an individual's actions in connection with a vehicle user interface using machine learning. One or more models may be developed based at least in part on observations of past actions by an individual among a plurality of target actions by the individual. Extracted features of a current context may be applied to the developed one or more models to predict a subsequent action among the target actions by the individual.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to methods and / or techniques for predicting the actions of individuals in interactions with machines. [Background technology]

[0002] A user interface allows an individual user to interact with a process executing on a machine, for example, to provide user input, selections, and / or preferences. Such a user interface may display or otherwise present user-selectable options. The user interface may then obtain a user selection from among the presented user-selectable options, from a touch on a touchscreen or a voice selection, to provide some examples of how a user may select from among the options presented by the user interface. Summary of the Invention [Problem to be solved by the invention]

[0003] The problem that the present invention seeks to solve is to provide a technique for predicting the actions of an individual in relation to a vehicle user interface. [Means for solving the problem]

[0004] One embodiment disclosed herein relates to a system for deployment in a vehicle, the system comprising one or more memory devices and one or more processors coupled to the memory devices, wherein the one or more processors determine features indicative of a context in which the vehicle is currently operating and / or a driver and / or occupant is currently operating the vehicle, and generate a prediction of a future vehicle user interface action from among a plurality of available vehicle user interface actions, the prediction being generated at least in part based on the features indicative of the context in which the vehicle is currently operating or the driver and / or occupant is currently operating the vehicle, and user action context parameters associated with (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle, and (ii) the determined features of observed past contexts in which the associated vehicle was operating and / or in which at least one past driver and / or past occupant operated the associated vehicle contemporaneously with the at least one past driver and / or past occupant requesting the at least one past vehicle user interface action. The one or more processors are also configured to cause a user interface in the vehicle to generate an output based on a prediction of a future vehicle user interface action. In one implementation, the one or more processors are further configured to determine parameters indicative of posterior probabilities of a plurality of available vehicle user interface actions, respectively, based at least in part on determined features of a context in which the vehicle is currently operating and / or in which past drivers and / or past occupants have currently operated the vehicle, and to generate a prediction of a future vehicle user interface action based at least in part on the parameters indicative of the calculated posterior probabilities of the plurality of available vehicle user interface actions. For example, the parameters indicative of the posterior probabilities may be conditioned on features indicative of a context in which the vehicle is currently operating or in which a driver and / or occupant has currently operated the vehicle, based at least in part on a Bayesian model.In another particular implementation, the one or more processors are further configured to: update a parameter indicative of a posterior probability of the plurality of available vehicle user interface actions based at least in part on the prediction of the future vehicle user interface actions and the actual observed vehicle user interface actions. In another particular implementation, the one or more processors are further configured to: calculate, for each of the plurality of available vehicle user interface actions, a probability of a feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle; sum the calculated probabilities of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle conditional on the plurality of available vehicle user interface actions; and determine, based at least in part on the sum of the calculated probabilities, a parameter indicative of the posterior probability conditional on the feature indicative of a context in which the vehicle is currently operating or a context in which the driver and / or occupant is currently operating the vehicle. In another particular implementation, the one or more processors are further configured to identify a plurality of context attributes of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle; establish a model for each of the plurality of context attributes of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle; and determine, based at least in part on the model of the context attributes of the feature indicative of the context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle, a calculated probability of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle, conditional on a plurality of available vehicle user interface actions.In another particular implementation, the one or more processors are further configured to: calculate a confidence weight for each established model based at least in part on the past predictions and the associated detected actual observed vehicle user interface actions; and determine, for at least one of the plurality of available vehicle user interface actions, a predicted probability of at least one of the plurality of available vehicle user interface actions based at least in part on a sum of probabilities based on the established models weighted according to the calculated confidence weight. In another particular implementation, the system further includes one or more sensors, and the one or more processors are further configured to determine, based at least in part on signals from the one or more sensors, features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or occupant is currently operating the vehicle.

[0005] Another embodiment disclosed herein is directed to a method that includes determining, by one or more processors in or in communication with the vehicle, features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or occupant is currently operating the vehicle, and generating, by the one or more processors, a prediction of a future vehicle user interface action from among a plurality of available vehicle user interface actions, the prediction being generated at least in part based on the features indicative of the context in which the vehicle is currently operating or the context in which the driver and / or occupant is currently operating the vehicle, and user action context parameters associated with (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle and (ii) the determined features of observed past contexts in which the associated vehicle was operating and / or in which at least one past driver and / or past occupant operated the associated vehicle contemporaneously with the at least one past driver and / or past occupant requesting the at least one past vehicle user interface action. Another embodiment disclosed herein is directed to a method that includes causing one or more processors to cause a user interface in a vehicle to generate an output based on a prediction of a future vehicle user interface action. In one particular implementation, generating the prediction of the future vehicle user interface action further includes determining parameters indicative of posterior probabilities of each of a plurality of available vehicle user interface actions based at least in part on determined features of a context in which the vehicle is currently operating and / or in which past drivers and / or past occupants currently operate the vehicle, and generating the prediction of the future vehicle user interface action based at least in part on the parameters indicative of the calculated posterior probabilities of the plurality of available vehicle user interface actions.For example, the parameters indicative of the posterior probabilities are conditioned on features indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupants are currently operating the vehicle based at least in part on a Bayesian model. In another particular implementation, the method further includes updating the parameters indicative of the posterior probabilities of the plurality of available vehicle user interface actions based at least in part on the predictions of future vehicle user interface actions and the actual observed vehicle user interface actions. In another particular implementation, the method further includes calculating, for each of a plurality of available vehicle user interface actions, a probability of a feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle; summing the calculated probabilities of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle conditional on the plurality of available vehicle user interface actions; and determining, based at least in part on the sum of the calculated probabilities, a parameter indicative of a posterior probability conditional on the feature indicative of a context in which the vehicle is currently operating or a context in which the driver and / or occupant is currently operating the vehicle. In another particular implementation, the method further includes identifying a plurality of context attributes of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle; establishing a model for each of the plurality of context attributes of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle; and determining a calculated probability of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle, conditional on a plurality of available vehicle user interface actions, based at least in part on the model of the context attributes of the feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupant is currently operating the vehicle.In another particular implementation, the method further includes calculating, for each established model, a confidence weight based at least in part on past predictions and associated detected actual observed vehicle user interface actions, and determining, for at least one of the plurality of available vehicle user interface actions, a predicted probability of at least one of the plurality of available vehicle user interface actions based at least in part on a sum of probabilities based on the established models weighted according to the calculated confidence weight. In another particular implementation, the method further includes determining, based at least in part on signals from the one or more sensors, features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or occupant is currently operating the vehicle.

[0006] Another embodiment is directed to an article of manufacture that includes a non-transitory storage medium having stored thereon computer-readable instructions executable by one or more processors to determine features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or occupant is currently operating the vehicle, and to generate a prediction of a future vehicle user interface action from among a plurality of available vehicle user interface actions, wherein the prediction is generated based at least in part on the features indicative of the context in which the vehicle is currently operating or the context in which the driver and / or occupant is currently operating the vehicle, and on user action context parameters associated with (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle, and (ii) determined features of observed past contexts in which the associated vehicle was operating and / or in which at least one past driver and / or past occupant operated the associated vehicle contemporaneously with the at least one past driver and / or past occupant requesting the at least one past vehicle user interface action. The instructions are also executable by the one or more processors to cause a user interface in the vehicle to generate an output based on a prediction of a future vehicle user interface action. In particular implementations, the instructions are further executable by the one or more processors to determine parameters indicative of posterior probabilities of a plurality of available vehicle user interface actions, respectively, based at least in part on determined features of a context in which the vehicle is currently operating and / or in which past drivers and / or past occupants have currently operated the vehicle, and to generate a prediction of a future vehicle user interface action based at least in part on the parameters indicative of the calculated posterior probabilities of the plurality of available vehicle user interface actions. In another particular implementation, the parameters indicative of the posterior probabilities are conditioned on features indicative of a context in which the vehicle is currently operating or in which the driver and / or occupants have currently operated the vehicle, based at least in part on a Bayesian model.In another particular implementation, the instructions are further executable by the one or more processors to update parameters indicative of posterior probabilities of the plurality of available vehicle user interface actions based at least in part on the predictions of future vehicle user interface actions and the actual observed vehicle user interface actions. In yet another particular implementation, the instructions are further executable by the one or more processors to receive updated features indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or occupants are currently operating the vehicle, determine whether a predetermined amount of time has passed since the prediction was generated, and generate an updated prediction based on the updated features in response to determining that the predetermined amount of time has passed since the prediction was generated. [Brief explanation of the drawings]

[0007] The claimed subject matter is particularly pointed out and distinctly claimed in the concluding portion of this specification, however, both as to organization and / or method of operation, together with its objects, features, and / or advantages, may best be understood by reference to the following detailed description when read in conjunction with the accompanying drawings. [Figure 1A] 1 is a schematic side view of a vehicle having an embodiment of a display, according to one embodiment. [Figure 1B] FIG. 1 is a diagram of a process for predicting a user action, according to one embodiment. [Figure 2] FIG. 1 is a schematic diagram of a system implemented in a computing device in an automobile for extracting context features, according to one embodiment. [Figure 3] FIG. 1 is a schematic diagram of a system implemented in a computing device in an automobile to develop a model for relating extracted context features to user interface actions, according to one embodiment. [Figure 4]FIG. 1 is a schematic diagram of a system implemented at least in part in a computing device in an automobile for applying a model to extracted features to calculate and / or predict the probability of a user action from among a plurality of available user interface actions, according to one embodiment. [Figure 5] FIG. 1 is a schematic diagram of an exemplary application for predicting user interface actions, according to one embodiment. [Figure 6] FIG. 1 is a schematic diagram of an exemplary application for predicting user interface actions, according to one embodiment. [Figure 7] FIG. 1 is a schematic diagram of an exemplary application for predicting user interface actions, according to one embodiment. [Figure 8] FIG. 1 is a flow diagram of a machine learning training process, according to one embodiment. [Figure 9] 1 illustrates the calculation of the probability that a user will perform a particular user interface action conditional on extracted context features, according to one embodiment. [Figure 10] FIG. 1 is a flow diagram of a process for predicting a subsequent user interface action, according to one embodiment. [Figure 11] FIG. 1 is a schematic block diagram of an exemplary computing system, according to one implementation. DETAILED DESCRIPTION OF THE INVENTION

[0008] In the following detailed description, reference will be made to the accompanying drawings, which form a part hereof, in which like reference numerals may indicate corresponding and / or similar like parts throughout. It will be understood that the drawings have not necessarily been drawn to scale, e.g., for simplicity and / or clarity of illustration. For example, dimensions of some aspects may be exaggerated relative to other aspects. Furthermore, structural and / or other changes may be made without departing from the claimed subject matter. It will also be noted that directions and / or references, e.g., up, down, upper, bottom, etc., may be used to facilitate description of the drawings and are not intended to limit application of the claimed subject matter. Therefore, the following detailed description should not be construed as limiting the claimed subject matter and / or equivalents. It will further be understood that other embodiments may be utilized. It will also be noted that embodiments of the claimed subject matter are provided, and therefore, these exemplary embodiments are inventive and / or non-conventional. However, the claimed subject matter is not limited to embodiments, which are provided primarily for illustrative purposes. Thus, while advantages have been described in connection with exemplary embodiments, the claimed subject matter may be inventive and / or non-conventional for additional reasons not expressly mentioned in connection with those embodiments. Moreover, throughout this specification, references to "claimed subject matter" refer to subject matter intended to be covered by one or more claims, and are not necessarily intended to refer to a complete set of claims, a particular combination of a set of claims (e.g., method claims, device claims, etc.), or a particular claim.

[0009] Throughout this specification, references to an implementation, an implementation, an embodiment, an embodiment, or the like mean that a particular feature, structure, characteristic, etc. described with respect to a particular implementation and / or embodiment is included in at least one implementation and / or embodiment of the claimed subject matter. Thus, for example, the appearances of such phrases in various places throughout this specification are not necessarily intended to refer to the same implementation and / or embodiment, or to any one particular implementation and / or embodiment. Furthermore, it should be understood that particular features, structures, characteristics, and / or the like that are described can be combined in various ways in one or more implementations and / or embodiments and thus fall within the scope of the intended claims. Generally, of course, as always with the specification of a patent application, these and other issues have the potential to vary in the particular context of use. In other words, throughout a patent application, the particular context of description and / or use provides useful guidance regarding the reasonable inferences to be drawn; however, similarly, "in this context" generally refers, without further qualification, to the context of this patent application.

[0010] According to one embodiment, a modern automotive vehicle user interface can receive selections / user inputs from a driver and / or passenger based at least in part on interaction with a user interface, such as a user interface that includes a display device (e.g., a touchscreen). In one implementation, the display device can present the driver and / or passenger with menus of selectable options for various functions, such as options for entertainment, navigation, communication, or environmental control functions, to name just a few.

[0011] According to one embodiment, a user action prediction (UAP) model may enable a vehicle user interface to more conveniently present preferred choices to a driver and / or passenger. According to one embodiment, the UAP model may automatically update the most likely subsequent user interface action for a driver and / or passenger to take based at least in part on the driver's and / or passenger's learned preferences. A user interface action may be a user selection or other user action associated with a user interface (and a vehicle user interface action may be an action associated with a vehicle user interface). The UAP model may support vehicle user interface actions associated with navigation (e.g., trips), entertainment / media, climate control, and phone call use cases, to provide just a few functions. In one embodiment, the UAP may provide suggestions to the head unit to enable an easy and intuitive approach to using the head unit by surfacing likely user interface actions at the top of the user interface (UI). This may reduce the number of steps for the driver / passenger to take an action, resulting in a more enjoyable, less frustrating, and less distracting driving / riding experience.

[0012] 1A shows a schematic side view of a motor vehicle 10 equipped with a display device 12 according to one embodiment. In particular, the display device 12 is for displaying a respective home screen 14, which is shown in an enlarged view. At least one functionality symbol 16 is displayed on the home screen 14, and the display device 12 includes at least one electronic computing device 18. In particular, the electronic computing device 18 may include artificial intelligence, in particular at least one kernel 20 and / or multiple kernels 20.

[0013] In particular, the home screen 14 may show at least one static functionality symbol 22, which may be, for example, a tile for a navigation screen and / or a phone call. In particular, a set of functionality may be provided to the user 24 of the vehicle 10 and / or the display device 12, with the static functionality symbol 22 being provided on an entertainment module, e.g., a static phone module, an active tile that is always displayed when the user 24 is performing a specific action, as well as functionality suggested based on artificial intelligence learning. A persistent user interface background, displayed as a dynamic Global Positioning System (GPS) map, is illustrated in FIG. 1A. At the top, for example, a global search function and a so-called magic dock, which may be, for example, a first functionality symbol 16 or a second functionality symbol 16, are layered below.

[0014] Entertainment tiles displayed in expanded form can retract to the size of the smallest tile, or, if there are no related suggestions, to the full or nearly full dock length. If a phone is connected, a static phone tile follows, followed by any active use cases. Examples of active use cases might be an ongoing seat massage program, a phone call, or a seat heating activity, directly providing the user with the option to immediately engage in the ongoing activity. Finally, there are personalized tile suggestions provided by the electronic computing device 18 that include a subset of suggested use cases that the system has learned to be of interest to the user 24 in a given contextual situation.

[0015] According to one embodiment, a UAP model may be implemented at least in part in electronic computing device 18 to affect content presented to user 24, for example, on display device 12. In one particular implementation, such a UAP model implemented at least in part in electronic computing device 18 may affect features of home screen 14 based at least in part on the context in which vehicle 10 is currently operating and / or the context in which user 24 may be operating vehicle 10. According to one embodiment, the UAP model may make suggestions as predicted based on the past behavior of user 24. The past behavior of such incidents may be observed directly by the UAP and / or represented by messages from external systems.

[0016] According to one embodiment, features indicative of the current operating context of the driver, passenger, and / or vehicle may be applied to one or more models to predict a subsequent selection of a vehicle user interface action from among a plurality of vehicle user interface actions available to the driver and / or passenger. In particular implementations, such predictions may be based at least in part on applying features indicative of the current operating context of the driver, passenger, and / or vehicle to one or more predictive models. Such predictive models may be based at least in part on parameters associated with at least one past vehicle user interface action requested by at least one driver (or passenger) of the associated vehicle and features of observed past operating contexts of the driver, passenger, and / or vehicle occurring concurrently with the past requested vehicle user interface action. The prediction of the subsequent selection of a vehicle user interface action may then be used to drive a user interface to present selectable vehicle user interface actions.

[0017] Some implementations of artificial intelligence in a UAP may employ computationally intensive methods, such as the application of neural network techniques, which require expensive hardware, consume significant power from the vehicle's electrical system, and require exhaustive training over many training epochs / iterations. In one implementation, one or more processors (e.g., combined with one or more memory devices) in or in communication with the vehicle may determine features indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or passengers are currently operating the vehicle (hereinafter, the "concurrent context") and generate predictions of future vehicle user interface actions from among multiple available vehicle user interface actions. For example, the one or more processors may execute instructions stored in one or more memory devices to determine the concurrent context and generate predictions of future vehicle user interface actions. In one embodiment, the "context" in which the driver and / or passengers are operating the vehicle may refer to one or more situations, settings (e.g., time and / or location), conditions, or circumstances in which the driver and / or passengers are operating the vehicle or in which the vehicle is operating.

[0018] Such predictions of future vehicle contexts may be generated based at least in part on features indicative of concurrent contexts and user action context parameters. Such user action context parameters may be related to (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle and (ii) determined features of observed past contexts in which the associated vehicle was operating and / or in which at least one past driver and / or past occupant was operating the associated vehicle concurrently with at least one past driver and / or past occupant requesting the at least one past vehicle user interface action. In particular implementations, the user interface may generate outputs based on predictions of future vehicle user interface actions as part of a UAP. In one embodiment, such predictions may be estimates of the likelihood that a driver or occupant will make a particular selection or take other action with respect to the vehicle user interface in the future, or, more particularly, may be an indication that a particular vehicle user interface action is likely to occur in the future. Output generated by the user interface may predict possible future vehicle user interface actions and may be presented to the user (driver or passenger) without requiring the user to actually perform the vehicle user interface action.

[0019] In one implementation, a system comprising one or more memory devices and one or more processors in or coupled to the one or more memory devices in a vehicle in communication therewith may generate predictions of future vehicle user interface actions by: determining parameters indicative of posterior probabilities of a plurality of available vehicle user interface actions, respectively, based at least in part on determined features of a context in which the vehicle is currently operating and / or in which past drivers and / or past occupants currently operate the vehicle; and generating predictions of future vehicle user interface actions based at least in part on the parameters indicative of the calculated posterior probabilities of the plurality of available vehicle user interface actions. Such parameters indicative of posterior probabilities may be conditioned on features indicative of the concurrent context, based at least in part on a Bayesian model. The parameters indicative of the posterior probabilities of the plurality of available vehicle user interface actions may be updated based at least in part on the predictions of future vehicle user interface actions and the actual observed vehicle user interface actions.

[0020] In another implementation, one or more processors in the vehicle or in communication with the vehicle may calculate, for each of a plurality of available vehicle user interface actions, a probability of a feature indicative of a simultaneous context, sum the calculated probabilities of the current simultaneous context conditional on the plurality of available vehicle user interface actions, and determine a parameter indicative of a posterior probability conditional on the feature indicative of the simultaneous context based at least in part on the sum of the calculated probabilities.

[0021] In one implementation, for a particular user-selected action, the context in which the particular action is performed may be observed. At each instance of such a particular action, a weight associated with the context in which the particular action is performed may be updated to determine the likelihood of that context. Furthermore, by observing the number of times a particular action is selected by a user, regardless of context, the associated weight of the particular action may be weighted to determine an associated prior probability. Based at least in part on these two probabilities, the prior probability and the likelihood, a posterior probability of the particular action given the simultaneous context may be calculated using Bayes' rule. In one implementation, different models may be used to calculate the posterior probability for each of multiple subsets of the simultaneous context. A weighted average of the calculated posterior probabilities may be calculated to determine the overall likelihood of the action being selected / executed given the simultaneous context.

[0022] According to one embodiment, predicting future vehicle user interface actions calculated based on features indicative of concurrent context and influencing the user interface based on user action context parameters may enable simplifying and / or reducing the use of the vehicle's limited computing resources (e.g., hardware and power) without significant loss of user interface performance. Thus, certain implementations present a technical improvement / solution to a technical problem.

[0023] FIG. 1B is a schematic diagram of a system 100 for predicting user interface actions according to one embodiment. In one example, the system 100 may be implemented in an electronic computing device 18 of a motor vehicle 10. Such an electronic computing device 18 may be incorporated into the motor vehicle 10 as an electronic control unit (ECU) and / or a telematics control unit (TCU) to implement the processes described herein (e.g., according to FIGS. 1B-9) based on computer-readable instructions stored in one or more memory devices. According to an embodiment, the system 100 may develop and / or refine a model 110 based at least in part on events and / or conditions 102. The events and / or conditions 102 may include, for example, specific user interface actions (e.g., related to entertainment, navigation, communication, or environmental control functions) taken by a driver and / or passengers and a "context" that coincides with such specific user interface actions taken. Such context may be characterized by one or more contextual attributes, such as, for example, time of day, day of the week, location, etc., to provide some examples of contextual attributes that may characterize a context as occurring concurrently with a user interface action.

[0024] According to one embodiment, the ensemble 106 can create and / or update the model 110 based at least in part on the context features 108 extracted by the feature extractor 104 from the events and / or conditions 102. In one particular implementation, the model 110 can be associated with different context attributes to be used in calculating the posterior probabilities 112.

[0025] In one example implementation, model 110 may be used to predict a subsequent user interface action a to be taken by a user, such as, for example, selecting a particular radio station (e.g., a:="99.5FM"), selecting a particular party to call (e.g., a:="Call Mom"), or selecting an address for a navigation route (e.g., a:="309 N Pastoria Ave"). According to one embodiment, model 110 for predicting a subsequent user interface action a may be created and / or updated to predict a based at least in part on actions taken by the driver and / or passengers in the past and the context that existed while those actions were being taken.

[0026] According to one embodiment, the feature extractor 104 may extract context features c from the raw context rc obtained from the conditions and / or events 102 according to equation (1) below: c:=extract_features(rc) (1)

[0027] In the particular example where rc := (latitude, longitude, Unix time), the feature extractor 104 may determine the extracted features c according to equation (1) to be c := {time of day (TOD), day of week (DOTW), grid location (LAT, LON)}. According to one embodiment, the possible / available user interface actions a0, a1, .., a n For a target set of , the predictive model calculates the probability that the driver and / or passenger can take the associated user interface action, which can be expressed as: (a0,pr(a0|c)),(a1,pr(a1|c)),...,(a n ,pr(a n |c)

[0028] 2 is a schematic diagram of a system 200 for extracting context features 216 (e.g., by a feature extractor 104) from events and / or conditions 202, according to one embodiment. The raw context and detected actions 202 are t and Action a t The raw context rc t may be further parsed and / or bucketed among the "buckets" of context attributes 206, 208, 210, 212, and 214. Temporal context features may be further extracted in buckets for time of day and day of week context attributes 206 and 208. Location context features may be further extracted in buckets for context attributes 210 and 212 with a step size of 0.01.

[0029] 3 is a schematic diagram of a system 300 for creating and / or updating models for associating extracted context features, such as those extracted by feature extractor 204, with user interface actions, according to one embodiment. According to one embodiment, an associated ensemble 306 may be instantiated for each type of application, service, and / or function (e.g., entertainment / media, call / communication, and navigation trip). The ensemble 306 (e.g., for a particular service and / or function) may combine predictions from a group of multiple models 310, 320, 330, and 340 associated with different subsets of extracted context features (e.g., associated with different context attributes such as time of day, day of the week, location, etc., as shown). In particular implementations, the models 310, 320, 330, and 340 may further weight predictions of subsequent user actions based at least in part on their assessed reliability. The reliability weights 312, 322, and 332 may be determined at least in part based on the assessed accuracy of past predictions of user interface actions. In a particular example of system 300, confidence weights 312, 322, and 332 may reflect the reliability of predicting a particular associated user interface action a conditional on extracted context features related to time (e.g., day of the week and time of day) in model 310, location (e.g., latitude and longitude) in model 320, and time (e.g., day of the week) in model 330, respectively. In the particular example shown in FIG. 3, it should be understood that the repetitions of "DAY_OF_WEEK" in 314 and 334 characterize the context of two different models. According to one embodiment, ensemble 306 can combine contributions from models 310, 320, 330, and 340 to optimize the overall prediction a for a particular associated service.

[0030] FIG. 4 is a schematic diagram of a system 400 that applies a model to extracted features to calculate the probability of a user interface action from among multiple available user interface actions, according to one embodiment. According to one embodiment, the system 400 may be implemented in the computing device 18 of the motor vehicle 10. The model 402 may comprise, for example, one or more features of models 310, 320, 330, and / or 340 shown in FIG. 3. The model 402 may generate, at block 404, an expression for the conditional probability Pr(a|c) (e.g., the probability that a user performs user interface action a in the presence of context c) based at least in part on the calculations by the observation manager 406. For example, the observation manager 406 may calculate a prior probability 410 and likelihood 414 for action a in a given context. The prior probability 410 may be calculated based on the target action 412 (e.g., by adding a constant value to its weight in the instance of the driver / occupant selecting action a). After updating the weight associated with action a, the prior probability of Pr(a) may be calculated. Here, the observation manager 406 may observe actions (e.g., specific enumerated user interface actions) taken by the driver and / or passengers and update the weight of each available user interface action to generate a probability based on previous user interface actions.

[0031] The observation manager 406 may also calculate a likelihood 414, which is a conditional probability Pr(c|a) (e.g., the probability of context c occurring simultaneously with the driver and / or passenger to perform user interface action a), based at least in part on the context count 416 by adding a constant value to a weight associated with the context in which action a occurs in the instance in which action a is performed. Here, the observation manager 406 may observe contexts that coincide with the occurrence of an available user interface action and update the weights of the observed contexts to generate a likelihood of the occurrence of such contexts coincident with the available user interface action, given the user interface action. Based at least in part on Pr(a) and Pr(c|a) calculated by the observation manager 406, the block 404 may apply Bayes' rule to calculate Pr(c|a). Furthermore, the confidence learner 408 may store a beta distribution parameter for each available user interface action, update such beta distribution parameter depending at least in part on whether the associated user interface action was accurately predicted by the model 402, and return the mean of the distribution of the β parameter as the confidence weight of the model 402 for that target action. The observation manager 406 may also calculate a likelihood 414, which is a conditional probability Pr(c|a) (e.g., the probability of context c occurring simultaneously with the driver and / or passenger to perform user interface action a), based at least in part on the context count 416 by adding a constant value each time to the weight associated with the context in which action a was performed.

[0032] According to one embodiment, the observation manager 406 may model the conjugate weights based at least in part on a Dirichlet distribution Dir(kα) for k-category observations. In particular implementations, the observation manager 406 may employ a least recently used (LRU) cache with limited capacity to track recent observations with associated Dirichlet weights. Such an LRU cache may discard least recently used items according to equation (2) as follows: LRU={(c i ,α i ),(c j ,α j ),(c k ,α k ),...,(c m ,α m ),(c n ,α n )}, (2) During the ceremony, c i is the earliest (oldest) context observation, α i is the applied Dirichlet weight, c i , c n is the latest contextual observation, α n is the applied Dirichlet weight, c n .

[0033] According to one embodiment, a decay rate γ may be applied to discount past driver and / or passenger behavior and emphasize recent driver and / or passenger behavior. In the example of equation (2), while the LRU cache of the observation manager 406 is full, c p Let be a context observation, then c p If an item for is already present in the LRU cache, the associated Dirichlet weight is α p →γα p +α, where 0<α<1. p If is a new item, then (c i ,α i) may be discarded from the LRU cache. The weights of all other items are decayed by a factor γ:α j →γα j The new Dirichlet weights can be discounted by multiplying the previous Dirichlet weights α0 → α p Based at least in part on p The contents of the LRU cache may then be updated as shown in equation (3) below: LRU={(c j ,α j ),(c k ,α k ),...,(c m ,α m ),(c n ,α n ),(c p ,α p )}. (3)

[0034] FIG. 5 is a schematic diagram of an observation manager 500 applied to a scenario, for example, according to one embodiment of the observation manager 406 (FIG. 4). To determine Pr(a) based at least in part on previous observations, the observation manager 500 may observe each user interface action that qualifies as an available user interface action a (e.g., among a set of enumerated available user interface actions), update the associated weight α, and discount weights in an LRU cache associated with other target actions. The previous LRU cache may list all recent user interface actions and corresponding weights. In the particular example of FIG. 5, the observation manager 500 identifies the user interface actions "Call Mom" ​​and "Call Dad." The observation manager 500 may observe the "Call Mom" ​​event once at 8:00 AM on Thursday and five times at 10:00 AM on Thursday, and provide an associated weight of 3.11 for the event "Call Mom." The observation manager 500 may also observe "Call Dad" three times at 10:00 AM on Thursday and provide an associated weight of 1.575 for the event "Call Dad."

[0035] The observation manager 500 determines the concurrent context c for each observation of an available user interface action. o Further observing,the associated weight α of that concurrent context in the LRU cache, oThe observation manager 500 may further comprise a likelihood observer for updating the Dirichlet weight α for contexts associated with other (e.g., past) observations of the user interface action in the LRU cache. According to one embodiment, the observation manager 500 may maintain one likelihood LRU cache for each available user interface action. An entry in the LRU cache may list the contexts associated with all recent observations of the user interface action and the weights corresponding to the contexts associated with the recent observations of the available user interface action. Figure 6 illustrates the likelihood observer for an initialized pre-weight α of 0.1. p 1 shows an exemplary calculation of likelihood weights for contexts associated with the observation of the user interface actions "call mom" and "call dad," based on the observation of the user interface actions having the following characteristics: The Dirichlet weight α is initialized to 0.75, and the decay γ is initialized at / to 0.9. Here, the values ​​of Pr(a) are calculated to be 3.11 and 1.575 for the user interface actions "call mom" and "call dad," respectively.

[0036] According to one embodiment, for a given context c, block 404 (FIG. 4) may generate a conditional posterior probability Pr(a|c) for each available user interface action a. For example, given the previous value in the LRU cache, the weight for each available user interface action a may be normalized to obtain the associated Pr(a). To obtain the total probability of context c as Pr(c), Pr(a|c)×Pr(a) may be summed over all available user interface actions a. The Pr(a|c) of the user interface action may then be calculated using Bayes' rule according to equation (4) as follows: Pr(a|c)=Pr(c|a)xPr(a) / Pr(c) (4)

[0037] In particular implementations, block 404 may return a list of user interface actions and associated posterior probabilities Pr(a|c) for a given context c. Referring to the particular example of Figures 5 and 6, the posterior probability of the event "call mom" in the context of TOD=10 AM, DOW=Thursday may be calculated according to equation (5) as follows:

[0038]

number

[0039] According to one embodiment, predictions of a particular user interface action generated by different models may be combined by averaging. However, different models for predicting instances of a particular user interface action may have different associated levels of accuracy and / or reliability. Thus, simply averaging likelihood predictions of instances of a particular user interface action based on different models may be skewed by likelihood predictions generated by models with relatively low reliability and / or accuracy. In other words, averaging likelihood predictions of instances of a particular user interface action from different models with different associated accuracy may result in an overall poorly performing model for predicting instances of a particular user interface action.

[0040] According to one embodiment, the confidence learner 408 may facilitate an assessment of the confidence of models used to predict instances of particular user interface actions. Such assessment of model confidence may be based, at least in part, on past predictions made by those models when particular user interface actions were observed / detected. Based, at least in part, on such confidence assessment, likelihood predictions of different context models for particular user interface action a may be weighted and combined to determine an overall likelihood prediction for user interface action a.

[0041] According to one embodiment, the ability of a model m (eg, model 402) to predict a particular user interface action a may be modeled as a random variable according to equation (6) as follows: X m,a ~Beta (α,β) (6)

[0042] According to one embodiment, the parameter α in equation (6) may be increased according to equation (7) if the model m correctly predicts the enumerated target action a, while β may be increased according to equation (8) otherwise.

[0043]

number

[0044]

number

[0045]

number

[0046] FIG. 7 is a schematic diagram of an example calculation of confidence weights for associated models, according to one embodiment. For example, confidence weights may be calculated for each of established models 702, 704, and 706. In the particular example of FIG. 7, models 1, 2, and 3 may be able to predict user interface actions “Call Mom,” “Call Dad,” and “Call Z.” Model 1, model 2, and model 3 may predict actions based on context attributes Day_of_Week / Time_of_Day, latitude / longitude, and Day_of_Week, respectively. In the particular illustrated example, the associated detected actual observed vehicle user interface action may be “Call Z,” but model 1 predicts “Call Mom,” model 2 predicts “Call Dad,” and model 3 predicts “Call Z” and “Call Mom.” Because “Call Z” is among the predictions by model 3, a confidence learner 706 associated with model 3 may add to model 3’s associated parameter α. For Model 1 and Model 2, because Model 1 and Model 2 did not correctly predict the occurrence of "call Z," the associated confidence learner 702 and confidence learner 704 may add to the associated parameter β. The final confidence weights / parameters for Models 1, 2, and 3 may be quantified as the average beta distribution of the associated Models 1, 2, and 3. Note that in this particular example, "call Z" is the correct target action actually performed by the user, and the correctly predicted "call Z" is among Model 3's predictions, so the positive weight of α is increased for Model 3 by the confidence learner 706. Because "call Z" is not among the predictions by the other Models 1 and 2, the associated negative weight β is increased.

[0047] 8 is a flow diagram of a machine learning training process 800, according to one embodiment. Block 802 may include, for example, obtaining observations of events and / or conditions 102 or 202, including observed user interface actions and / or associated raw context from which context features may be extracted (e.g., in feature extractor 104). Block 804 may include bucketing the extracted context features according to particular context attributes (e.g., context attributes 206, 208, 210, 212, and 214). Block 806 may include predicting a particular user interface action based at least in part on applying the bucketed context features in block 804 to model m, e.g., applying the extracted and bucketed features to model 402.

[0048]

number

[0049]

number

[0050] 9 illustrates the calculation of the probability that a user will perform a particular action given the extracted concurrent context features, according to one embodiment. Process 900 may calculate a probability and / or likelihood 940 as a prediction of the occurrence of a particular user interface action in the presence of a particular context. In particular implementations, the probability and / or likelihood 940 may be calculated based at least in part on models 910, 920, and 930 trained and / or updated according to process 800, for example. Observations of the current raw context 902 may be processed in block 904 to extract features of the current context (e.g., using feature extractor 104). The extracted context features may be further bucketed according to feature attributes (e.g., as shown in FIG. 2) for application to models 910, 920, and 930.

[0051] As shown, models 910, 920, and 930 may be adapted to calculate probabilities / likelihoods conditional on particular context attributes of the current context. For example, model 910 may calculate the probability / likelihood of a particular action occurring conditional on the day of the week and / or the time of day, model 920 may calculate the probability / likelihood of a particular action occurring conditional on the location, and model 930 may calculate the probability / likelihood of a particular action occurring conditional only on the day of the week. Such posterior probabilities conditional on individual context attributes may be calculated individually for each of models 910, 920, and 930 by application of Bayes' rule (e.g., by block 404) and paired with associated confidence weights (e.g., calculated according to Equation (9)) in blocks 912, 922, and 932, for example. Probability and / or likelihood 940 may then be calculated as an overall probability / likelihood of a user action based on the current context according to Equation (10).

[0052]

number

[0053] Thus, the denominator of equation (10) may be determined based at least in part on summing the calculated probabilities of features indicative of concurrent contexts conditioned on multiple available vehicle user interface actions to determine a sum of the calculated probabilities. In other words, equation (10) may sum the calculated probabilities of features indicative of one or more contexts. The predicted probability Pr(a|c) determined in equation (10) may be calculated based at least in part on the established model weighted according to the calculated reliability weights. In a specific, non-limiting, exemplary application of process 900, when a driver and / or passenger initiates the user interface action "Call Mom" ​​at 9:00 AM on Wednesday while in the user's driveway (e.g., Lat=-122.1, Long=33.6), models 910, 920, and 930 may be updated (e.g., from ensemble 306). Context features of time of day, day of week, latitude, and longitude may be extracted as morning, Wednesday, -12210, and 3360, respectively. The parameters of models 910, 920, and 930 may then be updated (e.g., by applying ensemble 306). At future times predicting the party for a subsequent call, models 910, 920, and 930 may determine associated calculated posterior probabilities based at least in part on features extracted from the context at the future time, which are combined in block 940 to calculate the probability that the target action "call mom" will occur.

[0054] FIG. 10 is a flow diagram of a process 1100 for determining a service code based on an electronic document, according to one embodiment. Block 1102 may include determining features indicative of a concurrent context. "Context," as referred to herein, should be understood to mean a "situation" or "circumstance" that may indicate and / or influence a driver and / or passenger selection preference. Block 1102 may obtain features indicative of a concurrent context extracted by system 200 (FIG. 2). As described herein, such features of the context (e.g., time of day, day of the week, location, etc.) may predict a driver and / or passenger selection preference. However, it should be understood that these are merely examples of contextual attributes that may characterize a concurrent context, and that claimed subject matter is not limited in this respect.

[0055] Block 1104 may include determining a predicted future vehicle user interface action (e.g., selection of an entertainment option, a call party, and / or a climate control option) from among a plurality of available interface actions. In particular implementations, such available interface actions may be listed as available vehicle user interface actions, as described above. According to one embodiment, block 1104 may predict the future vehicle user interface action according to a posterior probability Pr(a|c) calculated according to a Bayesian model shown in block 940 of FIG. 9 . For example, block 1104 may include generating such calculated posterior probability based at least in part on features indicative of the concurrent context extracted in block 1102. Block 1104 may further base the calculation of such posterior probability based on application of the features extracted in block 1102 to user action context parameters, such as user action context parameters implemented in models 910, 920, and / or 930. In one embodiment, the user action context parameters may be parameters describing the context in which the user action occurred. For example, such user action context parameters may relate to (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle and (ii) determined characteristics of an observed past context (e.g., time of day, day of week, location) in which the associated vehicle was operating and / or in which at least one past driver and / or past occupant was operating the associated vehicle concurrently with the at least one past driver and / or past occupant requesting the at least one past vehicle user interface action. As noted above, the parameters defining models 910, 920, and / or 930 may be based at least in part on past vehicle user interface actions requested by at least one driver and / or past occupant (e.g., at least one past driver and / or past occupant of the associated vehicle).For example, the parameters defining models 910, 920, and / or 930 may be determined by one or more ensemble operations, such as ensemble 306 (FIG. 3).

[0056] Block 1106 may include providing a signal to a user interface to present options to a driver and / or passengers based at least in part on the one or more predictions determined in block 1104. For example, block 1106 may cause an output device (e.g., a visual or audio output device) to present one or more selectable options based at least in part on the predictions determined in block 1104.

[0057] In some scenarios, dynamic conditions may affect and / or modify the particular context underlying the prediction determined in block 1104. Accordingly, process 1100 may generate an updated prediction based at least in part on updated parameters that reflect such changes in context. According to one embodiment, following generation of the prediction in block 1104, process 1100 may collect and / or receive updated features indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or passengers are currently operating the vehicle. Additionally, process 1100 may further determine whether a predetermined amount of time (e.g., 10 seconds) has elapsed since the prediction was generated in block 1104. In response to such a determination that the predetermined amount of time has elapsed, an updated prediction of future vehicle interface actions may be generated. A signal may then be provided to the user interface to present optional updates to the driver and / or passengers based at least in part on the updated prediction. For example, such a signal may cause an output device (e.g., a visual or audio output device) to present one or more selectable updated options based at least in part on the updated prediction.

[0058] Unless otherwise indicated, in the context of this patent application, the term "or" when used to relate a list such as A, B, or C is intended to mean A, B, and C used in an inclusive sense, as well as A, B, or C used in an exclusive sense. In this understanding, "and" is used in an inclusive sense and is intended to mean A, B, and C, and "and / or" may be used with due care to make clear that all of the foregoing meanings are intended, but such use is not required. Furthermore, the term "one or more" and / or similar terms are used to describe any feature, structure, characteristic, etc. in the singular, and "and / or" is also used to describe multiple features, structures, characteristics, etc. and / or any other combination thereof. Similarly, the term "based on" and / or similar terms are not necessarily intended to convey an exhaustive list of factors, but are understood to allow for the existence of additional factors not necessarily explicitly described.

[0059] The terms "corresponding," "referring," "associating," and / or similar terms refer to signals, signal samples, and / or conditions, e.g., components of a signal measurement vector, that may be stored in memory and / or employed in conjunction with operations (computations) to produce results at least in part in response to the signal samples and / or signal sample conditions described above. For example, a signal sample measurement vector may be stored in a memory location and further referenced, and such reference may be embodied and / or described as a stored relationship. A stored relationship may be employed, for example, by associating (e.g., relating) one or more memory addresses with one or more other memory addresses to facilitate operations that at least in part involve combinations of signal samples and / or conditions stored in memory, such as for processing by a processor and / or similar device. Thus, in certain contexts, "associating," "referencing," and / or "corresponding" may refer to an executable process that, for example, accesses memory contents of two or more memory locations to facilitate performance of one or more operations on, for example, signal samples and / or states, and one or more results of one or more operations may, in turn, be utilized for further processing, such as in other operations, or may be stored in the same or other memory locations, as may be directed by, for example, executable instructions. Furthermore, the terms "fetch" and "read" or "store" and "write" should be understood as interchangeable terms for the respective operations, for example, a result may be fetched (or read) from a memory location, and similarly, a result may be stored (or written) to a memory location.

[0060] As technology advances, it has become more common to employ a distributed computing and / or communication approach, where portions of a process, such as, for example, signal processing of signal samples, may be allocated among various devices, including, for example, one or more client devices and / or one or more server devices, via a computing and / or communication network. A network may comprise two or more devices, such as network devices and / or computing devices, and / or may couple devices, such as network devices and / or computing devices, so that signal communications, such as, for example, in the form of signal packets and / or signal frames (e.g., comprising one or more signal samples), may be exchanged between, for example, server devices and / or client devices, and other types of devices, including between wired and / or wireless devices coupled via wired and / or wireless networks.

[0061] Also, in the context of this patent application, the term parameter (e.g., one or more parameters) refers to material describing a collection of signal samples, such as one or more electronic documents and / or electronic files, that exists in the form of physical signals and / or physical states, such as memory states. For example, one or more parameters, such as those referencing an electronic document and / or electronic file containing an image, may include, for example, the time the image was captured, the latitude and longitude of an image capture device, such as a camera, etc. In another example, one or more parameters associated with digital content, such as digital content containing a technical paper, may include, for example, one or more authors. The claimed subject matter is intended to encompass meaningful descriptive parameters in any format, so long as the one or more parameters include physical signals and / or states, and examples of parameters may include a collection name (e.g., an electronic file and / or electronic document identifier name), a creation technique, a creation purpose, a creation date and time, a logical path if stored, a coding format (e.g., a type of computer instruction, such as a markup language), and / or a standard and / or specification used for one or more applications to be protocol-compliant (e.g., meaning substantially compliant and / or substantially compatible), etc.

[0062] 11 , network 1808 may include one or more network connections, links, processes, services, applications, and / or resources to facilitate and / or support communications, such as the exchange of communication signals, between a computing device, such as first computing device 1802, and another computing device, such as third computing device 1806, which may include, for example, one or more client computing devices, embedded computing devices, and / or one or more server computing devices. By way of example, and not limitation, computing devices 1802, 1804, and 1806 may comprise electronic control units (ECUs), motor control units (MCUs), hybrid control units (HCUs), head units, telematics control units (TCUs), just to name a few. Further, by way of example and not limitation, network 1808 may comprise wireless and / or wired communication links or signaling buses, or any combination thereof, to facilitate communications between embedded devices.

[0063] According to one embodiment, the electronic computing device 18 (FIG. 1A) may be implemented, at least in part, by features of the second computing device 1804. Thus, the second computing device 1804 may be integrated with the vehicle (e.g., as the electronic computing device 18) to execute a UAP model that controls portions of the user interface of the vehicle 10. In one implementation, the second computing device 1804 executes instructions stored on a computer-readable medium 1840 to perform all or a portion of the process 900 and determine probabilities and / or likelihoods 940 as predictions of the occurrence of particular user interface actions in the presence of a particular context. In one particular implementation, parameters of the inference model for performing the process 900 (e.g., for determining the probabilities and / or likelihoods 940) may be determined from the execution of the process 800 from the execution of the instructions stored on the computer-readable medium 1840 by the second computing device 1804. Here, process 800 may be performed, for example, based at least in part on observations of user actions and observations of context (eg, based at least in part on signals generated by sensor 1834).

[0064] In another particular implementation, process 900 may be performed by a second computing device 1804 (e.g., implementing an electronic computing device 18 to determine probabilities and / or likelihoods 940), and process 800 for training parameters for process 900 may be performed by a first computing device 1802 (e.g., implementing a server to communicate with the computing device 18). For example, observations of user actions and context may be collected locally at the second computing device 1804 (e.g., at an electronic computing device 18 integrated with the automobile 10) and transmitted to the first computing device 1802 via network 1808. Based at least in part on such observations of user actions and context received from the second computing device 1804, the first computing device 1802 may perform process 800 to determine / update parameters of process 900 that are transmitted back to the second computing device 1804.

[0065] The example device of FIG. 11 may, in one embodiment, include features of, for example, a client computing device and / or a server computing device. In certain implementations, the embodiment 1800 of FIG. 11 may be integrated with one or more automobile subsystems, such as, for example, an entertainment subsystem, an environmental control subsystem, a communication subsystem, or a driverless navigation subsystem, to name just a few. For example, portions of the embodiment 1800 may be integrated with a “head unit” to perform functions controllable by user interface actions by, for example, the driver and / or passengers. Furthermore, it should be noted that the term computing device, whether used as a client and / or server or otherwise, generally refers to at least a processor and memory connected by a communication bus. A “processor” is understood to mean a specific structure, such as, for example, a central processing unit (CPU) of a computing device, which may include a control unit and an execution unit. In one aspect, a processor may comprise a device that fetches, interprets, and executes instructions to process input signals and provide output signals. Accordingly, at least in the context of this patent application, computing device and / or processor are understood to refer to sufficient structure within the meaning of 35 U.S.C. §112(f), and as a result, it is specifically intended that 35 U.S.C. §112(f) is not implied by use of the terms "computing device," "processor," and / or similar terminology. However, for some reason that is not immediately apparent, it has been determined that the foregoing understanding cannot hold, and therefore, where 35 U.S.C. §112(f) is necessarily implied by use of the terms "computing device," "processor," and / or similar terminology, in accordance with that statutory section, it is intended that the corresponding structure, material, and / or acts for performing one or more functions be understood and interpreted as described in at least Figures 1 through 10 and in the text associated with the foregoing figures of this patent application.

[0066] 11 , in one embodiment, first device 1802 and third device 1806 may be capable of rendering a graphical user interface (GUI) (e.g., including a pointer device, a touch screen, console buttons, etc.) for the network devices and / or computing devices, for example, so that a user-operator (e.g., a vehicle driver and / or passenger) can participate in using the system. Such a GUI may be configured to receive and / or respond to user interface actions initiated by, for example, the vehicle or a passenger. Input / output device 1832, in combination with processes performed by processing unit 1802, may be configured to provide such a GUI. Sensor 1834 may include any one of several types of sensors capable of providing a signal indicative of the observation of some physical phenomenon. Sensor 1834 may include sensors capable of observing the operating conditions of a machine, such as the operating conditions of an automobile. Sensor 1834 may also include one or more environmental sensors, such as, for example, a thermometer, an altimeter, a light sensor, a camera, a microphone, radar, etc., to name just a few. The sensors 1834 may comprise signal processing electronics, such as analog filters, samplers, etc., that can provide signals indicative of observations that are processed by processes running on the processing unit 1820. In certain implementations, such signals produced by the sensors 1834 are bucketed and converted into raw context rc to be applied to the probabilistic models described above. t11 , computing device 1802 (the “first device” in the figure) may interface with computing device 1804 (the “second device” in the figure), which may, for example, in one embodiment, also include features of a client computing device and / or a server computing device. Processor (e.g., processing device) 1820 and memory 1822, which may include primary memory 1824 and secondary memory 1826, may communicate via, for example, communications bus 1815. The term “computing device” in the context of this patent application refers to a system and / or device, such as a computing device, that includes the capability to process (e.g., perform calculations on) and / or store digital content, such as electronic files, electronic documents, measurements, text, images, video, audio, etc., in the form of signals and / or states. Thus, in the context of this patent application, a computing device may be hardware, software, firmware, or any combination thereof (e.g., software, firmware, etc.). itself 11, computing device 1804 is merely an example, and claimed subject matter is not limited in scope to this particular example.

[0067] As noted above, according to one embodiment, the electronic computing device 18 (FIG. 1A) may be implemented, at least in part, by features of the computing device 1804. Thus, the second computing device 1804 may implement features of an electronic control unit (ECU), telematics control unit (TCU), head unit, zone controller, domain controller, etc., integrated into the vehicle 10, configured to perform all or a portion of the process 900 (e.g., to determine the probabilities and / or likelihoods 940). In one particular implementation, such a device integrated into the vehicle 10 may also execute the process 800 to train parameters of the process 900, at least in part, based at least in part on observations of context and / or user actions collected at sensors of the vehicle 10. In another implementation, the parameters of the process 900 executed by such a device integrated into the vehicle 10 may be trained by a server device separate from the vehicle 10 (e.g., the first computing device 1802 configured as a server communicating with the device integrated into the vehicle 10 via the network 1808).

[0068] In one implementation, execution of computer-readable instructions (e.g., stored on computer-readable medium 1840) by processing unit 1820 may at least partially implement all or a portion of observation manager 114, 406, and / or 500, ensemble 306, confidence learner 116, process 800, and / or process 900, just to name a few. In another implementation, features of observation manager 114, 406, and / or 500, ensemble 306, confidence learner 116, process 800, and / or process 900 may be shared among multiple computing devices. For example, features of observation manager 114, 406, and / or 500, ensemble 306, confidence learner 116, process 800, and / or process 900 may be implemented in part by execution of computer-readable instructions by computing device 1804 (e.g., when computing device 1804 implements computing device 18 within automobile 10) and computing device 1802 (e.g., when computing device 1802 is within a "cloud" server coupled to electronic computing device 18 via network 1808).

[0069] In one or more embodiments, devices such as computing devices and / or networking devices may comprise any of a wide range of digital electronic devices, including, for example, but not limited to, desktop and / or notebook computers, high-definition televisions, digital versatile disc (DVD) and / or other optical disc players and / or recorders, game consoles, environmental control systems, satellite television receivers, cellular telephones, tablet devices, wearable devices, personal digital assistants, mobile audio and / or video playback and / or recording devices, Internet of Things (IoT) type devices, or any combination of the above. Furthermore, unless otherwise specified, processes described with reference to flow diagrams and / or otherwise may be performed and / or affected in whole or in part by computing devices and / or network devices. Devices such as computing devices and / or network devices may vary in capabilities and / or features. The claimed subject matter is intended to encompass a wide range of potential variations. For example, a device may include a numeric keypad and / or other display of limited functionality, such as, for example, a monochrome liquid crystal display (LCD) for displaying text. In contrast, however, as another example, a web-enabled device may include a physical and / or virtual keyboard, mass storage, one or more accelerometers, one or more gyroscopes, global positioning system (GPS) and / or other location identification type capabilities, and / or a display with a greater degree of functionality, such as, for example, a touch-sensitive color 2D or 3D display.

[0070] As previously alluded to, communications between computing devices and / or network devices and wireless networks may follow known and / or developed network protocols, including, for example, Global System for Mobile Communications (GSM), Enhanced Data Rates for GSM Evolution (EDGE), 802.11b / g / n / h, etc., and / or Worldwide Interoperability for Microwave Access (WiMAX). The computing devices and / or networking devices may also have subscriber identity module (SIM) cards, which may comprise removable or embedded smart cards capable of storing, for example, user subscription content and / or contact lists. Note, however, that the SIM card may be electronic, meaning that it may simply be stored in a specific location within the memory of the computing device and / or networking device. The driver and / or passenger of the vehicle may operate the computing device and / or network device or may otherwise be a user, such as, for example, a primary user. The devices may be assigned addresses by a wireless network operator, a wired network operator, and / or an Internet Service Provider (ISP). For example, the address may include a national or international telephone number, an Internet Protocol (IP) address, and / or one or more other identifiers. In other embodiments, the computing and / or communications network may be embodied as a wired network, a wireless network, or any combination thereof.

[0071] The computing and / or network devices may include and / or execute various currently known and / or later developed operating systems, derivatives and / or versions thereof, including computer operating systems such as Windows, iOS, Linux, mobile operating systems, etc. The computing and / or network devices may include and / or execute various possible applications, such as client software applications that enable communication with other devices. For example, one or more messages (e.g., content) may be communicated, such as via one or more now known and / or later developed protocols suitable for communicating email, short message service (SMS), and / or multimedia message service (MMS), including via a network formed at least in part by a portion of the computing and / or communication network. The computing and / or network devices may also include executable computer instructions for processing and / or communicating digital content, such as, for example, text content, digital multimedia content, etc.

[0072] In FIG. 11 , computing device 1804 may provide one or more sources of executable computer instructions, for example, in the form of physical states and / or signals (e.g., stored in memory states). Computing device 1802 may communicate with computing device 1804 by a network connection, such as, for example, via network 1808. As previously mentioned, connections may be physical but not necessarily tangible. While computing device 1804 in FIG. 11 shows various tangible physical components, claimed subject matter is not limited to computing devices having only these tangible components, as other implementations and / or embodiments may include alternative configurations that may, for example, have additional or fewer tangible components that function differently while achieving similar results. Rather, the examples are provided merely as examples. It is not intended that the scope of the claimed subject matter be limited to the illustrative examples.

[0073] Memory 1822 may comprise any non-transitory storage mechanism. Memory 1822 may comprise, for example, primary memory 1824 and secondary memory 1826, or additional memory circuits, mechanisms, or combinations thereof may be used. Memory 1822 may comprise, for example, random access memory, read-only memory, etc., in the form of one or more storage devices and / or systems, such as disk drives, including optical disk drives, tape drives, solid-state memory drives, etc., to name a few.

[0074] Memory 1822 may be utilized to store a program of executable computer instructions. For example, processor 1820 may fetch such executable instructions from memory and proceed to execute the fetched instructions. Memory 1822 may also comprise a memory controller for accessing device-readable medium 1840 (e.g., including a non-transitory storage medium) that may carry and / or create accessible digital content, which may include code and / or instructions executable by, for example, processor 1820 and / or some other device, such as, for example, a controller capable of executing computer instructions. Under the direction of processor 1820, a non-transitory memory, such as, for example, memory cells that store a physical state (e.g., memory state), including a program of executable computer instructions, may be executed by processor 1820 and may generate a signal that is communicated over a network, as described above. The generated signal may also be stored in memory, as also alluded to above. In particular implementations, the processor 1820 may include, for example, general-purpose processing cores and / or special-purpose co-processing cores (e.g., signal processors, graphical processing units (GPUs), and / or neural network processing units (NPUs)).

[0075] Memory 1822 may store electronic files and / or electronic documents, such as those associated with one or more users, and may also comprise a computer-readable medium capable of carrying and / or creating accessible content, including, by way of example, code and / or instructions executable by some other device, such as, for example, processor 1820 and / or a controller, capable of executing computer instructions. As noted above, the terms electronic file and / or electronic document are used throughout this specification to refer to a set of stored memory states and / or a set of physical signals associated in such a way as to form an electronic file and / or electronic document. That is, they are not meant to implicitly refer to, for example, a particular syntax, format, and / or approach used with respect to the set of associated memory states and / or the set of associated physical signals. Furthermore, it should be noted that the association of memory states may be, for example, in a logical sense and not necessarily in a tangible physical sense. Thus, while the signal and / or state components of an electronic file and / or electronic document should be logically associated, their storage may reside in one or more different locations, for example, in one embodiment, within tangible physical memory.

[0076] Algorithmic descriptions and / or symbolic representations are examples of techniques used by those skilled in the signal processing and / or related arts to convey the substance of their work to others skilled in the art. An algorithm, in the context of this patent application, is generally considered to be a self-consistent sequence of operations and / or similar signal processing leading to a desired result. In the context of this patent application, operations and / or processing involve physical manipulations of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical and / or magnetic signals and / or states capable of being stored, transferred, combined, compared, processed, and / or otherwise manipulated, e.g., as electronic signals and / or states constituting components of various forms of digital content, such as signal measurements, text, images, video, sound, etc.

[0077] It has proven convenient at times, principally for reasons of common usage, to refer to such physical signals and / or physical states as bits, service codes, tokens, calculated likelihoods, values, elements, parameters, symbols, characters, terms, numbers, numerals, measurements, content, or the like. However, it should be understood that all of these and / or similar terms are to be associated with the appropriate physical quantities and are merely convenient labels. Unless otherwise indicated, and as is apparent from the foregoing description, it should be understood that throughout this specification, descriptions utilizing terms such as "processing," "calculating," "computing," "determining," "establishing," "obtaining," "identifying," "selecting," "generating," and the like can refer to the actions and / or processes of particular devices, such as special purpose computers and / or similar special purpose computing and / or network devices. Thus, in the context of this specification, a special purpose computer and / or similar special purpose computing and / or network device may process, manipulate, and / or transform signals and / or states, typically in the form of physical electronic and / or magnetic quantities, within the memory, registers, and / or other storage, processing, and / or display devices of the special purpose computer and / or similar special purpose computing and / or network device. Thus, in the context of this particular patent application, as referred to, the term "particular device" includes a general purpose computing and / or network device, such as a general purpose computer, that is programmed to perform particular functions, such as pursuant to program software instructions.

[0078] In some situations, the operation of a memory device, such as a change of state from a binary 1 to a binary 0 or vice versa, may involve a transformation, such as a physical transformation. In certain types of memory devices, such a physical transformation may involve the physical transformation of a product to a different state or thing. For example, without limitation, in some types of memory devices, a change of state may involve the accumulation and / or storage of an electric charge or the release of a stored electric charge. Similarly, in other memory devices, a change of state may involve a physical change, such as a transformation of magnetic orientation. Similarly, a physical change may involve a transformation of molecular structure, such as from a crystalline form to an amorphous form or vice versa. In still other memory devices, a change of physical state may involve quantum mechanical phenomena, such as superposition, entanglement, etc., which may involve, for example, quantum bits (qubits). The above is not intended to be an exhaustive list of all examples in which a change of state from a binary 1 to a binary 0 or vice versa in a memory device may involve a transformation, such as a physical but non-transient transformation. Rather, the foregoing is intended as illustrative examples.

[0079] 11 , processor 1820 may comprise one or more circuits, such as digital circuits, for executing at least a portion of computational procedures and / or processes. By way of example and not limitation, processor 1820 may include one or more processors, such as a controller, microprocessor, microcontroller, application specific integrated circuit, GPU, NPU, digital signal processor, programmable logic device, field programmable gate array, etc., or any combination thereof. In various implementations and / or embodiments, processor 1820 may perform signal processing, typically substantially in accordance with fetched executable computer instructions, for example, using signals and / or states generated to be communicated and / or stored in memory, to construct signals and / or states, to manipulate signals and / or states, etc.

[0080] 11 also illustrates device 1804 as including a component 1832 operable with input / output devices such that signals and / or states may be appropriately communicated between devices, such as between device 1804 and input devices and / or between device 1804 and output devices. A user may utilize an input device such as a computer mouse, stylus, trackball, microphone, scanner, keyboard, and / or any other similar device capable of receiving user actions and / or movements as input signals. Similarly, for devices with speech-to-text capabilities, a user may speak into the device to generate input signals. A user may utilize an output device such as a display, printer, and / or any other device capable of providing signals and / or generating stimuli to a user, such as visual, auditory, and / or other similar stimuli.

[0081] In the foregoing description, various aspects of the claimed subject matter have been described. For purposes of explanation, details have been set forth by way of example, such as quantities, systems, and / or configurations. In other instances, well-known features have been omitted and / or simplified so as not to obscure the claimed subject matter. While certain features have been illustrated and / or described herein, many modifications, substitutions, changes, and / or equivalents will occur to those skilled in the art. It is therefore to be understood that the appended claims are intended to cover all modifications and / or variations that fall within the scope of the claimed subject matter.

Claims

1. A system to be disposed in a vehicle, comprising: one or more memory devices; one or more processors coupled to the memory device; Equipped with the one or more processors: determining features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or passenger is currently operating the vehicle; generating a prediction of a future vehicle user interface action from among a plurality of available vehicle user interface actions; The prediction is the features indicative of the context in which the vehicle is currently operating or in which the driver and / or passengers are currently operating the vehicle; and user action context parameters relating to (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle, and (ii) determined characteristics of an observed past context in which the associated vehicle was operating and / or in which the at least one past driver and / or past occupant was operating the associated vehicle contemporaneously with the at least one past driver and / or past occupant requesting the at least one past vehicle user interface action; generated based at least in part on causing a user interface within the vehicle to generate an output based on the prediction of the future vehicle user interface action; system.

2. the one or more processors further comprising: determining parameters indicative of posterior probabilities of each of the plurality of available vehicle user interface actions based at least in part on the determined features of the context in which the vehicle is currently operating and / or in which the past drivers and / or past occupants are currently operating the vehicle; generating the prediction of the future vehicle user interface action based at least in part on the parameters indicative of calculated posterior probabilities of the plurality of available vehicle user interface actions; The system of claim 1 .

3. the parameter indicative of a posterior probability is conditioned on the feature indicative of the context in which the vehicle is currently operating or the context in which the driver and / or the occupant is currently operating the vehicle based at least in part on a Bayesian model. The system of claim 2.

4. the one or more processors further comprising: updating the parameters indicative of posterior probabilities of the plurality of available vehicle user interface actions based at least in part on the predictions of the future vehicle user interface actions and the actual observed vehicle user interface actions. The system of claim 3.

5. the one or more processors further comprising: for each of the plurality of available vehicle user interface actions, calculating a probability of the feature being indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or passenger is currently operating the vehicle; summing the calculated probabilities of the features indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or occupant is currently operating the vehicle, conditional on the plurality of available vehicle user interface actions; determining, based at least in part on the calculated sum of probabilities, the parameter indicative of a posterior probability conditional on the feature indicative of the context in which the vehicle is currently operating or the context in which the driver and / or the occupant is currently operating the vehicle. The system of claim 4.

6. the one or more processors further comprising: identifying a plurality of context attributes of the feature indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or the occupant is currently operating the vehicle; establishing a model for each of the plurality of context attributes of the features of the context in which the vehicle is currently operating and / or the context in which the driver and / or occupant is currently operating the vehicle; determining a calculated probability of the feature indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or the occupant is currently operating the vehicle, conditional on the plurality of available vehicle user interface actions, based at least in part on the model of context attributes of the feature indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or the occupant is currently operating the vehicle; The system of claim 5.

7. the one or more processors further comprising: calculating a confidence weight for each of the established models based at least in part on past predictions and associated detected actual observed vehicle user interface actions; determining a predicted probability of at least one of the plurality of available vehicle user interface actions based at least in part on a sum of probabilities based on the established model weighted according to the calculated reliability weight for at least one of the plurality of available vehicle user interface actions; The system of claim 6.

8. further comprising one or more sensors; the one or more processors further comprising: determining, based at least in part on signals from the one or more sensors, the characteristics indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or passengers are currently operating the vehicle; The system of claim 1 .

9. determining, by one or more processors in or in communication with the vehicle, characteristics indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or passenger is currently operating the vehicle; generating, by the one or more processors, a prediction of a future vehicle user interface action from among a plurality of available vehicle user interface actions; and wherein the prediction comprises: the features indicative of the context in which the vehicle is currently operating or in which the driver and / or passengers are currently operating the vehicle; and user action context parameters relating to (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle, and (ii) determined characteristics of an observed past context in which the associated vehicle was operating and / or in which the at least one past driver and / or past occupant was operating the associated vehicle contemporaneously with the at least one past driver and / or past occupant requesting the at least one past vehicle user interface action; generated based at least in part on causing a user interface within the vehicle to generate an output based on the prediction of the future vehicle user interface action; method.

10. generating the prediction of the future vehicle user interface action, determining parameters indicative of posterior probabilities of each of the plurality of available vehicle user interface actions based at least in part on the determined features of the context in which the vehicle is currently operating and / or in which the past drivers and / or past occupants are currently operating the vehicle; generating the prediction of the future vehicle user interface action based at least in part on the parameters indicative of calculated posterior probabilities of the plurality of available vehicle user interface actions; 10. The method of claim 9, further comprising:

11. the parameter indicative of a posterior probability is conditioned on the features indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or the occupant is currently operating the vehicle based at least in part on a Bayesian model. The method of claim 10.

12. updating the parameters indicative of posterior probabilities of the plurality of available vehicle user interface actions based at least in part on the predictions of the future vehicle user interface actions and actual observed vehicle user interface actions; The method of claim 10 further comprising:

13. For each of the plurality of available vehicle user interface actions, calculating a probability of the feature being indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or passenger is currently operating the vehicle; summing the calculated probabilities of the features indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or occupant is currently operating the vehicle, conditional on the plurality of available vehicle user interface actions; determining, based at least in part on the calculated sum of probabilities, the parameter indicative of a posterior probability conditional on the feature indicative of the context in which the vehicle is currently operating or in which the driver and / or occupant is currently operating the vehicle; The method of claim 10 further comprising:

14. identifying a plurality of context attributes of the feature indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or occupant is currently operating the vehicle; establishing a model for each of the plurality of context attributes of the features of the context in which the vehicle is currently operating and / or the context in which the driver and / or occupant is currently operating the vehicle; determining a calculated probability of the feature indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or the occupant is currently operating the vehicle, conditional on the plurality of available vehicle user interface actions, based at least in part on the model of context attributes of the feature indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or the occupant is currently operating the vehicle; The method of claim 13 further comprising:

15. calculating a confidence weight for each of the established models based at least in part on past predictions and associated detected actual observed vehicle user interface actions; determining a predicted probability of at least one of the plurality of available vehicle user interface actions based at least in part on a sum of probabilities based on the established model weighted according to the calculated reliability weight for at least one of the plurality of available vehicle user interface actions; 15. The method of claim 14, further comprising:

16. determining the characteristics indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or occupant is currently operating the vehicle based at least in part on signals from one or more sensors.

10. The method of claim 9.

17. A product, a non-transitory storage medium having computer-readable instructions stored thereon; The instruction: determining features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or passenger is currently operating said vehicle; generating a prediction of a future vehicle user interface action from among a plurality of available vehicle user interface actions; The prediction is the features indicative of the context in which the vehicle is currently operating or in which the driver and / or passengers are currently operating the vehicle; and user action context parameters relating to (i) at least one past vehicle user interface action requested by at least one past driver and / or past occupant of the associated vehicle, and (ii) determined characteristics of an observed past context in which the associated vehicle was operating and / or in which the at least one past driver and / or past occupant was operating the associated vehicle contemporaneously with the at least one past driver and / or past occupant requesting the at least one past vehicle user interface action; generated based at least in part on causing a user interface within the vehicle to generate an output based on the prediction of the future vehicle user interface action; A product capable of being executed by one or more processors.

18. The instruction: determining parameters indicative of posterior probabilities of each of the plurality of available vehicle user interface actions based at least in part on the determined features of the context in which the vehicle is currently operating and / or in which the past drivers and / or past occupants are currently operating the vehicle; generating the prediction of the future vehicle user interface action based at least in part on the parameters indicative of calculated posterior probabilities of the plurality of available vehicle user interface actions; 20. The article of manufacture of claim 17, further operable by the one or more processors to:

19. the parameter indicative of a posterior probability is conditioned on the feature indicative of the context in which the vehicle is currently operating or the context in which the driver and / or the occupant is currently operating the vehicle based at least in part on a Bayesian model.

19. The article of manufacture of claim 18.

20. The instruction: receiving updated characteristics indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or passenger is currently operating the vehicle; determining whether a predetermined amount of time has elapsed since the prediction was generated; generating an updated prediction based on the updated features in response to determining that the predetermined amount of time has elapsed since the prediction was generated.

20. The article of manufacture of claim 17, further operable by the one or more processors to: