U.S. Pat. No. 9,517,418
CONVERSATION DETECTION IN A VIRTUAL WORLD
AssigneeInternational Business Machines Corp
Issue DateJuly 28, 2008
Illustrative Figure
Abstract
Embodiments of the present invention address deficiencies of the art in respect to virtual world management and provide a method, data processing system and computer program product for conversation detection in a virtual world. In an embodiment of the invention, a method for conversation management in a virtual world data processing system can include detecting a sequence of statements from at least two avatars in a virtual world, and locating the avatars in the virtual world, computing a temporal proximity of the statements. The statements can be grouped in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another. Thereafter, the grouped statements can be persisted in the virtual world as a conversation.
Description
DETAILED DESCRIPTION OF THE INVENTION Embodiments of the present invention provide a method, system and computer program product for conversation detection in a virtual world. In accordance with an embodiment of the present invention, the statements of different avatars in a virtual world can be monitored. In particular, the temporal proximity of each monitored statement, the frequency of temporally proximate monitored statements, and the geographic proximity of avatars uttering the statements can be computed. Monitored statements computed to have a temporal proximity within a threshold value from avatars in geographic proximity to one another can be determined to form a conversation between the avatars. As such, the monitored statements can be organized in the virtual world as a conversation between the avatars. In illustration,FIG. 1pictorial depicts a process for conversation detection in a virtual world. As shown inFIG. 1, multiple different avatars120in different locations in a virtual world110can post statements130at different times. Conversation determination logic160can monitor the statements130to compute both geographic and temporal metrics140,150for the statements130. In this regard, the geographic proximity of the different avatars120can be computed as part of the geographic metrics140, and the frequency of the statements130from individual ones of the avatars120along with the temporal interval between different statements130of the avatars120in geographic proximity to one another can be computed. Optionally, the content of the statements130can be parsed and analyzed to determine whether or not the statements130are related thus constituting a conversation—for example, by identifying the use of identical or similar words in the statements130. Notably, the conversation determination logic160can determine that a conversation subsists between different ones of the avatars120according to the computed geographic and temporal metrics140,150. For instance, individual statements130posted by two of the avatars120in close geographic proximity to one another within a threshold period of time can be determined to be a conversation. Further, the ...
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention provide a method, system and computer program product for conversation detection in a virtual world. In accordance with an embodiment of the present invention, the statements of different avatars in a virtual world can be monitored. In particular, the temporal proximity of each monitored statement, the frequency of temporally proximate monitored statements, and the geographic proximity of avatars uttering the statements can be computed. Monitored statements computed to have a temporal proximity within a threshold value from avatars in geographic proximity to one another can be determined to form a conversation between the avatars. As such, the monitored statements can be organized in the virtual world as a conversation between the avatars.
In illustration,FIG. 1pictorial depicts a process for conversation detection in a virtual world. As shown inFIG. 1, multiple different avatars120in different locations in a virtual world110can post statements130at different times. Conversation determination logic160can monitor the statements130to compute both geographic and temporal metrics140,150for the statements130. In this regard, the geographic proximity of the different avatars120can be computed as part of the geographic metrics140, and the frequency of the statements130from individual ones of the avatars120along with the temporal interval between different statements130of the avatars120in geographic proximity to one another can be computed. Optionally, the content of the statements130can be parsed and analyzed to determine whether or not the statements130are related thus constituting a conversation—for example, by identifying the use of identical or similar words in the statements130.
Notably, the conversation determination logic160can determine that a conversation subsists between different ones of the avatars120according to the computed geographic and temporal metrics140,150. For instance, individual statements130posted by two of the avatars120in close geographic proximity to one another within a threshold period of time can be determined to be a conversation. Further, the conversation can be determined to be ongoing if a given one of the statements130posted by the two avatars120has occurred in a recent span of time. Once conversation determination logic160has determined that a conversation subsists between two or more of the avatars120, the statements130determined to be part of the conversation can be written to an organizational data structure160in memory according to the conversation, its participants and the timing of the conversation.
The process described inFIG. 1can be implemented within a virtual world management data processing system. In illustration,FIG. 2schematically shows a virtual world management data processing system configured for conversation detection in a virtual world. The system can include a virtual world host server210configured for communicative coupling to different browsers250disposed in respectively different clients220over computer communications network230. The virtual world host server210further can support the creation and management of a virtual world240coupled to a data store of locations, avatars and objects260managed within the virtual world240. In this regard, virtual world participants can interact with the avatars and objects in different locations of the virtual world240through respective browsers250as permitted by the program code of the virtual world host server210managing the virtual world240.
In accordance with an embodiment of the inventive arrangements, conversation determination logic270can be provided in connection with the virtual world host server210, either as part of the virtual world host server210, as a programmatic extension to the virtual world host server210, or as a separate but cooperate programmatic module communicatively coupled to the virtual world host server210. In any case, the conversation determination logic270can include program code enabled to measure temporal metrics for different statements by different avatars in the virtual world240and the geographic proximity of the avatars posting statements in temporal proximity to one another.
Specifically, the program code of the conversation determination logic270can be enabled to determine the subsistence of a conversation between avatars in the virtual world240when the statements of the avatars within geographic proximity to one another occur within a threshold period of time between one another with a threshold degree of frequency. Yet further, the program code of the conversation determination logic270can be enabled to group the statements according to determined conversation in persistent memory280. The grouping of the statements, however, can be limited to a number of circumstances, including:
When the avatars are traveling generally in the same direction
When the avatars are facing each other
When the avatars are participating in a common activity such as a game
When the avatars have no physical barrier like a wall between them
When the avatars are associated with one another in the virtual world, such as is the case with friends
When neither of the avatars is busy or engaged in a private chat with another avatar
In this way, the statements of the avatars in the virtual world can be autonomically managed through the determination of the presence of different conversations between different avatars in the virtual world240.
In even yet further illustration of the operation of the conversation determination logic270,FIG. 3is a flow chart illustrating a process for conversation detection in a virtual world as simplified to the statements of two avatars in a location in a virtual world. Beginning in block310, a statement can be detected for a first avatar. In block320, a statement also can be detected for a second avatar. In block330, both geographic and temporal metrics can be computed for the first and second avatars. In particular, the geographic proximity of the first and second avatars can be determined as can the lapse of time between the statements of the first and second avatars—namely the temporal proximity of the statements.
In decision block340, it can be determined whether or not the first and second avatars are geographically proximate to one another, and further whether or not the statements of the first and second avatars are temporally proximate to one another. If not, the process can end in block350. However, if it is determined that the first and second avatars are geographically proximate to one another, and further that the statements of the first and second avatars are temporally proximate to one another, in block360a conversation can be determined to subsist between the first and second avatars including the statements of each. Accordingly, in block370the statements of the avatars can be stored as a conversation in the virtual world.
Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
Claims
- A method for conversation management in a virtual world data processing system, the method comprising: recording a sequence of statements from different avatars in a virtual world;locating a position of each of the avatars in the virtual world;computing a temporal proximity of each of the recorded statements to others of the recorded statements;grouping selected ones of the recorded statements in the virtual world if corresponding ones of the avatars are geographically proximate to one another in the virtual world and if the selected ones of the statements have occurred within a threshold temporal proximity of one another;and, persisting the grouped statements in the virtual world as a conversation.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if a most recent one of the statements had been posted within a threshold period of elapsed time.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are moving in a similar direction.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are facing each other.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are participating in a same activity in the virtual world.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if no physical barriers separate the avatars.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are labeled friends in the virtual world.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and neither of the avatars is in a private chat with a different avatar.
- The method of claim 1 , wherein grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, further comprises, grouping the statements in the virtual world if the statements contain content indicating that the statements are related as part of a conversation.
- A virtual world management data processing system configured for conversation detection in a virtual world, the system comprising: a virtual world host server supporting a virtual world executing in the host server and providing access to different end users over a computer communications network, the host server having a processor and a memory;a plurality of avatars disposed in different locations in the virtual world and managed by the virtual world host server;and, conversation determination logic coupled to the host server, the logic comprising program code enabled to record a sequence of statements from different avatars, to locate a position of each of the avatars in the virtual world, to compute a temporal proximity of each of the recorded statements to others of the recorded statements, group selected ones of the recorded statements in the virtual world if corresponding ones of the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, and to persist the grouped statements in the virtual world as a conversation.
- A non-transitory computer program product comprising a computer usable storage medium storing computer usable program code for conversation management in a virtual world data processing system, the computer program product comprising: computer usable program code for recording a sequence of statements from different avatars in a virtual world;computer usable program code for locating a position of each of the avatars in the virtual world;computer usable program code for computing a temporal proximity of each of the recorded statements to others of the recorded statements;computer usable program code for grouping selected ones of the recorded statements in the virtual world if corresponding ones of the avatars are geographically proximate to one another in the virtual world and if the selected ones of the statements have occurred within a threshold temporal proximity of one another;and, persisting the grouped statements in the virtual world as a conversation.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if a most recent one of the statements had been posted within a threshold period of elapsed time.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are moving in a similar direction.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are facing each other.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are participating in a same activity in the virtual world.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if no physical barriers separate the avatars.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and if the avatars are labeled friends in the virtual world.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, comprises, computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another and neither of the avatars is in a private chat with a different avatar.
- The computer program product of claim 11 , wherein the computer usable program code for grouping the statements in the virtual world if the avatars are geographically proximate to one another in the virtual world and if the statements have occurred within a threshold temporal proximity of one another, further comprises, computer usable program code for grouping the statements in the virtual world if the statements contain content indicating that the statements are related as part of a conversation.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.