WO2012039844A1 - Evolution of a user interface based on learned idiosyncrasies and collected data of a user - Google Patents
Evolution of a user interface based on learned idiosyncrasies and collected data of a user Download PDFInfo
- Publication number
- WO2012039844A1 WO2012039844A1 PCT/US2011/046826 US2011046826W WO2012039844A1 WO 2012039844 A1 WO2012039844 A1 WO 2012039844A1 US 2011046826 W US2011046826 W US 2011046826W WO 2012039844 A1 WO2012039844 A1 WO 2012039844A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- thought
- user interface
- idiosyncrasies
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0381—Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
Definitions
- the present invention generally relates to user interfaces. More specifically, the present invention relates to providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
- a user interface is an aggregate of means by which people-users-interact with a system such as a particular machine, device, computer program, or other complex tool.
- the user interface provides means of input and output.
- the input means allow the user to manipulate the system, while the output means allow the system to indicate the effects of the user manipulation.
- the design of a user interface affects the amount of effort a user must expend to provide input for the system and to interpret output of the system. Usability is the degree to which the design of a particular user interface takes into account the human psychology and behavioral characteristics of the users, and makes the process of using the system effective, efficient and satisfying.
- Embodiments of the present invention allow an intelligent user interface to be provided that evolves based on learned idiosyncrasies and collected data of a user.
- a method for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user.
- Learned idiosyncrasies and collected data of the user are stored in a knowledge base.
- Instructions stored in memory are executed to obtain information from the surrounding environment of the user during learning of idiosyncrasies or collection of data.
- Instructions stored in memory are executed to generate thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data.
- the thought-based statements serve to invoke or respond to subsequent actions of the user.
- Instructions stored in memory are executed to present the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
- the system includes a knowledge base, a sensory engine, a thought engine, and an interaction engine, all of which are stored in memory.
- the knowledge base is configured to store learned idiosyncrasies and collected data of the user.
- the sensory engine is executable to obtain information from the surrounding environment of the user during learning of idiosyncrasies or collection of data.
- the thought engine is executable to generate thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data.
- the thought- based statements serve to invoke or respond to subsequent actions of the user.
- the interaction engine is executable to present the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
- a computer-readable storage medium is set forth in yet another claimed embodiment.
- a program is embodied on the computer-readable storage medium, which is executable by a processor to perform a method for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user.
- the method includes storing learned idiosyncrasies and collected data of the user in a knowledge base, obtaining information from the surrounding environment of the user during learning of idiosyncrasies or collection of data, generating thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data, and presenting the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
- the thought-based statements serve to invoke or respond to subsequent actions of the user
- FIGURE 1 illustrates an environment for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
- FIGURE 2 is a block diagram of an exemplary intelligent user interface system that may be invoked in the environment illustrated in FIGURE 1.
- FIGURE 3 is a block diagram of an exemplary sensory engine that may be included in the intelligent user interface system.
- FIGURE 4 is a block diagram of an exemplary thought engine that may be included in the intelligent user interface system.
- FIGURE 5 is a block diagram of an exemplary interaction engine that may be included in the intelligent user interface system.
- FIGURE 6 is a collection of exemplary avatars that may be included in the intelligent user interface.
- FIGURE 7 is a block diagram of an exemplary personality engine that may be included in the intelligent user interface system.
- FIGURE 8 is a flowchart illustrating an exemplary method for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
- FIGURE 9 is a block diagram illustrating an exemplary device that may be used to implement an embodiment of the present invention.
- Embodiments of the presently disclosed invention allow an intelligent user interface to be provided that evolves based on learned idiosyncrasies and collected data of a user. As the user interacts with the intelligent user interface, idiosyncrasies of the user such as habits and rituals will be learned. Additionally, data associated with the user will be collected from local and remote sources. Examples of local data include a catalog of user media or services available to a system presenting the user interface. Examples of remote data include an index of information from third-party accounts associated with the user or textual communication by the user. Further information can be obtained through interactive dialog with the user in which the user explicitly or implicitly provides the information thought verbal input.
- the thought-based statements serve to invoke or respond to subsequent actions of the user. Though this iterative process of "getting to know" the user, the user interface evolves to better satisfy the wants and needs of the user.
- FIGURE 1 illustrates an environment 100 for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
- the environment 100 includes a user device 105 in communication with a network 110.
- Remote data sources 115 and an optional server 120 are also in communication with the network 110.
- the network 110 facilitates communication between the user device 105, the remote data sources 115, the server 120, and other devices communicatively coupled with the network 110.
- the user device 105, the remote data sources 115, and the server 120 include the requisite network interfaces, memory, and processing components as may be required to interact with one another via the network 110.
- User environment 125 includes an area that surrounds the user device 105 and a user thereof. Such an area could, for example, be a living room.
- Both the user device 105 and the server 120 are shown as including an intelligent user interface system 130, however, the user interface system 130 may reside entirely in one device or may be distributed across two or more networked devices.
- the intelligent user interface system 130 is described in further detail in connection with FIGURE 2.
- Environment 100 may include many devices such as the user device 105 and the server 120 in communication via the network 110.
- the user device 105 can facilitate presentation of an intelligent user interface by way of the intelligent user interface system 130. While the user device 105 is depicted in FIGURE 1 as housing the intelligent user interface system 130, the user device 105 may access via the network 110 an instance of the intelligent user interface 130 residing on a remote computer such as the server 120. Similarly, the user device 105 may execute certain components of the intelligent user interface system 130 locally and access other components remotely via the network 110.
- the user device 105 may include any portable consumer electronics device such as a smart phone, portable media playback device, or gaming device. Examples of the user device 105 include portable gaming devices such as a PSpTM and PSP Go from Sony Computer Entertainment Inc. The user device 105 may also include car stereos, e-book readers, and portable computers. The user device 105 may include one or more integrated output devices for presenting media or may also allow for an external coupling to the same (e.g., a display and speakers).
- portable consumer electronics device such as a smart phone, portable media playback device, or gaming device. Examples of the user device 105 include portable gaming devices such as a PSpTM and PSP Go from Sony Computer Entertainment Inc.
- the user device 105 may also include car stereos, e-book readers, and portable computers.
- the user device 105 may include one or more integrated output devices for presenting media or may also allow for an external coupling to the same (e.g., a display and speakers).
- the user device 105 may also include any consumer electronics not specifically designed for portability.
- Examples of the user device 105 include a home entertainment system such as the PlayStation®3 available from Sony Computer Entertainment Inc. or more limited game hardware platforms of a different albeit inferior manufacture than those offered by Sony Computer Entertainment.
- Further examples of consumer electronics devices include various home theater components such as a Digital Versatile Disc (DVD) player, a Blu-Ray Disc player, a Digital Video Recorder, set-top cable boxes, and personal computers.
- the user device 105 may include one or more integrated output devices for presenting media or be coupled to the same.
- the remote data sources 1 15 include any third-party server or database.
- Third-party servers may host services such as email and instant messaging services, banks and other financial institutions, social-networking websites, new sources, RSS feeds, and other websites.
- the remote data sources 1 15 can also include other devices similar to the user device 105.
- the environment 100 can optionally include the server 120.
- the server 120 can store data associated with an instance of the intelligent user interface system 130 residing on the user device 105.
- the server 120 can also include the intelligent user interface system 130 to facilitate generation of an intelligent user interface to be presented by the user device 105.
- the user device 105 may access an instance of the intelligent user interface system 130 being executed by the server 120 via the network 110.
- the server 120 can execute certain components of the intelligent user interface system 130 locally, while other components are executed by the user device 105.
- FIGURE 2 is a block diagram of the exemplary intelligent user interface system 130 that may be invoked in the environment 100 illustrated in FIGURE 1.
- the intelligent user interface system 130 includes a knowledge base 205, a user data aggregation engine 210, a sensory engine 215, a thought engine 220, an interaction engine 225, and a personality engine 230.
- the individual program components and applications making up engines and modules of the intelligent user interface system 130 may be stored in memory of devices such as the user device 105 or the server 120.
- the intelligent user interface system 130 and its constituent engines and modules can be executed by a processor to effectuate respective functionalities attributed thereto.
- the intelligent user interface system 130 may be composed of more or fewer engines/modules or combinations of the same and still fall within the scope of the present invention.
- the functionalities of the interaction engine 225 and the functionalities of the personality engine 230 may be combined into a single engine or module.
- the knowledge base 205 can be a database that is configured to store learned idiosyncrasies and collected data of the user.
- learned idiosyncrasies are descriptive of individualizing qualities or characteristics of a particular user.
- the learned idiosyncrasies may account for certain eccentricities or peculiarities by identified habits and rituals of the user.
- Collected data of the user can encompass any information associated with the user.
- collected data can include various facts about the user such as who they are, where they come from, and what they are interested in.
- the collected data may also include an index of user data stored locally or remotely such as game data, browser history, social network profile data, contacts, calendar events, media files, and so forth.
- Such learned idiosyncrasies and collected data may be regularly obtained by other constituent components of the intelligent user interface system 130 such that the knowledge base 205 is kept up to date.
- the learned idiosyncrasies and collected data stored by the knowledge base 205 can be accessed by other constituent component of the intelligent user interface system 130.
- the user data aggregation engine 210 is executable to update the knowledge base 205 with information associated with the user. Updating the knowledge base may include cataloging local data associated with a user such as locally stored media and calendar events. Collecting remote data associated with the user such as memberships and purchase information may also be part of updating the knowledge base 205.
- the user data aggregation engine 210 can also be executed to record information associated with verbal input received from the user and to track acts performed by the user to determine user idiosyncrasies.
- the sensory engine 215 can be executed to obtain information from the user environment 125 during learning of idiosyncrasies and/or collection of data. Examples of such information include visual or audible information. By being coupled to a microphone or array of microphones and/image sensing device or camera, data concerning the user environment 125 may be collected and processed by the sensory engine 215. This information could include the sound of a door opening at a particular time of day, which would indicate a user arriving home whereby the system may then engage in the offering of thought-based statements (e.g., "welcome home").
- Camera data such as an image of the user could likewise invoke a thought-based statement conversation particular to a given user or conversation specific to a particular time of day based on light levels (e.g., "good evening").
- the position of a user in the room or with respect to an input gathering device or in the real-world in general may be gathered using GPS, triangulation, cellular base station, or other location based information.
- Location information may be derived from other sources not traditionally associated with location identification but nevertheless indicative of the same (e.g., a debit card charge at a restaurant having a particular restaurant).
- the sensory engine 215 is described in further detail in connection with FIGURE 2.
- Execution of the thought engine 220 can generate thought-based statements based at least in part on the knowledge base 205 and the information from the user environment 125 obtained through execution of the sensory engine 215.
- the thought-based statements serve to invoke or respond to subsequent actions of the user.
- An example of a thought-based statement might be "welcome home, would you like me to play some music" or flit is currently 6 PM, would you like me to suggest a restaurant for dinner?"
- the thought engine 220 is described in further detail in connection with FIGURE 4.
- the interaction engine 225 is executable to present an intelligent user interface and to allow for interaction with the user based at least in part on the thought-based statements generated through execution of the thought engine 220.
- the intelligent user interface can include a number of form factors.
- the intelligent user interface may present a visual image of face such that the interaction is akin to having a conversation with another real person.
- the interface could also be a character including a real-person (e.g., an avatar generated to appear similar to that of a person or randomly generated persona), a cartoon character (e.g., Homer Simpson), an animal (e.g., a talking dog) or other object (e.g., a blinking eye or giant lips).
- the interface could also be a touch screen, menu, or other data entry mechanism.
- the interaction engine 225 is described in further detail in connection with FIGURE 5.
- the personality engine 230 can be executed to develop personality nuances of the intelligent user interface that affect the interaction between the user and the intelligent user interface. Such personality nuances may include a particular sense of humor, inside knowledge of the user, an inside joke, a particular tone, and facial expressions.
- the personality engine 230 is described in further detail in connection with FIGURE 8.
- FIGURE 3 is a block diagram of the exemplary sensory engine 215 that may be included in the intelligent user interface system 130.
- the sensory engine 215 can be executed to obtain information from the user environment 125 during learning of idiosyncrasies and/or collection of data.
- the sensory engine 215, as illustrated in FIGURE 3, includes a speech module 305, a sight module 310, a sound module 315, and a position module 320.
- the individual program components and applications making up modules of the sensory engine 215 may be stored in memory of devices such as the user device 105 or the server 120.
- the constituent modules of the sensory engine 215 can be executed by a processor to effectuate respective functionalities attributed thereto.
- the sensory engine 215 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
- the speech module 305 can be executed to decipher detected speech from the user.
- the module 305 may utilize Hidden Markov Models (HMM).
- HMM output a sequence of symbols or quantities.
- the speech signal can be viewed as a piecewise stationary signal or a short-time stationary signal whereby speech can be approximated as a stationary process allowing the speech to be thought of as a Markov model for stochastic processes.
- HMMs are popular in that they can be trained automatically and are simple and computationally feasible to use.
- the speech module 305 may also use Viterbi algorithms, acoustic and language model information, finite state transducers, and other speech recognition techniques.
- the sight module 310 is executable to optically detect a body part of the user.
- the sight module 310 can be executed to detect a hand of the user in order to detect a manual gesture.
- the sight module 310 may also be executed to detect the face of the user such as to perform facial recognition.
- a facial recognition algorithm may identify faces by extracting landmarks, or features, from an image of the subject's face such as the relative position, size, and/or shape of the eyes, nose, cheekbones, and jaw. These features are then used to search for other images with matching features.
- Other algorithms normalize a gallery of face images and then compress the face data, only saving the data in the image that is useful for face detection; a probe image is then compared with the face data.
- Recognition algorithms can generally be divided into the geometric, which look at distinguishing features or photometric, which is a statistical approach that distills an image into values and comparing the values with templates to eliminate variances.
- Other techniques include three-dimensional recognition that uses 3-D sensors to capture information about the shape of a face to identify distinctive features and skin texture analysis, which uses the visual details of the skin and turns the unique lines, patterns, and spots into a mathematical space.
- Optical information of the user environment 125 can be obtained using a camera communicatively coupled or integral with the user device 105, as described in connection with FIGURE 9.
- Execution of the sound module 315 allows a response to an audio signal in the user environment 125 to be provided.
- Audio signals in the user environment 125 can be detected using a microphone integral or communicatively coupled with the user device 105, as described in connection with FIGURE 9.
- the sound module 315 might identify a sudden sound against a previously existing background of silence as might occur with the opening of a door in a previously empty room. That sound might indicate the presence of a user.
- the position module 320 can be executed to determine the location and/or motion of the user. Positional information indicative of the location and motion of the user can be obtained through GPS and other triangulation techniques, including base stations. For example, GPS information can be obtained using a GPS device communicatively coupled or integral with the user device 105, as described in connection with FIGURE 9.
- FIGURE 4 is a block diagram of the exemplary thought engine 220 that may be included in the intelligent user interface system 130. As mentioned in connection with FIGURE 2, the thought engine can be executed to generate thought-based statements based at least in part on the knowledge base 205 and the information from the user environment 125 obtained through execution of the sensory engine 215.
- the thought engine 220 includes an information evaluation module 405, a thought formation module 410, and a thought prioritization module 415.
- the individual program components and applications making up modules of the thought engine 220 may be stored in memory of devices such as the user device 105 or the server 120.
- the constituent modules of the thought engine 220 can be executed by a processor to effectuate respective functionalities attributed thereto.
- the thought engine 220 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
- the information evaluation module 405 when executed, evaluates all or some portion of available information associated with the user. This can entail evaluation of the knowledge base 205 as well as the information from the user environment 125 obtained though execution of the sensory engine 215. Evaluation module 405 aggregates all available information relevant to a particular scenario to generate parameters that might drive a subsequent thought based statement generated by the thought formation module 410. Evaluation module 405 may access knowledge base 205 to recognize certain patterns of behavior in light of current sensory information. For example, if the knowledge base 205 reflects that a particular user arrives home Monday through Friday at approximately 5:30 PM, the presence of sound corresponding to an opening door at 5.24 PM on a Thursday may similarly indicate the arrival of that user.
- the thought formation module 410 may then formulate an appropriate thought statement.
- Evaluation module 405 may similarly recognize that two users typically arrive home at the same time and require additional information such as recognizing the voice of a user or processing image information of the user. In this way, the thought formation module 410 may then generate the appropriate greeting (e.g., "Hello, Will” or "Hello, Holly”).
- the thought formation module 410 can be executed to formulate the thought-based statements in response to an evaluation of the knowledge base 205 and the information from the user environment 125 as undertaken by evaluation module 405.
- the thought- formation module 410 may then issue appropriate thought-based statements such as "Good evening, Will" when clock time indicates that it is 5:30 PM and Will typically arrives home at 5:30, a camera having processed image data confirming that Will is, in fact, home rather than his roommate or girlfriend.
- the thought formation module 410 may recognize, in light of parameters from the evaluation module 405, that any of those three persons might have entered into the room and issue a more generic greeting such as "Good evening, who has arrived home?" in order to prompt an informative response from the user-that response also being processed by evaluation module 405.
- the thought prioritization module 415 is executable to prioritize the thought-based statements based on importance. For example, the prioritization module 415 may indicate that of three thought- based statements identified as being appropriate for the arrival of a user into the room at 5:30 PM on a Friday (as indicated by parameters generated by the evaluation module 405) that "Good evening, welcome home” should be rendered before statements such as "would you like me to make a dinner suggestion?" or "would you like me to play some music?" If the entering user states, "thank you, I'm hungry, any suggestions for dinner” in response to the "welcome home greeting," then the prioritization module may indicate that the next based statement should be "would you like me to make a dinner suggestion?" rather than inquiring as to music and launching a library of available music or even inquiring into a particular song or artist. Prioritization is dependent upon the context of any given situation and history related to that situation as determined by the evaluation module 405.
- FIGURE 5 is a block diagram of the exemplary interaction engine 225 that may be included in the intelligent user interface system 130.
- the interaction engine 225 can be executed to present an intelligent user interface and to allow for interaction with the user based at least in part on the thought-based statements generated through execution of the thought engine 220.
- the interaction engine 225 depicted in FIGURE 5 includes an action module 505, a reaction module 510, an interactive conversation module 515, and an optional avatar module 520.
- the individual program components and applications making up modules of the interaction engine 225 may be stored in memory of devices such as the user device 105 or the server 120.
- the constituent modules of the interaction engine 225 can be executed by a processor to effectuate respective functionalities attributed thereto.
- the interaction engine 225 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
- the action module 505 is executable to perform actions based on the thought-based statements. For example, if a thought-based statement suggests the playing of music, the action module 505 may launch a music library and indicate available songs and artists. Similarly, if a statement suggests restaurants, a map may be launched indicating location, reviews, or means for making a reservation.
- the reaction module 510 can be executed to perform reactions to information obtained from the user environment 125. If camera data indicates that the light level in the room has dipped, the reaction module 510 can trigger the activation of room lighting if the system is coupled to a light management system. Similarly, if sound volume dips in the room, then the volume associated with music being played by the system will also dip to avoid it being too loud. In another example, if the phone rings (as indicated by the detected sound of a ringer or through a VOIP connection coupled to the system), the reaction module 510 may pause playback of a movie or game and result in the generation of a thought based statement inquiring as to whether the call should be answered.
- the interactive conversation module 515 is executable to provide verbal responses to verbal input by the user. For example, if a user requests music, then the interactive conversation module 515 may respond, "I'd be happy to comply-is there a particular type of music you would like to listen to?" By working in conjunction with other modules and the knowledge base 205, the interactive conversation module 515 may determine that a user likes a particular genre of music on particular days or at particular times and suggest playback of that particular genre in a similar situation.
- FIGURE 6 is a collection of exemplary avatars that may be included in the intelligent user interface. Any number of the aforementioned modules may interact with other modules to provide a conversational, almost human, interactive experience.
- FIGURE 7 is a block diagram of the exemplary personality engine 230 that may be included in the intelligent user interface system 130.
- the personality engine 230 can be executed to develop personality nuances of the intelligent user interface that affect the interaction between the user and the intelligent user interface.
- the personality engine 230 includes a conversation analysis module 705, an experience analysis module 710, a goals module 715, and a desires module 720.
- the individual program components and applications making up modules of the personality engine 230 may be stored in memory of devices such as the user device 105 or the server 120.
- the constituent modules of the personality engine 230 can be executed by a processor to effectuate respective functionalities attributed thereto.
- the personality engine 230 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
- the conversation analysis module 705 can be executed to analyze past verbal input by the user.
- the generated thought-based statements may be based in part the analysis of the past verbal input. For example, certain statements ("I had a lousy day") may be indicative of mood or present feeling, which may be used to present certain options if similar conversational interactions are identified in the future.
- the experience analysis module 710 is executable to analyze past interactions between the user and the user device 105.
- the generated thought-based statements can be based in part on the analysis of the past interactions. For example, a logic tree might be developed that indicates a particular flow of conversation results in a particular set of discussion options (e.g., an inquiry as to food leads to offering up a suggestion, which then leads to type of food, followed by proximity, and ultimately the availability of reservations or take out).
- Execution of the goals module 715 allows formation of goals of the intelligent user interface.
- the generated thought-based statements may be based in part on the goals.
- the goals module 715 may, for example, work in conjunction with other modules to identify an ultimate result to be generated from a conversation. For example, if a user inquires as to dinner suggestions, the goals module 715 may recognize that it ultimately needs to find a restaurant that is open, within driving distance (or some other parameter, which may in and of itself be a goal), of a particular type of food and have reservations for a particular number of people at a particular time. AS a result of recognizing these goals, the requisite thought-based statements may be generated as to generate the appropriate responsive answers. What constitutes a goal for any given conversation may be recognized over time from information gathered by the knowledge based 205.
- the desires module 720 can be executed to form desires of the intelligent user interface.
- the generated thought-based statements can be based in part on the desires. For example, if the system recognizes that a user is in a bad mood, then desires module 720 may seek to arrive at some end result that cheers up the user. This may involve suggesting a particular activity, television show, or contacting a friend by phone. Like all modules of the present system, interaction with other modules and data sources may be necessary to properly identify a state of mind or being of a user and that a particular desire or goal is appropriate.
- FIGURE 8 is a flowchart illustrating an exemplary method 800 for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
- the steps of the method 800 may be performed in varying orders. Furthermore, steps may be added or subtracted from the method 800 and still fall within the scope of the present technology.
- the methodology illustrated in FIGURE 8 may be embodied on a computer-readable storage medium and executable by a processing device at anyone of the devices illustrated in FIGURE 1.
- step 805 learned idiosyncrasies and collected data of the user are stored in the knowledge base 205.
- Step 805 can be performed in conjunction with execution of the user data aggregation engine 210.
- step 810 information is obtained from the surrounding environment of the user (e.g., the user environment 125) during learning of idiosyncrasies or collection of data.
- Step 810 can be performed by way of execution of the sensory engine 215.
- step 815 thought-based statements are generated based at least in part on the knowledge base 205 and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data. As mentioned herein, the thought-based statements serve to invoke or respond to subsequent actions of the user.
- the thought engine 220 can be executed to perform step 815.
- step 820 the user interface is presented and interaction with the user is allowed therewith based at least in part on the thought-based statements.
- Step 820 can be performed through execution of the interaction engine 225.
- step 825 personality nuances of the user interface are developed that affect the interaction between the user and the user interface.
- the personality engine 230 can be executed to perform step 825.
- FIGURE 9 is a block diagram illustrating an exemplary device 900 that may be used to implement an embodiment of the present technology.
- the device 900 may be implemented in the contexts of the likes of the user device 105 and the server 120.
- the device 900 of FIGURE 9 includes one or more processors 910 and main memory 920.
- Main memory 920 stores, in part, instructions and data for execution by processor 910.
- Main memory 920 can store the executable code when in operation.
- the device 900 of FIGURE 9 further includes a mass storage device 930, portable storage medium drive(s) 940, output devices 950, user input devices 960, a graphics display 970, and peripheral devices 980.
- FIGURE 9 The components shown in FIGURE 9 are depicted as being connected via a single bus 990.
- the components may be connected through one or more data transport means.
- the processor unit 910 and the main memory 920 may be connected via a local microprocessor bus, and the mass storage device 930, peripheral device(s) 980, portable storage device 940, and display system 970 may be connected via one or more input/output (I/O) buses.
- I/O input/output
- Mass storage device 930 which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 910. Mass storage device 930 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 920.
- Portable storage device 940 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk, digital video disc, or USB storage device, to input and output data and code to and from the device 900 of FIGURE 9.
- a portable non-volatile storage medium such as a floppy disk, compact disk, digital video disc, or USB storage device
- the system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the device 900 via the portable storage device 940.
- Input devices 960 provide a portion of a user interface.
- Input devices 960 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys.
- the device 900 as shown in FIGURE 9 includes output devices 950. Suitable output devices include speakers, printers, network interfaces, and monitors.
- Display system 970 may include a liquid crystal display (LCD) or other suitable display device.
- Display system 970 receives textual and graphical information, and processes the information for output to the display device.
- LCD liquid crystal display
- Peripherals 980 may include any type of computer support device to add additional functionality to the computer system.
- Peripheral device(s) 980 may include a modem, a router, a camera, a microphone, and a GPS receiver.
- Peripheral device(s) 980 can be integral or communicatively coupled with the device 900.
- the components contained in the device 900 of FIGURE 9 are those typically found in computing systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computing components that are well known in the art.
- the device 900 of FIGURE 9 can be a home entertainment system, personal computer, handheld computing device, telephone, mobile computing device, workstation, server, minicomputer, mainframe computer, or any other computing device.
- the device 900 can also include different bus configurations, networked platforms, multi-processor platforms, etc.
- Various operating systems can be used including Unix, Linux, Windows, Macintosh OS, Palm OS, webOS, Android, iPhone OS, and other suitable operating systems.
- Computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU), a processor, a microcontroller, or the like. Such media can take forms including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of computer-readable storage media include a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic storage medium, a CD-ROM disk, digital video disk (DVD), any other optical storage medium, RAM, PROM, EPROM, a FLASHEPROM, any other memory chip or cartridge.
Abstract
A user interface evolves based on learned idiosyncrasies and collected data of a user. Learned idiosyncrasies and collected data of the user can be stored in a knowledge base. Information from the surrounding environment of the user can be obtained during learning of idiosyncrasies or collection of data. Thought-based statements can be generated based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data. The thought-based statements serve to invoke or respond to subsequent actions of the user. The user interface can be presented so as to allow for interaction with the user based at least in part on the thought-based statements. Furthermore, personality nuances of the user interface can be developed that affect the interaction between the user and the user interface.
Description
EVOLUTION OF A USER INTERFACE BASED ON LEARNED IDIOSYNCRASIES AND COLLECTED DATA OF A USER
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention generally relates to user interfaces. More specifically, the present invention relates to providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
Description of the Related Art
A user interface is an aggregate of means by which people-users-interact with a system such as a particular machine, device, computer program, or other complex tool. The user interface provides means of input and output. The input means allow the user to manipulate the system, while the output means allow the system to indicate the effects of the user manipulation. The design of a user interface affects the amount of effort a user must expend to provide input for the system and to interpret output of the system. Usability is the degree to which the design of a particular user interface takes into account the human psychology and behavioral characteristics of the users, and makes the process of using the system effective, efficient and satisfying.
Current user interfaces are, at best, minimally personalized. Generally, these user interfaces are available with factory-set defaults that are selected with the general population or another large user group in mind. Users maybe provided with the option of changing certain preferences; however any preference changes will be limited to a predefined list thereof. Furthermore, any customized behavior of these user interfaces must be specifically programmed by the user or otherwise. Given these and other limitations with current user interfaces, what is needed is a user interface that evolves in various aspects during use based on characteristics, habits, and other data associated with a user.
SUMMARY OF THE CLAIMED INVENTION
Embodiments of the present invention allow an intelligent user interface to be provided that evolves based on learned idiosyncrasies and collected data of a user.
In a claimed embodiment, a method is set forth for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user. Learned idiosyncrasies and collected data of the user are stored in a knowledge base. Instructions stored in memory are executed to obtain information from the surrounding environment of the user during learning of idiosyncrasies or collection of data. Instructions stored in memory are executed to generate thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data. The thought-based statements serve to invoke or respond to subsequent actions of the user. Instructions stored in memory are executed to
present the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
Another claimed embodiment sets forth a system for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user. The system includes a knowledge base, a sensory engine, a thought engine, and an interaction engine, all of which are stored in memory. The knowledge base is configured to store learned idiosyncrasies and collected data of the user. The sensory engine is executable to obtain information from the surrounding environment of the user during learning of idiosyncrasies or collection of data. The thought engine is executable to generate thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data. The thought- based statements serve to invoke or respond to subsequent actions of the user. The interaction engine is executable to present the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
A computer-readable storage medium is set forth in yet another claimed embodiment. A program is embodied on the computer-readable storage medium, which is executable by a processor to perform a method for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user. The method includes storing learned idiosyncrasies and collected data of the user in a knowledge base, obtaining information from the surrounding environment of the user during learning of idiosyncrasies or collection of data, generating thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data, and presenting the user interface and to allow for interaction with the user based at least in part on the thought-based statements. The thought-based statements serve to invoke or respond to subsequent actions of the user
BRIEF DESCRIPTION OF THE FIGURES
FIGURE 1 illustrates an environment for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
FIGURE 2 is a block diagram of an exemplary intelligent user interface system that may be invoked in the environment illustrated in FIGURE 1.
FIGURE 3 is a block diagram of an exemplary sensory engine that may be included in the intelligent user interface system.
FIGURE 4 is a block diagram of an exemplary thought engine that may be included in the intelligent user interface system.
FIGURE 5 is a block diagram of an exemplary interaction engine that may be included in the intelligent user interface system.
FIGURE 6 is a collection of exemplary avatars that may be included in the intelligent user interface.
FIGURE 7 is a block diagram of an exemplary personality engine that may be included in the intelligent user interface system.
FIGURE 8 is a flowchart illustrating an exemplary method for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user.
FIGURE 9 is a block diagram illustrating an exemplary device that may be used to implement an embodiment of the present invention.
DETAILED DESCRIPTION
Embodiments of the presently disclosed invention allow an intelligent user interface to be provided that evolves based on learned idiosyncrasies and collected data of a user. As the user interacts with the intelligent user interface, idiosyncrasies of the user such as habits and rituals will be learned. Additionally, data associated with the user will be collected from local and remote sources. Examples of local data include a catalog of user media or services available to a system presenting the user interface. Examples of remote data include an index of information from third-party accounts associated with the user or textual communication by the user. Further information can be obtained through interactive dialog with the user in which the user explicitly or implicitly provides the information thought verbal input.
The sum of obtained information associated with the user-both local and remote-can be stored in a regularly-updated knowledge base and be used to generate thought-based statements. The thought-based statements serve to invoke or respond to subsequent actions of the user. Though this iterative process of "getting to know" the user, the user interface evolves to better satisfy the wants and needs of the user.
FIGURE 1 illustrates an environment 100 for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user. As depicted, the environment 100 includes a user device 105 in communication with a network 110. Remote data sources 115 and an optional server 120 are also in communication with the network 110. The network 110 facilitates communication between the user device 105, the remote data sources 115, the server 120, and other devices communicatively coupled with the network 110. The user device 105, the remote data sources 115, and the server 120 include the requisite network interfaces, memory, and processing components as may be required to interact with one another via the network 110. User environment 125 includes an area that surrounds the user device 105 and a user thereof. Such an area could, for example, be a living room.
Both the user device 105 and the server 120 are shown as including an intelligent user interface system 130, however, the user interface system 130 may reside entirely in one device or may be distributed across two or more networked devices. The intelligent user interface system 130 is described in further detail in connection with FIGURE 2. Environment 100 may include many devices such as the user device 105 and the server 120 in communication via the network 110.
The user device 105 can facilitate presentation of an intelligent user interface by way of the intelligent user interface system 130. While the user device 105 is depicted in FIGURE 1 as housing the intelligent user interface system 130, the user device 105 may access via the network 110 an instance of the intelligent user interface 130 residing on a remote computer such as the server 120. Similarly, the user device 105 may execute certain components of the intelligent user interface system 130 locally and access other components remotely via the network 110.
The user device 105 may include any portable consumer electronics device such as a smart phone, portable media playback device, or gaming device. Examples of the user device 105 include portable gaming devices such as a PSpTM and PSP Go from Sony Computer Entertainment Inc. The user device 105 may also include car stereos, e-book readers, and portable computers. The user device 105 may include one or more integrated output devices for presenting media or may also allow for an external coupling to the same (e.g., a display and speakers).
The user device 105 may also include any consumer electronics not specifically designed for portability. Examples of the user device 105 include a home entertainment system such as the PlayStation®3 available from Sony Computer Entertainment Inc. or more limited game hardware platforms of a different albeit inferior manufacture than those offered by Sony Computer Entertainment. Further examples of consumer electronics devices include various home theater components such as a Digital Versatile Disc (DVD) player, a Blu-Ray Disc player, a Digital Video Recorder, set-top cable boxes, and personal computers. The user device 105 may include one or more integrated output devices for presenting media or be coupled to the same.
The remote data sources 1 15 include any third-party server or database. Third-party servers may host services such as email and instant messaging services, banks and other financial institutions, social-networking websites, new sources, RSS feeds, and other websites. The remote data sources 1 15 can also include other devices similar to the user device 105.
The environment 100 can optionally include the server 120. The server 120 can store data associated with an instance of the intelligent user interface system 130 residing on the user device 105. The server 120 can also include the intelligent user interface system 130 to facilitate generation of an intelligent user interface to be presented by the user device 105. In such a case, the user device 105 may access an instance of the intelligent user interface system 130 being executed by the server 120 via the network 110. Furthermore, the server 120 can execute certain components of the intelligent user interface system 130 locally, while other components are executed by the user device 105.
FIGURE 2 is a block diagram of the exemplary intelligent user interface system 130 that may be invoked in the environment 100 illustrated in FIGURE 1. As illustrated in FIGURE 2, the intelligent user interface system 130 includes a knowledge base 205, a user data aggregation engine 210, a sensory engine 215, a thought engine 220, an interaction engine 225, and a personality engine 230. The individual program components and applications making up engines and modules of the
intelligent user interface system 130 may be stored in memory of devices such as the user device 105 or the server 120. The intelligent user interface system 130 and its constituent engines and modules can be executed by a processor to effectuate respective functionalities attributed thereto. The intelligent user interface system 130 may be composed of more or fewer engines/modules or combinations of the same and still fall within the scope of the present invention. For example, the functionalities of the interaction engine 225 and the functionalities of the personality engine 230 may be combined into a single engine or module.
The knowledge base 205 can be a database that is configured to store learned idiosyncrasies and collected data of the user. Generally, learned idiosyncrasies are descriptive of individualizing qualities or characteristics of a particular user. The learned idiosyncrasies may account for certain eccentricities or peculiarities by identified habits and rituals of the user. Collected data of the user can encompass any information associated with the user. For example, collected data can include various facts about the user such as who they are, where they come from, and what they are interested in. The collected data may also include an index of user data stored locally or remotely such as game data, browser history, social network profile data, contacts, calendar events, media files, and so forth. Such learned idiosyncrasies and collected data may be regularly obtained by other constituent components of the intelligent user interface system 130 such that the knowledge base 205 is kept up to date. The learned idiosyncrasies and collected data stored by the knowledge base 205 can be accessed by other constituent component of the intelligent user interface system 130.
The user data aggregation engine 210 is executable to update the knowledge base 205 with information associated with the user. Updating the knowledge base may include cataloging local data associated with a user such as locally stored media and calendar events. Collecting remote data associated with the user such as memberships and purchase information may also be part of updating the knowledge base 205. The user data aggregation engine 210 can also be executed to record information associated with verbal input received from the user and to track acts performed by the user to determine user idiosyncrasies.
The sensory engine 215 can be executed to obtain information from the user environment 125 during learning of idiosyncrasies and/or collection of data. Examples of such information include visual or audible information. By being coupled to a microphone or array of microphones and/image sensing device or camera, data concerning the user environment 125 may be collected and processed by the sensory engine 215. This information could include the sound of a door opening at a particular time of day, which would indicate a user arriving home whereby the system may then engage in the offering of thought-based statements (e.g., "welcome home"). Camera data such as an image of the user could likewise invoke a thought-based statement conversation particular to a given user or conversation specific to a particular time of day based on light levels (e.g., "good evening"). The position of a user in the room or with respect to an input gathering device or in the real-world in general may be gathered using GPS, triangulation, cellular base station, or other location based
information. Location information may be derived from other sources not traditionally associated with location identification but nevertheless indicative of the same (e.g., a debit card charge at a restaurant having a particular restaurant). The sensory engine 215 is described in further detail in connection with FIGURE 2.
Execution of the thought engine 220 can generate thought-based statements based at least in part on the knowledge base 205 and the information from the user environment 125 obtained through execution of the sensory engine 215. The thought-based statements serve to invoke or respond to subsequent actions of the user. An example of a thought-based statement might be "welcome home, would you like me to play some music" or flit is currently 6 PM, would you like me to suggest a restaurant for dinner?" The thought engine 220 is described in further detail in connection with FIGURE 4.
The interaction engine 225 is executable to present an intelligent user interface and to allow for interaction with the user based at least in part on the thought-based statements generated through execution of the thought engine 220. The intelligent user interface can include a number of form factors. For example, the intelligent user interface may present a visual image of face such that the interaction is akin to having a conversation with another real person. The interface could also be a character including a real-person (e.g., an avatar generated to appear similar to that of a person or randomly generated persona), a cartoon character (e.g., Homer Simpson), an animal (e.g., a talking dog) or other object (e.g., a blinking eye or giant lips). The interface could also be a touch screen, menu, or other data entry mechanism. The interaction engine 225 is described in further detail in connection with FIGURE 5.
The personality engine 230 can be executed to develop personality nuances of the intelligent user interface that affect the interaction between the user and the intelligent user interface. Such personality nuances may include a particular sense of humor, inside knowledge of the user, an inside joke, a particular tone, and facial expressions. The personality engine 230 is described in further detail in connection with FIGURE 8.
FIGURE 3 is a block diagram of the exemplary sensory engine 215 that may be included in the intelligent user interface system 130. As mentioned in connection with FIGURE 2, the sensory engine 215 can be executed to obtain information from the user environment 125 during learning of idiosyncrasies and/or collection of data. The sensory engine 215, as illustrated in FIGURE 3, includes a speech module 305, a sight module 310, a sound module 315, and a position module 320. The individual program components and applications making up modules of the sensory engine 215 may be stored in memory of devices such as the user device 105 or the server 120. The constituent modules of the sensory engine 215 can be executed by a processor to effectuate respective functionalities attributed thereto. The sensory engine 215 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
The speech module 305 can be executed to decipher detected speech from the user. The module 305 may utilize Hidden Markov Models (HMM). HMM output a sequence of symbols or quantities. The speech signal can be viewed as a piecewise stationary signal or a short-time stationary signal whereby speech can be approximated as a stationary process allowing the speech to be thought of as a Markov model for stochastic processes. HMMs are popular in that they can be trained automatically and are simple and computationally feasible to use. The speech module 305 may also use Viterbi algorithms, acoustic and language model information, finite state transducers, and other speech recognition techniques.
The sight module 310 is executable to optically detect a body part of the user. For example, the sight module 310 can be executed to detect a hand of the user in order to detect a manual gesture. The sight module 310 may also be executed to detect the face of the user such as to perform facial recognition.
In the latter example, a facial recognition algorithm may identify faces by extracting landmarks, or features, from an image of the subject's face such as the relative position, size, and/or shape of the eyes, nose, cheekbones, and jaw. These features are then used to search for other images with matching features. Other algorithms normalize a gallery of face images and then compress the face data, only saving the data in the image that is useful for face detection; a probe image is then compared with the face data. Recognition algorithms can generally be divided into the geometric, which look at distinguishing features or photometric, which is a statistical approach that distills an image into values and comparing the values with templates to eliminate variances. Other techniques include three-dimensional recognition that uses 3-D sensors to capture information about the shape of a face to identify distinctive features and skin texture analysis, which uses the visual details of the skin and turns the unique lines, patterns, and spots into a mathematical space.
Optical information of the user environment 125 can be obtained using a camera communicatively coupled or integral with the user device 105, as described in connection with FIGURE 9.
Execution of the sound module 315 allows a response to an audio signal in the user environment 125 to be provided. Audio signals in the user environment 125 can be detected using a microphone integral or communicatively coupled with the user device 105, as described in connection with FIGURE 9. For example, the sound module 315 might identify a sudden sound against a previously existing background of silence as might occur with the opening of a door in a previously empty room. That sound might indicate the presence of a user.
The position module 320 can be executed to determine the location and/or motion of the user. Positional information indicative of the location and motion of the user can be obtained through GPS and other triangulation techniques, including base stations. For example, GPS information can be obtained using a GPS device communicatively coupled or integral with the user device 105, as described in connection with FIGURE 9.
FIGURE 4 is a block diagram of the exemplary thought engine 220 that may be included in the intelligent user interface system 130. As mentioned in connection with FIGURE 2, the thought engine can be executed to generate thought-based statements based at least in part on the knowledge base 205 and the information from the user environment 125 obtained through execution of the sensory engine 215. As illustrated in FIGURE 4, the thought engine 220 includes an information evaluation module 405, a thought formation module 410, and a thought prioritization module 415. The individual program components and applications making up modules of the thought engine 220 may be stored in memory of devices such as the user device 105 or the server 120. The constituent modules of the thought engine 220 can be executed by a processor to effectuate respective functionalities attributed thereto. The thought engine 220 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
The information evaluation module 405, when executed, evaluates all or some portion of available information associated with the user. This can entail evaluation of the knowledge base 205 as well as the information from the user environment 125 obtained though execution of the sensory engine 215. Evaluation module 405 aggregates all available information relevant to a particular scenario to generate parameters that might drive a subsequent thought based statement generated by the thought formation module 410. Evaluation module 405 may access knowledge base 205 to recognize certain patterns of behavior in light of current sensory information. For example, if the knowledge base 205 reflects that a particular user arrives home Monday through Friday at approximately 5:30 PM, the presence of sound corresponding to an opening door at 5.24 PM on a Thursday may similarly indicate the arrival of that user. With that information having been recognized by evaluation module 405, the thought formation module 410 may then formulate an appropriate thought statement. Evaluation module 405 may similarly recognize that two users typically arrive home at the same time and require additional information such as recognizing the voice of a user or processing image information of the user. In this way, the thought formation module 410 may then generate the appropriate greeting (e.g., "Hello, Will" or "Hello, Holly").
The thought formation module 410 can be executed to formulate the thought-based statements in response to an evaluation of the knowledge base 205 and the information from the user environment 125 as undertaken by evaluation module 405. The thought- formation module 410 may then issue appropriate thought-based statements such as "Good evening, Will" when clock time indicates that it is 5:30 PM and Will typically arrives home at 5:30, a camera having processed image data confirming that Will is, in fact, home rather than his roommate or girlfriend. Similarly, the thought formation module 410 may recognize, in light of parameters from the evaluation module 405, that any of those three persons might have entered into the room and issue a more generic greeting such as "Good evening, who has arrived home?" in order to prompt an informative response from the user-that response also being processed by evaluation module 405.
The thought prioritization module 415 is executable to prioritize the thought-based statements based on importance. For example, the prioritization module 415 may indicate that of three thought- based statements identified as being appropriate for the arrival of a user into the room at 5:30 PM on a Friday (as indicated by parameters generated by the evaluation module 405) that "Good evening, welcome home" should be rendered before statements such as "would you like me to make a dinner suggestion?" or "would you like me to play some music?" If the entering user states, "thank you, I'm hungry, any suggestions for dinner" in response to the "welcome home greeting," then the prioritization module may indicate that the next based statement should be "would you like me to make a dinner suggestion?" rather than inquiring as to music and launching a library of available music or even inquiring into a particular song or artist. Prioritization is dependent upon the context of any given situation and history related to that situation as determined by the evaluation module 405.
FIGURE 5 is a block diagram of the exemplary interaction engine 225 that may be included in the intelligent user interface system 130. As mentioned in connection with FIGURE 2, the interaction engine 225 can be executed to present an intelligent user interface and to allow for interaction with the user based at least in part on the thought-based statements generated through execution of the thought engine 220. The interaction engine 225 depicted in FIGURE 5 includes an action module 505, a reaction module 510, an interactive conversation module 515, and an optional avatar module 520. The individual program components and applications making up modules of the interaction engine 225 may be stored in memory of devices such as the user device 105 or the server 120. The constituent modules of the interaction engine 225 can be executed by a processor to effectuate respective functionalities attributed thereto. The interaction engine 225 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
The action module 505 is executable to perform actions based on the thought-based statements. For example, if a thought-based statement suggests the playing of music, the action module 505 may launch a music library and indicate available songs and artists. Similarly, if a statement suggests restaurants, a map may be launched indicating location, reviews, or means for making a reservation.
The reaction module 510 can be executed to perform reactions to information obtained from the user environment 125. If camera data indicates that the light level in the room has dipped, the reaction module 510 can trigger the activation of room lighting if the system is coupled to a light management system. Similarly, if sound volume dips in the room, then the volume associated with music being played by the system will also dip to avoid it being too loud. In another example, if the phone rings (as indicated by the detected sound of a ringer or through a VOIP connection coupled to the system), the reaction module 510 may pause playback of a movie or game and result in the generation of a thought based statement inquiring as to whether the call should be answered.
The interactive conversation module 515 is executable to provide verbal responses to verbal input by the user. For example, if a user requests music, then the interactive conversation module 515 may respond, "I'd be happy to comply-is there a particular type of music you would like to listen to?" By working in conjunction with other modules and the knowledge base 205, the interactive conversation module 515 may determine that a user likes a particular genre of music on particular days or at particular times and suggest playback of that particular genre in a similar situation.
Execution of the optional avatar module 520 allows presentation of an avatar to the user as a part of the intelligent user interface. FIGURE 6 is a collection of exemplary avatars that may be included in the intelligent user interface. Any number of the aforementioned modules may interact with other modules to provide a conversational, almost human, interactive experience.
FIGURE 7 is a block diagram of the exemplary personality engine 230 that may be included in the intelligent user interface system 130. As mentioned in connection with FIGURE 2, the personality engine 230 can be executed to develop personality nuances of the intelligent user interface that affect the interaction between the user and the intelligent user interface. As illustrated in FIGURE 7, the personality engine 230 includes a conversation analysis module 705, an experience analysis module 710, a goals module 715, and a desires module 720. The individual program components and applications making up modules of the personality engine 230 may be stored in memory of devices such as the user device 105 or the server 120. The constituent modules of the personality engine 230 can be executed by a processor to effectuate respective functionalities attributed thereto. The personality engine 230 may be composed of more or fewer modules or combinations of the same and still fall within the scope of the present invention.
The conversation analysis module 705 can be executed to analyze past verbal input by the user. The generated thought-based statements may be based in part the analysis of the past verbal input. For example, certain statements ("I had a lousy day") may be indicative of mood or present feeling, which may be used to present certain options if similar conversational interactions are identified in the future.
The experience analysis module 710 is executable to analyze past interactions between the user and the user device 105. The generated thought-based statements can be based in part on the analysis of the past interactions. For example, a logic tree might be developed that indicates a particular flow of conversation results in a particular set of discussion options (e.g., an inquiry as to food leads to offering up a suggestion, which then leads to type of food, followed by proximity, and ultimately the availability of reservations or take out).
Execution of the goals module 715 allows formation of goals of the intelligent user interface. The generated thought-based statements may be based in part on the goals. The goals module 715 may, for example, work in conjunction with other modules to identify an ultimate result to be generated from a conversation. For example, if a user inquires as to dinner suggestions, the goals module 715 may recognize that it ultimately needs to find a restaurant that is open, within driving
distance (or some other parameter, which may in and of itself be a goal), of a particular type of food and have reservations for a particular number of people at a particular time. AS a result of recognizing these goals, the requisite thought-based statements may be generated as to generate the appropriate responsive answers. What constitutes a goal for any given conversation may be recognized over time from information gathered by the knowledge based 205.
The desires module 720 can be executed to form desires of the intelligent user interface. The generated thought-based statements can be based in part on the desires. For example, if the system recognizes that a user is in a bad mood, then desires module 720 may seek to arrive at some end result that cheers up the user. This may involve suggesting a particular activity, television show, or contacting a friend by phone. Like all modules of the present system, interaction with other modules and data sources may be necessary to properly identify a state of mind or being of a user and that a particular desire or goal is appropriate.
FIGURE 8 is a flowchart illustrating an exemplary method 800 for providing an intelligent user interface that evolves based on learned idiosyncrasies and collected data of a user. The steps of the method 800 may be performed in varying orders. Furthermore, steps may be added or subtracted from the method 800 and still fall within the scope of the present technology. The methodology illustrated in FIGURE 8 may be embodied on a computer-readable storage medium and executable by a processing device at anyone of the devices illustrated in FIGURE 1.
In step 805, learned idiosyncrasies and collected data of the user are stored in the knowledge base 205. Step 805 can be performed in conjunction with execution of the user data aggregation engine 210.
In step 810, information is obtained from the surrounding environment of the user (e.g., the user environment 125) during learning of idiosyncrasies or collection of data. Step 810 can be performed by way of execution of the sensory engine 215.
In step 815, thought-based statements are generated based at least in part on the knowledge base 205 and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data. As mentioned herein, the thought-based statements serve to invoke or respond to subsequent actions of the user. The thought engine 220 can be executed to perform step 815.
In step 820, the user interface is presented and interaction with the user is allowed therewith based at least in part on the thought-based statements. Step 820 can be performed through execution of the interaction engine 225.
In step 825, personality nuances of the user interface are developed that affect the interaction between the user and the user interface. The personality engine 230 can be executed to perform step 825.
FIGURE 9 is a block diagram illustrating an exemplary device 900 that may be used to implement an embodiment of the present technology. The device 900 may be implemented in the
contexts of the likes of the user device 105 and the server 120. The device 900 of FIGURE 9 includes one or more processors 910 and main memory 920. Main memory 920 stores, in part, instructions and data for execution by processor 910. Main memory 920 can store the executable code when in operation. The device 900 of FIGURE 9 further includes a mass storage device 930, portable storage medium drive(s) 940, output devices 950, user input devices 960, a graphics display 970, and peripheral devices 980.
The components shown in FIGURE 9 are depicted as being connected via a single bus 990. The components may be connected through one or more data transport means. The processor unit 910 and the main memory 920 may be connected via a local microprocessor bus, and the mass storage device 930, peripheral device(s) 980, portable storage device 940, and display system 970 may be connected via one or more input/output (I/O) buses.
Mass storage device 930, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 910. Mass storage device 930 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 920.
Portable storage device 940 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk, digital video disc, or USB storage device, to input and output data and code to and from the device 900 of FIGURE 9. The system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the device 900 via the portable storage device 940.
Input devices 960 provide a portion of a user interface. Input devices 960 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the device 900 as shown in FIGURE 9 includes output devices 950. Suitable output devices include speakers, printers, network interfaces, and monitors.
Display system 970 may include a liquid crystal display (LCD) or other suitable display device. Display system 970 receives textual and graphical information, and processes the information for output to the display device.
Peripherals 980 may include any type of computer support device to add additional functionality to the computer system. Peripheral device(s) 980 may include a modem, a router, a camera, a microphone, and a GPS receiver. Peripheral device(s) 980 can be integral or communicatively coupled with the device 900.
The components contained in the device 900 of FIGURE 9 are those typically found in computing systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computing components that are well known in the art. Thus, the device 900 of FIGURE 9 can be a home entertainment system, personal computer, handheld computing device, telephone, mobile computing device, workstation, server, minicomputer,
mainframe computer, or any other computing device. The device 900 can also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems can be used including Unix, Linux, Windows, Macintosh OS, Palm OS, webOS, Android, iPhone OS, and other suitable operating systems.
It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the technology. Computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU), a processor, a microcontroller, or the like. Such media can take forms including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of computer-readable storage media include a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic storage medium, a CD-ROM disk, digital video disk (DVD), any other optical storage medium, RAM, PROM, EPROM, a FLASHEPROM, any other memory chip or cartridge.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. The descriptions are not intended to limit the scope of the technology to the particular forms set forth herein. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments. It should be understood that the above description is illustrative and not restrictive. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the technology as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. The scope of the technology should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.
Claims
1. A method for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user, the method comprising:
storing learned idiosyncrasies and collected data of the user in a knowledge base; executing instructions stored in memory to obtain information from the surrounding environment of the user during learning of idiosyncrasies or collection of data;
executing instructions stored in memory to generate thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data, the thought-based statements serving to invoke or respond to subsequent actions of the user; and
executing instructions stored in memory to present the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
2. The method of claim 1, wherein executing instructions to obtain the information from the surrounding environments includes deciphering detected speech from the user.
3. The method of claim 1, wherein executing instructions to obtain the information from the surrounding environments includes optically detecting a body part of the user.
4. The method of claim 3, wherein optically detecting the body part includes detecting a manual gesture.
5. The method of claim 3, wherein optically detecting the body part includes performing facial recognition.
6. The method of claim 1, wherein executing instructions to obtain the information from the surrounding environment includes determining one or more of the location of the user or motion of the user.
7. The method of claim 1, wherein executing instructions to obtain the information from the surrounding environments includes providing a response to an audio signal in the surrounding environment of the system.
8. The method of claim 1, wherein executing instructions to generate the thought -based statements includes prioritizing the thought -based statements based on importance.
9. The method of claim 1, wherein the user interface includes an avatar.
10. The method of claim 1, further comprising executing instructions stored in memory to develop personality nuances of the user interface that affect the interaction between the user and the user interface.
11. The method of claim 10, wherein executing instructions to develop the personality nuances includes analyzing past verbal input by the user, wherein the generated thought-based statements are further based on the analysis of the past verbal input.
12. The method of claim 10, wherein executing instructions to develop the personality nuances includes analyzing past interactions between the user and the system, wherein the generated thought-based statements are further based on the analysis of the past interactions.
13. The method of claim 10, wherein executing instructions to develop the personality nuances includes forming desires of the intelligent user interface, wherein the generated thought- based statements are further based on the desires.
14. The method of claim 10, wherein executing instructions to develop the personality nuances includes forming goals of the intelligent user interface, wherein the generated thought -based statements are further based on the goals
15. A system for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user, the system comprising:
a knowledge base configured to store learned idiosyncrasies and collected data of the user;
a sensory engine stored in memory and executable to obtain information from the surrounding environment of the user during learning of idiosyncrasies or collection of data;
a thought engine stored in memory and executable to generate thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data, the thought-based statements serving to invoke or respond to subsequent actions of the user; and
an interaction engine stored in memory and executable to present the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
16. The system of claim 15, further comprising a personality engine stored in memory and executable to develop personality nuances of the user interface that affect the interaction between the user and the user interface.
17. A computer-readable storage medium having a program embodied thereon, the program executable by a processor to perform a method for providing a user interface that evolves based on learned idiosyncrasies and collected data of a user, the method comprising:
storing learned idiosyncrasies and collected data of the user in a knowledge base; obtaining information from the surrounding environment of the user during learning of idiosyncrasies or collection of data;
generating thought-based statements based at least in part on the knowledge base and the information from the environment surrounding the user during learning of idiosyncrasies or collection of data, the thought-based statements serving to invoke or respond to subsequent actions of the user; and
presenting the user interface and to allow for interaction with the user based at least in part on the thought-based statements.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/887,397 US8504487B2 (en) | 2010-09-21 | 2010-09-21 | Evolution of a user interface based on learned idiosyncrasies and collected data of a user |
US12/887,397 | 2010-09-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012039844A1 true WO2012039844A1 (en) | 2012-03-29 |
Family
ID=45818626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2011/046826 WO2012039844A1 (en) | 2010-09-21 | 2011-08-05 | Evolution of a user interface based on learned idiosyncrasies and collected data of a user |
Country Status (2)
Country | Link |
---|---|
US (3) | US8504487B2 (en) |
WO (1) | WO2012039844A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504487B2 (en) | 2010-09-21 | 2013-08-06 | Sony Computer Entertainment America Llc | Evolution of a user interface based on learned idiosyncrasies and collected data of a user |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130311408A1 (en) * | 2012-05-15 | 2013-11-21 | Comcast Cable Communications, Llc | Determining and Predicting Popularity of Content |
US20150025964A1 (en) * | 2013-07-18 | 2015-01-22 | RainingClouds Technologies Private Limited | System and method for demonstrating a software application |
US10198696B2 (en) | 2014-02-04 | 2019-02-05 | GM Global Technology Operations LLC | Apparatus and methods for converting user input accurately to a particular system function |
US9552359B2 (en) * | 2014-02-21 | 2017-01-24 | Apple Inc. | Revisiting content history |
US10213693B2 (en) | 2015-12-04 | 2019-02-26 | Sony Interactive Entertainment LLC | Method and apparatus for awarding trophies |
US9904669B2 (en) | 2016-01-13 | 2018-02-27 | International Business Machines Corporation | Adaptive learning of actionable statements in natural language conversation |
US10755195B2 (en) | 2016-01-13 | 2020-08-25 | International Business Machines Corporation | Adaptive, personalized action-aware communication and conversation prioritization |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795808B1 (en) * | 2000-10-30 | 2004-09-21 | Koninklijke Philips Electronics N.V. | User interface/entertainment device that simulates personal interaction and charges external database with relevant data |
US20070038331A1 (en) * | 2003-06-09 | 2007-02-15 | Hanson David F | Human Emulation Robot System |
US20070074114A1 (en) * | 2005-09-29 | 2007-03-29 | Conopco, Inc., D/B/A Unilever | Automated dialogue interface |
US20100050078A1 (en) * | 1998-01-30 | 2010-02-25 | Net-Express, Ltd. | Personalized internet interaction |
US20100097395A1 (en) * | 2008-10-16 | 2010-04-22 | At&T Intellectual Property I, L.P. | System and method for presenting an avatar |
Family Cites Families (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3409877A (en) | 1964-11-27 | 1968-11-05 | Bell Telephone Labor Inc | Automatic maintenance arrangement for data processing systems |
US3436734A (en) | 1966-06-21 | 1969-04-01 | Ibm | Error correcting and repairable data processing storage system |
US3517171A (en) | 1967-10-30 | 1970-06-23 | Nasa | Self-testing and repairing computer |
US3623014A (en) | 1969-08-25 | 1971-11-23 | Control Data Corp | Computer communications system |
US3668644A (en) | 1970-02-09 | 1972-06-06 | Burroughs Corp | Failsafe memory system |
JPS5990275A (en) | 1982-11-12 | 1984-05-24 | Toshiba Corp | Cassette type storage device |
US4485457A (en) | 1983-05-31 | 1984-11-27 | Cbs Inc. | Memory system including RAM and page switchable ROM |
US4752068A (en) | 1985-11-07 | 1988-06-21 | Namco Ltd. | Video game machine for business use |
JP2710316B2 (en) | 1987-08-26 | 1998-02-10 | 任天堂株式会社 | Password creation device and game machine using password creation device |
US4858930A (en) | 1988-06-07 | 1989-08-22 | Namco, Ltd. | Game system |
US5003490A (en) | 1988-10-07 | 1991-03-26 | Hughes Aircraft Company | Neural network signal processor |
JP2815612B2 (en) | 1989-05-15 | 1998-10-27 | 株式会社ナムコ | CMOS input type IC and power supply switching circuit |
US5201044A (en) | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
US5222134A (en) | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
US5233423A (en) | 1990-11-26 | 1993-08-03 | North American Philips Corporation | Embedded commericals within a television receiver using an integrated electronic billboard |
US5273294A (en) | 1991-02-04 | 1993-12-28 | Tengen Ltd. | Game memory |
JP2591692B2 (en) | 1991-02-04 | 1997-03-19 | 株式会社テンゲン | Game equipment |
NZ255971A (en) | 1992-09-21 | 1997-05-26 | Uniloc Singapore Private Ltd | Software registration and licensing system uses matching of licensee indentification codes |
JPH06180674A (en) | 1992-12-14 | 1994-06-28 | Sony Corp | Data storage device |
JPH06275098A (en) | 1993-03-24 | 1994-09-30 | Mitsubishi Electric Corp | Semiconductor memory |
US5418713A (en) | 1993-08-05 | 1995-05-23 | Allen; Richard | Apparatus and method for an on demand data delivery system for the preview, selection, retrieval and reproduction at a remote location of previously recorded or programmed materials |
US6135646A (en) | 1993-10-22 | 2000-10-24 | Corporation For National Research Initiatives | System for uniquely and persistently identifying, managing, and tracking digital objects |
US7313251B2 (en) | 1993-11-18 | 2007-12-25 | Digimarc Corporation | Method and system for managing and controlling electronic media |
US6611607B1 (en) | 1993-11-18 | 2003-08-26 | Digimarc Corporation | Integrating digital watermarks in multimedia content |
JP3796551B2 (en) | 1994-04-25 | 2006-07-12 | ソニー株式会社 | Information storage processing device |
US5532735A (en) | 1994-04-29 | 1996-07-02 | At&T Corp. | Method of advertisement selection for interactive service |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5523551A (en) | 1994-07-15 | 1996-06-04 | Sony Corporation | Vending apparatus and system for automated dispensing of disks |
JPH08101867A (en) | 1994-09-30 | 1996-04-16 | Fujitsu Ltd | Software use permission system |
US6560349B1 (en) | 1994-10-21 | 2003-05-06 | Digimarc Corporation | Audio monitoring using steganographic information |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6070141A (en) | 1995-05-08 | 2000-05-30 | Image Data, Llc | System and method of assessing the quality of an identification transaction using an identificaion quality score |
US7171480B2 (en) | 2001-01-29 | 2007-01-30 | Sony Computer Entertainment America Inc. | Method and system for providing auxiliary content located on local storage during download/access of primary content over a network |
US6117011A (en) | 1995-07-27 | 2000-09-12 | Lvov; Denis Ernestovich | Electronic game system, method of managing and regulating said system |
US5913040A (en) | 1995-08-22 | 1999-06-15 | Backweb Ltd. | Method and apparatus for transmitting and displaying information between a remote network and a local computer |
KR100460398B1 (en) | 1995-10-09 | 2005-01-17 | 마쯔시다덴기산교 가부시키가이샤 | Optical disk, optical recorder, optical reproducing device, encrypted communication system, and authorizing system for use of program |
US5857021A (en) | 1995-11-07 | 1999-01-05 | Fujitsu Ltd. | Security system for protecting information stored in portable storage media |
JP3549971B2 (en) | 1995-12-25 | 2004-08-04 | 株式会社ハドソン | Video game progress backup method and video game machine |
US5729214A (en) | 1996-01-02 | 1998-03-17 | Moore; Steven Jerome | Condition reactive display medium |
US5838314A (en) | 1996-02-21 | 1998-11-17 | Message Partners | Digital video services system with optional interactive advertisement capabilities |
JP3486043B2 (en) | 1996-03-11 | 2004-01-13 | 株式会社東芝 | Operating method of software distribution system and software system |
US5937158A (en) | 1996-04-19 | 1999-08-10 | Matsushita Electric Industrial Co., Ltd. | System and method for connecting portable media with network and computer for use with the system |
US5809145A (en) | 1996-06-28 | 1998-09-15 | Paradata Systems Inc. | System for distributing digital information |
US5958012A (en) | 1996-07-18 | 1999-09-28 | Computer Associates International, Inc. | Network management system using virtual reality techniques to display and simulate navigation to network components |
JPH1049986A (en) | 1996-08-05 | 1998-02-20 | Sony Corp | Recording medium, recorder or reproducer or reproducing method |
US5829047A (en) | 1996-08-29 | 1998-10-27 | Lucent Technologies Inc. | Backup memory for reliable operation |
JPH10133955A (en) | 1996-10-29 | 1998-05-22 | Matsushita Electric Ind Co Ltd | Portable medium driving device, its method, cooperative device of portable medium and network, and its method |
US6137480A (en) | 1996-12-27 | 2000-10-24 | Sony Corporation | Computer system using a portable card for managing security and power-saving features |
JP4101899B2 (en) | 1997-02-10 | 2008-06-18 | 大日本印刷株式会社 | License management system |
US6073123A (en) | 1997-02-26 | 2000-06-06 | Staley; Clinton A. | Method and apparatus for detecting unauthorized copies of software |
US6247131B1 (en) | 1997-03-14 | 2001-06-12 | Fujitsu Limited | Information management method and recording medium |
US5987376A (en) | 1997-07-16 | 1999-11-16 | Microsoft Corporation | System and method for the distribution and synchronization of data and state information between clients in a distributed processing system |
US6640306B1 (en) | 1997-08-15 | 2003-10-28 | Sony Corporation | Data transmitter, data reproduction method, terminal, and method for transferring data transmitter |
JP2001517822A (en) | 1997-09-19 | 2001-10-09 | パク,ヒョ,ジョーン | Software usage right management system using independent software registration server |
JP3906535B2 (en) | 1997-11-07 | 2007-04-18 | ソニー株式会社 | Download system and recording medium |
US6571211B1 (en) | 1997-11-21 | 2003-05-27 | Dictaphone Corporation | Voice file header data in portable digital audio recorder |
US6148335A (en) | 1997-11-25 | 2000-11-14 | International Business Machines Corporation | Performance/capacity management framework over many servers |
JPH11242873A (en) | 1998-02-26 | 1999-09-07 | Sony Corp | Recording and reproducing device |
US6189146B1 (en) | 1998-03-18 | 2001-02-13 | Microsoft Corporation | System and method for software licensing |
EP1016960A4 (en) | 1998-05-14 | 2002-04-03 | Sega Enterprises Kk | Information processor, information processing method, information recorded medium, and information processing system |
JP4064060B2 (en) | 1998-05-15 | 2008-03-19 | ユニキャスト・コミュニケーションズ・コーポレイション | Technology for implementing network-distributed interstitial web advertisements that are initiated by the browser and invisible to the user using ad tags embedded in reference web pages |
JP3968875B2 (en) | 1998-06-24 | 2007-08-29 | ソニー株式会社 | Download device and recording medium |
JP2000020795A (en) | 1998-07-06 | 2000-01-21 | Matsushita Electric Ind Co Ltd | Portable media corresponding to electronic charging account and electronic charging/money receiving system |
US6463078B1 (en) | 1998-07-22 | 2002-10-08 | Microsoft Corporation | Method for switching protocols transparently in multi-user applications |
JP2000076267A (en) | 1998-08-31 | 2000-03-14 | Sharp Corp | Information retrieval method, information retrieval device and computer readable recording medium recording information retrieval program |
US20020161709A1 (en) | 1998-09-11 | 2002-10-31 | Michel Floyd | Server-side commerce for deliver-then-pay content delivery |
US6166738A (en) | 1998-09-14 | 2000-12-26 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects |
US6119108A (en) | 1998-10-01 | 2000-09-12 | Aires Systems Corporation | Secure electronic publishing system |
US6066182A (en) | 1998-11-05 | 2000-05-23 | Platinum Technology Ip, Inc. | Method and apparatus for operating system personalization during installation |
US6434535B1 (en) | 1998-11-13 | 2002-08-13 | Iomega Corporation | System for prepayment of electronic content using removable media and for prevention of unauthorized copying of same |
US6832318B1 (en) | 1999-01-15 | 2004-12-14 | Sony Corporation | Method and apparatus for secure distribution of information recorded on fixed media |
US6560640B2 (en) | 1999-01-22 | 2003-05-06 | Openwave Systems, Inc. | Remote bookmarking for wireless client devices |
JP2000227919A (en) | 1999-02-05 | 2000-08-15 | Fujitsu Ltd | Personal information management device, and recording medium |
US6468160B2 (en) | 1999-04-08 | 2002-10-22 | Nintendo Of America, Inc. | Security system for video game system with hard disk drive and internet access capability |
JP3864014B2 (en) | 1999-04-14 | 2006-12-27 | 隆一 佐々木 | Digital work management method, management system, recording device, and playback device |
US6665489B2 (en) | 1999-04-21 | 2003-12-16 | Research Investment Network, Inc. | System, method and article of manufacturing for authorizing the use of electronic content utilizing a laser-centric medium and a network server |
US6405203B1 (en) | 1999-04-21 | 2002-06-11 | Research Investment Network, Inc. | Method and program product for preventing unauthorized users from using the content of an electronic storage medium |
US6694025B1 (en) | 1999-06-02 | 2004-02-17 | Koninklijke Philips Electronics N.V. | Method and apparatus for secure distribution of public/private key pairs |
US6499024B1 (en) | 1999-08-24 | 2002-12-24 | Stream International, Inc. | Method and system for development of a knowledge base system |
US20010042021A1 (en) | 1999-12-06 | 2001-11-15 | Taiichi Matsuo | Electronic settling system and electronic settling method |
JP2001169246A (en) | 1999-12-13 | 2001-06-22 | Sharp Corp | Data recording method and data reproduction method |
US20020052816A1 (en) | 1999-12-28 | 2002-05-02 | Clenaghan Stuart J. | Method and apparatus for selling financial instruments |
US20010025256A1 (en) | 2000-01-07 | 2001-09-27 | Mike Oliphant | System, method and apparatus for integrated access to electronic works |
US6920565B2 (en) | 2000-06-05 | 2005-07-19 | Iomega Corporation | Method and system for providing secure digital music duplication |
US20010034721A1 (en) | 2000-02-14 | 2001-10-25 | Jean-Pierre Boudreau | System and method for providing services to a remote user through a network |
US7426750B2 (en) | 2000-02-18 | 2008-09-16 | Verimatrix, Inc. | Network-based content distribution system |
EP1410131A2 (en) | 2000-02-22 | 2004-04-21 | Visualgold.com, Inc. | Secure distributing services network system and method thereof |
JP2001243706A (en) | 2000-02-28 | 2001-09-07 | Ricoh Co Ltd | Optical recording medium |
US8701027B2 (en) | 2000-03-16 | 2014-04-15 | Microsoft Corporation | Scope user interface for displaying the priorities and properties of multiple informational items |
US6879332B2 (en) | 2000-05-16 | 2005-04-12 | Groxis, Inc. | User interface for displaying and exploring hierarchical information |
US6888554B1 (en) | 2000-05-24 | 2005-05-03 | Groxis, Inc. | User interface for bicontextual exploration of a graph |
US7036093B2 (en) | 2000-06-05 | 2006-04-25 | Groxis, Inc. | User interface for exploring a graph of information |
US6760313B1 (en) | 2000-06-19 | 2004-07-06 | Qualcomm Incorporated | Method and apparatus for adaptive rate selection in a communication system |
WO2002001333A2 (en) | 2000-06-27 | 2002-01-03 | Microsoft Corporation | System and method for providing an individualized secure repository |
AU7593601A (en) | 2000-07-14 | 2002-01-30 | Atabok Inc | Controlling and managing digital assets |
US7071914B1 (en) | 2000-09-01 | 2006-07-04 | Sony Computer Entertainment Inc. | User input device and method for interaction with graphic images |
US7703611B1 (en) | 2000-09-29 | 2010-04-27 | Aol Inc. | Targeted geographical condition notification of users based on a geographic location and device types or software of the users |
US20020060650A1 (en) | 2000-10-25 | 2002-05-23 | Asahi Kogaku Kogyo Kabushiki Kaisha | Schematic illustration drawing apparatus and method |
US6795815B2 (en) | 2000-12-13 | 2004-09-21 | George Guonan Zhang | Computer based knowledge system |
US20020077988A1 (en) | 2000-12-19 | 2002-06-20 | Sasaki Gary D. | Distributing digital content |
US7174568B2 (en) | 2001-01-31 | 2007-02-06 | Sony Computer Entertainment America Inc. | Method and system for securely distributing computer software products |
US20020116283A1 (en) | 2001-02-20 | 2002-08-22 | Masayuki Chatani | System and method for transfer of disc ownership based on disc and user identification |
US7228342B2 (en) | 2001-02-20 | 2007-06-05 | Sony Computer Entertainment America Inc. | System for utilizing an incentive point system based on disc and user identification |
US6716102B2 (en) | 2001-03-09 | 2004-04-06 | Microsoft Corporation | Method and apparatus for displaying information regarding stored data in a gaming system |
US8108509B2 (en) | 2001-04-30 | 2012-01-31 | Sony Computer Entertainment America Llc | Altering network transmitted content data based upon user specified characteristics |
USD497617S1 (en) | 2001-05-16 | 2004-10-26 | Groxis, Inc. | Graphical information interface for a display |
USD485279S1 (en) | 2002-10-28 | 2004-01-13 | Groxis, Inc. | Knowledge map user interface for a display |
US7363384B2 (en) | 2001-07-11 | 2008-04-22 | Sony Computer Entertainment America Inc. | Selection of content in response to communication environment |
WO2003031004A1 (en) | 2001-10-10 | 2003-04-17 | Sony Computer Entertainment America Inc. | System and method for saving game data |
US7850526B2 (en) | 2002-07-27 | 2010-12-14 | Sony Computer Entertainment America Inc. | System for tracking user manipulations within an environment |
US20070261077A1 (en) | 2006-05-08 | 2007-11-08 | Gary Zalewski | Using audio/visual environment to select ads on game platform |
US7782297B2 (en) | 2002-07-27 | 2010-08-24 | Sony Computer Entertainment America Inc. | Method and apparatus for use in determining an activity level of a user in relation to a system |
US7854655B2 (en) | 2002-07-27 | 2010-12-21 | Sony Computer Entertainment America Inc. | Obtaining input for controlling execution of a game program |
US20070015559A1 (en) | 2002-07-27 | 2007-01-18 | Sony Computer Entertainment America Inc. | Method and apparatus for use in determining lack of user activity in relation to a system |
USD545324S1 (en) | 2002-10-28 | 2007-06-26 | Groxis, Inc. | Graphical information interface for a display |
US7310780B2 (en) | 2003-08-14 | 2007-12-18 | International Business Machines Corporation | Methods, systems and computer program products for visually tethering related graphical objects |
US20050054381A1 (en) * | 2003-09-05 | 2005-03-10 | Samsung Electronics Co., Ltd. | Proactive user interface |
USD528556S1 (en) | 2003-09-26 | 2006-09-19 | Groxis, Inc. | Graphical information interface for a display |
US20050071328A1 (en) | 2003-09-30 | 2005-03-31 | Lawrence Stephen R. | Personalization of web search |
DE602004020247D1 (en) | 2003-10-21 | 2009-05-07 | Johnson Controls Tech Co | SYSTEM AND METHOD FOR SELECTING A USER LANGUAGE PROFILE FOR A DEVICE IN A VEHICLE |
US7296007B1 (en) | 2004-07-06 | 2007-11-13 | Ailive, Inc. | Real time context learning by software agents |
US7263462B2 (en) | 2004-07-30 | 2007-08-28 | Ailive, Inc. | Non-disruptive embedding of specialized elements |
KR100703690B1 (en) | 2004-11-19 | 2007-04-05 | 삼성전자주식회사 | User interface and method for managing icon by grouping using skin image |
US7495631B2 (en) | 2005-04-12 | 2009-02-24 | International Business Machines Corporation | Method, apparatus and computer program product for dynamic display of billboard information |
US7685530B2 (en) | 2005-06-10 | 2010-03-23 | T-Mobile Usa, Inc. | Preferred contact group centric interface |
US20070168462A1 (en) | 2006-01-18 | 2007-07-19 | Jeffrey Adam Grossberg | Online production and media coordination portal/system for telephone ringback messages and digital media content |
US7752152B2 (en) | 2006-03-17 | 2010-07-06 | Microsoft Corporation | Using predictive user models for language modeling on a personal device with user behavior models based on statistical modeling |
US7466241B2 (en) | 2006-04-06 | 2008-12-16 | International Business Machines Corporation | Determining billboard refresh rate based on traffic flow |
US20070244751A1 (en) | 2006-04-17 | 2007-10-18 | Gary Zalewski | Using visual environment to select ads on game platform |
US20070243930A1 (en) | 2006-04-12 | 2007-10-18 | Gary Zalewski | System and method for using user's audio environment to select advertising |
US20070255630A1 (en) | 2006-04-17 | 2007-11-01 | Gary Zalewski | System and method for using user's visual environment to select advertising |
US7425903B2 (en) | 2006-04-28 | 2008-09-16 | International Business Machines Corporation | Dynamic vehicle grid infrastructure to allow vehicles to sense and respond to traffic conditions |
US20070266135A1 (en) | 2006-05-15 | 2007-11-15 | Liam Friedland | Multiple active session management interface |
US7636645B1 (en) | 2007-06-18 | 2009-12-22 | Ailive Inc. | Self-contained inertial navigation system for interactive control using movable controllers |
US20080015878A1 (en) | 2006-07-17 | 2008-01-17 | Yahoo! Inc. | Real-time user profile platform for targeted online advertisement and personalization |
US7572011B2 (en) | 2006-07-27 | 2009-08-11 | Sony Computer Entertainment America Inc. | Contact lenses for use in motion capture |
US8000457B2 (en) | 2006-09-25 | 2011-08-16 | Microsoft Corporation | Visual answering machine |
US20080098448A1 (en) | 2006-10-19 | 2008-04-24 | Sony Computer Entertainment America Inc. | Controller configured to track user's level of anxiety and other mental and physical attributes |
US7636697B1 (en) | 2007-01-29 | 2009-12-22 | Ailive Inc. | Method and system for rapid evaluation of logical expressions |
US20080189170A1 (en) | 2007-02-01 | 2008-08-07 | Infosys Technologies Ltd. | Sensor network-based context-aware content delivery system |
US20080261569A1 (en) | 2007-04-23 | 2008-10-23 | Helio, Llc | Integrated messaging, contacts, and mail interface, systems and methods |
US20090019385A1 (en) | 2007-07-12 | 2009-01-15 | Nvidia Corporation | Management of Icons in a Display Interface |
US7937243B2 (en) | 2007-08-03 | 2011-05-03 | Ailive, Inc. | Method and apparatus for non-disruptive embedding of specialized elements |
US8112407B2 (en) | 2007-10-24 | 2012-02-07 | The Invention Science Fund I, Llc | Selecting a second content based on a user's reaction to a first content |
US8126867B2 (en) | 2007-10-24 | 2012-02-28 | The Invention Science Fund I, Llc | Returning a second content based on a user's reaction to a first content |
US20090221368A1 (en) | 2007-11-28 | 2009-09-03 | Ailive Inc., | Method and system for creating a shared game space for a networked game |
US8419545B2 (en) | 2007-11-28 | 2013-04-16 | Ailive, Inc. | Method and system for controlling movements of objects in a videogame |
US8532637B2 (en) | 2008-07-02 | 2013-09-10 | T-Mobile Usa, Inc. | System and method for interactive messaging |
US8655622B2 (en) | 2008-07-05 | 2014-02-18 | Ailive, Inc. | Method and apparatus for interpreting orientation invariant motion |
US20100077361A1 (en) | 2008-09-24 | 2010-03-25 | Andrew Watkins | Method of displaying multiple points of interest on a personal navigation device |
US20100218141A1 (en) | 2009-02-23 | 2010-08-26 | Motorola, Inc. | Virtual sphere input controller for electronics device |
US20100262924A1 (en) | 2009-04-08 | 2010-10-14 | Kalu Onuka Kalu | System and method for linking items to a group |
US10223701B2 (en) | 2009-08-06 | 2019-03-05 | Excalibur Ip, Llc | System and method for verified monetization of commercial campaigns |
US9372701B2 (en) | 2010-05-12 | 2016-06-21 | Sony Interactive Entertainment America Llc | Management of digital information via a buoyant interface moving in three-dimensional space |
US8392149B1 (en) | 2010-09-08 | 2013-03-05 | Rockwell Collins, Inc. | Adaptive second order threshold calibration technique for radiometric signal detection |
US8494464B1 (en) | 2010-09-08 | 2013-07-23 | Rockwell Collins, Inc. | Cognitive networked electronic warfare |
US8484219B2 (en) | 2010-09-21 | 2013-07-09 | Sony Computer Entertainment America Llc | Developing a knowledge base associated with a user that facilitates evolution of an intelligent user interface |
US8504487B2 (en) | 2010-09-21 | 2013-08-06 | Sony Computer Entertainment America Llc | Evolution of a user interface based on learned idiosyncrasies and collected data of a user |
-
2010
- 2010-09-21 US US12/887,397 patent/US8504487B2/en active Active
-
2011
- 2011-08-05 WO PCT/US2011/046826 patent/WO2012039844A1/en active Application Filing
-
2012
- 2012-12-21 US US13/723,943 patent/US8725659B2/en active Active
-
2013
- 2013-10-09 US US14/049,436 patent/US8954356B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100050078A1 (en) * | 1998-01-30 | 2010-02-25 | Net-Express, Ltd. | Personalized internet interaction |
US6795808B1 (en) * | 2000-10-30 | 2004-09-21 | Koninklijke Philips Electronics N.V. | User interface/entertainment device that simulates personal interaction and charges external database with relevant data |
US20070038331A1 (en) * | 2003-06-09 | 2007-02-15 | Hanson David F | Human Emulation Robot System |
US20070074114A1 (en) * | 2005-09-29 | 2007-03-29 | Conopco, Inc., D/B/A Unilever | Automated dialogue interface |
US20100097395A1 (en) * | 2008-10-16 | 2010-04-22 | At&T Intellectual Property I, L.P. | System and method for presenting an avatar |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504487B2 (en) | 2010-09-21 | 2013-08-06 | Sony Computer Entertainment America Llc | Evolution of a user interface based on learned idiosyncrasies and collected data of a user |
US8954356B2 (en) | 2010-09-21 | 2015-02-10 | Sony Computer Entertainment America Llc | Evolution of a user interface based on learned idiosyncrasies and collected data of a user |
Also Published As
Publication number | Publication date |
---|---|
US8504487B2 (en) | 2013-08-06 |
US20130117201A1 (en) | 2013-05-09 |
US20120072379A1 (en) | 2012-03-22 |
US8954356B2 (en) | 2015-02-10 |
US20140040168A1 (en) | 2014-02-06 |
US8725659B2 (en) | 2014-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8484219B2 (en) | Developing a knowledge base associated with a user that facilitates evolution of an intelligent user interface | |
US8954356B2 (en) | Evolution of a user interface based on learned idiosyncrasies and collected data of a user | |
US11810562B2 (en) | Reducing the need for manual start/end-pointing and trigger phrases | |
KR102457486B1 (en) | Emotion type classification for interactive dialog system | |
US20200202070A1 (en) | Method and device for generating natural language expression by using framework | |
CN110462647B (en) | Electronic device and method for executing functions of electronic device | |
EP3593346B1 (en) | Graphical data selection and presentation of digital content | |
US11120792B2 (en) | System for processing user utterance and controlling method thereof | |
US20210201898A1 (en) | Network-based learning models for natural language processing | |
WO2014087714A1 (en) | Information processing device, server device, dialogue system and program | |
WO2020202862A1 (en) | Response generation device and response generation method | |
KR20190021088A (en) | Electronic device for performing an operation using voice commands and the method of the same | |
KR102612835B1 (en) | Electronic device and method for executing function of electronic device | |
US11929169B2 (en) | Personalized sensory feedback | |
CN109309754B (en) | Electronic device for acquiring and typing missing parameters | |
CN116051788A (en) | Method and device for realizing virtual reality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11827146 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11827146 Country of ref document: EP Kind code of ref document: A1 |