System and / or method for predicting user actions related to vehicle user interface using machine learning
By integrating machine learning models in vehicles and predicting user interface actions based on vehicle and user situations, the problem of inaccurate user operation prediction in the prior art is solved, and the convenience of user interface operation and driving experience are improved.
Patent Information
- Application Number
- CN202380086544.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-15
- Filing Date
- 2023-12-01
- Publication Date
- 2025-07-25
AI Technical Summary
The prior art is difficult to effectively predict the user's movements in the vehicle user interface, resulting in unpleasant and distracting operation experience of the driver and passenger.
Using machine learning methods, by integrating processors and memory devices in the vehicle, generating predictions of future user interface actions based on the vehicle's current operating situation and user historical behavior, and using Bayesian model and sensor data to optimize user interface output.
Improve the prediction accuracy of user interface actions, reduce user operation steps, and improve the pleasure and concentration of driving and riding experience.
Smart Images

Figure CN120379852A_ABST
Abstract
Description
Background Art 1. Technical Field
[0002] The present disclosure relates to methods and / or techniques for predicting an individual's actions in their interaction with a machine.
[0003] 2. Information
[0004] A user interface enables an individual user to interact with a process executing on a machine to, for example, provide user input, selections, and / or preferences. Such a user interface may display or otherwise present user-selectable options. The user interface may then receive a user selection from the presented user-selectable options based on a touch or voice selection on a touchscreen, providing only a few examples of how a user may select from the options presented by the user interface. Summary of the Invention
[0005] One embodiment disclosed herein relates to a system to be provided in a vehicle, the system including: one or more memory devices; and one or more processors coupled to the memory devices, the one or more processors configured to: determine features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or a passenger is currently operating the vehicle; generate a prediction of a future vehicle user interface action from a plurality of available vehicle user interface actions, wherein the prediction is 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 the passenger is currently operating the vehicle; and user action context parameters related to: (i) at least one past vehicle user interface action requested by at least one past driver and / or past passenger of the associated vehicle, and (ii) determined features of an observed past context that occurred simultaneously with the at least one past driver and / or past passenger requesting the at least one past vehicle user interface action, in the observed past context, the associated vehicle being operated and / or the at least one past driver and / or past passenger being operating the associated vehicle; and cause a user interface in the vehicle to generate an output based on the prediction of the future vehicle user interface action. In a specific 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 at least in part based on determined features of a context in which the vehicle is currently operating and / or a context in which a past driver and / or past passenger is currently operating the vehicle, and generate a prediction of a future vehicle user interface action at least in part based on the parameters indicative of the computed posterior probabilities of the plurality of available vehicle user interface actions. For example, the parameters indicative of the posterior probabilities may be conditioned at least in part on features indicative of a context in which the vehicle is currently operating or a context in which a driver and / or a passenger is currently operating the vehicle based on a Bayes model. In another specific implementation, the one or more processors are further configured to: update the parameters indicative of the posterior probabilities of the plurality of available vehicle user interface actions at least in part based on the prediction of the future vehicle user interface action and an actually observed vehicle user interface action.In another specific implementation, one or more processors are further configured to: for each of a plurality of available vehicle user interface actions, calculate a probability indicative of a feature of a context in which the vehicle is currently operating and / or a context in which the driver and / or passenger is currently operating the vehicle; sum the calculated probabilities indicative of a feature of a context in which the vehicle is currently operating and / or a context in which the driver and / or passenger is currently operating the vehicle, conditional on the plurality of available vehicle user interface actions; and determine a parameter indicative of a posterior probability, at least in part based on the summed calculated probabilities, the parameter being conditional on a feature indicative of a context in which the vehicle is currently operating or a context in which the driver and / or passenger is currently operating the vehicle. In another specific implementation, one or more processors are further configured to: identify a plurality of context attributes indicative of a feature of a context in which the vehicle is currently operating and / or a context in which the driver and / or passenger is currently operating the vehicle; build a model for each of the plurality of context attributes indicative of a feature of a context in which the vehicle is currently operating and / or a context in which the driver and / or passenger is currently operating the vehicle; and determine a calculated probability indicative of a feature of a context in which the vehicle is currently operating and / or a context in which the driver and / or passenger is currently operating the vehicle, at least in part based on the models of the context attributes indicative of a feature of a context in which the vehicle is currently operating and / or a context in which the driver and / or passenger is currently operating the vehicle, conditional on the plurality of available vehicle user interface actions. In another specific implementation, one or more processors are further configured to: for each built model, calculate a reliability weight at least in part based on past predictions and associated detected actual observed vehicle user interface actions; and for at least one of the plurality of available vehicle user interface actions, determine a predicted probability of at least one of the plurality of available vehicle user interface actions, at least in part based on a sum of probabilities based on the built models weighted by the calculated reliability weights. In another specific implementation, the system further includes one or more sensors, and one or more processors are further configured to: determine a feature indicative of a context in which the vehicle is currently operating and / or a context in which the driver and / or passenger is currently operating the vehicle, at least in part based on signals from the one or more sensors.
[0006] Another implementation disclosed herein relates to a method that includes: determining, by one or more processors within or in communication with a vehicle, characteristics indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or a passenger is currently operating the vehicle; generating, by the one or more processors, a prediction of a future vehicle user interface action from a plurality of available vehicle user interface actions, wherein the prediction is generated at least in part based on: the characteristics indicative of the context in which the vehicle is currently operating or the context in which the driver and / or the passenger is currently operating the vehicle; and user action context parameters that are related to: (i) at least one past vehicle user interface action requested by at least one past driver and / or past passenger of an associated vehicle, and (ii) determined characteristics of an observed past context that occurred simultaneously with the at least one past driver and / or past passenger requesting the at least one past vehicle user interface action, in the observed past context in which the associated vehicle was operating and / or the at least one past driver and / or past passenger was operating the associated vehicle; and causing a user interface in the vehicle to generate an output based on the prediction of the future vehicle user interface action. In one particular implementation, generating the prediction of the future vehicle user interface action further includes: determining, at least in part based on determined characteristics of a context in which the vehicle is currently operating and / or in which a past driver and / or past passenger was currently operating the vehicle, parameters indicative of posterior probabilities of a plurality of available vehicle user interface actions, and generating, at least in part based on the parameters indicative of the computed posterior probabilities of the plurality of available vehicle user interface actions, the prediction of the future vehicle user interface action. For example, the parameters indicative of the posterior probabilities are conditioned at least in part on characteristics indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or a passenger is currently operating the vehicle, based on a Bayesian model. In another particular implementation, the method further includes: updating, at least in part based on the prediction of the future vehicle user interface action and actual observed vehicle user interface actions, the parameters indicative of the posterior probabilities of the plurality of available vehicle user interface actions. In another particular implementation, the method further includes: for each available vehicle user interface action of the plurality of available vehicle user interface actions, computing a probability of characteristics indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or a passenger is currently operating the vehicle; summing the computed probabilities of the characteristics indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or a passenger is currently operating the vehicle, conditioned on the plurality of available vehicle user interface actions; and determining, at least in part based on the summed computed probabilities, parameters indicative of the posterior probabilities, the parameters being conditioned on characteristics indicative of a context in which the vehicle is currently operating or a context in which a driver and / or a passenger is currently operating the vehicle.In another specific implementation, the method further includes: identifying a plurality of context attributes indicative of the context in which the vehicle is currently operating and / or the characteristics of the context in which the driver and / or passenger is currently operating the vehicle; building a model for each of the plurality of context attributes indicative of the context in which the vehicle is currently operating and / or the characteristics of the context in which the driver and / or passenger is currently operating the vehicle; and determining a calculated probability indicative of the context in which the vehicle is currently operating and / or the characteristics of the context in which the driver and / or passenger is currently operating the vehicle, conditional on a plurality of available vehicle user interface actions, at least in part based on the model of the context attributes indicative of the context in which the vehicle is currently operating and / or the characteristics of the context in which the driver and / or passenger is currently operating the vehicle. In another specific implementation, the method further includes: for each built model, calculating a reliability weight at least in part based on past predictions and associated detected and actually observed vehicle user interface actions; and for at least one of the plurality of available vehicle user interface actions, determining a predicted probability of at least one of the plurality of available vehicle user interface actions, at least in part based on the sum of the probabilities based on the built models weighted according to the calculated reliability weights. In another specific implementation, the method further includes determining the characteristics 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, at least in part based on signals from one or more sensors.
[0007] Another implementation relates to an article, which includes: a non-transitory storage medium that includes computer-readable instructions stored thereon, the instructions being executable by one or more processors to: determine features indicating a situation in which the vehicle is currently operating and / or a situation in which the driver and / or passenger is currently operating the vehicle; generate a prediction of future vehicle user interface actions from a plurality of available vehicle user interface actions, wherein the prediction is generated at least in part based on: the features indicating the situation in which the vehicle is currently operating or the situation in which the driver and / or passenger is currently operating the vehicle; and user action situation parameters that are related to: (i) at least one past vehicle user interface action requested by at least one past driver and / or past passenger of the associated vehicle, and (ii) determined features of an observed past situation that occurred simultaneously with the at least one past driver and / or past passenger requesting the at least one past vehicle user interface action, in the observed past situation, the associated vehicle was operating and / or the at least one past driver and / or past passenger was operating the associated vehicle; and cause the user interface in the vehicle to generate an output based on the prediction of the future vehicle user interface actions. In a particular implementation, the instructions are further executable by one or more processors to: determine parameters indicating the posterior probability of a plurality of available vehicle user interface actions, at least in part based on the determined features of the situation in which the vehicle is currently operating and / or the situation in which the past driver and / or past passenger is currently operating the vehicle, and generate a prediction of future vehicle user interface actions, at least in part based on the parameters indicating the computed posterior probability of the plurality of available vehicle user interface actions. In another particular implementation, the parameters indicating the posterior probability are conditioned at least in part on the features indicating the situation in which the vehicle is currently operating or the situation in which the driver and / or passenger is currently operating the vehicle, based on a Bayesian model. In another particular implementation, the instructions are further executable by one or more processors to: update the parameters indicating the posterior probability of a plurality of available vehicle user interface actions, at least in part based on the prediction of the future vehicle user interface actions and the actually observed vehicle user interface actions. In yet another particular implementation, the instructions are further executable by one or more processors to: receive updated features indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or passenger is currently operating the vehicle; determine whether a predetermined amount of time has passed since the prediction was generated; and in response to determining that a predetermined amount of time has passed since the prediction was generated, generate an updated prediction based on the updated features. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The subject matter claimed is particularly pointed out and distinctly claimed in the concluding portion of the specification. However, the foregoing, as to organization and / or method of operation, together with objects, features and / or advantages thereof, may be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings, in which:
[0009] Figure 1A is a schematic side view of an embodiment of a motor vehicle according to an embodiment having a display;
[0010] Figure 1B is a diagram of a process for predicting user actions according to an embodiment;
[0011] Figure 2 is a schematic diagram of a system to be implemented in a computing device of a motor vehicle to extract contextual features according to an embodiment;
[0012] Figure 3 is a schematic diagram of a system to be implemented in a computing device of a motor vehicle to develop a model for correlating extracted contextual features with user interface actions according to an embodiment;
[0013] Figure 4 is a schematic diagram of a system to be implemented at least in part in a computing device of a motor vehicle to apply a model to extracted features to calculate and / or predict a probability of a user action from a plurality of available user interface actions, according to an embodiment;
[0014] Figure 5 , Figure 6 and Figure 7 is a schematic diagram of an example application for predicting user interface actions according to an embodiment;
[0015] Figure 8 is a flow chart of a machine learning training process according to an implementation scheme;
[0016] Figure 9 The calculation of the probability of a user performing a specific user interface action conditional on the extracted contextual features according to the implementation scheme is illustrated;
[0017] Figure 10 is a flow chart of a process for predicting subsequent user interface actions according to an embodiment; and
[0018] Figure 11 is a schematic block diagram of an example computing system according to a particular implementation.
[0019] Reference is made in the following detailed description to the accompanying drawings, which form a part of that description, in which like numerals may refer to corresponding and / or similar like components throughout. It should be understood that the drawings are not necessarily drawn to scale for simplicity and / or clarity of illustration. For example, the dimensions of some aspects may be exaggerated relative to other aspects. In addition, structural and / or other changes may be made without departing from the subject matter claimed. It should also be noted that directions and / or references (e.g., such as up, down, top, bottom, etc.) may be used to facilitate discussion of the drawings and are not intended to limit the application of the subject matter claimed. Accordingly, the following detailed description should not be considered limiting of the subject matter claimed and / or equivalents. In addition, it should be understood that other embodiments may be utilized. In addition, embodiments of the subject matter claimed have been provided, and it should be noted that those exemplary embodiments are creative and / or non-conventional; however, the subject matter claimed is not limited to the embodiments provided primarily for illustrative purposes. Accordingly, while advantages have been described in connection with exemplary embodiments, the subject matter claimed is creative and / or non-conventional for additional reasons not explicitly recited in connection with those embodiments. In addition, references throughout this specification to "the subject matter claimed" refer to the subject matter intended to be covered by one or more claims and do not necessarily refer to a complete set of claims, a particular combination of claims (e.g., method claims, apparatus claims, etc.) or a particular claim. Detailed Description
[0020] Throughout this specification, references to a particular implementation, an implementation, an embodiment, embodiments, etc. mean that the particular features, structures, characteristics, and / or the like described with respect to the particular implementation and / or embodiment are included in at least one implementation and / or embodiment of the subject matter claimed. Thus, 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 any particular implementation and / or embodiment. In addition, it should be understood that the particular features, structures, characteristics, and / or the like can be combined in various ways in one or more implementations and / or embodiments and are thus within the scope of the claimed subject matter. Generally speaking, of course, as with the specification of a patent application, these and other issues are likely to vary in a particular use context. In other words, throughout this patent application, the particular description and / or use context provides helpful guidance regarding the reasonable inferences to be drawn; however, again, without further qualification, "in this context" generally refers to the context of this patent application.
[0021] According to an embodiment, a modern motor vehicle user interface can receive selections / user inputs from a driver and / or a passenger at least in part based on an interaction with the user interface (such as a user interface including a display device (e.g., a touch screen)). In a particular implementation, the display device can present a menu of selectable options for various functions (such as options for entertainment, navigation, communication, or environmental control functions, to name just a few examples) to the driver and / or the passenger.
[0022] According to an embodiment, a User Action Prediction (UAP) model can enable a vehicle user interface to more conveniently present preferred selections to a driver and / or a passenger. According to an embodiment, the UAP model can automatically update the most likely subsequent user interface actions to be taken by the driver and / or the passenger at least in part based on learned driver and / or passenger preferences. A user interface action can be a user selection or other user action associated with the user interface (and a vehicle user interface action can be an action associated with the vehicle user interface). The UAP model can support vehicle user interface actions associated with navigation (e.g., a trip), entertainment / media, climate control, and phone call use cases (to name just a few example functions). In one embodiment, the UAP can provide suggestions to a head unit to enable an easy and intuitive method of using the head unit by presenting possible user interface actions on top of the user interface (UI). This can reduce the number of steps for the driver / passenger to take an action, resulting in a more pleasant, less frustrating, and less distracting driving / riding experience.
[0023] Figure 1A A schematic side view of an embodiment of a motor vehicle 10 including a display device 12 is shown. In particular, the display device 12 is used to display a personal home screen 14, which is shown in an enlarged view. At least one functional symbol 16 is shown 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 can include artificial intelligence, particularly at least one core 20 and / or a plurality of cores 20.
[0024] In particular, the home screen can show, for example, at least one static functional symbol 22, which can be, for example, a navigation screen and / or a tile for a phone call. In particular, a set of functions is provided to the user 24 of the motor vehicle 10 and / or the display device 12, and the static functional symbol 22 is set on an entertainment module (e.g., a static phone module), and active tiles are to be shown consistently when the user 24 performs certain actions and based on suggestions for functions learned by artificial intelligence. In Figure 1AA persistent user interface background is shown as a dynamic Global Positioning System (GPS) map. Layered on top is, for example, a global search function, and at the bottom is a so-called magic dock, which can be, for example, a first functional symbol 16 or a second functional symbol 16.
[0025] Entertainment tiles shown in expanded form can be shrunk back to the size of the smallest tile, or, if there are no relevant suggestions, can be shrunk across the entire dock length or nearly across the entire dock length. If a call is connected, a static phone tile follows, and then any active use cases. Examples of active use cases can be an ongoing seat massage program, a phone call, or a seat heating activity, directly providing the user with the option to immediately participate in the ongoing activity. Finally, there are personalized tile suggestions driven by the electronic computing device 18, which include a subset of suggested use cases that the system has learned the user 24 cares about in a given context situation.
[0026] According to an embodiment, the UAP model can be implemented at least in part in the electronic computing device 18 to, for example, affect the content presented to the user 24 on the display device 12. In a particular implementation, such a UAP model implemented at least in part in the electronic computing device 18 may affect the characteristics of the main screen 14 at least in part based on the context in which the motor vehicle 10 is currently operating and / or the context in which the user 24 may be operating the motor vehicle 10. According to an embodiment, the UAP model can make predictive suggestions based on the past behavior of the user 24. Such past behavior of events can be directly observed by the UAP and / or expressed by messages from external systems.
[0027] According to an embodiment, characteristics indicating the current operating context of the driver, passenger, and / or vehicle can be applied to one or more models to predict a subsequent selection of a vehicle user interface action from among multiple vehicle user interface actions available to the driver and / or passenger. In a particular implementation, such a prediction can be at least in part based on applying the characteristics indicating the current operating context of the driver, passenger, and / or vehicle to one or more prediction models. Such a prediction model can be at least in part based on parameters related to: at least one past vehicle user interface action requested by at least one driver (or passenger) of the associated vehicle, and characteristics of the observed past operating context of the driver, passenger, and / or vehicle that occurred simultaneously with the past requested vehicle user interface action. Then, the prediction of the subsequent selection of the vehicle user interface action can be used to drive the user interface to present selectable vehicle user interface actions.
[0028] Some specific implementations of artificial intelligence in UAP may employ computationally intensive methods, such as the application of neural network techniques, which require expensive hardware, consume a large amount of power from the vehicle's electrical system, and require exhaustive training over many training epochs / iterations. In one specific implementation, one or more processors (e.g., in combination with one or more memory devices) within the vehicle or communicating 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 passenger is currently operating the vehicle (hereinafter referred to as the "simultaneous context"), and generate a prediction of a future vehicle user interface action from among a plurality of available vehicle user interface actions. For example, one or more processors may execute instructions stored on one or more memory devices to determine the simultaneous context and generate a prediction of a future vehicle user interface action. In an embodiment, the "context" in which the driver and / or passenger is operating the vehicle or in which the vehicle is operating may refer to one or more situations, settings (e.g., time and / or location), conditions, or circumstances in which the driver and / or passenger is operating the vehicle or in which the vehicle is operating.
[0029] Such a prediction of a future vehicle context may be generated based at least in part on: features indicative of the simultaneous context; 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 passenger of the associated vehicle, and (ii) determined features of an observed past context that occurred simultaneously with at least one past driver and / or past passenger requesting at least one past vehicle user interface action, in which observed past context the associated vehicle was operating and / or at least one past driver and / or past passenger was operating the associated vehicle. In a particular specific implementation, the user interface may generate an output as part of the UAP based on the prediction of a future vehicle user interface action. In an embodiment, such a prediction may be an estimate of the likelihood that a driver or passenger will make a particular choice or take other action regarding the vehicle user interface in the future, or more specifically, may be an indication of what a particular vehicle user interface action may be in the future. The output generated by the user interface may anticipate a possible future vehicle user interface action and may be presented to the user (driver or passenger) without the user actually performing a vehicle user interface action.
[0030] In a specific implementation, a system including one or more memory devices and one or more processors coupled to the one or more memory devices that are inside or communicate with a vehicle can generate a prediction of future vehicle user interface actions by: determining parameters indicative of posterior probabilities of a plurality of available vehicle user interface actions, at least in part based on characteristics determined of a context in which the vehicle is currently operating and / or in which a past driver and / or past passenger was / were currently operating the vehicle; and generating a prediction of a future vehicle user interface action, at least in part based on the parameters indicative of the computed posterior probabilities of the plurality of available vehicle user interface actions. Such parameters indicative of posterior probabilities can be conditional on characteristics indicative of a simultaneous context, at least in part based on a Bayesian model. The parameters indicative of the posterior probabilities of the plurality of available vehicle user interface actions can be updated at least in part based on the prediction of the future vehicle user interface action and the actually observed vehicle user interface actions.
[0031] In another specific implementation, one or more processors inside or communicating with a vehicle can compute, for each available vehicle user interface action among a plurality of available vehicle user interface actions, a probability of characteristics of a simultaneous context; sum the computed probabilities for the current simultaneity, conditional on the plurality of available vehicle user interface actions; and determine parameters indicative of posterior probabilities, conditional on characteristics indicative of a simultaneous context, at least in part based on the summed computed probabilities.
[0032] In a specific implementation, for a particular user - selected action, the context in which the particular action occurs can be observed. In each instance of such a particular action, the weights associated with the context in which the particular action occurs are updated to determine the likelihood of that context. Additionally, by observing the number of times the user has selected the particular action independent of context, the associated weights for that particular action can be weighted to determine an associated prior. At least in part based on these two probabilities, the prior and the likelihood, Bayes' rule can be used to compute the posterior probability of that particular action given the simultaneous context. In a specific implementation, different models can be used to compute the posterior probability for each of a plurality of subsets of the simultaneous context. A weighted average of the computed posterior probabilities can be computed to determine the overall likelihood of selecting / taking the action given the simultaneous context.
[0033] According to an embodiment, the user interface is influenced based on a prediction of a future vehicle user interface action that is computed based on characteristics indicative of a simultaneous context; and the user action context parameters can enable simplification and / or reduction in the use of limited computing resources (e.g., hardware and power) of the vehicle without a significant loss of user interface performance. Thus, a particular specific implementation presents a technical improvement / solution to a technical problem.
[0034] Figure 1BFIG. 0 is a schematic diagram of a system 100 for predicting user interface actions according to an 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 embedded in 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 Figures 1B to 9 ). 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 taken by a driver and / or a passenger (e.g., related to entertainment, navigation, communication, or environmental control functions) and the “context” that occurs simultaneously with such specific user interface actions. Such a context may be characterized by one or more context attributes (such as time of day, day of the week, location, to name just a few context attributes that may characterize the context to occur simultaneously with a user interface action).
[0035] According to an embodiment, the integration 106 may create and / or update the model 110 based at least in part on context features 108 extracted by the feature extractor 104 from the events and / or conditions 102. In a particular implementation, the model 110 may be associated with different context attributes to be used when calculating the posterior probability 112.
[0036] In one example implementation, the model 110 may be used to predict a subsequent user interface action a to be taken by a user, such as selecting a specific radio station (e.g., a := “99.5 FM”), selecting a specific party to make a phone call to (e.g., a := “call mom”), or selecting a street address for a navigation route (e.g., a := “309 N Pastoria Ave”). According to an embodiment, the model 110 (for predicting the 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 passenger in the past and the context that existed when those actions were taken.
[0037] According to an embodiment, the feature extractor 104 may extract a context feature c from a raw context rc obtained from the conditions and / or events 102 according to the following expression (1):
[0038] c := extract_feature(rc). (1)
[0039] In a specific example where rc := (latitude, longitude, unix time), the feature extractor 104 can determine the extracted feature c as c := {time of day (TOD), day of the week (DOTW), grid location (LAT, LON)} according to expression (1). According to an embodiment, for a target set a0, a1, ..., a n , the prediction model can calculate the probabilities that a driver and / or a passenger can take the associated user interface actions, represented as (a0, pr(a0|c)), (a1, pr(a1|c)), …, (a n , pr(a n |c).
[0040] Figure 2 is a schematic diagram of a system 200 for extracting context features 216 from events and / or conditions 202 (such as by the feature extractor 104) according to an embodiment. The original context and the detected actions 202 may include the original context rc t and the action a t . The original context rc t can be further parsed and / or binned between and / or among the "buckets" for the context attributes 206, 208, 210, 212, and 214. Temporal context features can be further extracted at the buckets for the context attributes 206 and 208 of the time of day and the day of the week. Location context features can be further extracted at the buckets for the context attributes 210 and 212 in steps of 0.01.
[0041] Figure 3FIG. 0 is a schematic diagram of a system 300 for creating and / or updating a model for associating extracted contextual features (such as those extracted by feature extractor 204) with user interface actions, according to an embodiment. According to an embodiment, an associated integration 306 can be instantiated for each type of application, service, and / or function (e.g., entertainment / media, phone call / communication, and navigation trip). The integration 306 (e.g., for a particular service and / or function) can combine predictions from a group of multiple models 310, 320, 330, and 340 associated with different subsets of the extracted contextual features (e.g., associated with different contextual attributes such as time of day, day of week, location, etc., as shown). In a particular implementation, models 310, 320, 330, and 340 can also weight predictions of subsequent user actions at least in part based on an evaluated reliability. The reliability weights 312, 322, and 332 can be determined at least in part based on the evaluated accuracy of past predictions of user interface actions. In a particular example of system 300, the reliability weights 312, 322, and 332 can reflect the reliability of predicting a particular associated user interface action a conditioned on the extracted contextual features that are respectively associated with time (e.g., day of week and time of day) at model 310, location (e.g., latitude and longitude) at model 320, and time (e.g., day of week) at model 330. In Figure 3 the particular example illustrated, the repetition of "DAY_OF_WEEK" at 314 and 334 should be understood to characterize the context for two different models. According to an embodiment, the integration 306 can combine contributions from models 310, 320, 330, and 340 to optimize the overall prediction a for a particular associated service.
[0042] Figure 4 FIG. 6 is a schematic diagram of a system 400 for applying a model to extracted features to compute probabilities of user interface actions from a plurality of available user interface actions, according to an embodiment. According to an embodiment, system 400 can be implemented in a computing device 18 of a motor vehicle 10. The model 402 can include, for example Figure 3One or more features of the illustrated models 310, 320, 330, and / or 340. Model 402 can generate an expression of the conditional probability Pr(a|c) (e.g., the probability that a user performs a user interface action a in the presence of context c) at least in part based on calculations performed by observation manager 406 at block 404. For example, observation manager 406 can calculate a prior 410 and a likelihood 414 for action a in a given context. The prior 410 can be calculated based on the target action 412 (e.g., by adding a constant value to its weight in the case where the driver / passenger selects action a). After updating the weight associated with action a, the prior for Pr(a) can be calculated. Here, observation manager 406 can observe actions taken by the driver and / or passenger (e.g., specific enumerated user interface actions) to update the weights for each available user interface action, and thus generate probabilities based on previous user interface actions.
[0043] By adding a constant value to the weight associated with the context in which action a occurs, observation manager 406 can also calculate the likelihood 414, as the conditional probability Pr(c|a) (e.g., the probability of context c occurring concurrently with the driver and / or passenger performing user interface action a), at least in part based on context count 416. Here, observation manager 406 can observe the contexts that occur concurrently with the occurrence of the available user interface actions to update the weights of the observed contexts given the user interface action, and thus generate the likelihood of the occurrence of such contexts that occur concurrently with the available user interface actions. At least in part based on Pr(a) and Pr(c|a) calculated by observation manager 406, block 404 can apply Bayes' rule to calculate Pr(a|c). Additionally, reliability learner 408 can store beta distribution parameters for each available user interface action, and update such beta distribution parameters at least in part depending on whether the associated user interface action is accurately predicted by model 402, and return the mean of the distribution of the β parameters as the reliability weight of model 402 for that target action. By adding a constant value to the weight associated with the context in which action a has occurred each time, observation manager 406 can also calculate the likelihood 414, as the conditional probability Pr(c|a) (e.g., the probability of context c occurring concurrently with the driver and / or passenger performing user interface action a), at least in part based on context count 416.
[0044] According to an embodiment, the observation manager 406 can model conjugate weights based at least in part on a Dirichlet distribution for k-class observations: Dir(k, α). In a particular implementation, the observation manager 406 can employ a least recently used (LRU) cache with a finite capacity to track recent observations with associated Dirichlet weights. Such an LRU cache can discard the least recently used item according to the following expression (2):
[0045] LRU = {(c i , α i ), (c j , α j ), (c k , α k ), …, (c m , α m ), (c n , α n )}, (2)
[0046] Wherein:
[0047] c i is the earliest context observation;
[0048] α i is the Dirichlet weight to be applied to c i ;
[0049] c n is the latest context observation; and
[0050] α n is the Dirichlet weight to be applied to c n .
[0051] According to an embodiment, a decay rate γ can be applied to discount past driver and / or passenger behavior and emphasize recent driver and / or passenger behavior. In the example of expression (2), let c p be the context observation when the LRU cache of the observation manager 406 is at full capacity. If the entry for c p already exists in the LRU cache, the associated Dirichlet weight can be updated to α p → γα p + α, where 0 < α < 1. If c p is a new entry, then (c i , α i ) can be discarded from the LRU cache. Then, the weights of all other entries can be discounted by multiplying them by the decay rate γ: α j → γα jThe new Dirichlet weights can be assigned to c based at least in part on the previous Dirichlet weights α0→α p and then p The content of the LRU cache can be updated as shown in expression (3) below:
[0052] LRU = {(c j , α j ), (c k , α k ), …, (c m , α m ), (c n , α n ), (c p , α p )}. (3)
[0053] Figure 5 is a schematic diagram of the observation manager 500 applied to a scenario of an embodiment according to the observation manager 406( Figure 4 ). To determine Pr(a) based at least in part on previous observations, the observation manager 500 can observe each user interface action eligible as an available user interface action a (e.g., in the set of enumerated available user interface actions), update the associated weight α, and discount the weight in the LRU cache associated with other target actions. The previous LRU cache can list all the most recent user interface actions and corresponding weights. In Figure 5 a specific example, the observation manager 500 identifies the user interface actions "Call Mom" and "Call Dad". The observation manager 500 can observe the "Call Mom" event once at 8:00 am on Thursday and five times at 10:00 am on Thursday, thus providing an associated weight of 3.11 for the event "Call Mom". The observation manager 500 can also observe "Call Dad" three times at 10:00 am on Thursday, thus providing an associated weight of 1.575 for the event "Call Dad".
[0054] The observation manager 500 may further include a likelihood observer that, for each observation of an available user interface action, further observes the simultaneous context c o and updates the associated weight α of this simultaneous context in the LRU cache o。The Observation Manager 500 may also discount the Dirichlet weight α for contexts associated with other (e.g., past) observations of user interface actions in the LRU cache. According to an embodiment, the Observation Manager 500 may maintain a likelihood LRU cache for each available user interface action. Entries in the LRU cache may list the contexts associated with all recent observations of the user interface action, as well as the weights corresponding to the contexts associated with the most recent observations of the available user interface action. Figure 6 illustrates observations of user interface actions with initialized prior weight α p Example calculations of the likelihood weights of contexts associated with observations of user interface actions "Call Mom" and "Call Dad" based on observations of user interface actions with a prior weight α of 0.1. The Dirichlet weight α is initialized to / at 0.75, and the decay γ is initialized to / at 0.9. Here, for the user interface actions "Call Mom" and "Call Dad", the values of Pr(a) are calculated as 3.11 and 1.575, respectively.
[0055] According to an embodiment, for a given context c, block 404 ( Figure 4 ) may generate a conditional posterior probability Pr(a|c) for each available user interface action a. For example, given the prior values in the LRU cache, the weights for each available user interface action a may be normalized to obtain the associated Pr(a). Pr(c|a)×Pr(a) may be summed across all available user interface actions a to obtain the total probability Pr(c) for context c. Then, Pr(a|c) for the user interface action may be calculated using Bayes' rule according to the following expression (4):
[0056] Pr(a|c) = Pr(c|a)×Pr(a) / Pr(c). (4)
[0057] In a particular implementation, block 404 may return a list of user interface actions and the associated posterior probabilities Pr(a|c) for a given context c. Referring to Figure 5 and Figure 6 for a specific example, in the context of TOD = 10:00 AM and DOW = Thursday, the posterior probability of the event "Call Mom" may be calculated according to the following expression (5):
[0058] According to an embodiment, predictions of specific user interface actions generated by different models can be combined by taking an average. However, different models for predicting instances of a specific user interface action may have different associated accuracy levels and / or reliability levels. Thus, simply averaging the likelihood predictions of instances of a specific user interface action from different models may be skewed by likelihood predictions generated by relatively less reliable and / or less accurate models. In other words, averaging the likelihood predictions of instances of a specific user interface action from different models with different associated accuracies can result in an overall low-performance model for predicting instances of the specific user interface action.
[0059] According to an embodiment, a reliability learner 408 can facilitate an assessment of the reliability of models for predicting instances of a specific user interface action. Such an assessment of the reliability of a model can be at least partially based on past predictions made by those models when a specific user interface action is observed / detected. Based at least partially on such an assessment of reliability, likelihood predictions of different scenario models for a specific user interface action a can be weighted and combined to determine an overall likelihood prediction for the user interface action a.
[0060] According to an embodiment, the ability of a model m (e.g., model 402) to predict a specific user interface action a can be modeled as a random variable according to the following expression (6):
[0061] X m,a ~Beta(α,β). (6)
[0062] According to an embodiment, in the case where the model m correctly predicts the enumerated target action a, the parameter α in expression (6) can be increased according to expression (7), while β can be increased in some other way according to expression (8).
[0063] α := γα + δ a=pred (7)
[0064] β := γβ + δ a≠pred (8)
[0065] In expressions (7) and (8), δ a=pred and δ a≠predAre the increments to be applied in the cases where the target action a is correctly predicted and incorrectly predicted, respectively. In the case where the model m makes a prediction (correctly or incorrectly), both the parameters α and β can be discounted by the decay rate γ (e.g., to discount past behavior), and the updates are added directly. In a particular embodiment, the LRU cache implemented in the reliability learner (e.g., reliability learner 408) can have sufficient capacity to store the parameters of each of the multiple models and the associated beta distribution parameters (e.g., α and β of expression (6)). In an embodiment, the LRU cache can be used to store the results of the reliability learner as set forth in expressions (2) and (3). For the LRU cache set forth in expression (3), each element in the LRU cache can have a tuple of the associated model, and its beta distribution parameter is updated with each prediction. Such an LRU cache can also have a large enough capacity to accommodate a large number of models. By taking the average of the beta distribution parameters, the reliability weight of the model m can be quantified according to expression (9) below:
[0066]
[0067] Figure 7 Is a schematic diagram of an example calculation of the reliability weight of an associated model according to an embodiment. For example, for each of the established models 702, 704, and 706, the reliability weight can be calculated. In Figure 7In certain examples, models 1, 2, and 3 may be able to predict the user interface actions "Call Mom", "Call Dad", and "Call Z". Models 1, 2, and 3 may predict the actions based on the situational attributes Day_of_Week / Time_of_Day, latitude / longitude, and Day_of_Week respectively. In a particular illustrated example, the associated detected and actually observed vehicle user interface action may be "Call Z", while model 1 predicts "Call Mom", model 2 predicts "Call Dad", and model 3 predicts "Call Z" and "Call Mom". Since "Call Z" is among the predictions made by model 3, the reliability learner 706 associated with model 3 may add to the associated parameter α for model 3. For models 1 and 2, the associated reliability learners 702 and 704 may add to the associated parameter β because models 1 and 2 did not accurately predict the occurrence of "Call Z". The final reliability weights / parameters for models 1, 2, and 3 may be quantified as the average beta distribution for the associated models 1, 2, and 3. In this particular example, it should be noted that "Call Z" is the correct target action actually taken by the user, and the reliability learner 706 adds a positive weight to α for model 3 because the correctly predicted "Call Z" is among the predictions for model 3. Since "Call Z" is not among the predictions made by the other models 1 and 2, the associated negative weight β increases.
[0068] Figure 8 is a flowchart of a machine learning training process 800 according to an embodiment. Block 802 may include obtaining observations of events and / or conditions 102 or 202, including, for example, observed user interface actions and / or associated raw situations, from which situational features may be extracted (e.g., at the feature extractor 104). Block 804 may include binning the extracted situational features according to particular situational attributes (e.g., situational attributes 206, 208, 210, 212, and 214). Block 806 may include making a prediction of a particular user interface action based at least in part on applying the situational features binned at block 804 to a model m (such as applying the extracted and binned features to model 402). based at least in part on the prediction of a particular user interface action And associated detected and actually observed vehicle user interface actions, block 808 can update one or more reliability weights associated with model m. For example, block 808 can apply reliability learner 408 to determine updated reliability weights to be associated with model m according to expression (9). At block 810, after discounting older LRU events (e.g., according to expression (3)), the observation manager can be trained based on action a occurring in context c by updating the weight α associated with action a in the prior LRU cache and the weight α for context c in the likelihood LRU cache specific to action a.
[0069] Figure 9 Illustrates the calculation of the probability that a user performs a specific action conditioned on the extracted simultaneous context features according to an embodiment. Process 900 can calculate probability and / or likelihood 940 as a prediction of the occurrence of a specific user interface action in the presence of a specific context. In a particular implementation, probability and / or likelihood 940 can be calculated at least in part based on, for example, models 910, 920, and 930 trained and / or updated according to process 800. At block 904, the observation of the current raw context 902 can be processed to extract the features of the current context (e.g., using feature extractor 104). The extracted context features can be further binned according to feature attributes (e.g., as Figure 2 shown) for application to models 910, 920, and 930.
[0070] As shown, models 910, 920, and 930 can be adapted to calculate probabilities / likelihoods conditioned on specific context attributes of the current context. For example, model 910 can calculate the probability / likelihood of the occurrence of a specific action conditioned on the day of the week and / or the time of day, model 920 can calculate the probability / likelihood of the occurrence of a specific action conditioned on location, and model 930 can calculate the probability / likelihood of the occurrence of a specific action conditioned only on the day of the week. By applying Bayes' rule (e.g., via block 404), such posterior probabilities conditioned on respective context attributes can be calculated separately for each of models 910, 920, and 930, e.g., paired with reliability weights associated with (e.g., calculated according to expression (9)) at blocks 912, 922, and 932. Then, probability and / or likelihood 940 can be calculated as the overall probability / likelihood of the user action based on the current context according to expression (10).
[0071]
[0072] Thus, the denominator of expression (10) can be determined at least in part by summing the computed probabilities of features indicative of a simultaneous context, conditioned on a plurality of available vehicle user interface actions, to determine the summed computed probability. Stated another way, expression (10) can sum the computed probabilities of features indicative of one or more contexts. The predicted probability Pr(a|c) determined in expression (10) can be computed at least in part based on an established model weighted by a reliability weight of the computation. In a particular non-limiting example application of process 900, when the driver and / or passenger initiates the user interface action “call mom” in the user's lane (e.g., latitude = -122.1, longitude = 33.6) at 9:00 a.m. on Wednesday, models 910, 920, and 930 can be updated (e.g., from integration 306). The context features for time of day, day of week, latitude, and longitude can be separately extracted as morning, Wednesday, -12210, and 3360. Then, the parameters of models 910, 920, and 930 can be updated (e.g., by applying integration 306). In predicting the future time of the called party for a subsequent call, models 910, 920, and 930 can determine the posterior probability of the associated computation at least in part based on features extracted from the context of the future time, to be combined at block 940 to compute the probability that the target action “call mom” will occur.
[0073] Figure 10 is a flowchart of process 1100 for determining a service code based on an electronic document according to an embodiment. Block 1102 can include determining features indicative of a simultaneous context. As used herein, “context” should be understood to mean a “situation” or “circumstance” that can indicate and / or can affect the selection preferences of a driver and / or passenger. Block 1102 can obtain features indicative of a simultaneous context as extracted by system 200( Figure 2 )). As described herein, such features of a context (e.g., time of day, day of week, location, etc.) can predict the selection preferences of a driver and / or passenger. However, it should be understood that these are merely examples of context attributes that can characterize a simultaneous context, and the claimed subject matter is not limited in this respect.
[0074] Block 1104 can include determining a predicted future vehicle user interface action (e.g., a selection of an entertainment option, a called party, and / or a climate control option) from a plurality of available interface actions. In a particular implementation, such available interface actions can be enumerated as the available vehicle user interface actions discussed above. According to an embodiment, block 1104 can predict a future vehicle user interface action according to a posterior probability Pr(a|c) that is computed according to as Figure 9calculated by the Bayesian model shown at block 940. For example, block 1104 may include generating a posterior probability of such a calculation based at least in part on features indicative of a simultaneous context extracted as at block 1102. Block 1104 may also perform a fundamental calculation of such a posterior probability based on applying the features extracted at block 1102 to user action context parameters (such as user action context parameters implemented in models 910, 920, and / or 930). In an implementation, user action context parameters may be parameters that describe the context in which a user action occurs. For example, 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 passenger of an associated vehicle, and (ii) identified features of an observed past context (such as time of day, day of the week, location) that occurred simultaneously with at least one past driver and / or past passenger requesting at least one past vehicle user interface action, in which the associated vehicle was operating and / or at least one past driver and / or past passenger was operating the associated vehicle. 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 passenger (such as at least one past driver and / or past passenger of an associated vehicle). For example, the parameters defining models 910, 920, and / or 930 may be determined by one or more integrated operations (such as integration 306( Figure 3 )) to determine.
[0075] Block 1106 may include providing a signal to a user interface to present options to a driver and / or passenger based at least in part on one or more predictions determined at block 1104. For example, block 1106 may cause an output device (such as a visual or audio output device) to present one or more selectable options based at least in part on the predictions determined at block 1104.
[0076] In some scenarios, dynamic conditions may affect and / or change the particular context that is the basis for the prediction determined at block 1104. Accordingly, process 1100 may generate an updated prediction at least in part based on updated parameters that reflect such a context change. According to an implementation, after generating a prediction at block 1104, process 1100 may collect and / or receive 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. Additionally, process 1100 may also determine whether a predetermined amount of time (e.g., ten seconds) has elapsed since the prediction was generated at block 1104. In response to such a determination that a predetermined amount of time has elapsed, an update to the prediction of future vehicle interface actions may be generated. Then, a signal may be provided to the user interface to present an update of options to the driver and / or passenger at least in part based 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 at least in part based on the updated prediction.
[0077] Unless otherwise indicated, in the context of this patent application, the term “or” (when used in connection with a list such as A, B, or C) is intended to mean “A, B, and C” (used here in an inclusive sense), as well as “A, B, or C” (used here in an exclusive sense). Under this understanding, “and” is used in an inclusive sense and is intended to mean A, B, and C; while “and / or” may be used sparingly to clearly indicate that all of the foregoing meanings are intended, although such usage is not required. Additionally, 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, and / or similar items and / or some other combination of features, structures, characteristics, and / or similar items. Similarly, the term “based on” and / or similar terms are understood to not necessarily be intended to convey an exhaustive list of factors, but to allow for the presence of additional factors that may not be explicitly described.
[0078] The terms "corresponding", "referencing", "associating", and / or similar terms relate to signals, signal samples, and / or states (e.g., components of a signal measurement vector) that can be stored in a memory and / or used in conjunction with operations to generate results that are at least partially dependent on the aforementioned signal samples and / or signal sample states. For example, a signal sample measurement vector can be stored in a memory location and further referenced, where such referencing can be embodied and / or described as a stored relationship. The stored relationship can be employed, for example, by associating (e.g., correlating) one or more memory addresses with one or more other memory addresses and can facilitate operations that at least partially involve combinations of signal samples and / or states stored in the memory, such as for processing by a processor and / or similar device. Thus, in a particular context, "associating", "referencing", and / or "corresponding" can, for example, refer to an executable process of accessing the memory contents of two or more memory locations, e.g., to facilitate the execution of one or more operations between signal samples and / or states, where one or more results of the one or more operations can likewise be used for additional processing (such as in other operations) or can be stored in the same or other memory locations as may be guided, for example, by executable instructions. Additionally, the terms "acquire" and "read" or "store" and "write" should be understood as interchangeable terms for the respective operations, e.g., a result can be acquired (or read) from a memory location; likewise, a result can be stored (or written to) a memory location.
[0079] With the advancement of technology, it has become more typical to employ distributed computing and / or communication methods, where, for example, portions of a process, such as the signal processing of signal samples, can be distributed among various devices including one or more client devices and / or one or more server devices via a computing and / or communication network. The network can include two or more devices such as network devices and / or computing devices, and / or can couple devices such as network devices and / or computing devices such that signal communication in the form of, for example, signal packets and / or signal frames (e.g., including one or more signal samples) can be exchanged, for example, between server devices and / or client devices and other types of devices, including, for example, between wired and / or wireless devices coupled via wired and / or wireless networks.
[0080] In addition, in the context of the present patent application, the term "parameter" (e.g., one or more parameters) refers to materials that describe a set of signal samples, such as one or more electronic documents and / or electronic files, and exist in the form of physical signals and / or physical states (such as, memory states). For example, one or more parameters (such as those referring to an electronic document and / or electronic file including an image) can include, for example, the time of day when the image was captured, the latitude and longitude of the image capture device (such as a camera), etc. In another example, one or more parameters related to digital content (such as digital content including a technical article) can include, for example, one or more authors. The claimed subject matter is intended to encompass meaningful descriptive parameters in any format, as long as the one or more parameters include physical signals and / or states. As examples of parameters, these descriptive parameters can include: collection name (e.g., electronic file and / or electronic document identifier name), creation technology, creation purpose, creation time and date, logical path (if stored), encoding format (e.g., type of computer instructions, such as markup language), and / or standards and / or specifications that are used to be compliant (e.g., meaning substantially compliant and / or substantially compatible) with a protocol for one or more uses, and so on.
[0081] In one example implementation, as Figure 11 shown, network 1808 can include one or more network connections, links, processes, services, applications, and / or resources to facilitate and / or support communication, such as, for example, 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 can 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 can include an electronic control unit (ECU), a motor control unit (MCU), a hybrid control unit (HCU), a host unit, a telematics control unit (TCU), to name just a few examples. Additionally, by way of example and not limitation, network 1808 can include wireless and / or wired communication links or signaling buses or any combination thereof to facilitate communication between and / or among embedded devices.
[0082] According to an implementation, electronic computing device 18( Figure 1A) may be implemented, at least in part, by the features of the second computing device 1804. Thus, the second computing device 1804 may be integrated with the motor vehicle (e.g., as the electronic computing device 18) to execute the UAP model that controls portions of the user interface of the motor vehicle 10. In a particular implementation, the second computing device 1804 may execute instructions stored on the computer-readable medium 1840 to perform all or part of process 900 to determine the probability and / or likelihood 940 as a prediction of the occurrence of a particular user interface action in the presence of a particular situation. In one particular implementation, the parameters of the inference model for performing process 900 (e.g., for determining the probability and / or likelihood 940) may be determined based on the execution by the second computing device 1804 of the instructions stored on the computer-readable medium 1840, based on the execution of process 800. Here, for example, process 800 may be performed at least in part based on the observation of user actions and the observation of the situation (e.g., at least in part based on the signals generated by the sensors 1834).
[0083] In another particular implementation, process 900 may be performed by the second computing device 1804 (e.g., the electronic computing device 18 that implements the determination of the probability and / or likelihood 940), while process 800 for training the parameters of process 900 may be performed by the first computing device 1802 (e.g., the server that implements the communication with the computing device 18). For example, the observations of user actions and the situation may be collected locally at the second computing device 1804 (e.g., at the electronic computing device 18 integrated with the motor vehicle 10) and sent to the first computing device 1802 via the network 1808. Based at least in part on such observations of user actions and the situation received from the second computing device 1804, the first computing device 1802 may perform process 800 to determine / update the parameters of process 900 to be sent back to the second computing device 1804.
[0084] In an implementation, Figure 11 the example devices in may include the features of, for example, a client computing device and / or a server computing device. In a particular implementation, Figure 11Embodiment 1800 may be integrated with one or more motor vehicle subsystems, such as, by way of example only, an entertainment subsystem, an environmental control subsystem, a communication subsystem, an autonomous navigation subsystem. For example, portions of embodiment 1800 may be integrated with a “host unit” to perform functions, for example, that may be controlled by a driver and / or passenger via user interface actions. It should also be noted that the term “computing device” generally refers to at least a processor and a memory connected via a communication bus, whether used as a client and / or server or otherwise. For example, a “processor” is understood to represent a particular structure, such as a central processing unit (CPU) of a computing device that may include a control unit and an execution unit. In one aspect, a processor may include a device that obtains, interprets, and executes instructions to process input signals to provide output signals. Thus, at least in the context of this patent application, a computing device and / or a processor are understood to refer to a sufficient structure within the meaning of 35 USC § 112(f) such that 35 USC § 112(f) is not specifically intended to be implied by the use of the terms “computing device,” “processor,” and / or similar terms; however, if for some reason not immediately apparent it is determined that the foregoing understanding does not hold and thus 35 USC § 112(f) is necessarily implied by the use of the terms “computing device,” “processor,” and / or similar terms, then in accordance with that statutory section, the corresponding structure, materials, and / or acts for performing one or more functions are intended to be understood and interpreted as being described at least in FIGS. 1 to Figure 10 and in the text associated with the foregoing figures of this patent application.
[0085] Now refer to Figure 11, in an embodiment, the first device 1802 and the 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 a network device and / or a computing device, such that a user operator (e.g., a vehicle driver and / or passenger) may participate in system usage. For example, such a GUI may be configured to receive and / or respond to user interface actions initiated by the vehicle or the passenger. The input / output device 1832, in combination with the processes executed by the processing unit 1802, may be configured to provide such a GUI. The sensor 1834 may include any of several types of sensors capable of providing a signal indicative of an observation of a physical phenomenon. The sensor 1834 may include sensors capable of observing the operating state of a machine (such as the operating state of a motor vehicle). The sensor 1834 may also include one or more environmental sensors, such as a thermometer, an altimeter, a light sensor, a camera, a microphone, a radar, to name just a few examples. The sensor 1834 may include signal processing electronics, such as analog filters, samplers, etc., capable of providing a signal indicative of the observation to be processed by the processes executed on the processing unit 1820. In a particular embodiment, such signals generated by the sensor 1834 may provide observations to be binned and applied to the probability model as discussed above for the raw context rc t . In Figure 11 the depicted embodiment 1800, the computing device 1802 (the "first device" in the figure) may dock with the computing device 1804 (the "second device" in the figure), which in an embodiment may also include, for example, features of a client computing device and / or a server computing device. The processor (e.g., processing device) 1020 and the memory 1822 (which may include a main memory 1824 and a secondary memory 1826) may communicate, for example, via a communication bus 1815. The term "computing device" in this patent application refers to a system and / or device that includes the ability to process (e.g., perform calculations) and / or store digital content in the form of signals and / or states (such as electronic files, electronic documents, measurements, text, images, videos, audio, etc.), such as a computing device. Thus, in the context of this patent application, a computing device may include hardware, software, firmware, or any combination thereof (except software itself ). The computing device 1804 depicted in Figure 11 is only one example, and the scope of the claimed subject matter is not limited to that particular example.
[0086] As noted above, according to an embodiment, the electronic computing device 18( Figure 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), a telematics control unit (TCU), a host unit, a regional controller, a domain controller, etc., embedded in the motor vehicle 10 and configured to perform all or part of process 900 (e.g., to determine probabilities and / or likelihoods 940). In one particular implementation, such a device embedded in the motor vehicle 10 may also perform process 800 to at least partially train the parameters of process 900 based at least in part on observations of the context and / or user actions collected at the sensors of the motor vehicle 10. In another implementation, the parameters of process 900 to be performed by such a device embedded in the motor vehicle 10 may be trained by a server device removed from the motor vehicle 10 (e.g., a first computing device 1802 of a server configured to communicate with the device embedded in the motor vehicle 10 via the network 1808).
[0087] In one implementation, computer-readable instructions (e.g., stored on a computer-readable medium 1840) executed by the processing unit 1820 may implement, at least in part, all or part of the observation managers 114, 406, and / or 500, the integration 306, the reliability learner 116, process 800, and / or process 900 (to name just a few examples). In another implementation, the features of the observation managers 114, 406, and / or 500, the integration 306, the reliability learner 116, process 800, and / or process 900 may be shared among multiple computing devices. For example, the features of the observation managers 114, 406, and / or 500, the integration 306, the reliability learner 116, process 800, and / or process 900 may be implemented, in part, by executing computer-readable instructions by the computing device 1804 (e.g., where the computing device 1804 will implement the computing device 18 in the motor vehicle 10) and the computing device 1802 (e.g., where the computing device 1802 is in a "cloud" server coupled to the electronic computing device 18 via the network 1808).
[0088] For one or more embodiments, a device such as a computing device and / or a networking device may include any of a variety of digital electronic devices, including but not limited to desktop computers and / or laptop 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 foregoing. Additionally, unless otherwise specifically stated, processes such as those referenced in flowcharts and / or otherwise described may also be performed and / or affected, in whole or in part, by a computing device and / or a network device. Devices such as computing devices and / or network devices may vary in capabilities and / or features. The claimed subject matter is intended to cover a wide range of potential variations. For example, a device may include a numeric keypad and / or other displays of limited functionality, such as 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 of a higher degree of functionality, such as a touch-sensitive color 2D or 3D display.
[0089] As previously suggested, communication between a computing device and / or a network device and a wireless network may occur according to known and / or to-be-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). A computing device and / or a networking device may also have a subscriber identity module (SIM) card, which may include, for example, a removable or embedded smart card capable of storing a user's subscription content and / or also capable of storing a contact list. However, note that a SIM card may also be electronic, meaning that it may simply be stored in a specific location in the memory of a computing and / or networking device. A vehicle driver and / or passenger may operate a computing device and / or a network device, or may also be a user, such as a primary user. A wireless network operator, a wired network operator, and / or an Internet service provider (ISP) may assign an address to the device. For example, an address may include a domestic or international telephone number, an Internet protocol (IP) address, and / or one or more other identifiers. In other embodiments, a computing and / or communication network may be embodied as a wired network, a wireless network, or any combination thereof.
[0090] A computing and / or network device may include and / or execute various currently known and / or to-be-developed operating systems, their derivatives, and / or versions, including computer operating systems (such as Windows, iOS, Linux), mobile operating systems, etc. The computing device and / or network device 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 (such as content) may be transmitted, such as via one or more protocols (currently known and / or to-be-developed, suitable for the transmission of 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 device may also include executable computer instructions for processing and / or transmitting digital content (such as text content, digital multimedia content, etc.).
[0091] In Figure 11 , the computing device 1804 may provide a source of one or more executable computer instructions, for example, in the form of a physical state and / or signal (such as stored in a memory state). The computing device 1802 may communicate with the computing device 1804, for example, via a network connection (such as via network 1808). As previously mentioned, although the connection is physical, it may not necessarily be tangible. Although Figure 11 the computing device 1804 shown has various tangible physical components, the claimed subject matter is not limited to computing devices having only these tangible components, as other specific implementations and / or embodiments may include alternative arrangements that operate differently in achieving similar results, and these alternative arrangements may include additional tangible components or fewer tangible components. Instead, the examples are provided only for illustration. It is not intended to limit the scope of the claimed subject matter to the illustrative examples.
[0092] The memory 1822 may include any non-transitory storage mechanism. The memory 1822 may include, for example, a main memory 1824 and a secondary memory 1826, and additional memory circuits, mechanisms, or combinations thereof may be used. The memory 1822 may include, 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 just a few examples).
[0093] The memory 1822 can be used to store programs of executable computer instructions. For example, the processor 1820 can obtain executable instructions from the memory and continue to interpret and execute the obtained instructions. The memory 1822 can also include a memory controller for accessing a device-readable medium 1840 (e.g., including a non-transitory storage medium), which can carry digital content and / or make digital content accessible, and the digital content can include, for example, code and / or instructions executable by the processor 1820 and / or some other device capable of executing, such as computer instructions (such as a controller, as an example). Under the guidance of the processor 1820, a non-transitory memory (such as a memory cell storing a physical state (e.g., a memory state)) including, for example, a program of executable computer instructions can be executed by the processor 1820 and can generate signals to be transmitted via, for example, a network, as previously described. The generated signals can also be stored in the memory, as also previously mentioned. In a particular embodiment, the processor 1820 can include, for example, a general-purpose processing core and / or a dedicated co-processing core (e.g., a signal processor, a graphics processing unit (GPU), and / or a neural network processing unit (NPU)).
[0094] The memory 1822 can store electronic files and / or electronic documents related to one or more users, and can also include a computer-readable medium, which can carry content and / or make content accessible, and the content includes, for example, code and / or instructions executable by the processor 1820 and / or some other device capable of executing, such as computer instructions (such as a controller, as an example). As previously mentioned, the terms electronic file and / or the term electronic document are used throughout the document to refer to a set of stored memory states and / or a set of physical signals that are related in some way so as to form an electronic file and / or an electronic document thereby. That is, no implicit reference is meant to a particular syntax, format, and / or method used, for example, with respect to a set of related memory states and / or a set of related physical signals. It should also be noted that the association of memory states can be, for example, in a logical sense, rather than necessarily in a tangible, physical sense. Thus, in an embodiment, although the signal and / or state components of an electronic file and / or an electronic document are logically related, their storage can, for example, reside in one or more different locations in a tangible physical memory.
[0095] Algorithmic descriptions and / or symbolic representations are examples of techniques used by ordinary artisans in the signal processing and / or related arts to convey the substance of their work to other artisans in the art. In the context of this patent application, an algorithm is generally considered to be a self-consistent sequence of operations and / or the like that result in a desired outcome. In the context of this patent application, operations and / or processes involve the physical manipulation of physical quantities. Typically, though not necessarily, such quantities may take the form of electrical and / or magnetic signals and / or states that can be stored, transmitted, combined, compared, processed, and / or otherwise manipulated, such as electrical signals and / or states that are components of various forms of digital content (such as signal measurements, text, images, video, audio, etc.).
[0096] For primarily common reasons, it has proven convenient at times to refer to such physical signals and / or physical states as bits, service codes, tokens, computed likelihoods, values, elements, parameters, symbols, characters, items, numbers, numerical values, measurements, content, etc. However, it should be understood that all such and / or similar terms are associated with appropriate physical quantities and are merely convenient labels. Unless otherwise specifically stated, as is apparent from the foregoing discussion, it should be understood that throughout this specification, discussions using terms such as "processing," "computing," "calculating," "determining," "establishing," "obtaining," "identifying," "selecting," "generating," etc. can refer to the actions and / or processes of a particular apparatus (such as a special-purpose computer and / or similar special-purpose computing and / or network device). Thus, in the context of this specification, a special-purpose computer and / or similar special-purpose computing and / or network device can process, manipulate, and / or transform signals and / or states that are typically in the form of physical electrical and / or magnetic quantities within the memory, registers, and / or other storage devices, processing devices, and / or display devices of the special-purpose computer and / or similar special-purpose computing and / or network device. In the context of this particular patent application, as mentioned, the term "particular apparatus" thus includes general-purpose computing and / or network devices (so long as they are programmed to perform specific functions such as in accordance with program software instructions), such as general-purpose computers.
[0097] In some cases, operations of a memory device, such as a change in state from binary one to binary zero or from binary zero to binary one, may include a transition, such as a physical transition. For a particular type of memory device, such a physical transition may include a physical transition of an article to a different state or thing. By way of example and not limitation, for some types of memory devices, a change in state may involve the accumulation and / or storage of charge or the release of stored charge. Similarly, in other memory devices, a change in state may include a physical change, such as a change in magnetic orientation. Also, a physical change may include a change in molecular structure, such as a transition from a crystalline form to an amorphous form or from an amorphous form to a crystalline form. In still other memory devices, a change in physical state may involve quantum mechanical phenomena, such as superposition, entanglement, and / or the like, e.g., the quantum mechanical phenomena may involve qubits. The foregoing is not intended to be an exhaustive list of all examples in which a change in state from binary one to binary zero or from binary zero to binary one in a memory device may include a transition, such as a physical but non-transitory transition. Rather, the foregoing is intended as illustrative examples.
[0098] Referring again to Figure 11 , the processor 1820 may include one or more circuits, such as digital circuits, to perform at least a portion of a computational procedure and / or process. By way of example and not limitation, the processor 1820 may include one or more processors, such as a controller, a microprocessor, a microcontroller, an application specific integrated circuit, a GPU, an NPU, a digital signal processor, a programmable logic device, a field programmable gate array, etc., or any combination thereof. In various embodiments and / or implementations, the processor 1820 may generally perform signal processing substantially in accordance with acquired executable computer instructions, such as to manipulate signals and / or states, construct signals and / or states, etc., where the signals and / or states generated in this manner are transmitted and / or stored, e.g., in a memory.
[0099] Figure 11 The device 1804 is also illustrated as including, for example, components 1832 that may operate with input / output devices such that signals and / or states may be appropriately transmitted between devices, such as between the device 1804 and an input device and / or between the device 1804 and an output device. A user may use an input device, such as a computer mouse, a stylus, a trackball, a microphone, a scanner, a keyboard, and / or any other similar device capable of receiving a user action and / or movement as an input signal. Similarly, for a device having voice-to-text capabilities, a user may speak to the device to generate an input signal. A user may use an output device, such as a display, a printer, etc., and / or any other device capable of providing a signal and / or generating a stimulus, such as a visual stimulus, an audio stimulus, and / or other similar stimuli, to the user.
[0100] In the foregoing description, various aspects of the claimed subject matter have been described. For purposes of explanation, details have been set forth as examples, such as amounts, 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. Although certain features have been illustrated and / or described herein, many modifications, substitutions, changes, and / or equivalents will now occur to those skilled in the art. Accordingly, it is to be understood that the appended claims are intended to cover all modifications and / or changes falling within the scope of the claimed subject matter.
Claims
1. A system to be disposed in a vehicle, the system comprising: One or more memory devices; And One or more processors coupled to the memory devices, the one or more processors configured to: Determine features indicative of a context in which the vehicle is currently operating and / or a context in which a driver and / or a passenger is currently operating the vehicle; Generate a prediction of future vehicle user interface actions from a plurality of available vehicle user interface actions, wherein the prediction is 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 the passenger is currently operating the vehicle; And User action context parameters related to: (i) at least one past vehicle user interface action requested by at least one past driver and / or past passenger of an associated vehicle, and (ii) determined features of an observed past context that occurred simultaneously with the at least one past driver and / or past passenger requesting the at least one past vehicle user interface action, in the observed past context, the associated vehicle was operating and / or the at least one past driver and / or past passenger was operating the associated vehicle; And Cause an output to be generated by a user interface in the vehicle based on the prediction of the future vehicle user interface actions.
2. The system according to claim 1, wherein the one or more processors are further configured to: Determine parameters indicative of posterior probabilities of the plurality of available vehicle user interface actions, respectively, at least in part based on the determined features of the context in which the vehicle is currently operating and / or the context in which the past driver and / or past passenger is currently operating the vehicle; and Generate the prediction of the future vehicle user interface actions at least in part based on the parameters indicative of the computed posterior probabilities of the plurality of available vehicle user interface actions.
3. The system according to claim 2, wherein the parameters indicative of posterior probabilities are conditioned 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 the passenger is currently operating the vehicle, based on a Bayesian model.
4. The system according to claim 3, wherein the one or more processors are further configured to: Update the parameters indicative of the posterior probabilities of the plurality of available vehicle user interface actions at least in part based on the prediction of the future vehicle user interface actions and actual observed vehicle user interface actions.
5. The system according to claim 4, wherein the one or more processors are further configured to: For each available vehicle user interface action of the plurality of available vehicle user interface actions, compute a probability of the features indicative of the context in which the vehicle is currently operating and / or the context in which the driver and / or the passenger is currently operating the vehicle; Sum the calculated probabilities of the features indicative of the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, conditioned on the plurality of available vehicle user interface actions; And Determine the parameter indicative of the posterior probability, at least in part based on the summed calculated probabilities, the parameter being conditioned on the features indicative of the situation in which the vehicle is currently operating or the situation in which the driver and / or the passenger is currently operating the vehicle.
6. The system according to claim 5, wherein the one or more processors are further configured to: Identify a plurality of situational attributes indicative of the features of the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle; Build a model for each of the plurality of situational attributes of the features of the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle; and Determine the calculated probability indicative of the features of the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, at least in part based on the models of the situational attributes indicative of the features of the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, conditioned on the plurality of available vehicle user interface actions.
7. The system according to claim 6, wherein the one or more processors are further configured to: For each built model, calculate a reliability weight, at least in part based on past predictions and associated detected actual observed vehicle user interface actions; and For at least one of the plurality of available vehicle user interface actions, determine the predicted probability of at least one of the plurality of available vehicle user interface actions, at least in part based on the sum of the probabilities based on the built models weighted according to the calculated reliability weights.
8. The system according to claim 1, and the system further comprises: One or more sensors, Wherein the one or more processors are further configured to: Determine the features indicative of the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, at least in part based on signals from the one or more sensors.
9. A method, the method comprising: Determine, by one or more processors in or communicating with a vehicle, features indicative of the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle; Generate a prediction of a future vehicle user interface action from the one or more processors from a plurality of available vehicle user interface actions, wherein the prediction is generated at least in part based on: The characteristics indicating the situation in which the vehicle is currently operating or the situation in which the driver and / or the passenger is currently operating the vehicle; And User action context parameters, the user action context parameters being related to: (i) at least one past vehicle user interface action requested by at least one past driver and / or past passenger of an associated vehicle, and (ii) identified characteristics of an observed past situation that occurred simultaneously with the at least one past driver and / or past passenger requesting the at least one past vehicle user interface action, in the observed past situation, the associated vehicle was operating and / or the at least one past driver and / or past passenger was operating the associated vehicle; And Cause the user interface in the vehicle to generate an output based on the prediction of the future vehicle user interface action.
10. The method according to claim 9, wherein generating the prediction of the future vehicle user interface action further comprises: Determine parameters indicating posterior probabilities of the plurality of available vehicle user interface actions, at least in part based on the identified characteristics of the situation in which the vehicle is currently operating and / or the situation in which the past driver and / or past passenger is currently operating the vehicle, respectively, and Generate the prediction of the future vehicle user interface action, at least in part based on the parameters indicating the calculated posterior probabilities of the plurality of available vehicle user interface actions.
11. The method according to claim 10, wherein the parameters indicating the posterior probabilities are conditioned at least in part on the characteristics indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, based on a Bayesian model.
12. The method according to claim 10, and the method further comprises: Update the parameters indicating the posterior probabilities of the plurality of available vehicle user interface actions, at least in part based on the prediction of the future vehicle user interface action and the actually observed vehicle user interface actions.
13. The method according to claim 10, and the method further comprises: For each available vehicle user interface action of the plurality of available vehicle user interface actions, calculate the probability of the characteristics indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle; Sum the calculated probabilities of the characteristics indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, conditioned on the plurality of available vehicle user interface actions; And Determine the parameter indicating the posterior probability, at least in part, based on the summed calculated probability, the parameter being conditioned on the feature indicating the situation in which the vehicle is currently operating or the situation in which the driver and / or the passenger is currently operating the vehicle.
14. The method according to claim 13, and the method further comprises: Identify a plurality of situational attributes of the feature indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle; Build a model for each of the plurality of situational attributes of the feature indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle; and Determine the calculated probability of the feature indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, at least in part, based on the model of the situational attributes of the feature indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle, conditioned on the plurality of available vehicle user interface actions.
15. The method according to claim 14, and the method further comprises: For each built model, calculate a reliability weight, at least in part, based on past predictions and associated detected actual observed vehicle user interface actions; And For at least one of the plurality of available vehicle user interface actions, determine the predicted probability of at least one of the plurality of available vehicle user interface actions, at least in part, based on the sum of the probabilities based on the built models weighted by the calculated reliability weights.
16. The method according to claim 9, and the method further comprises determining, at least in part, based on signals from one or more sensors, the feature indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle.
17. An article of manufacture, the article of manufacture comprising: A non-transitory storage medium, the non-transitory storage medium comprising computer-readable instructions stored thereon, the instructions being executable by one or more processors to: Determine the feature indicating the situation in which the vehicle is currently operating and / or the situation in which the driver and / or the passenger is currently operating the vehicle; Generate a prediction of a future vehicle user interface action from a plurality of available vehicle user interface actions, wherein the prediction is generated at least in part based on: The feature indicating the situation in which the vehicle is currently operating or the situation in which the driver and / or the passenger is currently operating the vehicle; And A user action context parameter, the user action context parameter being related to: (i) at least one past vehicle user interface action requested by at least one past driver and / or past passenger of an associated vehicle, and (ii) identified characteristics of an observed past context that occurred simultaneously with the at least one past driver and / or past passenger requesting the at least one past vehicle user interface action, in the observed past context, the associated vehicle being in operation and / or the at least one past driver and / or past passenger being in operation of the associated vehicle; and cause a user interface in the vehicle to generate an output based on the prediction of the future vehicle user interface action.
18. The article of claim 17, wherein the instructions are further executable by the one or more processors to: determine parameters indicative of posterior probabilities of the plurality of available vehicle user interface actions, respectively, at least in part based on the identified characteristics of the context in which the vehicle is currently in operation and / or in which the past driver and / or past passenger is currently in operation of the vehicle, and generate the prediction of the future vehicle user interface action at least in part based on the parameters indicative of the computed posterior probabilities of the plurality of available vehicle user interface actions.
19. The article of claim 18, wherein the parameters indicative of the posterior probabilities are conditioned at least in part on a Bayesian model on the characteristics indicative of the context in which the vehicle is currently in operation or in which the driver and / or the passenger is currently in operation of the vehicle.
20. The article of claim 17, wherein the instructions are further executable by the one or more processors to: receive updated characteristics indicative of the context in which the vehicle is currently in operation and / or in which the driver and / or the passenger is currently in operation of the vehicle; determine whether a predetermined amount of time has elapsed since the prediction was generated; and in response to determining that the predetermined amount of time has elapsed since the prediction was generated, generate an updated prediction based on the updated characteristics.