Live chat stream comment management

Embodiments of the present invention provide systems and methods for processing comments provided to a live chat stream. By way of example, embodiments obviate or mitigate problems associated with conventional live chat streams by assessing semantic uniqueness of collections of comments in a live chat stream and then determining a final importance score for each collection based on its semantic-uniqueness and activity score. The display of each collection can then be controlled based on its final importance score.

BACKGROUND

The technical character of the present invention generally relates to the field of real-time or near real-time messaging (commonly referred to as live chat streams), and more particularly, systems and methods for processing comments provided to a live chat stream.

Internet-based chat systems provide a way for online users to engage in real-time (i.e. ‘live’) conversations (or ‘chats’). Typically, these systems provide for real-time group textual messaging with a community conversation forum, chat room or “live chat stream” displayed as a stream of comments in a graphical user interface (GUI) implemented in a distributed computing environment. Live chat streams enable real-time communications on various topics by two or more participants of similar or divergent interests or backgrounds.

The number and frequency of comments received in a live chat stream can vary (e.g. depending on the subject matter associated with the live chat and the number of participants engaged in the live chat). In some instances, where a live chat session involves many participants, it can be challenging for participants to have a coherent conversation with one another due to the high rate of comments being added to the chat in a short amount of time. For example, when new comments are arriving to the live chat at high rate, a user might not even have enough time to read a comment added to the chat before further new comments have pushed it out of the display area. For instance, a single comment added to a busy live chat stream may be displayed for less than a second (and therefore easily missed by one or more participants of the live chat stream). It follows that conversations in live chat streams can become chaotic and/or break down quickly.

SUMMARY

Some embodiments of the present disclosure can be illustrated as a method. The method includes receiving new comments provided to a current session of a live chat stream. The method further includes analyzing content of the new comments. The method further includes, for each of the new comments, adding, based on the analyzing, the new comment to one or more of a plurality of collections of comments. The method further includes identifying active collections of the plurality of collections, active collections including at least one new comment. The method further includes calculating, for each active collection, a first measure of semantic similarity between the collection and the remaining active collections of the live chat stream. The method further includes calculating, for each active collection, a second measure of semantic similarity between the active collection and non-active collections of the live chat stream. The method further includes calculating, for each active collection, a third measure of semantic similarity between the active collection and historical collections of comments for one or more prior sessions of the live chat stream. The method further includes determining, for each active collection, a semantic-uniqueness score based on the first, second and third measures of semantic similarity. The method further includes determining, for each active collection, an activity score representing an activity level of the active collection for the current session of the live chat stream. The method further includes determining, for each active collection, a final importance score based on its semantic-uniqueness score and activity score. The method further includes controlling the display of each active collection based on its final importance score.

Some embodiments of the present disclosure can also be illustrated as a computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform the method discussed above.

Some embodiments of the present disclosure can be illustrated as a system. The system may comprise memory and a central processing unit (CPU). The CPU may be configured to execute instructions to perform the method discussed above.

DETAILED DESCRIPTION

In the context of the present application, where embodiments of the present invention constitute a method, it should be understood that such a method is a process for execution by a computer i.e., the method is a computer-implementable method. The various steps of the method therefore reflect various parts of a computer program, e.g., various parts of one or more algorithms.

Also, in the context of the present application, a (processing) system may be a single device or a collection of distributed devices that are adapted to execute one or more embodiments of the methods of the present invention. For instance, a system may be a personal computer (PC), a server or a collection of PCs and/or servers connected via a network such as a local area network, the Internet and so on to cooperatively execute at least one embodiment of the methods of the present invention.

Also, in the context of the present application, a system may be a single device or a collection of distributed devices that are adapted to execute one or more embodiments of the methods of the present invention. For instance, a system may be a personal computer (PC), a portable computing device (such as a tablet computer, laptop, smartphone, etc.), a set-top box, a server or a collection of PCs and/or servers connected via a network such as a local area network, the Internet and so on to cooperatively execute at least one embodiment of the methods of the present invention.

The technical character of the present invention generally relates to real-time messaging/discussion sessions (otherwise referred to as ‘live chat streams’), and more particularly, to concepts for processing and/or controlling the display of comments provided to a live chat stream. Such concepts may, for example, improve overall quality of a live chat stream (e.g. by removing ‘noise’ from the live chat).

By way of example, embodiments of the present invention provide a concept for controlling the display of comments in a live chat stream, based on a determined importance of collections of comments. Through the calculation of a ‘final importance score’ for collections of comments, and subsequent comparison/assessment of the score against a threshold value, for example, embodiments may be adapted to decide whether the display of comments in the live chat requires alteration.

Embodiments may employ concepts that determine various measures of sematic similarity between collections of comments. Based on these semantic similarities and activity within a current session of a live stream, importance of collections of comments (e.g. comment of the same topic, type or subject-matter) may be identified. Through the identification of an importance of a collection of comments, the display of such comments in the live chat stream may be controlled to ensure that only important (e.g. relevant or useful) comments are displayed in the live chat stream.

Embodiments may therefore obviate or mitigate problems associated with conventional live chat streams, by providing a method, a system and a computer program product for processing comments provided to a live chat stream. Embodiments may thus be implemented in cloud computing environment or a distributed communications network.

The proposed concept(s) may achieve such benefits through the use of techniques for detecting concepts and keywords in text and/or approaches/techniques for determining semantic similarity.

A proposed embodiment provides a computer-implemented method for processing comments provided to a live chat stream. The live chat stream may have collections of comments, wherein a collection of comments consists of comments including similar content (i.e. comments relating to the same topic or including the same keyword). For instance, a first collection of comments may consist of comments relating to the same topic or concept. A second collection of comment may consist of comments containing a particular keyword. Thus, a collection of comments may be considered to be a group of comments having the same predetermined property or characteristics. Also, a collection may be thought of as being ‘active’ if it includes comments from a currently live chat stream session.

The method comprises: analyzing content of new comments provided to a current session of a live chat stream; for each of the new comments, adding the new comment to one or more of the collections of comments based on a result of the analysis; for each active collection of comments for the live chat stream, calculating a first measure of semantic similarity between the active collection and the remaining active collections of the live chat stream; for each active collection, calculating a second measure of semantic similarity between the active collection and non-active collections of the live chat stream; for each active collection, calculating a third measure of semantic similarity between the active collection and historical collections of comments for one or more prior sessions of the live chat stream; for each active collection, determining a semantic-uniqueness score based on its first, second and third measures of semantic similarity; for each active collection, determining an activity score representing an activity level of the active collection for the current session of the live chat stream; determining a final importance score for each active collection based on its semantic-uniqueness and activity score; and controlling the display of each active collection based on its final importance score.

By way of example, determining a semantic-uniqueness score based on its first, second and third measures of semantic similarity may comprise applying weighting values to the first, second and third measures of semantic similarity.

The activity score may be determined based on a temporally decaying value. For instance, determining an activity score for an active collection may comprise: increasing a previous activity score for the active collection responsive to a new comment being added to the active collection; and decreasing a previous activity score for the active collection responsive to no new comment being added to the active collection.

In some embodiments, analyzing content of a new comment provided to the current session of the live chat stream may comprise identifying one or more concepts of the new comment; determining a distance of the new comment from the active collections of comments; and extracting one or more key words from the new comment. By way of example, identifying one or more concepts of the new comment may comprise processing the new comment with a concept mining algorithm. Also, determining a distance of the new comment from the active collections of comments may comprise calculating a Levenshtein distance of the new comment from each of the active collections of comments. Embodiments may therefore employ one or more known techniques for assessing similarity, thus leveraging known processes to reduce cost and/or complexity of implementation.

Also, analyzing content of the new comment provided to the current session of the live chat stream may further comprise, for each of the active collections of comments, calculating a similarity score of the new comment based: on the identified one or more concepts of the new comment; the determined distance of the new comment from the active collections of comments; and extracted one or more key words from the new comment. Yet further, adding the new comment to one or more of the collections of comments based on a result of the analysis may comprise, for each of the active collections of comments, adding the new comment to the active collection if the calculated similarity score of the new comment for the active collection exceeds a threshold value.

Referring now toFIG.1, shown is a high-level block diagram of an example computer system100that may be configured to perform various aspects of the present disclosure, including, for example, method500. The example computer system100may be used in implementing one or more of the methods or modules, and any related functions or operations, described herein (e.g., using one or more processor circuits or computer processors of the computer), in accordance with embodiments of the present disclosure. In some embodiments, the major components of the computer system100may comprise one or more CPUs102, a memory subsystem108, a terminal interface116, a storage interface118, an I/O (Input/Output) device interface120, and a network interface122, all of which may be communicatively coupled, directly or indirectly, for inter-component communication via a memory bus106, an I/O bus114, and an I/O bus interface unit112.

The computer system100may contain one or more general-purpose programmable processors102(such as central processing units (CPUs)), some or all of which may include one or more cores104A,104B,104C, and104N, herein generically referred to as the CPU102. In some embodiments, the computer system100may contain multiple processors typical of a relatively large system; however, in other embodiments the computer system100may alternatively be a single CPU system. Each CPU102may execute instructions stored in the memory subsystem108on a CPU core104and may comprise one or more levels of on-board cache.

In some embodiments, the memory subsystem108may comprise a random-access semiconductor memory, storage device, or storage medium (either volatile or non-volatile) for storing data and programs. In some embodiments, the memory subsystem108may represent the entire virtual memory of the computer system100and may also include the virtual memory of other computer systems coupled to the computer system100or connected via a network. The memory subsystem108may be conceptually a single monolithic entity, but, in some embodiments, the memory subsystem108may be a more complex arrangement, such as a hierarchy of caches and other memory devices. For example, memory may exist in multiple levels of caches, and these caches may be further divided by function, so that one cache holds instructions while another holds non-instruction data, which is used by the processor or processors. Memory may be further distributed and associated with different CPUs or sets of CPUs, as is known in any of various so-called non-uniform memory access (NUMA) computer architectures. In some embodiments, the main memory or memory subsystem108may contain elements for control and flow of memory used by the CPU102. This may include a memory controller110.

Although the memory bus106is shown inFIG.1as a single bus structure providing a direct communication path among the CPU102, the memory subsystem108, and the I/O bus interface112, the memory bus106may, in some embodiments, comprise multiple different buses or communication paths, which may be arranged in any of various forms, such as point-to-point links in hierarchical, star or web configurations, multiple hierarchical buses, parallel and redundant paths, or any other appropriate type of configuration. Furthermore, while the I/O bus interface112and the I/O bus114are shown as single respective units, the computer system100may, in some embodiments, contain multiple I/O bus interface units112, multiple I/O buses114, or both. Further, while multiple I/O interface units are shown, which separate the I/O bus114from various communications paths running to the various I/O devices, in other embodiments some or all of the I/O devices may be connected directly to one or more system I/O buses.

It is noted thatFIG.1is intended to depict the representative major components of an exemplary computer system100. In some embodiments, however, individual components may have greater or lesser complexity than as represented inFIG.1, components other than or in addition to those shown inFIG.1may be present, and the number, type, and configuration of such components may vary.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

Referring now toFIG.2, illustrative cloud computing environment200is depicted. As shown, cloud computing environment200comprises one or more cloud computing nodes210with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone240A, desktop computer240B, laptop computer240C, and/or automobile computer system240N may communicate. Nodes210may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment200to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices240A-N shown inFIG.2are intended to be illustrative only and that computing nodes210and cloud computing environment200can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).

Hardware and software layer360includes hardware and software components. Examples of hardware components include: mainframes361; RISC (Reduced Instruction Set Computer) architecture based servers362; servers363; blade servers364; storage devices365; and networks and networking components366. In some embodiments, software components include network application server software367and database software368.

Virtualization layer370provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers371; virtual storage372; virtual networks373, including virtual private networks; virtual applications and operating systems374; and virtual clients375.

In one example, management layer380may provide the functions described below. Resource provisioning381provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing382provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal383provides access to the cloud computing environment for consumers and system administrators. Service level management384provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment385provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.

Workloads layer390provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation391; software development and lifecycle management392; virtual classroom education delivery393; data analytics processing394; transaction processing395; and live chat stream comment processing396.

Program modules42generally carry out the functions and/or methodologies of embodiments of the invention as described herein. For example, some or all of the functions of a DHCP client80can be implemented as one or more of the program modules42. Additionally, the DHCP client80may be implemented as separate dedicated processors or a single or several processors to provide the functionality described herein. In embodiments, the DHCP client80performs one or more of the processes described herein.

As shown inFIG.4, the computer system/server12also comprises or communicates with a live chat stream client170, and a chat server160. In accordance with aspects of the invention, the live chat stream client170can be implemented as program code in program modules42stored in memory28as separate or combined modules. Additionally, the live chat stream client170may be implemented via separate dedicated processors or a single or several processors to provide the function of these tools. While executing the computer program code, the processing unit16can read and/or write data to/from memory, storage system, and/or I/O interface22. The program code executes the processes of the invention.

By way of example, live chat stream client170may be configured to communicate with the chat server160via a cloud computing environment200. As discussed with reference toFIG.2, for example, cloud computing environment200may be the Internet, a local area network, a wide area network, and/or a wireless network. In embodiments of the proposed incident management mechanism, the chat server160may provision data to the live chat stream client170. In some instances, live chat stream client170and chat server160may communicate directly. Alternatively, a relay agent may be used as an intermediary to relay comments between live chat stream client170and chat server via the cloud computing environment200.

FIG.5is a method500for live chat stream comment processing, according to several embodiments of the present disclosure. Method500may be implemented in the environment ofFIGS.1and4, for example.

Method500begins with step505of users providing new comments to a live chat stream. The new comments are then queued in step510for subsequent processing. The queued comments are then processed in steps515,520and525.

Specifically, in step515one or more concepts of the comment are extracted (i.e. identified). In particular, in this example embodiment, a concept extraction system (or concept mining algorithm) generates an array of concepts from a comment and attaches the extracted concept(s) to the comment as metadata.

In step520, a distance of a new comment from active collections of comments of the live chat stream is calculated. By way of example, in step520, fuzzy matching may be applied, and a Levenshtein distance may be calculated and compared against active collections of the live chat stream.

In step525, one or more key words are extracted from the comment. For instance, basic key word extraction may be employed, wherein a keyword dictionary supplied at system setup is used.

Thus, it will be understood that steps512,520and525are undertaken to analyze the content of the comments.

Based on the results of the analysis (from steps515,520and525), each of the new comments are added to one or more of the collections of comments in step530. That is, the new comments are grouped/clustered into collections of comments. By way of example, the comments from multiple users are processed into collections using a weighted calculation of the data provided by analysis steps515,520and525. Such a calculation may, for example, consider how similar a new comment is to the chat lines in an existing collection of comments.

For instance, step530may comprise, for each of the active collections of comments, calculating a similarity score of the new comment based on: the identified one or more concepts of the new comment; the determined distance of the new comment from the active collections of comments; and extracted one or more key words from the new comment. The new comment can then be added to one or more of the collections of comments based on a result of the analysis. For instance, the new comment may be added to the active collection if the calculated similarity score of the new comment for the active collection exceeds a threshold value. If the calculated similarity score of the new comment exceeds the threshold value for multiple active collections, the new comment may be added to the active collection with which the new comment has the highest calculated similarity score. If the calculated similarity score of the new comment does not exceed the threshold value for any active collections, the new comment may be added to a new collection.

Next, the collections of comments are processed, in steps535,540and545.

Specifically, step535comprises, for each active collection of comments for the live chat stream, calculating a first measure of semantic similarity between the active collection and the remaining active collections of the live chat stream.

Step540comprises, for each active collection, calculating a second measure of semantic similarity between the active collection and non-active collections of the live chat stream. “Non-active” collections of the live chat stream include collections that may have been observed during the stream session but are not currently active, as opposed to “historical” collections which include collections that have been observed during previous stream sessions but not during a current session. As a clarifying example, during a first stream session, two collections may be observed, designated collection “A” and collection “B.” The first stream session may then end (e.g., a streamer may end the stream for the day). The streamer may then later initiate a second stream session (e.g., the following day). A third collection “C” may be active during the first two hours of the second stream session, but may no longer be active by the third hour of the second stream session, while the first collection “A” may be active for the entirety of the second stream session. In such an instance, during the third hour of the second stream session, collection “A” is active, collection “C” is non-active, and collection “B” is historical.

collections ends, a second stream session may

Step545comprises, for each active collection, calculating a third measure of semantic similarity between the active collection and historical collections of comments for one or more prior sessions of the live chat stream.

Then, for each active collection, step550comprises determining a semantic-uniqueness score based on its first, second and third measures of semantic similarity (obtained from steps535,540and545, respectively). The purpose of this semantic-uniqueness score is to provide an estimate of whether the content of the comment(s) is interesting/relevant for the chat stream.

Step560comprises, for each active collection, determining an activity score representing an activity level of the active collection for the current session of the live chat stream. By way of example, the activity score may be determined based on a temporally decaying value. For instance, determining the activity score for an active collection (step560) may comprise: increasing a previous activity score for the active collection responsive to a new comment being added to the active collection; and decreasing a previous activity score for the active collection responsive to no new comment being added to the active collection over a pre-determined period of time (e.g., 20 minutes, 1 hour, etc.). Thus, as comments are added to a collection, they add a value to the activity score. However, by decreasing this value over time, collections must be added to regularly/constantly in order to be kept alive. In this way, an activity score based on temporal decay can be employed. Also, the rate of decay may be adjusted to the live chat stream state (e.g., in a busy chat, it may be preferable to employ a fast rate of decay). That is, the decay rate may be a function of the throughput of the live chat stream.

In step565, a final importance score for each active collection is determined based on its semantic-uniqueness and activity score (from steps560and550). For example, this may be a weighed summing of both scores. In some embodiments, both scores may be normalized (e.g., to between 0 and 1) before summing. The weights may be static (e.g. set by an administrator) or dynamic. For instance, in a busier chat system, it may be preferable to bias toward the semantic uniqueness score.

Next, in step570, the final importance score for each active collection is assessed (e.g., compared) against a predetermined threshold value. Based on the assessment results, the display of each active collection is controlled in step575. For example, an active collection may be displayed if its final importance score exceeds the predetermined threshold value. The threshold value can be set by a user to provide an added level of control over a live chat. Furthermore, aspects/characteristics of display may be based on the final importance score. For example, a display size, and other “attention markers” (e.g. movement and/or bright colors) can be adjust based on the importance score of a collection.

By way of further example and explanation, an exemplary method of processing comments for a live chat stream of an online gaming session according to a proposed embodiment is described below.

To begin with, it is assumed that the system has the following three collections of comments already defined:

Collection “A” includes text: “You missed the key,” an activity score of “1,” concepts: [“The key”], and keywords:[“Key”].

The following two comments (C1 & C2) may then be provided to the live chat steam (e.g., by one or more users):

C1) “I think you missed the key in the other room”

The two comments are then processed to implement concept extraction, distance calculation and keyword extraction (i.e. steps515,520and525of the method ofFIG.5). For example, step515's “concept extraction” may be undertaken using conventional/known concept detection and extraction techniques. For C1, the extracted concept may be “The Key.” For C2, no concept may be detected/extracted.

At step520, “distance calculation” may include determining a Levenshtein distance to each collection. The Levenshtein distance may be normalised using, for example, LD/Sum(Chars)). For C1, the following Levenshtein distances may be determined:
(C1−>A)−27(Normalised to 27/63)−>0.42
(C1−>B)−35(Normalised to 35/63)−>0.55
(C1−>C)−32(Normalised to 32/68)−>0.47

For C2, the following Levenshtein distances are determined:
(C2−>A)−25(Normalised to 25/50)−>0.5
(C2−>B)−21(Normalised to 21/49)−>0.42
(C2−>C)−23(Normalised to 23/)−>0.38

At step525, “keyword extraction” may be undertaken using conventional/known keyword detection techniques. For C1, the extracted keywords may be [“room”, “key”]. For C2, the extracted keyword may be [“Hamster”].

The comments are then clustered into collections at step530of the method ofFIG.5. For this, between each comment and each collection, a similarity score S is calculated using equation (1), below:
S=W1*(C)+W2*(1−L)+W3*K(1)

wherein, C is the number of shared concepts/max concepts, W1 is a first weighting value, L is the Levenshtein distance, W2 is a second weighting value, K is the number of shared Keywords/max keywords, and W3 is a third weighting value.

By way of example, assuming weighting values of W1=1 W2=0.75, and W3=0.5, the following similarity values are obtained:

The scores may then be compared against a threshold value. If the comment's similarity score S for a collection is above the threshold, it is added to that collection. If it is above the threshold for multiple collections, it may be added to the collection for which it has the highest similarity score.

For this example, an arbitrary threshold value of 1 may be selected. This threshold value can be user defined. For C1 in this example, the similarity with collection A (1.675) exceeds the threshold value (i.e., 1.675>1), so C1 is therefore added to collection A. For C2 in this example, its similarities do not exceed the threshold for any of the collections (i.e., 0.375<1, 0.435<1, 0.465<1). C2 may therefore be used to form a new collection (collection “D”) with an Activity score of 1.

Next, the semantic-uniqueness score is determined, based on three semantic similarity measures. Thus, the three semantic similarities are determined (i.e., steps535,540and545of method500).

First, semantic similarity between active collections for the live chat stream may be obtained at step535as follows:
(on Avs B/C/D)→AVG(0,0,0)→0
(on Bvs A/C/D)→AVG(0,0,0)→0
(on Cvs A/B/D)→AVG(0,0,0)→0
(on Dvs A/B/C)→AVG(0,0,0)→0

Second, the semantic similarity against non-active collections for the current live chat stream is determined at step540. Non-active collections for the live chat stream may include, for example: F(“what great content! Watch you every day”) and G (“The key to winning is the soulblade”). The semantic similarity for each collection against the non-active collections is therefore:
(on Avs F/G)→AVG(0,0.17)→0.085
(on Bvs F/G)→AVG(0.4,0)→0.2
(on Cvs F/G)→AVG(0,0)→0
(on Dvs F/G)→AVG(0,0)→0

Third, the semantic similarity against all chat history not part of the current live chat session (i.e., against all “archived” chat history) can be determined at step545as follows:
(on AvsArchive)−>0.1
(on BvsArchive)−>0.23
(on CvsArchive)−>0.15
(on DvsArchive)−>0.12

Based on the three semantic similarity measures determined according to steps535,540, and545, a semantic-uniqueness score (U) can be calculated for each active collection at step550as follows:
U=W4*(1−Av)+W5*(1−Dv)+W6*(1−Hv)

wherein “Av” is the average semantic similarity between the collection and other active collections, W4 is a fourth weighting value, Dv is an average semantic similarity between the collection and other deactivated collections, W5 is a fifth weighting value, Hv is an average semantic similarity between the collection and historic collections, and W6 is a sixth weighting value.

As an example, for the sample collections described above, and assuming weighting values of W4=1, W5=0.75, and W6=0.5, the following uniqueness scores are obtained:
on(A)−>1*(1−0)+0.75*(1−.0.085)+0.5(1−0.1)=1+0.68+0.45=2.13
on(B)−>1*(1−0)+0.75*(1−0.2)+0.5(1−0.23)=1+0.6+0.385=1.985
on(C)−>1*(1−0)+0.75*(1−0)+0.5(1−0.15)=1+1+0.425=2.425
on(D)−>1*(1−0)+0.75*(1−0)+0.5(1−0.12)=1+1+0.44=2.44

Method500further comprises calculating an activity score for each collection at step560. If a collection has had a new comment added, its activity score may increase asymptotically towards 1 (e.g., along a logarithmic or other exponential curve). If the collection has not had a new comment added, its activity score may decay/reduce towards 0. Accordingly, the activity score for each collection can be calculated as follows:
on(A)−(+1 comments)Stays at the max(1)
on(B)−(+0 comments)0.6−>0.54
on(C)−(+0 comments)0.8−>0 0.76
on(D)−(+1 comments)Stays at the max(1)

Method500further comprises determining the final importance score “I” for each collection at step565. The final importance score may be determined based on the activity score and semantic-uniqueness score as follows:
I=W7*U+W8*Ac

wherein U is a semantic-uniqueness score, W7 is a seventh weighting value, Ac is the Activity Score, and W8 is an eighth weighting value.

Thus, for the collections of this example, and assuming weighting values W7=0.8 W8=1, final importance score I for each collection is as follows:
on(A)−>0.75*2.13+1*1=2.59
on(B)−>0.75*1.985+1*0.54=2.02
on(C)−>0.75*2.425+1*0.76=2.57
on(D)−>0.75*2.44+1*1=2.83

Based on the final importance scores, the display of each collection is controlled. For example, a system performing method500can compare the final importance scores to a threshold value at step570and, based on that comparison, select which collections to display and which collections to omit at step575. In some instances, if the system has a large number of collections, the collections may be culled by low importance score. This can be accomplished in many different ways; for example, in some instances, collections associated with the lower 50% of importance scores may be culled. In some instances, only the top five collections (ranked by importance score) may be displayed (i.e., all other collections may be culled), etc. In this way, the collections may be displayed in the live chat stream, with their importance score determining their relative impact on the screen.

From the above example, it can be seen that:

Collection A had useful information. Multiple comments went into it, resulting in relatively low semantic-uniqueness, but high activity kept its importance score high.

Collection B was a low-effort comment and not very unique. It had also been seen before in the past. Therefore, it was the most likely to be culled.

Collections C and D both have higher semantic-uniqueness as they contain new information or questions, so they may be displayed.

It is also noted that, in practice, embodiments may be configured to handle volumes of comments where live streams get hundreds of comments per minute. The example above has simply been provided to demonstrate what would happen with three initial collections and two new comments. Employed embodiments will be more impactful when working against a large amount of data.

The proposed live chat comment processing concept(s) may therefore provide numerous advantages over conventional live chat stream implementations. These advantages include, but are not limited to, optimized display of comments in a live chat stream. In embodiments of the present invention, this technical solution is built on semantic uniqueness and continuing user interaction.

In still further advantages to a technical problem, the systems and processes described herein provide a computer-implemented method for controlling the display of comments in a live chat stream, and such live chat streams may be provided on (or via) a distributed communication network. In this case, a computer infrastructure, such as the computer systems shown inFIGS.1and4or the cloud environment shown inFIG.2can be provided and one or more systems for performing the processes of the invention can be obtained (e.g., created, purchased, used, modified, etc.) and deployed to the computer infrastructure. To this extent, the deployment of a system can comprise one or more of:

(i) installing program code on a computing device, such as computer system shown inFIG.1, from a computer-readable medium;

(ii) adding one or more computing devices to the computer infrastructure and more specifically the cloud environment; and

(iii) incorporating and/or modifying one or more existing systems of the computer infrastructure to enable the computer infrastructure to perform the processes of the invention.