VIRTUAL ENVIRONMENT MODIFICATIONS BASED ON USER BEHAVIOR OR CONTEXT
A topic detection model in virtual environments adjusts the user's experience based on their interests, addressing the lack of awareness of relevant conversations, thereby improving the immersion and interaction quality.
Patent Information
- Application Number
- DE102024134433
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-22
- Filing Date
- 2024-11-22
- Publication Date
- 2025-06-26
AI Technical Summary
Current immersive virtual environments fail to leverage users' personal areas of interest to enhance the 'cocktail party effect', where users are not made aware of conversations that may be of interest to them, leading to a suboptimal user experience.
Implementing a topic detection model that uses a user's behavior and context to modify the virtual environment, highlighting or amplifying elements of interest, such as conversations or visual elements, while reducing irrelevant noise or content.
Enhances the user experience by making users more aware of relevant discussions or content, providing a more natural and seamless interaction within virtual environments.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUNDCurrently, immersive virtual environments (e.g., Metaversse ®, Microsoft Teams, ® or Spatial ®) environments are becoming more powerful and popular, both in recreational and professional use. However, there is an important gap in the user experience that is not closed by present solutions; i.e., the users may not be alerted to environmental entertainment that may be of interest to themBRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates an example system implementing a virtual environment according to embodiments of the present disclosure. FIG. 2 illustrates a block diagram of system components for implementing a virtual environment, in accordance with embodiments of the present disclosure. FIG. 3 illustrates aspects of an example virtual environment modified based on user behavior or context, according to embodiments of the present disclosure. FIG. 4 illustrates a flowchart of an example process for modifying a virtual environment based on user behavior or context, according to embodiments of the present disclosure. FIG. 5 illustrates a simplified block diagram of a computing device into which aspects of the present disclosure may be incorporated. FIG. 6 is a block diagram of computing device components that may be included in a mobile computing device incorporating aspects of the present disclosure. FIG. 7 is a block diagram of an example processor unit that may execute instructions.DETAILED DESCRIPTIONIn the following description, specific details are set forth, but aspects of the technologies described herein may be practiced without these specific details. Known circuits, structures, and techniques have not been shown in detail to avoid obscuring an understanding of this specification. "An embodiment," "various embodiments," "some embodiments," and the like may include features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics.Some embodiments may include some, all, or none of the features described for other embodiments. "First / r / s", "second / r / s", "third / r / s", and the like, describe a common object and indicate that reference is made to different instances of like objects. Such adjectives do not imply that objects so described must be in a given order, neither temporally, spatially, in ranking, or in any other manner. "Connected" may indicate that elements are in direct physical or electrical contact with each other and "coupled" may indicate that elements are cooperating or interacting with each other, but may or may not be in direct physical or electrical contact. Terms modified by the word "substantially" include arrangements, orientations, spacings, or positions that differ slightly from the meaning of the unmodified term. For example, a description of a lid of a mobile computing device that can rotate substantially 360 degrees with respect to a base of the mobile computing device includes lids that can rotate within multiple degrees of 360 degrees with respect to a device base.The description may use phrases "in one embodiment," "in embodiments," "in some embodiments," and / or "in various embodiments," each of which may refer to one or more of the same or different embodiments. Further, the terms "comprising", "comprising", "having", and the like, as used in relation to aspects of the present disclosure, are synonymous.Reference is now made to the drawings, which are not necessarily drawn to scale, wherein like or like numerals may be used to designate like or like parts in different figures. The use of similar or equal numbers in different figures does not mean that all figures comprising similar or equal numbers represent a single or same embodiment. Like numbers having different letter suffixs may represent different instances of similar components. The drawings illustrate generally, by way of example, but not limitation, various embodiments discussed in the present document.In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. It may be apparent, however, that the novel embodiments may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate a description thereof. It is intended to cover all modifications, equivalents and alternatives within the scope of the claims. Although aspects of the present disclosure may be used in any suitable type of computing device, the following examples describe example mobile computing devices / environments in which aspects of the present disclosure may be implemented.Aspects of the present disclosure provide techniques for modifying a virtual environment presented to a user based on the behavior or context of the user within the environment. In particular, some embodiments may implement a "cocktail party effect" within virtual environments. Of course, when a person in a large congested room gets down into a real conversation, he fades out the voices in the wider room as background noises and concentrates only on the direct conversation with the persons in their vicinity. However, if someone outside the call, but still within hearing range, is speaking about a theme of interest to the person or mentions a familiar name, the person will notice the speaking person and possibly follow or listen to it. This is sometimes referred to as a "cocktail party effect.".Some virtual spaces allow users to gather in virtual people sets, often represented by avatars in virtual two-dimensional or three-dimensional spaces. The virtual spaces may be displayed on a computer screen, a virtual reality (VR) headset, or other type of display. The interaction model may be completely immersive, as in a VR headset, or rather as in a 1-person game where the user is moving in a virtual environment displayed on a screen in front of him (the orientation of the screen changing accordingly). Cocktail party effects have not, however, been implemented well in these virtual spaces to provide a more natural user experience. Current approaches do not utilize a user's personal regions of interest to improve the advantages of the cocktail party effect. For example, they may mimic real constraints, present general topics, or simply increase the number of people in the vicinity.Embodiments herein may use a topic recognition model for a user along with the behavior and / or context of the user to modify various characteristics of the virtual environment presented to the user. Using the model, the virtual environment space can be monitored for words, entertainments, images, etc. that the user may be interested in and the environment presented to the user can be modified to alert these items. For example, the profile of entertainment, words, images, etc. identified as potentially interesting to the user may be increased so that the user can virtually "listen to" or see them in the virtual environment. This could include "focusing" the audio (e.g., placing irrelevant audio in space and increasing audio related to the identified topic), a visual indicator (e.g., displaying tags), a message to the user, or a spatial / visual re-alignment in the virtual environment (e.g., re-alignment of the virtual space so that the user can see the user / s discussed / discussed about the potentially interesting topic (e.g., moving the displayed view to show an image such as an art or photograph where they may be interested, or zooming to a location in the environment where a potentially interesting conversation is occurring), Highlighting a user in the environment, etc.) may include. Other modifications that may be made may include a reduction in noise or a reduction in what is presented to the user by other users. For example, entertainments that are not identified as potentially interesting may be reduced in volume or muted.The topic recognition model may be prepared with a user's digital history to provide feedback to the user about entertainment, conversation partners, images of interest, or other aspects relevant to the user's interests. For example, the model may monitor prior entertainment of a user (e.g., instant messaging entertainment and / or verbal entertainment in the virtual environment), postings or contributions in social media, emails, images, etc., to build a model of the user's areas of interest. Additionally, the model could accept direct user input (e.g., via prompts to input regions of interest) or enable the user to customize the model in real-time (e.g., when the user has temporarily or permanently no interest on the theme). These areas of interest could be adaptable to environmental inputs including, but not limited to: the virtual space in which the user interacts, the virtual participants with which he is interacting (e.g., the species (friends vs. family vs. colleagues) or the number (small group vs. large group)) or the week or time of day (factory day morgen vs. weekend night). For example, a user may be interested in a work-related topic at a work day morning in mid-course round; however, at a weekend evening, he may not be interested in that topic and the model may adapt accordingly.The confidentiality of content (vs. user behavior indicators) could be estimated in several ways, for example, by a topic determination model that can analyze a corpus of documents labeled "confidential" and create a list of confidential topics. The system could continuously monitor user input (before being communicated to the virtual environment) for confidential topics and trigger user warnings and / or automatic filtering for unknown or ununciphered users. In addition, a user could review such a list and add / delete topics or keywords as desired. Further, the user could set the "confidence enforcement strength" so that the system weights each match of confidential words to topics heavily. Confidentiality behavior indicators could be determined by following behavioral aspects, such as approaching a conversation partner in virtual space, a lower voice amplitude, a gesture such as holding a hand in front of the mouth to show a tile, or by other types of user input to the system. In some embodiments, entertainment identified as potentially sensitive, e.g., due to its content or potential confidentiality constraints for the topics, may be reduced in volume, or muted for other environmental users.The advantages of the embodiments described herein are readily apparent to those skilled in the art. As an example, a system incorporating aspects of the present disclosure may provide a more seamless-and more natural-experience for virtual environment end users in a wide range of use cases including recreational, labor, or training.FIG. 1 illustrates an example system 100 implementing a virtual environment according to embodiments of the present disclosure. The example system 100 includes a virtual environment host system 102 and user devices 104, 106, 108 interconnected via a network 110. The virtual environment host system 102, which may include any number of computing devices (e.g., servers), executes an instance of an application to instantiate an immersive virtual environment in which users (e.g., users of the devices 104, 106, 108) may interact with each other. For example, the host 102 may instantiate an immersive virtual environment with virtual areas or spaces. The users may be represented by avatars or icons and may move within the virtual areas / spaces to interact with each other, e.g., send messages or guide voice conversations with each other. The user devices 104, 106, 108 may instantiate user-side execution of the application that connects to the application instances on the host 102. The users may control their representations (e.g., avatars) through input devices connected to the devices 104, 106, 108, e.g., through a keyboard, mouse, microphone, user-facing camera, virtual reality (VR) headset, or other types of input devices connected to the devices.The user devices and the constituent virtual environment host system devices may be implemented as one or more computing devices, as described below with reference to FIGS. 5-7, or may be virtualized instances of computing devices (e.g., applications executing in virtual machines or containers). The network 110 may be any suitable network 110. As an example, and not by way of limitation, one or more portions of the network 110 may include an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, or a combination of two or more of these. Further, the network 110 may include one or more networks.FIG. 2 illustrates a block diagram of system components for implementing a virtual environment, in accordance with embodiments of the present disclosure. In particular, FIG. 2 illustrates hardware and software components of an example user device 210 and host device(s) 230 for executing a virtual environment, as described above and herein. The host device(s) 230 may instantiate a cloud-based instance of a virtual environment 232, which may be any suitable virtual space in which users interact. The virtual environment 232 may be implemented, for example, in a first-person video game, a metaversy application (e.g., a proto-metaversy application that provides a virtual environment in which social interaction is key activity), or in an enhanced or virtual reality environment. The host device(s) 230 may compile scene changes based on input from the multiple user devices (e.g., 210) and send the scene changes to the devices for display to the user.The user device 210 executes local execution (e.g., scene) of the virtual environment 226 to implement a view of the virtual environment for the user of the device on a display. The user device 210 includes a user interface 212 that generates and displays the virtual environment space for the user on the device based on input from the user and updates to the virtual environment 232 sent by the host device(s) 230. The user interface 212 may include output devices such as a computer display, a VR headset or other type of display, and input devices such as a keyboard, a mouse, a gamepad, a touch screen, hand-held controls, gestures, a gaze, etc. The environment interaction model may be completely immersive, simulating the user's physical movements in the virtual environment, e.g., as in a VR headset, or may be as in a first-person video game in which the user inputs, e.g., a keyboard or mouse, cause changes / interactions with the virtual environment, the changes being displayed on a screen. In some embodiments, the system could implement a sensor array and analysis modules to understand multi-modal user inputs, including gaze, facial expressions, gestures, speech, or other types of inputs, separately or simultaneously (e.g., taking into account different combinations of facial expressions and speech inputs as different contexts).The user device 210 further includes user content 214 that includes any form of content that the user previously viewed or otherwise consumed. The user content 214 may include, for example, emails, web browsing history, or other information (e.g., cookie), local application data (e.g., from social media applications), instant messaging (e.g., SMS text or other types of messaging), images, video, sound (e.g., music), or any other content or stimuli to which the user has been exposed. The user content 214 available to be accessed by the virtual environment application and / or the topic model of interest may be limited by the user. For example, the user may choose to share all or only a portion of the user content 214 to be analyzed by the model. Although shown as stored on the user device, the user content 214 may be stored elsewhere, e.g., at another device connected to the network 110 (e.g., in a cloud storage account associated with the user).The topic of interest model 216 may be any suitable type of topic of interest content model. The topic of interest model 216 may use a topic of interest classifier 218 to identify and classify various topics of interest within the user content 214. As an example, the classifier 218, the model 216, or both may include a Latent Dirichlet Allocation (LDA) model that analyzes a text corpus of the user content 214 to identify topics of interest to the user. LDA may refer to a generative and probabilistic model that may be used to identify themes of interest in a text corpus. Each theme may be characterized by a distribution over words. The LDA may derive an underlying topic from a corpus by identifying the most likely topics that the observed documents have generated. LDA may also be used to detect priority, as it is a probabilistic model. The model may give coherency metrics (e.g., if the topics are different and terms are strongly related in them, LDAs may give better coherency values), which may be a proxy for priority.Since LDAs are intended to provide user interpretable topics, they may be well suited to embodiments herein. However, embodiments may include other types of classifiers or models, including large language models (LLM), a bidirectional encoder representations from transformers (BERT), or BERT-based model such as BERTSUM, a non-negative matrix factorization (NMF) model, or other natural language processing (NLP) models. In some embodiments, deep neural network (DNN) transformers may also be used in model 216.As another example, the classifier 218, the model 216, or both may comprise a convolutional neural network (CNN) model trained to recognize images, including those within a video, that may be interesting to a user based on an analysis of other images or image topics such as a malstil (e.g., impressionist). CNNs may process images to extract features from raw pixel data. CNNs could be used, for example, to identify image features in a user collection of photos (e.g., within user content 214). CNNs may also be used with transfer learning; that is, a pre-trained CNN has already learned to extract features from a large dataset, such as ImageNet, and then may be fine-tuned to a user's personal photo collection. In some embodiments, a CNN long short-term memory (LSTM) model or a vision transformer (ViT) based model may be used.In some embodiments, model 216 may implement a deep neural network (DNN) with both an LDA and a CNN. In a virtual space enabled by a game machine, identifying both visual and textual content may be done using a combination of LDA and CNN. For example, sample frames from the output of the visual environment could be analyzed for themes of interest, and multimodal techniques can be used to integrate the visual and text information and extract higher level features. Alternatively, they could be made separately.To preserve metadata associated with specific content items of interest in the virtual environment, the metadata may be associated with the content. For example, a CNN may be used to identify objects in the virtual space and associated metadata may be collected from the bounding box of each object. This metadata could include information such as the name, description, and relationships of the object to other objects in the environment. Metadata could be generated by another model that performs object detection for labeling. The metadata may then be stored in a database, either locally on the user device 210 or on the host device(s) 230. If the identified topics of interest in the environment are within text, the system may associate metadata with each text element.The virtual space content classifier 220 may identify various topics of interest within the virtual environment. In some embodiments, classifier 220 may include a similar model type as topic of interest model 216 and / or topic of interest classifier 218. Topics of interest identified within the virtual environment 232 could also include metadata to indicate a type of content, or may include a priority / certainty indication for the model. The "priority / certainty" indication could be used in cases where too many items of interest could overtree the user, while the "type" indicator could be used to select a correct system response. Some examples of these indicators are described further below, e.g., with reference to Table 1.The system response director 224 may implement a response (e.g., a modification of the local execution of the virtual environment 226 shown on the user device 210) from a set of possible responses 222 based on the virtual space content classifier 220 identifying a topic of interest in the virtual environment 232. In some embodiments, system response director 224 may be a rule-based artificial intelligence (AI) model.Table 1 illustrates some example rules for a system response director 224. In the table, user 1 is the "ego" user experiencing the virtual environment implementing aspects of the present disclosure. User 2 and speaker refer to other users in the virtual environment. Table 1. Exemplary Set of System Response Actions Table 1. Exemplary Set of System Response ActionsConfidential TopicHigh High LevelUser 1 voice amplitude decreases by x percent; user 2 in immediate virtual proximitySystem reduces audio intelligibility for users other than user 1 and user 2Confidential TopicLow LowUser 1 voice amplitude decreases by x percent; user 2 in immediate virtual proximitySystem reduces audio intelligibility for users other than user 1 and user 2User 1 says the name of user 3High High LevelUser 1 voice amplitude is X times average; user 3 is a recent conversation partner with user 1; user 3 stands high on the list of friends of user 1; user 3 is virtually not close enough to hear background soundsSystem enhances virtual space volume of the utterance of user 1, different for user 3Voice input with the first and last name of user 1High High LevelEmphasize the user 2 / speaker in the virtual space, convert speech to text, display the text in a box near user 2 in the virtual spaceVoice input with the first name of user 1 thereinMeansEmphasize the user 2 / speaker in the virtual space with an interest icon (user 1 can click to see more information)Theme of specific interest for user 1 detected in entertainmentHigh High LevelHighlighting speakers in the virtual space, displaying the topic title in the vicinity of speakers in the virtual spaceTheme of related interest for user 1 detected in a entertainmentLow Lowqueuing the system response, thereby indicating it only if not many themes of interest occurTheme of specific interest for user 1 detected in entertainmentHigh High LevelUser 2 / loudspeaker in immediate virtual proximityEmphasize speakers in the virtual space, show the topic title in the vicinity of speakers in the virtual space; increase the speech volume of the speakerVisual element 1 in virtual space that matches highly features of photographs of user 1High High LevelVirtual element 1 is not in visual proximity to user 1Highlighting the location (and arrow pointing in the direction) of the image in the virtual space (including pointing on a map of the virtual space, if not in the immediate vicinity)As shown in Table 1, a set of system response actions includes various actions to be taken by the system in response to a user context or behavior and / or a user topic of interest being identified. The user behavior may include, for example, the user's speech volume, the voice, gestures (which may relate to any user motion, including, for example, facial expressions or poses), or positions of the user with respect to sensor devices (e.g., the distance of the user from his microphone or camera), etc. The user context may be based on the location of the user within the environment, e.g., in a particular space, time of day, or a nearby environment within the virtual environment to other users, items, or entertainment (e.g., those of potential interest).In some embodiments, the set of system responses 222 from which the system response director 224 may select may depend on the application or on a user profile. For example, depending on the application, some responses may not be available or allowed, e.g., if they are antithetic to the targets of the virtual environment 232. As an example, an application may allow themes, but not names, to trigger system responses on the user side.In some embodiments, system response director 224 may have one or more rules relating to the responses. For example, director 224 may set a rule for the number of alerts that may be displayed to a user per unit time to avoid prompting the user with too many displays. The rules may be user configurable in some cases.In some embodiments, system response director 224 may track and adjust accordingly the user's response or response to the response selected from the set of system responses 222. For example, if the user ignored system responses to certain themes, director 224 could apply lower priorities to that theme when detected by classifier 220. The user's attention to themes and system responses could be monitored via, for example, mouse click rates, gaze tracking, or other mechanisms.FIG. 3 illustrates aspects of an example virtual environment 300 modified based on user behavior or context, in accordance with embodiments of the present disclosure. In the exemplary environment shown, each avatar may be a visual representation of a user of the virtual environment, e.g., a user of a user device as described above. For example, avatar 302 may be a visual representation of a first user interacting with the virtual environment, avatar 304 may be a visual representation of a second user interacting with the virtual environment, and so forth. The virtual environment may be generated by one or more host computing devices (e.g., those on the host 102 of FIG. 1 ) based on input from the users via their user devices (e.g., 104, 106, 108 of FIG. 1 ). The virtual environment may provide a two-dimensional or three-dimensional space in which users of the user devices may interact with each other, e.g., via text data, voice / audio data, image / video data, or other means. One or more of the modifications described below may be displayed on the views generated by the local implementations of the environment performed on the user devices. In some instances, as will be readily apparent from the following examples and other descriptions herein, only certain modifications may be displayed to certain users according to the teachings of the present disclosure.In a first example, the user represented by avatar 304 mentions the name of the user represented by avatar 302. Although the user represented by avatar 302 is not within what is considered a "listening distance" (e.g., a distance that the user might normally be able to listen to users speaking within the environment or sending messages), one or more modifications may be made to the virtual environment presented to the user represented by avatar 302 on their respective user device. For example, in some embodiments, a visual indication such as chat bubble 305 (e.g., where interactions occur through voice chat or by highlighting, bolding, or otherwise highlighting an existing chat bubble where interactions between users occur through text-based messages) may be displayed to alert the user represented by avatar 302 in a similar manner that the user may be able to listen to another person using their name via the cocktail party effect. Moreover, in some embodiments, the volume of entertainment between the user represented by avatar 304 and another user may be augmented (represented by volume icon 306 in FIG. 3 ) to allow the user represented by avatar 302 to better hear the entertainment in the environment, or the volume of other users in the environment may be decreased with respect to the entertainment involving the user represented by avatar 304. Additionally, in some embodiments, the user represented by avatar 302 may be alerted to mention of its name by increasing the area around the user represented by avatar 304. In other embodiments, the location of the avatar of the user may be moved closer to the entertainment of interest, e.g., in response to a prompt such as the prompt 309 presented to the user. As will be appreciated, any of these modifications may only be made to the environment presented to the user represented by avatar 302 as they relate to a theme of interest for that user (i.e., his name) as opposed to other users (e.g., the user represented by avatar 312).In another example, a user represented by avatar 312 may have been alerted to a conversation between the users 322, 324, 326 in which one or more of the users may mention the user's worksite ("work company") represented by avatar 312. Similar to the above example, a chat bubble 323 may be shown, or the entertainment may be highlighted in another manner (e.g., volume increase).In yet another example, an entertainment user represented by avatar 314 and a user represented by avatar 316 are determined by the environment to carry a confidential entertainment. This determination may be made by a number of factors including keywords (e.g., confidential project names or other words used associated with confidential entertainment that one or both of the users had in their records), relative proximity to each other, or changes in proximity (e.g., come closer together in the environment before particular phrases are spoken), gestures (e.g., cover a mouth when spoken), changes in sound or volume (e.g., reducing the volume or sound of the voice to speak particular phrases), or by other means. As such, the environment may mute this entertainment or reduce the volume of the entertainment in environments presented to other users (e.g., the users represented by avatars 302, 304, etc., represented by mute character 315 in FIG. 3 ).FIG. 4 illustrates a flowchart of an example process 400 for modifying a virtual environment based on user behavior or context, in accordance with embodiments of the present disclosure. Operations of the process 400 may be implemented by various portions of a virtual environment, e.g., by a host device or system for the environment (e.g., 102 of FIG. 1 ), by a user device connected to the host (e.g., 104, 106, 108 of FIG. 1 ), or by a combination thereof. As used below, depending on the implementation of the virtual environment, "system" may refer to the host, a user device or device(s), or a combination thereof.The process may include additional, fewer, or different operations than those shown or described below. Moreover, one or more of the operations shown include multiple operations, sub-operations, etc. Certain embodiments may encode instructions in one or more computer readable media that, when executed, implement the operations of the process shown and described below. For example, a computer program product may include a set of instructions that, when executed by one or more processors, cause the processor(s) to perform the operations shown in FIG. 4 or described further below.At 402, a set of system response actions is specified for the virtual environment. This may be done at a host for the environment (e.g., 102) in certain embodiments. In some embodiments, the host system may specify a global or default response action set. Further, in some embodiments, user devices (e.g., 104, 106, 108) may be able to customize or otherwise modify the action set for implementation in their respective execution of the virtual environment (e.g., 226). The set of system response actions may include a number of system actions to be performed (e.g., modifications to the environment displayed to a user) in response to various triggers, e.g., a combination of a theme of interest identified along with a particular user context in the environment or user behavior. In some embodiments, a response action may refer to an action taken by the system when it determines that the user should have feedback to indicate where or how some of potential interest for the user has passed or is passing in the virtual environment. Table 1 above illustrates an example set of system response actions that may be specified for a virtual environment, but other response actions than those shown in Table 1.At 404, the system analyzes user content (e.g., 214) that may be stored on the user device (e.g., 104) or elsewhere (e.g., in the cloud) to identify topics of interest. In some embodiments, this may be performed locally by the user device or may be performed by the host system with a copy or subset of the user content of the user device. In some cases, a portion of this operation may be performed by the user device and information may be sent to the host device to identify or classify the topics of interest.At 406, the system builds a topic of interest model (e.g., 216) for the user. The topic model of interest may be built locally on the user device or by the host system based on information sent by the user device. The model may be constructed as described in detail above. At 408, the user interacts with the virtual environment, and at 410, the system classifies interactions with the virtual environment (e.g., using 220). This may include audio, visual, or text interactions with the virtual environment by the user or other users in the virtual environment. For example, the system may classify utterances or messages from users as associated with one or more topics. At 412, the system identifies elements (e.g., audio, visual, or textual) in the virtual environment that may be of interest to the user using the topic model of interest generated at 406. For example, the system may identify whether the classifications made at 410 are related to a topic of interest for the user in their topic of interest model generated at 406.At 414, the system performs one or more response actions according to the set of system response actions specified at 402. The taken response action(s) may(s) be based on identifying a theme of interest at 412, and may also (may) be additionally taken based on a user context or behavior. For example, many people in the environment may discuss issues of interest to a user, but only to certain of the discussions may the user be alerted based on a context of the user, e.g., a location of the user within the virtual environment, including the nearby environment of the user to the discussions, or an orientation of the user with respect to the discussion (e.g., whether the user faces or faces away from the discussion). Additionally, the taken response action(s) may be(can) based on a priority indicated in the response action set. For example, system responses indicated to have a high priority may be taken immediately or may have another action to be taken versus a system response for the same theme or user context indicated to have a lower priority. As an example, a high priority response action may be to highlight both another user who mentions a user's name and to alert the utterance with a chat bubble, rather than highlighting only the name that utters the user for a lower priority response action.At 416, the user may provide feedback to the system regarding the response action(s) taken at 414 or the subject(s) of interest(s) on which the response actions were based. For example, a user may choose to disable response actions for a particular topic of interest, reduce a priority of response actions for a particular topic of interest, snoop actions for a particular topic of interest, etc. Further, the user may choose to manipulate or remove a particular response action. For example, a user may choose to modify a response action that both highlights a user and specifies a chat bubble for only one of the two actions, or may choose to remove the particular response action altogether. Based on the user feedback, the system may adjust the set of system response actions or the topic model of interest accordingly.Example Computing SystemsFIG. 5 illustrates a simplified block diagram of a computing device into which aspects of the present disclosure may be incorporated. Computing device 500 for selectively updating a display is shown. In use, the illustrative computing device 500 determines one or more regions of a display to be updated. For example, a user may move a cursor and a clock may change from one frame to the next, requiring an update to two regions of a display. Computing device 500 sends update regions from a source to a sink in display 518 via a link. In the illustrative embodiment, the source has no direct access to the link port, while the sink has a direct access to the link port. The source may send an indication that a particular update message is the last message to send for the current frame, whereupon the source enters an idle period without sending update messages. The sink may then place the link in a low power state to reduce power consumption.Computing device 500 may be embodied as any type of computing device. For example, the computing device 500 may be embodied as or otherwise included in a server computer, an embedded computing system, a system-on-a-chip (SoC), a multiprocessor system, a processor-based system, an consumer electronics device, a smartphone, a mobile phone, a desktop computer, a tablet computer, a notebook computer, a laptop computer, a network device, a router, a switch, a networked computer, a portable computer, a handheld device, a messaging device, a camera device, and / or any other computing device. In some embodiments, computing device 500 may be located in a data center, such as a business data center (e.g., a data center owned and operated by a business and typically located in business premises), a managed service data center (e.g., a data center managed by a third party on behalf of a business), a co-located data center (e.g., a data center in which data center infrastructure is provided by the data center host and a business provides and manages its own data center components (servers, etc.), a cloud data center (e.g., a data center operated by a cloud service provider, the enterprise applications and data hosts) and an edge data center (e.g., a data center that typically has a smaller footprint than other types of data center and is proximate to the geographic area it serves).The illustrative computing device 500 includes a processor 502, a memory 504, an input / output (I / O) subsystem 506, a data storage 508, a communication circuit 510, a graphics processing unit 512, a camera 514, a microphone 516, a display 518, and one or more peripheral devices 520. In some embodiments, one or more of the illustrative components of computing device 500 may be incorporated into or otherwise form a portion of another component. For example, in some embodiments, the memory 504, or portions thereof, may be incorporated into the processor 502. In some embodiments, one or more of the illustrative components may be physically separated from another component.Processor 502 may be embodied as any type of processor capable of performing the functions described herein. For example, processor 502 may be embodied as a single or multi-core processor(s), a single or multi-socket processor, a digital signal processor, a graphics processor, a neural network computing machine, an image processor, a microcontroller or other processor or processing / control circuit. Similarly, the memory 504 may be embodied as any type of volatile or non-volatile memory or data storage capable of performing the functions described herein. In operation, the memory 504 may store various data and software used during operation of the computing device 500, such as operating systems, applications, programs, libraries, and drivers. The memory 504 is communicatively coupled to the processor 502 via the I / O subsystem 506, which may be embodied as circuitry and / or components to facilitate input / output operations with the processor 502, the memory 504, and other components of the computing device 500. For example, the I / O subsystem 506 may be embodied as or otherwise include memory controller hubs, input / output controller hubs, firmware devices, communication links (i.e., point-to-point links, bus links, wires, cables, light pipes, printed circuit board traces, etc.), and / or other components and subsystems to facilitate input / output operations. The I / O subsystem 506 may connect various internal and external components of the computing device 500 together using any suitable connector, interconnect, bus, protocol, etc., such as a SoC structure, PCIe® USB2, USB3, USB4, NVMe® Thunderbolt® and / or the like. In some embodiments, I / O subsystem 506 may form a portion of a system-on-a-chip (SoC) and be incorporated on a single integrated circuit chip along with processor 502, memory 504, and other components of computing device 500.The data storage 508 may be embodied as any type of device or devices configured for short-term or long-term storage of data. For example, the data storage 508 may include any one(s) or more storage devices and circuits, memory cards, hard disk drives, solid state drives, or other data storage devices.Communication circuitry 510 may be embodied as any type of interface capable of connecting computing device 500 to other computing devices, such as via one or more wired or wireless connections. In some embodiments, communication circuit 510 may be capable of interfacing with any suitable type of cable, such as an electrical cable or an optical cable. The communication circuit 510 may be configured to use any one(s) or more communication technologies and associated protocols (e.g., Ethernet, Bluetooth® Wi-Fi® WiMAX, near field communication (NFC), etc.). The communication circuit 510 may be on silicon separate from the processor 502, or the communication circuit 510 may be included in a multi-chip package with the processor 502, or even on the same die as the processor 502. Communication circuit 510 may be embodied as one or more add-in boards, daughter cards, network interface cards, controller chips, chipsets, specialized components such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), or other devices that may be used by computing device 500 to connect to another computing device. In some embodiments, communication circuit 510 may be embodied as part of a system-on-a-chip (SoC) that includes one or more processors or is included on a multi-chip package that also includes one or more processors. In some embodiments, communication circuit 510 may include a local processor (not shown) and / or local memory (not shown), both local to communication circuit 510. In such embodiments, the local processor of communication circuit 510 may be capable of performing one or more of the functions of processor 502 described herein. Additionally or alternatively, in such embodiments, the local memory of the communication circuit 510 may be integrated into one or more components of the computing device 500 at board level, socket level, chip level, and / or other levels.The graphics processing unit 512 is configured to perform certain computing tasks such as video or graphics processing. The graphics processing unit 512 may be embodied as one or more processors, a computing unit, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), and / or any combination of the foregoing. In some embodiments, graphics processing unit 512 may send frames or sub-update regions to display 518. For example, the example graphics processing unit 512 includes a display engine 513, which may be embodied as hardware, firmware, software, virtualized hardware, emulated architecture, and / or a combination thereof, and is configured to determine frames to send to the display 518 and send the images to the display 518. In the illustrative embodiment, display engine 513 is part of graphics processing unit 512. In other embodiments, display engine 513 may be part of processor 502 or another component of device 500.In certain embodiments, the display engine 513 may include circuitry to implement aspects of the present disclosure, e.g., circuitry to implement the computational aspects described above with respect to FIG. 1. For example, the display engine 513 may access frames stored in the memory 504, improve the frames as described above, and then stream the frames to the display 518.The camera 514 may include one or more fixed or adjustable lenses and one or more image sensors. The image sensors may be any suitable type of image sensor, such as a CMOS or CCD image sensor. Camera 514 may have any suitable aperture, focal length, field of view, etc. For example, the camera 514 may have a field of view of 60-110° in the azimuth and / or elevation directions.The microphone 516 is configured to sense sound waves and output an electrical signal indicative of the sound waves. In the illustrative embodiment, computing device 500 may include more than one microphone 516, such as an array of microphones 516 in different positions.The display 518 may be embodied as any type of display on which information may be displayed to a user of the computing device 500, such as a touch screen display, a liquid crystal display (LCD), a thin film transistor LCD (TFT LCD; TFT=thin film transistor), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a cathode ray tube (CRT) display, a plasma display, an image projector (e.g., 2D or 3D), a laser projector, a head-up display, and / or other display technology. The display 518 may have any suitable resolution, such as 7680 x 4320, 3840 x 2160, 1920 x 1200, 1920 x 1080, etc.The display 518 includes a timing controller (TCON) 519 that includes circuitry for converting video data received from the graphics processing unit 512 to signals driving a field of the display 518. In some embodiments, TCON 519 may also include circuitry to implement one or more aspects of the present disclosure. For example, TCON 519 may include circuitry to implement the computational aspects described above with respect to FIG. 1. For example, the TCON 519 may enhance frames received from the graphics processing unit 512 and stream the frames to the field of the display 518.In some embodiments, computing device 500 may include other or additional components, such as those commonly found in a computing device. For example, computing device 500 may also include peripheral devices 520, such as a keyboard, a mouse, a speaker, an external storage device, etc. In some embodiments, computing device 500 may be connected to a dock that may interface with various devices, including peripheral devices 520. In some embodiments, the peripheral devices 520 may include additional sensors that the computing device 500 may use to monitor the video conferencing, such as a time-of-flight sensor or a millimeter wave sensor.FIG. 6 is a block diagram of computing device components that may be included in a mobile computing device incorporating aspects of the present disclosure. In some embodiments, the components shown may be implemented within the devices shown in FIG. 1 (e.g., host devices 102 and / or user devices 104, 106, 108). Generally, components shown in FIG. 6 may communicate with other components shown, although not all connections are shown to facilitate illustration. The components 600 include a multiprocessor system that includes a first processor 602 and a second processor 604, and is illustrated as including point-to-point (P-P) connections. For example, a point-to-point (P-P) interface 606 of processor 602 is coupled to a point-to-point interface 607 of processor 604 via a point-to-point connection 605. It will be appreciated that any or all of the point-to-point connections illustrated in FIG. 6 may alternatively be implemented as a multi-drop bus and that any or all of the buses illustrated in FIG. 6 could be replaced with point-to-point connections.As shown in FIG. 6, processors 602 and 604 are multi-core processors. Processor 602 includes processor cores 608 and 609 and processor 604 includes processor cores 610 and 611. Processor cores 608- 611 may execute computer-executable instructions in a manner similar to that discussed below in connection with FIG. 7, or in other ways.Processors 602 and 604 further include at least one shared cache 612 and 614, respectively. Shared caches 612 and 614 may store data (e.g., instructions) used by one or more components of the processor, such as processor cores 608- 609 and 610- 611. Shared caches 612 and 614 may be part of a memory hierarchy for the device. For example, shared cache 612 may locally store data also stored in memory 616 to enable more rapid access to the data by components of processor 602. In some embodiments, shared caches 612 and 614 may include multiple cache layers, such as level 1 (L1), level 2 (L2), level 3 (L3), level 4 (L4), and / or other caches or cache layers, such as a last level cache (LLC).Although two processors are shown, the apparatus may include any number of processors or other computing resources. Further, a processor may include any number of processor cores. A processor may take various forms, such as a central processing unit, a controller, a graphics processor, an accelerator (such as a graphics accelerator, a digital signal processor (DSP), or an artificial intelligence (AI) accelerator). A processor in a device may be the same as or different from other processors in the device. In some embodiments, the apparatus may include one or more processors heterogeneous or asymmetric to a first processor, an accelerator, a field programmable gate array (FPGA), or any other processor. There may be a variety of differences between the processing elements in a system with respect to a spectrum of performance metrics, including architectural, microarchitectural, thermal, power consumption characteristics, and the like. These differences may manifest themselves effectively as asymmetry and heterogeneity among processors in a system. In some embodiments, processors 602 and 604 are in a multi-chip package. As used herein, the terms "processor unit" and "processing unit" may refer to any processor, processor core, component, module, machine, circuitry, or processing element described herein. A processing unit or processing unit may be implemented in hardware, software, firmware, or any combination thereof capable of doing so.Processors 602 and 604 further include memory control logic (MC) 620 and 622. As shown in FIG. 6, MCs 620 and 622 control memories 616 and 618, which are coupled to processors 602 and 604, respectively. The memories 616 and 618 may include various types of memories, such as volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM)), or nonvolatile memory (e.g., flash memory, solid state drives, chalcogenide-based phase change nonvolatile memories). While MCs 620 and 622 are illustrated as being integrated with processors 602 and 604, in alternative embodiments, the MCs may be logic external to a processor and may include one or more layers of a memory hierarchy.Processors 602 and 604 are coupled to an input / output (I / O) subsystem 630 via P-P links 632 and 634. Point-to-point link 632 connects a point-to-point interface 636 of processor 602 to a point-to-point interface 638 of I / O subsystem 630, and point-to-point link 634 connects a point-to-point interface 640 of processor 604 to a point-to-point interface 642 of I / O subsystem 630. The input / output subsystem 630 further includes an interface 650 to couple the I / O subsystem 630 to a graphics module 652, which may be a high performance graphics module. The I / O subsystem 630 and the graphics module 652 are coupled via a bus 654. Alternatively, bus 654 could be a point-to-point connection.Input / output subsystem 630 is further coupled to a first bus 660 via interface 662. The first bus 660 may be a peripheral component interconnect (PCI) bus, a PCI express (PCIe) bus, another third generation I / O (input / output) interconnect bus, or any other type of bus.Various I / O devices 664 may be coupled to the first bus 660. A bus bridge 670 may couple the first bus 660 to a second bus 680. In some embodiments, the second bus 680 may be a low pin count (LPC) bus. Various devices may be coupled to the second bus 680, including, for example, a keyboard / mouse 682, audio I / O devices 688, and a storage device 690 such as a hard disk drive, solid state drive, or other storage device for storing computer-executable instructions (code) 692. Code 692 may include computer-executable instructions for performing technologies described herein. Additional components that may be coupled to the second bus 680 include communication device(s) or components 684 that may provide communication between the device and one or more wired or wireless networks 686 (e.g., Wi-Fi, cellular, or satellite networks) via one or more wired or wireless communication links (e.g., wire, cable, Ethernet connection, radio frequency (RF) channel, infrared channel, Wi-Fi channel) using one or more communication standards (e.g., IEEE 802.11 standard and its supplements).The device may include removable memory, such as flash memory cards (e.g., Secure Digital (SD) cards), flash memory sticks, subscriber identity module (SIM) cards). The memory in the computing device (including caches 612 and 614, memories 616 and 618, and storage device 690) may store data and / or computer-executable instructions for executing an operating system 694 or application programs 696. Example data includes web pages, text messages, images, sound files, video data, sensor data, or other data sets to be sent by and / or received by the device over one or more wired or wireless networks to or for use by one or more network servers or other devices. The device may also have access to external storage (not shown), such as external hard drives or cloud-based storage.Operating system 694 may control the allocation and use of the components illustrated in FIG. 6 and may support one or more application programs 696. The application programs 696 may include shared mobile computing device applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications), as well as other computing applications.The device may support various input devices, such as a touch screen, microphones, cameras (monoscopic or stereoscopic), a trackball, a touchpad, a trackpad, a mouse, a keyboard, a proximity sensor, a light sensor, a pressure sensor, an infrared sensor, an electrocardiogram (ECG) sensor, a PPG (photoplethysmogram) sensor, a galvanic skin response sensor, and one or more output devices, such as one or more speakers or displays. Any of the input or output devices may be attachable internally to, externally to, or removably from the device. External input and output devices may communicate with the device via wired or wireless connections.Additionally, the computing device may provide one or more natural user interfaces (NUIs). For example, operating system 694 or application programs 696 may include voice recognition as part of a voice user interface that allows a user to operate the device via voice commands. Further, the device may include input devices and components that allow a user to interact with the device via body, hand, or face gestures.The apparatus may further include one or more communication components 684. The components 684 may include wireless communication components coupled to one or more antennas to support communication between the device and external devices. Antennas may be located in a base, lid, or other portion of the device. The wireless communication components may support various wireless communication protocols and technologies, such as near field communication (NFC), IEEE 1002.11 (Wi-Fi) variants, WiMax, Bluetooth, Zigbee, 4G long term evolution (LTE), code division multiplexing access (CDMA), universal mobile telecommunication system (UMTS), and global system for mobile telecommunication (GSM). Additionally, the wireless modems may support communication with one or more cellular networks for data and voice communications within a single cellular network, between cellular networks, or between the mobile computing device and a public switched telephone network (PSTN).The apparatus may further include at least one input / output port (which may be, for example, a USB, IEEE 1394 (FireWire), Ethernet, and / or RS-232 port), the physical connector; a power supply (such as a rechargeable battery); a satellite navigation system receiver such as a GPS receiver; a gyroscope; an accelerometer; and a compass. A GPS receiver may be coupled to a GPS antenna. The apparatus may further comprise one or more additional antennas coupled to one or more additional receivers, transmitters, and / or transceivers to enable additional functions.FIG. 6 illustrates an example computing device architecture. Computing devices based on alternative architectures may be used to implement technologies described herein. For example, rather than the processors 602 and 604 and the graphics module 652 residing on discrete integrated circuits, a computing device may comprise a SoC (system on a chip) integrated circuit that incorporates one or more of the components illustrated in FIG. 6. In an example, a SoC may include multiple processor cores, a cache memory, a display driver, a GPU, multiple I / O controllers, an AI accelerator, an image processing unit driver, I / O controllers, an AI accelerator, an image processing unit. Further, a computing device may connect elements via bus or point-to-point configurations that are different from those shown in FIG. 6. Moreover, the components illustrated in FIG. 6 are not required or all inclusive, as shown components may be removed and other components may be added in alternative embodiments.FIG. 7 is a block diagram of an example processor unit 700 for executing computer-executable instructions. The processor unit 700 may be any type of processor or processor core, such as a microprocessor, embedded processor, digital signal processor (DSP), network processor, or accelerator. The processor unit 700 may be a single-threaded core or a multi-threaded core in that it may include more than one hardware thread context (or "logical processor") per core.FIG. 7 also illustrates a memory 710 coupled to the processor 700. The memory 710 may be any memory described herein or any other memory known to those skilled in the art. The memory 710 may store computer-executable instructions 715 (code) executable by the processor unit 700.The processor core includes front end logic 720 that receives instructions from the memory 710. An instruction may be processed by one or more decoders 730. Decoder 730 may generate as its output a micro-operation, such as a fixed width micro-operation in a predefined format, or generate other instructions, microinstructions, or control signals that reflect the original code instruction. Front end logic 720 further includes register rename logic 735 and scheduler logic 740 that generally allocate resources and queue operations corresponding to converting an instruction for execution.The processor unit 700 further includes execution logic 750 including one or more execution units (EUs) 765- 1 to 765- N. Other embodiments may include only one execution unit or one execution unit that can perform a particular function. Execution logic 750 performs the operations specified by code instructions. Upon completion of execution of the operations specified by the code instructions, the back end logic 770 withdraws instructions using a retirement logic 775. In some embodiments, the processor unit 700 allows out-of-order execution, but requires in-order withdrawal of the instructions. The retirement logic 775 may take a variety of forms known to those of ordinary skill in the art (e.g., reorder buffer or the like).The processor unit 700 is transformed during execution of instructions at least with respect to the output generated by decoder 730, hardware registers and tables used by register rename logic 735, and any registers (not shown) modified by execution logic 750. Although not illustrated in FIG. 7, a processor may include other elements on an integrated chip with the processor unit 700. For example, a processor may include additional elements such as memory control logic, one or more graphics modules, I / O control logic modules, and / or one or more caches.As used herein in any embodiment, the term "module" refers to logic that may be implemented in a hardware component or device, software or firmware running on a processor, or a combination thereof, to perform one or more operations consistent with the present disclosure. Software may be embodied as a software package, code, instructions, instruction sets, and / or data recorded on non-transitory computer readable storage media. Firmware may be embodied as code, instructions or instruction sets and / or data that is hard-coded (e.g., nonvolatile) in memory devices. As used in any embodiment herein, the term "circuitry" may include, for example, singly or in any combination, hardwired circuitry, programmable circuitry such as computer processors including one or more individual instruction processing cores, state machine circuitry, and / or firmware storing instructions executed by programmable circuitry. Modules described herein may be embodied jointly or individually as circuitry that forms part of one or more devices. Thus, any of the modules may be implemented as circuitry, such as continuous element set generation circuitry, entropy-based discretizing circuitry, etc. A computing device referred to as programmed to perform a method may be programmed to perform the method via software, hardware, firmware, or combinations thereof.The use of reference numerals in the claims and the description is intended to aid in understanding the claims and the description and is not intended to be limiting.Any of the disclosed methods may be implemented as computer-executable instructions or a computer program product. Such instructions may cause a computer or one or more processors capable of executing computer-executable instructions to perform any of the disclosed methods. Generally, as used herein, the term "computer" refers to any computing device or computer system described or mentioned herein, or any other computing device. Thus, the term "computer-executable instruction" refers to instructions that may be executed by any computing device described or mentioned herein or any other computing device.The computer-executable instructions or computer program products, as well as any data generated and used during implementation of the disclosed technologies, may be stored on one or more tangible or non-transitory computer-readable storage media, such as optical media disks (e.g., DVDs, CDs), volatile memory components (e.g., DRAM, SRAM), or non-volatile memory components (e.g., flash memory, solid state drives, chalcogenide-based phase change non-volatile memory). Computer readable storage media may be included in computer readable storage devices such as solid state drives, USB flash drives, and memory modules. Alternatively, the computer-executable instructions may be performed by specific hardware components comprising hardwired logic for performing all or part of the disclosed methods, or by any combination of computer-readable storage media and hardware components.The computer-executable instructions may be, for example, part of a dedicated software application or a software application accessed via a web browser or other software application (such as a remote computing application). Such software may be read and executed, for example, by a single computing device or in a networking environment using one or more networked computers. Further, it should be understood that the disclosed technology is not limited to any specific computer language or computer program. For example, the disclosed technologies may be implemented by software written in C++, Java, Perl, Python, JavaScript, Adobe Flash, or any other suitable programming language. Likewise, the disclosed technologies are not limited to any particular computer or type of hardware.Further, any of the software-based embodiments (e.g., comprising computer-executable instructions to cause a computer to perform any of the disclosed methods) may be uploaded, downloaded, or accessed remotely by any suitable communication means. Such suitable communication means include, for example, the Internet, the world wide web, an intranet, a cable (including fiber optic cables), magnetic communication, electromagnetic communication (including RF, microwave and infrared communication), electronic communication, or other such communication means.As used in this application and in the claims, a list of elements joined by the term "and / or" may mean any combination of the listed elements. For example, the phrase "A, B, and / or C" may mean A; B; C; A and B; A and C; B and C; or A, B, and C. Further, as used in this application and in the claims, a list of elements joined by the term "at least one of" may mean any combination of the listed terms. For example, the phrase "at least one of A, B, or C" may mean A; B; C; A and B; A and C; B and C; or A, B, and C. Additionally, as used in this application and in the claims, a list of elements joined by the term "one or more of" may mean any combination of the listed terms. For example, the phrase "one or more of A, B, and C" may mean A; B; C; A and B; A and C; B and C; or A, B, and C.The disclosed methods, apparatuses, and systems are not intended to be limiting in any way. Rather, the present disclosure is directed to all novel and non-obvious features and aspects of the various disclosed embodiments alone and in various combinations and sub-combinations with one another. The disclosed methods, apparatuses, and systems are not limited to any specific aspect or feature, or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved.Although the operations of some of the disclosed methods are described in a particular sequential order for convenience of illustration, it should be understood that this type of description includes rearrangement unless a particular order is required by a specific language set forth herein. For example, operations described sequentially may be rearranged or performed simultaneously in some cases. Moreover, for convenience, the appended figures may not show the various ways in which the disclosed methods may be used in conjunction with other methods.Certain non-limiting examples of the techniques described herein are provided below. Each of the following non-limiting examples may stand upon themselves or may be combined in any permutation or combination with any one or more of the other examples provided below or throughout the present disclosure.Example 1 includes one or more computer readable storage media comprising instructions that, when executed by processing circuitry, cause the processing circuitry to: instantiate a virtual environment comprising a virtual two-dimensional or three-dimensional space in which a plurality of users can interact; classify interactions by the plurality of users within the virtual environment; identify a topic of interest for a particular user in the classified interactions based on a topic of interest model for the particular user; and cause a response action to be initiated in a local execution of the virtual environment presented to the particular user based on the identified topic of interest.Example 2 includes the subject matter of Example 1, wherein the instructions are further configured to cause the responsive action to be initiated based on a context of the particular user in the virtual environment.Example 3 includes the subject matter of Example 2, wherein the context of the particular user comprises one or more of a location of the particular user within the virtual environment, a proximate environment of the particular user with respect to other users within the virtual environment, or an orientation of the particular user within the virtual environment.Example 4 includes the subject matter of any of Examples 1-3, wherein the instructions are further configured to cause the response action to be initiated based on a behavior of the particular user.Example 5 includes the subject matter of Example 4, wherein the behavior of the particular user comprises one or more of a volume of the particular user's voice, a gesture made by the particular user, or a position of the user relative to a sensor of a device that instantiates the local execution of the virtual environment presented to the particular user.Example 6 includes the subject matter of any of Examples 1-5, wherein the instructions are further configured to cause the responsive action to be initiated based on a priority indication for the identified topic of interest.Example 7 includes the subject matter of any of Examples 1-6, wherein the instructions are further configured to select the response action to be initiated from a set of response actions.Example 8 includes the subject matter of any of Examples 1-7, wherein the instructions are configured to classify an interaction or identify subjects of interest using one of a latent dirichlet allocation (LDA), a large language model (LLM), a natural language processing (NLP) model, and a non-negative matrix factorization (NMF) model.Example 9 includes the subject matter of any of Examples 1-8, wherein the instructions are configured to classify an interaction or identify themes of interest using a convolutional neural network (CNN) model, a CNN long short-term memory (LTSM) model, or a vision transformer (ViT) based model.Example 10 includes the subject matter of any of Examples 1-9, wherein the responsive action comprises modifying a visual aspect of the virtual environment presented to the particular user.Example 11 includes the subject matter of Example 10, wherein the responsive action comprises re-aligning a display of the virtual environment presented to the particular user.Example 12 includes the subject matter of any of Examples 1-11, and wherein the response action comprises modifying audio in the virtual environment presented to the particular user.Example 13 includes the subject matter of any of Examples 1-12, and wherein the instructions are further configured to receive feedback from the user regarding the initiated response action and modify a set of system response actions based on the feedback.Example 14 includes the subject matter of any of Examples 1-13, and wherein the instructions are further configured to generate the topic model of interest based on audio, visual, or text content associated with the particular user.Example 15 includes the subject matter of Example 14, wherein the audio, visual, or text content associated with the particular user is stored on a device that instantiates the local execution of the virtual environment presented to the particular user.Example 16 is a method comprising: instantiating a virtual environment comprising a virtual two-dimensional or three-dimensional space in which a plurality of users may interact; classifying interactions by the plurality of users within the virtual environment; identifying a topic of interest for a particular user in the classified interactions based on a topic of interest model for the particular user; and initiating a response action in a local execution of the virtual environment presented to the particular user based on the identified topic of interest.Example 17 includes the subject matter of Example 16, wherein the responsive action is initiated based on a context of the particular user in the virtual environment.Example 18 includes the subject matter of Example 17, wherein the context of the particular user comprises one or more of a location of the particular user within the virtual environment, a proximate environment of the particular user with respect to other users within the virtual environment, or an orientation of the particular user within the virtual environment.Example 19 includes the subject matter of any of Examples 16-18, wherein the response action is initiated based on a behavior of the particular user.Example 20 includes the subject matter of Example 19, wherein the behavior of the particular user comprises one or more of a volume of the particular user's voice, a gesture made by the particular user, or a position of the user relative to a sensor of a device that instantiates the local execution of the virtual environment presented to the particular user.Example 21 includes the subject matter of any of Examples 16-20, wherein the response action is initiated based on a priority indication for the identified topic of interest.Example 22 includes the subject matter of any of Examples 16-21, wherein the initiated response action is selected from a set of response actions.Example 23 includes the subject matter of any of Examples 16-22, wherein classifying an interaction or identifying subjects of interest is based on using one of a latent dirichlet allocation (LDA), a large language model (LLM), a natural language processing (NLP) model, and a non-negative matrix factorization (NMF) model.Example 24 includes the subject matter of any of Examples 16-23, wherein classifying an interaction or identifying subjects of interest is based on using a convolutional neural network (CNN) model, a CNN long short-term memory (LTSM) model, or a vision transformer (ViT) based model.Example 25 includes the subject matter of any of Examples 16-24, wherein the response action comprises modifying a visual aspect of the virtual environment presented to the particular user.Example 26 includes the subject matter of Example 25, wherein the responsive action comprises re-aligning a display of the virtual environment presented to the particular user.Example 27 includes the subject matter of any of Examples 16-26, and wherein the response action includes modifying audio in the virtual environment presented to the particular user.Example 28 includes the subject matter of any of Examples 16-27, further comprising receiving feedback from the user related to the initiated response action and modifying a set of system response actions based on the feedback.Example 29 includes the subject matter of any of Examples 16-28, further comprising generating the topic model of interest based on audio, visual, or textual content associated with the particular user.Example 30 includes the subject matter of Example 29, wherein the audio, visual, or text content associated with the particular user is stored on a device that instantiates the local execution of the virtual environment presented to the particular user.Example 31 is an apparatus comprising circuitry to implement the method of any of examples 16-30 or to implement any of the other aspects described herein.Example 32 is a computing system comprising circuitry to implement the apparatus of example 31 or to implement the method of any of examples 16-30, or to implement any of the other aspects described herein.Example 33 is a system comprising: one or more host computing devices to instantiate a virtual environment comprising a virtual two-dimensional or three-dimensional space in which a plurality of users can interact; and a plurality of user devices connected to the one or more host computing devices via a network, each user device instantiates a local execution of the virtual environment; wherein the host computing devices, the user device, or both are configured to: classify interactions by the plurality of users within the virtual environment; identify a topic of interest for a particular user in the classified interactions based on a topic of interest model for the particular user; causing a response action to be initiated in the local execution of the virtual environment presented to the particular user based on the identified topic of interest.Example 34 includes the subject matter of Example 33, wherein each user device is configured to cause the responsive action to be initiated based on a context of the particular user in the virtual environment.Example 35 includes the subject matter of Example 34, wherein the context of the particular user comprises one or more of a location of the particular user within the virtual environment, a proximate environment of the particular user with respect to other users within the virtual environment, or an orientation of the particular user within the virtual environment.Example 36 includes the subject matter of any of Examples 33-35, wherein each user device is configured to cause the responsive action to be initiated based on a behavior of the particular user.Example 37 includes the subject matter of Example 36, and wherein the behavior of the particular user comprises one or more of a volume of the particular user's voice, a gesture made by the particular user, or a position of the user relative to a sensor of a device that instantiates the local execution of the virtual environment presented to the particular user.Example 38 includes the subject matter of any of Examples 33-27, and wherein each user device is configured to cause the responsive action to be initiated based on a priority indication for the identified topic of interest.Example 39 includes the subject matter of any of Examples 33-38, and wherein each user device is configured to select the response action to be initiated from a set of response actions.Example 40 includes the subject matter of any of Examples 33-39, and wherein each user device is configured to classify an interaction or identify themes of interest using one of a latent dirichlet allocation (LDA), a large language model (LLM), a natural language processing (NLP) model, and a non-negative matrix factorization (NMF) model.Example 41 includes the subject matter of any of Examples 33-40, and wherein each user device is configured to classify an interaction or identify themes of interest using a convolutional neural network (CNN) model, a CNN long short-term memory (LTSM) model, or a vision transformer (ViT) based model.Example 43 includes the subject matter of any of Examples 33-41, wherein the responsive action includes modifying a visual aspect of the virtual environment presented to the particular user.Example 43 includes the subject matter of Example 42, and wherein the responsive action comprises re-aligning a display of the virtual environment presented to the particular user.Example 44 includes the subject matter of any of Examples 33-43, and wherein the responsive action comprises modifying audio in the virtual environment presented to the particular user.Example 45 includes the subject matter of any of Examples 33-44, and wherein each user device is configured to receive feedback from the user regarding the initiated response action and modify a set of system response actions based on the feedback.Example 46 includes the subject matter of any of Examples 33-45, and wherein each user device is configured to generate the topic model of interest based on audio, visual, or text content associated with the particular user.Example 47 includes the subject matter of Example 46, wherein the audio, visual, or text content associated with the particular user is stored on a device that instantiates the local execution of the virtual environment presented to the particular user.Example 48 includes the subject matter of Example 46, wherein the audio, visual, or text content associated with the particular user is stored on a device connected to the network that is different from a device that instantiates the local execution of the virtual environment presented to the particular user.
Claims
A method comprising: instantiating a virtual environment comprising a virtual two-dimensional or three-dimensional space in which a plurality of users may interact; classifying interactions by the plurality of users within the virtual environment; identifying a topic of interest for a particular user in the classified interactions based on a topic of interest model for the particular user; and initiating a response action in a local execution of the virtual environment presented to the particular user based on the identified topic of interest.The method of claim 1, wherein the instructions are further configured to cause the responsive action to be initiated based on a context of the particular user in the virtual environment.The method of claim 2, wherein the context of the particular user comprises one or more of a location of the particular user within the virtual environment, a proximate environment of the particular user with respect to other users within the virtual environment, or an orientation of the particular user within the virtual environment.The method of any of claims 1-3, wherein the instructions are further configured to cause the responsive action to be initiated based on a behavior of the particular user.The method of claim 4, wherein the behavior of the particular user comprises one or more of a speech volume of the particular user, a gesture made by the particular user, or a position of the user with respect to a sensor of a device that instantiates the local execution of the virtual environment presented to the particular user.The method of any of claims 1-5, wherein the instructions are further configured to cause the responsive action to be initiated based on a priority indication for the identified topic of interest.The method of any of claims 1-6, wherein the instructions are further configured to select the response action to be initiated from a set of response actions.The method of any of claims 1-7, wherein the instructions are configured to classify interactions or identify themes of interest using one of a latent dirichlet allocation (LDA), a large language model (LLM), a natural language processing (NLP) model, and a non-negative matrix factorization (NMF) model.The method of any of claims 1-8, wherein the instructions are configured to classify an interaction or identify themes of interest using a convolutional neural network (CNN) model, a CNN long short-term memory (LTSM) model, or a vision transformer (ViT) based model.The method of any of claims 1-9, wherein the responsive action comprises modifying a visual aspect of the virtual environment presented to the particular user.The method of claim 10, wherein the responsive action comprises re-aligning a display of the virtual environment presented to the particular user.The method of any of claims 1-11, wherein the responsive action comprises modifying audio in the virtual environment presented to the particular user.The method of any of claims 1-12, wherein the instructions are further configured to receive feedback from the user regarding the initiated response action and modify a set of system response actions based on the feedback.The method of any of claims 1-13, wherein the instructions are further configured to generate the topic model of interest based on audio, visual, or text content associated with the particular user.The method of claim 14, wherein the audio, visual, or text content associated with the particular user is stored on a device that instantiates the local execution of the virtual environment presented to the particular user.One or more computer readable storage media comprising instructions which, when executed by processing circuitry, cause the processing circuitry to implement the method of any of claims 1-15.An apparatus comprising means for implementing the method according to any of claims 1-15.A system comprising: one or more host computing devices for instantiating a virtual environment comprising a virtual two-dimensional or three-dimensional space in which a plurality of users can interact; and a plurality of user devices connected to the one or more host computing devices via a network, each user device instantiating a local execution of the virtual environment; wherein each user device is configured to: classify interactions by the plurality of users within the virtual environment; identify a topic of interest for a particular user in the classified interactions based on a topic of interest model for the particular user; and cause a responsive action to be initiated in the local execution of the virtual environment presented to the particular user based on the identified topic of interest.The system of claim 18, wherein each user device is configured to cause the responsive action to be initiated based on a context of the particular user in the virtual environment.The system of claim 19, wherein the context of the particular user comprises one or more of a location of the particular user within the virtual environment, a proximate environment of the particular user with respect to other users within the virtual environment, or an orientation of the particular user within the virtual environment.The system of any of claims 18-20, wherein each user device is configured to cause the responsive action to be initiated based on a behavior of the particular user.The system of claim 21, wherein the behavior of the particular user comprises one or more of a volume of the particular user's voice, a gesture made by the particular user, or a position of the user with respect to a sensor of a device that instantiates the local execution of the virtual environment presented to the particular user.The system of any of claims 18-22, wherein each user device is configured to cause the responsive action to be initiated based on a priority indication for the identified topic of interest.The system of any of claims 18-23, wherein each user device is configured to generate the topic model of interest based on audio, visual, or text content associated with the particular user.The system of any of claims 18-24, wherein the responsive action comprises modifying a visual aspect of the virtual environment presented to the particular user.