Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR MANAGING ONLINE MESSAGES USING VISUAL FEEDBACK INDICATOR
Document Type and Number:
WIPO Patent Application WO/2015/131280
Kind Code:
A1
Abstract:
A computer-implemented method for managing text inputted by a user in an online communication program comprises: determining, by a processor, a reputation ranking of a user and displaying a visual indication of the user's reputation ranking in a user interface of a communication program; receiving a text input submitted by the user and using a processor to assign a value to the text input based on one or more defined rules; updating the reputation ranking based on the assigned value of the text input; and displaying a visual indication of the updated reputation ranking in the user interface. The visual indicator can be updated in real-time and serve as a means for motivating the users to conduct acceptable messaging behaviour.

More Like This:
Inventors:
PRIEBE CHRISTOPHER ANDREW (CA)
Application Number:
PCT/CA2015/050161
Publication Date:
September 11, 2015
Filing Date:
March 03, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TWO HAT SECURITY RES CORP (CA)
International Classes:
G06F3/14; G06F40/00; G06F40/20; A63F13/87
Foreign References:
US20070078675A12007-04-05
US20130124644A12013-05-16
US20120143963A12012-06-07
US20120246725A12012-09-27
US20100082332A12010-04-01
US8793255B12014-07-29
CA2842461A12014-08-06
Attorney, Agent or Firm:
LEE, Brian et al. (Suite 2300550 Burrard Stree, Vancouver British Columbia V6C 2B5, CA)
Download PDF:
Claims:
Claims

What is claimed is:

1 . A computer-implemented method for managing text input from users of a communication program, comprising

(a) determining, by a processor, a reputation ranking of a user and displaying a visual indication of the user's reputation ranking in a user interface of a communication program;

(b) receiving a text input submitted by the user and using a processor to assign a value to the text input based on one or more defined rules;

(c) updating the reputation ranking based on the assigned value of the text input; and

(d) displaying a visual indication of the updated reputation ranking in the user interface.

2. A method as claimed in claim 1 wherein the visual indication is a reputation meter icon comprising an indicator that is positionable in different positions to indicate different reputation rankings.

3. A method a claimed in claim 1 wherein the visual indicator is a reputation meter icon comprising an indicator that is displayable in different colors to indicate different reputation rankings.

4. A method as claimed in claim 1 wherein the reputation ranking comprises multiple levels with each level comprising multiple increments, and the visual indicator is a reputation meter icon comprising a first visual indicator for indicating the current level, and a second visual indicator for indicating the current increment within the current level.

5. A method as claimed in claim 4 wherein the first visual indicator is a bar displayable in different colors to represent different levels, and the second visual indicator is the bar positionable in different positions to represent different increments within the level.

6. A method as claimed in any of claims 1 to 5 further comprising after step (d): (e) displaying a visual indicator of a change in the reputation ranking

7. A method as claimed in any of claims 4 to 6 further comprising after step (d): displaying a status window on the user interface showing the user's current level and number of increments required to reach a next higher level.

8. A method as claimed in any of claims 1 to 7 further comprising providing a list of unacceptable words and associated alternate acceptable words, and when the text input contains any of the unacceptable words, displaying a message window containing at least one of the associated alternate acceptable words.

9. A method as claimed in any of claims 1 to 8 wherein the user is a first user of the communication program and the method comprises receiving an approval message from a second user of the communication program in response to a displayed text input by the first user, and displaying a visual indication of the approval message in the user interface for the first user.

10. A computer readable medium having encoded thereon program code executable by a processor to perform a method as claimed in any of claims 1 to 9.

1 1 . A message management system comprising a processor, and a memory having encoded thereon a message management program executable by the processor to perform a method as claimed in any of claims 1 to 9.

Description:
System and Method For Managing Online Messages Using Visual Feedback

Indicator

Field

This invention relates generally to a system and method for managing online messaging that includes a visual feedback indicator in a user interface of a messaging program.

Background

Online activities that include multi-user messaging, such as virtual chat rooms or multiplayer video games can include users who use language that is inappropriate to the activity. Conventional message management systems exist which monitor and regulate the messaging behaviour of users by blocking text inputs that contain inappropriate language, and sending warning messages to users who use such language. Such negative feedback is helpful to the extent that users receptive to such feedback will adjust their behaviour. However, some users do not respond positively to negative feedback, and would benefit from different approaches to modifying their messaging behaviour such that they communicative in an acceptable manner.

Summary

According to one aspect of the invention, there is provided a computer-implemented method for managing text input from users of a communication program, comprising: determining, by a processor, a reputation ranking of a user and displaying a visual indication of the user's reputation ranking in a user interface of a communication program; receiving a text input submitted by the user and using a processor to assign a value to the text input based on one or more defined rules; updating the reputation ranking based on the assigned value of the text input; and displaying a visual indication of the updated reputation ranking in the user interface. The visual indicator can be updated in real-time and serve as a means for motivating the users to conduct acceptable messaging behaviour. For example, the visual indication can be a reputation l meter icon comprising an indicator that is positionable in different positions and/or displayable in different colours to indicate different reputation rankings.

The reputation ranking can comprise multiple levels with each level comprising multiple increments. In such a case, the reputation meter icon comprises a first visual indicator for indicating the current level, and a second visual indicator for indicating the current increment within the current level. For example, the first visual indicator can be a bar displayable in different colors to represent different levels, and the second visual indicator can be the bar positionable in different positions to represent different increments within the level.

The method can further comprise displaying a visual indicator of a change in the reputation ranking. For example, a status window can be displayed on the user interface showing the user's current level and number of increments required to reach a next higher level.

The method can include an auto-suggest feature comprising providing a list of unacceptable words and associated alternate acceptable words; when the user text input contains any of the unacceptable words, the method displays a message window containing at least one of the associated alternate acceptable words.

According to another aspect of the invention, a computer readable medium is provided having encoded thereon program code executable by a processor to perform the aforementioned method..

According to yet another aspect of the invention, a message management system is provided comprising a processor, and a memory having encoded thereon a message management program executable by the processor to perform the aforementioned method..

Brief Description of Drawings Figure 1 is a block diagram of components of a message management system for managing online messages according to a first embodiment of the invention, wherein the system is communicative with a message host server that in turn is communicative with multiple client computing devices via a network.

Figure 2 is a flow chart of steps performed by a message management program stored on a memory of the message management system to determine the trustworthiness of text inputted by a messaging user, and to send a response to the user based on the determined trustworthiness.

Figure 3 is a schematic of a continuum of trustworthiness comprising multiple trust values, wherein each n-gram in a user's text input is assigned one of the trust values by the message management program.

Figure 4 is a schematic of a default user trust matrix comprising a set of rules governing actions available to the message management program in response to a user's text input, wherein the rules permit a user's text input having a general trust value of 0, 1 or 2 to be displayed.

Figure 5 is a schematic of a trusted user trust matrix comprising a set of rules including permitting a user's text input having a general trust value of 0 to 5 to be displayed, as well as inputted text having a personal information trust value of 0, 1 or 2 to be displayed.

Figure 6 is a schematic of a non-trusted user trust matrix, comprising a set of rules that only permit a user's text input having a general trust value of 0 or 1 to be displayed.

Figure 7 depicts a procedure performed by the message management program to change the rules of a user's trust matrix when a user has inputted text having a specified trust value a specified number of times.

Figure 8 depicts an exemplary output by the message management program wherein a general trust value has been assigned to each unigram in a line of normalized text input, wherein each unigram is associated with a slot in the line of normalized text input. Figure 9 depicts an exemplary output by the message management program, wherein a general trust value has been assigned to an n-gram associated with a group of slots in a line of normalized text input.

Figure 10 is a schematic of a user messaging interface showing a chat bar for displaying user text input and a reputation meter.

Figure 11 is a schematic of a user message interface showing a pop up window over the reputation meter displaying a change in user reputation ranking.

Figure 12 is a screen shot of the user message interface of Figures 10 and 1 1 operating within a video game environment.

Figures 13 is a screen shot of the video game environment of Figure 12 including the user message interface and a pop up status window indicating a user's reputation status and other related information.

Detailed Description

Some portions of the description which follow are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the art to convey most effectively the substance of their work to others skilled in the art. An algorithm is understood here to be a sequence of steps leading to a desired result. The steps are those requiring the physical quantities, such as electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that in this description, terms such as "determining", "displaying",

"receiving", "generating" or the like, refer to the action and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system or other information storage, transmission, or display device.

The embodiments described herein relate generally to a computer-implemented method and computer system for managing messages posted by users of an online messaging program. In some embodiments, the online messaging program can be part of a multiplayer video game, or other multi-user online activities such as an online virtual chat room. The system implements a method for providing a real-time visual feedback indicator to users regarding the acceptability of text input submitted by the users, wherein the feedback indicator is a function of a user's current reputation ranking and is designed to encourage the user to behave in a way that is acceptable to the online activity. The feedback can be in the form of positive feedback or reward which encourages users to continue to behave in an acceptable manner. For example, a user can be rewarded with an increase in his or her reputation ranking, and can receive visual indicators of such an increase, with a corresponding increase in freedom to use certain language during the multi-user activity.

A user's reputation ranking will be based on a number of factors including the user's past messaging behaviour, and the reputation ranking will dictate how restrictive the system will be configured in allowing the display of the user's submitted text input. In some embodiments, the reputation ranking is embodied as a reputation meter that is displayed on a user interface of the online messaging program, wherein the reputation meter includes a visual indicator that is updated in real-time based on the user's messaging behaviour.

In some embodiments, the message management system uses a trust based approach to assess the acceptability of text input submitted by the users, and based on the assessment, will determine a responsive action, such as allowing or denying the text input to be displayed to other users, or communicating negative or positive feedback to the user regarding the text input. The assessment is based on a trust value assigned to the text input, as well as on rules defined in a user trust matrix associated with the user. The trust based approach used by the system comprises assigning a trust value to the text input, wherein the trust value is selected from a continuum of trust values. The continuum of trust values can be grouped into three general groups, namely a "white" group representing acceptable behaviour, a "black" group representing unacceptable behaviour, and a "grey" group representing indeterminate or situationally determinate behaviour. The trust based approach also comprises assigning a trust level to each user based of that user's trust matrix, wherein the trust matrix comprises rules governing the system's response to the user's text input based on the trust value assigned to the text input, as well as other actions such as governing the amount of free chat permitted by the user. A trust matrix having a more-trusted trust level will have rules that tend to allow the display of text inputs having white and grey trust values and disallow the display of text inputs having black trust values, whereas a trust matrix having a less-trusted trust level will tend to only allow the display of text inputs having white trust values, and disallow the display of text inputs having grey and black trust values. The rules in the user's trust matrix can be embodied in the form of a list of allowable trust values, i.e. the trust matrix will contain one or more rules each

comprising a list of trust values that will allow the system to display the text input when the text input is assigned a trust value that matches one of the allowable trust values. The rules of the user's trust matrix will also be used to determine the user's reputation ranking, and the state of the associated reputation meter.

The rules of the user's trust matrix will be updated based on one or more text inputs from the user; for example, more restrictive rules (e.g. fewer allowable trust values) and a lower trust level will be imposed when the text input(s) contain unacceptable language, and more flexible rules and a higher trust level (e.g. more allowable trust values) will be awarded when the text input(s) contain acceptable language. A new user is assigned a default level trust matrix and reputation ranking and will be shown a trust meter in a default state, and can earn a change in trust level and reputation ranking with a corresponding change in trust matrix rules based on the user's

messaging behaviour, i.e. based on the acceptability or unacceptability of the user's text inputs. Referring to Figure 1 and according to a first embodiment, a message management system and method are embodied as program code encoded on a computer readable medium ("message management program"), which is stored in and executed by a first computer server 10 ("message management server"). The message management server 10 is communicative with a second computer server 12 hosting a virtual chat room or multiplayer video game ("host server") having messaging functionality. In the embodiments shown in Figure 1 , the host server 12 is a game sever that hosts a web- based online multiplayer video game, and which is communicative with client computing devices 14 such as personal computers, tablets, or smartphones. The messaging functionality on the host server 12 is provided by a message interfacing program that is communicative with the message management program and serves to create an interactive user interface on a display of the client computing devices 14 and to communicate with the message management program to send user text input submissions and to receive and display responses to those submissions.

In Figure 1 , the computing devices 14 communicate with the host server 12 via the internet 16, and the host server and message management server 10, 12 communicate via a local area network 18; however, the devices 14 and servers 10, 12 can

communicate with each other using any kind of communications network, e.g. all can communicate via the internet, or, the functionality of the host server 12 and message management server 10 can be integrated into a single server (not shown).

Both the message management server 10 and host server 12 comprise a processor and computer readable medium including both persistent storage and random access storage. The message management program is stored as program code on the persistent storage of the message management server 10 and the message interfacing program is stored as program code on the persistent storage of the host server 12. As will be discussed below, the persistent storage of one or both of the servers 10, 12 are also used to store information relevant to carrying out the message management method, including user account information and user behaviour information. This information can be organized in a database in the memory, and the user behaviour information will include a reputation ranking value which can be updated based on a user's messaging behaviour. This reputation ranking value is stored on persistent storage in order to avoid being lost between messaging sessions.

One or both of the servers 10, 12 also include computer hardware equipment known in the art that are used to host multiple user online sessions, including load balancers and failover devices that ensure traffic is un-interrupted. Client computing devices 14 typically are connected to a socket server which communicates with an API endpoint and travels through a network of the failover devices in the host server 12. The API then connects to a persistent data storage and a cloud of services that provide analysis and context to offer decision making.

The message interfacing program on the host server 12 can be implemented as a web- based message interfacing program that can be a stand-alone program or a plug-in component of another program, such as a video game hosted by the host server 12. Users can use an Internet browser on their computing devices 14 to access a URL to the message interfacing program's interactive user interface, in a manner that is well known in the art. The message interfacing program can provide a login protocol which requires the user to register for a new account, or login to an existing account.

Assessing User Text Input Using Trust Values

Referring to Figure 2, the message management program upon execution will perform a number of steps to assess the acceptability of text inputs by users of the message interfacing program. When a user submits a text input into a user interface of the message interfacing program, the text input is transmitted from the user's device to the host server 12, which then forwards the text input to the message management server 10 (step 20) as part of a data packet. The data packet will also include other information including a unique user identifier that identifies the user who submitted the text input.

Upon receipt of the data packet, the message management server 10 will determine whether the user is a new user or an existing user by comparing the unique user identifier to a list of user identifiers stored in a database module resident in or communicative with the message management server 10. Each user identifier stored in the database module has associated with it a user trust matrix containing rules governing the treatment of text input based on the trust values assigned to the text input, as will be discussed in more detail below. If the user identifier is found in the database module, the user is identified to be an existing user, and the message management program will load the user trust matrix associated with the found user identifier (step 24); if the user identifier cannot be found in the database module, the user is classified as a new user, and a default level user trust matrix (see for example the matrix shown in Figure 4) is assigned to the new user and the new user's identifier and default level user trust matrix are stored on the database module (step 26). As will be discussed in more detail below, each user trust matrix will have one or more rules that each contain a list of allowable trust values, wherein the number of allowable trust values will depend on the trust level of the user.

The message management program then analyzes the user's text input contained in the data packet (step 28). The program can apply known natural language processing algorithms to normalize the text input and parse the text input into individual slots, wherein each slot is defined a group of one or more characters separated by spaces. The slots are then associated with one or more n-grams, i.e. a contiguous sequence of n items from the text input, and which can comprise phonemes, syllables, letters, or words, in a manner that is known in the art. A unigram can be associated with each slot, and an n-gram can be associated with a group of slots. Known normalization

algorithms that can be applied here include algorithms to convert mixed case words into lower case, to correct misspelled words having inverted letters, and to remove symbols from words. Once the text has been normalized and parsed, each parsed n-gram is compared to a list of defined n-grams in a dictionary module resident on or

communicative with the message management server 10 (step 30). Each of the defined n-grams has an associated general trust value that reflects the general degree of acceptability of the n-gram to the intended audience, and optionally one or more associated topical trust values that reflects the acceptability of the n-gram when used in a particular context or topic (the n-gram and its associated trust values are herein referred to as "tokens"). Each topical trust value is associated with a particular topic tag. The topic tags can include any number of different topics, including those shown in Figure 4, namely: "bullying", "fighting", "personal information", "dating and sexting", "vulgar", "drugs and alcohol", "in game items" (for messaging in video games), "alarm", "fraud", "racist", "religion", and "junk".

By providing the ability to assign one or more separate topical trust values for each defined n-gram in the dictionary module, the message management program should be able to provide a more accurate assessment of the trustworthiness of text inputs, as certain n-grams can be more or less acceptable when used in a particular topical context. The defined n-grams are assigned one or more topic tags and associated topical trust values manually (by humans), and can be done for example by an operator of the host server 12 by tagging words or phrases encountered during chat or game sessions with an appropriate topic tag and topical trust value. When a text input has a parsed n-gram that matches a defined n-gram in the dictionary module having one or more topic tags, the message management program will also assign one or more topical trust values to the text input.

Referring to Figure 3, the general and topical trust values for each defined n-gram in the dictionary module 30 can be selected from a group of nine available trust values along a continuum of trustworthiness. However, other embodiments can feature a different number of trust values in the continuum depending on the desired assessment granularity preferred by an operator; at a minimum, a continuum of trustworthiness should have at least three distinct groups of trust values, namely a "white" group of trust values representing safe or acceptable language, a "black" group of trust values representing unsafe or unacceptable language, and a "grey" group of trust values representing indeterminate or situationally-dependent language. In this embodiment, the nine available trust values consist of a group of three trust values (0, 1 , 2) classified as white values, a group of three trust values (3, 4, 5) classified as grey values, and a group of three trust values (6, 7, 8) classified as black values. The nine trust values are labelled, from most acceptable to least acceptable: "super safe" (0), "white listed" (1 ), "grey" (2), "questionable" (3), "unknown" (4), "mild" (5), "offensive" (6), "obscene" (7), and "intolerable" (8). Note that these labels are intended to merely be convenient identifiers for each trust value and should not be interpreted as literal definitions of the acceptability of text assigned one of these values.

The list of defined n-grams in the dictionary module can be constructed manually by humans, or automatically using known natural language algorithms. In this

embodiment, the assignment of trust values to each n-gram in the dictionary list is done manually, and can be done by an operator of a virtual chat room or online multiplayer game by identifying language used during chat sessions or game play as being acceptable or unacceptable then adding such language to the dictionary and assigning a trust value thereto.

When the text input contains n-grams that are not present in the dictionary module, the message management program will assign a grey trust value to the n-gram indicating that the meaning of the n-gram is unknown or indeterminate. The program can also include steps to alert a human operator to conduct a review of the text input and manually assign a trust value thereto.

After the message management program has executed step 30, an output will be produced wherein the text input has been parsed into unigrams (individual n-grams) wherein each unigram is associated with a slot, and each unigram has been assigned one or more trust values. Referring to Figure 8, the example text input "this is an example of a sentence with various levels of risk" has been processed by the message management program, which generates a group of slots (illustrated as boxes in Figure 8), and a unigram for each slot with an associated general trust value; in this example, the unigram "sentence" has been assigned a general trust value of "1 " indicating that this unigram is a word having low risk and high acceptability.

As noted above, the message management program will also associate an n-gram with a group of slots. Referring to Figure 9, the example text input "you son of a beach" has been parsed into multiple unigrams including the word "beach" and an n-gram for the phrase "son of a beach". The message management program then compared each parsed n-gram against the corresponding list of defined n-grams in the dictionary module, and in this example, the dictionary module contained the n-gram "beach" which has been assigned a general trust value of 2 representing a borderline acceptable white trust value, and the n-gram "son of a beach" which has been assigned a general trust value of 5 representing relatively low acceptability, on the basis that this phrase is considered to be a disguised attempt to communicate the offensive phrase "son of a bitch".

Referring back to Figure 2 and after the text input has been parsed and a trust value has been assigned to each parsed n-gram, the message management program assigns a general trust value to the entire text input based on the trust values assigned to the parsed n-grams (step 30). In one embodiment, the general trust value of the text input is the highest trust value assigned to an n-gram in the text input. In the example shown in Figure 8, the text input "this is an example of a sentence with various levels of risk" has been assessed with a general trust value of 1 , since the message management program determined that this text input only contained n-grams each with a general trust value of 1 . On the other hand, in the example shown in Figure 10, the message management program assigned a general trust value of 5 to the text input "you son of a beach" since the n-gram "son of a beach" had the highest assigned general trust value amongst the parsed n-grams.

Once the text input has been assigned with a general trust value and any applicable topical trust value, the message management program refers to the user's trust matrix to determine what actions the program can take in response to the text input (step 32). For a new player having a default level user trust matrix such as the one shown in Figure 4, the rules of the default level user trust matrix only permit a text input to be displayed if the text input has a general trust value of 0, 1 , or 2, and no topical trust values; in other words, the message management program will deny display of any text input having a general trust value of 3 or greater or having any value of topical trust value, and in certain circumstances will also send a warning message to the user. If on the other hand the user is a previous user who has a more-trusted trust level, the user will have a trust matrix with more flexible rules like the one shown in Figure 5 and be permitted to use language that has a larger range of white and grey general trust values and even language that has been assigned one or more topic tags with an associated topical trust value. Conversely, if the user is a previous user who has a less-trusted trust level, the user will have a trust matrix with more restrictive rules like the one shown in Figure 6 and will be permitted to use language that has no topical trust values and which falls within a range of "white" trust values. This dynamically adjusting approach is distinctly different than prior art filtering systems, which only have static rules and do not dynamically adapt to the behaviour of the user.

After the message management program has determined the available actions for the assessed text input, the program sends instructions to the host server 12 to take commensurate action (step 34). For text inputs that are assessed to be permissible for display, the message management program transmits instructions to the message interface program on the host server 12 to display the text input, and in certain circumstances to display a positive feedback message to the user. For text inputs that have been assessed to be impermissible for display, the message management program sends instructions to the host server 12 to not display the text input, and under certain circumstances, to display a negative feedback message to the user. The positive feedback message associated with permissible text inputs can be a

congratulatory message that is sent when a user has previously submitted one or more unacceptable messages then submitted a specified number of acceptable messages. Conversely, the negative feedback message associated with impermissible text inputs can be a warning message that is sent after a user has submitted a message that has been denied a specified number of times. Referring back to Figure 2, the message management program updates the user trust matrix based on the associated general and topical trust values for the text input (step 36). The message management program can be programmed with a number of different criteria that when met will cause the program to change the user's trust matrix rules. In this embodiment, the message management program is provided with a counter that records the number of times a user submits a text input having a specified trust value, and will change the user matrix rules when the counter reaches a specified number. For example and as shown in Figure 7, the message management program can be programmed to impose more restrictive rules when the user submits seven messages that have a general trust value of 6 or two messages that have a general trust value of 7. Conversely, the message management program can be programmed to allow more flexible rules (e.g. allow display of text inputs that score a grey trust value) when the user submits a specified number of messages that have white general trust values.

Providing Constructive Feedback Using Reputation Ranking

The message management program is further programmed to provide real-time visual feedback indicators to users during their messaging sessions that is intended to be a constructive way to encourage users to adopt an acceptable messaging behaviour. As will be described in detail below, the visual feedback indicator includes one or more of the following: a reputation meter located on the user interface that changes state based on changes in the user's behaviour, one or more pop-up messages that can display the user's reputation ranking and related information as well as suggest acceptable language as an alternative to unacceptable language submitted by the user, a chat bar that can change state (e.g. color, animation, or design) responsive to the user's behaviour, and community messages that can display indications of approval from other users in the messaging session.

To implement the reputation meter, the message management program comprises a reputation meter program module that when executed by the message management server 10, instructs the message interfacing program to display a reputation meter icon on the user interface, and instructs the message interfacing program to update the state of the reputation meter icon whenever there is a change in the user's reputation ranking. The reputation ranking is a value stored on the database module of the message management server 10, and is associated with the user's account. The reputation ranking value is this embodiment a function of the user's trust matrix, and can have a range that reflects a level of granularity preferred by the messaging program operator. For example, the reputation ranking value can have a nine increment range of 0 to 8, which can correspond 1 :1 to the general trust level range of 0 to 8 in the user's trust matrix as shown in Figure 4. Therefore, whenever the message management program changes the user's general trust level due to user behaviour, the message management program will also update the reputation ranking value, and send instructions to the host server to update the state of the reputation meter icon accordingly.

Alternatively, the message management program can be programmed to determine the reputation ranking using other means than the user trust matrix. For example, the message management program can use a different approach to determine the acceptability of text inputs than the trust based approach discussed above ( e.g. use a defined list of white and black-listed words), and in such a case, the message

management program will use different criteria to determine the reputation ranking than the user trust matrix. The criteria can be a defined set of user actions that will cause the user's reputation ranking to change; this criteria can be stored on the database module of the message management server 10. The message management program will instruct the message interfacing program to update the state of the reputation meter icon whenever a user does something that matches the actions in this set of user actions. For example, one criteria for dropping a user's reputation ranking can be the presence of a listed swear word in the submitted text input; for example, a user who inputs two n-grams identified as swear words in the database module would cause the message management program to lower the user's reputation ranking by -2 and cause the state of the reputation meter to change accordingly. Conversely, one criteria for increasing the user's reputation ranking is the repetition of a defined number of positive n-grams within a defined number of text inputs; for example, a user who inputs twenty positive statements in the last thirty text inputs would cause the message management program to raise the user's reputation ranking and cause the reputation meter to change accordingly.

As shown in Figure 10, the reputation meter icon in one embodiment is illustrated as a bar within a rectangular box 70. The position of the bar within the box will change with a change in the user's reputation ranking; in this case the bar moves vertically within the box. The bar is shown at a midpoint position in Figure 10, which corresponds to a neutral reputation ranking. When a user exhibits positive messaging behaviour, the user's trust matrix will change and the user's reputation ranking will increase, thus causing the message management program to instruct the message interfacing program to update the reputation meter icon 70 to show the bar at a higher position, such as shown in Figure 12.

In addition, or as an alternative to a reputation meter icon 70 with a movable bar, the reputation meter icon 70 can be colorized with different colors each representing a different reputation ranking value. In one embodiment (not shown), the movable bar is replaced by a solid rectangle which can be illustrated in one of several different colors; for example, the reputation ranking have a nine increment range represented by nine different colors, with each color representing a different reputation ranking value.

Alternatively, the state of the reputation meter icon 70 can be represented by both a movable bar and a changeable color. The color of the reputation meter can be used to represent a certain level of reputation ranking, and the position of the bar can represent a particular increment within the level. The message management program is configured to send a command to the message interfacing program to update the reputation meter icon with a meter color and bar position that is in accordance with the user's current reputation ranking. For example, a new user can be initially provided with a neutral reputation ranking represented by an orange-colored reputation meter and a bar positioned at a midpoint in the icon. When the user behaves in an acceptable manner, the message management program will modify the user's trust matrix and correspondingly increase the user's reputation ranking. As the reputation ranking increases with continued acceptable behaviour, the message interfacing program will receive instructions from the message management program to update the reputation meter icon to show the bar in a higher position. When the bar reaches the top of the meter, the message interfacing program will receive instructions to update the

reputation meter with a different color, such as green, to indicate that the user has reached a higher reputation level. Reaching such a higher reputation level may elicit positive emotions from the user that is comparable to emotions experienced when a player wins a stage in a video game and is awarded with increased experience points or a higher level ranking. In addition or as an alternative to changing the color of the reputation meter icon 70, the reputation meter program module can be further configured to provide the user with more freedom to use words that were previously banned to the user. This can be implemented by coordinating the change in the user trust matrix rules with the change in reputation ranking and corresponding change in the state of the reputation meter icon, such that when a user sees a change in the reputation meter icon 70, the user trust matrix rules will also have changed accordingly. Again, it is expected that a user being awarded in such a manner will continue to behave in an acceptable manner, thereby further improving his or her reputation ranking.

Referring to Figure 1 1 , the message management program can be optionally further programmed to provide pop-up messages associated with the reputation meter. In one embodiment, the reputation meter program module contains further program code that causes the message management program to instruct the message interface program to display a pop up window 72 in the vicinity of the reputation meter icon 70 that shows a number corresponding to the change in the user's reputation ranking. For example and as shown in Figure 1 1 , the message management program in response to certain user behaviour can increase the user reputation ranking by two increments, and send instructions to the message interfacing program to display a "+2" pop up window above the reputation meter icon 70. This pop-up window 72 is expected to provide the user with positive reinforcement that the user's behaviour has resulted in the user's reputation ranking improving, in the same manner that a player in a video game is awarded points for achieving a certain task in the video game.

Referring to Figures 12 and 13, the reputation meter icon 70 can be located beside a chat bar 74 and be used to motivate users to submit acceptable text inputs. In Figures 12 and 13, the chat bar 74 and reputation meter icon 70 are part of a user messaging interface in a video game. Upon receipt of an acceptable message "hi" (see Figure 12), the message management program increases the reputation ranking of the user by 2, and instructs the message interfacing program to display the pop up window 72 showing a "+2" green box above the reputation meter icon 70, and to update the reputation meter icon 70 to show an increase of two increments. Optionally, the message interfacing program can also highlight the chat bar 74 with a different color (e.g. green) as an indication that the user is behaving in a positive manner.

Further, the message interfacing program can be programmed to display a pop up status window 76 upon receipt of a user command. The status window 76 displays a larger version of the reputation meter icon, the current reputation level of the user, and the number of reputation points the user needs to achieve before reaching the next reputation level. By providing the user with points that the user can "win" by carrying out certain messaging behaviour, it is expected that the user will experience a similar kind of positive stimulation experienced in video game play where players are rewarded with "level ups" and point awards for achieving certain goals.

Further, the message management program can be programmed to display a pop up message window (not shown) which provides constructive feedback to the user to improve the user's reputation ranking; in particular, the message management program can include an "auto-suggest" function by providing an alternate word in the pop up message window to a user text input that has been found to be unacceptable. The message management program further includes an auto-suggest module comprising a database of core words that are defined as acceptable and unacceptable. Each of the unacceptable words is associated with a list of alternative acceptable words. When the user submits a text input that includes a word on the unacceptable list, the auto-suggest module will access the core words database to find one or more acceptable words associated with the unacceptable word, then will instruct the message interfacing program to generate a pop-up message window with a message that suggests that the user use one of the alternate acceptable words instead of the offensive word.

Further, the message management program can be programmed to display messages to a first user whenever another user during a messaging session approves a text input submitted by the first user. The host server will manage the text inputs of each user during the messaging session, in a manner that is known in the art. The message interfacing program is further configured to provide a user interface to a user that allows the user to approve a message sent by another user during the messaging session. The message management program is further programmed with rules which updates a user's reputation ranking whenever the user receives an approval from another user, and which instructs the message interfacing program to display a suitable message or graphic on the user interface indicating that another user has approved the user's message, and to update the user's reputation meter accordingly. By displaying approval messages from other users, it is expected that users who receive such messages will be motivated to continue submitting text inputs that are acceptable. In other words, a user will be motivated to behave in an acceptable manner based on affirmation from other users during the messaging session.

While the embodiments described herein involve separate host and message

management servers each respectively running the message interfacing and message management programs, other embodiments can use a different number of servers. For example, a single server can be used to provide both message interfacing and message management functionality. In this example, the single server can store program code that includes the functionality of both the message interfacing and message

management programs,

Using a computer system to execute the message management program is important to effectively manage online messaging, as the computing system allows an operator of an online messaging program to quickly and dynamically adjust to the behaviour of users, and prevent harmful messages from reaching other users of the online messaging program The computer system is also important to execute the programs which display real-time updates of the state of the reputation meter icon in the user interface; these real-time updates are expected to motivate the users to conduct messaging behaviour in an acceptable manner, and with the potential for many users to be online at the same time during the messaging activity, the computer system will need to potentially handle a voluminous and simultaneous number of updates to the users' reputation rankings and display updates to the user's reputation meter.

While the illustrative embodiments of the present invention are described in detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications within the scope of the appended claims will readily be apparent to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and methods, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the general concept.