Batch-based game chat data analysis method, system, device and apparatus

CN122441108APending Publication Date: 2026-07-24ANHUI SANQI JIYU NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610563337.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-04-27
Publication Date
2026-07-24

Smart Images

  • Figure CN122441108A_ABST
    Figure CN122441108A_ABST
Patent Text Reader

Abstract

The application is suitable for the computer technology field, and provides a game chat data analysis method based on batch accumulation, which comprises the following steps: acquiring chat data of a game system in real time, preprocessing the chat data; constructing a data storage tree, storing the chat data to the data storage tree, and classifying the chat data; batch processing data of the same classification, generating a batch accumulation queue, and monitoring batch accumulation conditions; when the batch accumulation conditions are triggered, data analysis is performed on the data in the batch accumulation queue, the data in the batch accumulation queue is analyzed when the batch accumulation conditions are triggered, potential rules and trends in the data can be mined, and the method is helpful for understanding the behavior patterns of players, optimizing game design, improving game experience and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of computer technology, and in particular relates to methods, systems, devices and apparatus for analyzing game chat data based on batch processing. Background Technology

[0002] During gameplay, communication between players is an important part of the gaming experience. As the number of players grows, real-time monitoring and analysis of player chat data becomes particularly important. This not only helps improve the social experience of players but also allows for the timely detection and resolution of issues in the community, such as login / recharge failures, inappropriate remarks, or conflicts between players.

[0003] However, due to the massive volume and real-time nature of chat data, traditional data processing methods struggle to cope effectively, lacking the ability to dynamically adjust when faced with large-scale, high-concurrency real-time data. Furthermore, existing methods often fail to balance the diversity of data dimensions and time sensitivity, leading to the omission or delay of some key information, thus affecting the comprehensiveness and real-time nature of the analysis.

[0004] Therefore, a new technical solution is needed that can process and analyze the contextual information of chat data in real time, thereby providing more accurate analysis results to help game developers and operations teams optimize the game environment and improve player satisfaction. Summary of the Invention

[0005] This application provides a method, system, device, and apparatus for analyzing game chat data based on batch processing, which can solve one of the above-mentioned problems in the prior art.

[0006] In a first aspect, embodiments of this application provide a method for analyzing game chat data based on batch processing, including: Real-time acquisition of chat data from the game system, and preprocessing of the chat data; Construct a data storage tree, store the chat data in the data storage tree, and classify the chat data; Data of the same category is batch-processed to generate a batch queue, and batch conditions are monitored. When the batching condition is triggered, data analysis is performed on the data in the batching queue.

[0007] Furthermore, the chat data specifically refers to real-time chat data from various chat platforms connected to the game system, including the game's built-in chat platform, customer service conversation platform, and group chat platform.

[0008] Furthermore, the data storage tree is configured with a root node and a grouping dimension table; The step of storing the chat data in the data storage tree and classifying the chat data includes: Based on preset dimension configuration rules, the chat data is classified into multiple dimensions, and the classification results are synchronized to the group dimension table. In the root node, the chat data is matched with child nodes layer by layer according to the dimensional order of the multi-level dimensional classification until the leaf node is reached.

[0009] Furthermore, in the root node, matching the chat data layer by layer with child nodes according to the dimensional order of the multi-level dimensional classification until the leaf node is reached includes: By using a preset data filter, it is determined whether the chat data belongs to any leaf node in the data storage tree; If the data belongs to any of the leaf nodes, the chat data will be matched to the corresponding leaf node. If it does not belong to any of the leaf nodes, then based on the multi-level dimensional classification of the chat data, the corresponding child nodes are matched sequentially until the leaf node is formed, thus forming the node path of the leaf node.

[0010] Furthermore, determining whether the chat data belongs to any leaf node in the data storage tree using a preset data filter includes: Based on multi-level dimensional classification, the dimensions of each group are concatenated to generate dimensional path keys, and combined with leaf nodes to generate a group path table. The chat data is concatenated according to the grouping dimension to generate a path key to be verified; Based on the Bloom filter, the path key to be verified is matched with the dimension path keys in the grouped path table to determine whether the path key to be verified exists in the grouped path table. If the path key to be verified exists in the group path table, then the chat data is mapped to the leaf node of the corresponding group path key; If the path key to be verified does not exist in the grouped path table, then the multi-level dimension classification is traversed sequentially until the leaf node is reached, and the grouping dimension corresponding to the leaf node is updated to the grouped path table.

[0011] Furthermore, storing the chat data in the data storage tree further includes: Each leaf node is stored in a doubly linked list. When any of the leaf nodes has a new message, the corresponding leaf node is promoted to the head of the doubly linked list and marked as a hotspot. If the number of leaf nodes exceeds the maximum capacity of the doubly linked list, then inactive leaf nodes in the doubly linked list are eliminated based on a preset elimination rule.

[0012] Furthermore, the step of batch processing data of the same category to generate a batch queue includes: In each category, an independent monitoring module is configured to track queue depth and message waiting time in real time, which is used to dynamically adjust batching conditions. Based on preset priority rules, message data in each category is prioritized and sorted by priority. Based on the priority sorting, the message data is further classified by priority to generate a priority queue. Based on the queue attributes of the priority queues, corresponding batching conditions are generated, and data batching processing is performed on each priority queue.

[0013] Secondly, embodiments of this application provide a game chat data analysis system based on batch processing, including: First processing module: used to acquire chat data from the game system in real time and preprocess the chat data; The second processing module is used to construct a data storage tree, store the chat data in the data storage tree, and classify the chat data. The third processing module is used to batch process data of the same category, generate a batch queue, and monitor the batching conditions. The fourth processing module is used to perform data analysis on the data in the batch queue when the batching condition is triggered.

[0014] Thirdly, embodiments of this application provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described method for analyzing game chat data based on batch processing.

[0015] Fourthly, embodiments of this application provide a computer-readable storage medium, including a computer program stored in the computer-readable storage medium, which, when executed by a processor, implements the above-described method for analyzing game chat data based on batch processing.

[0016] The beneficial effects of the embodiments in this application compared with the prior art are: This application presents a batch-based game chat data analysis method. By acquiring chat data from the game system in real time, it can quickly respond to and process player communication information, ensuring the timeliness and effectiveness of the data. Furthermore, by constructing a data storage tree, it achieves multi-dimensional dynamic classification of various chat data, supporting infinitely expandable classification dimensions to adapt to changes in game business and making data management and retrieval more efficient. Additionally, by dynamically setting batch conditions, it controls the triggering timing of data analysis, which helps adjust the frequency and depth of data analysis according to actual needs, balancing system performance and data analysis accuracy. When the batch condition is triggered, data analysis is performed on the data in the batch queue, which can uncover potential patterns and trends in the data, helping to understand player behavior patterns, optimize game design, and improve the game experience. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is a flowchart illustrating a method for analyzing game chat data based on batch processing, provided in an embodiment of the present invention. Figure 2 This is a schematic diagram of the structure of a game chat data analysis system based on batch processing, provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. Detailed Implementation

[0019] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0020] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0021] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0022] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0023] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0024] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0025] Please see Figure 1 As shown, this invention is a method for analyzing game chat data based on batch processing, including the following steps: S100. Acquire chat data from the game system in real time and preprocess the chat data; In this application, by acquiring chat data from the game system in real time, it is possible to quickly respond to and process players' communication information, ensuring the timeliness and effectiveness of the data.

[0026] In some embodiments, the chat data specifically refers to real-time chat data from various chat platforms connected to the game system, including in-game chat platforms, customer service chat platforms, and group chat platforms.

[0027] In this embodiment, chat data from various chat platforms in the game system is received in real time, and the chat data is batch processed to generate batch queues. Based on this, the chat data is analyzed and processed, such as topic classification, sentiment analysis, and keyword extraction, in order to quickly identify and resolve player problems, such as login failures and abnormal recharges, thereby optimizing the game experience and monitoring the community atmosphere to improve management efficiency.

[0028] In this embodiment, the chat platform specifically includes a game-in-game platform, a customer service chat platform, and a group chat platform. The game-in-game platform is a chat platform set up within the game for different players to communicate within the game system. The customer service chat platform is a chat platform set up by the game's official team for players to provide feedback on game issues. The group chat platform is a chat group established by the game's official team on communication platforms such as WeChat or QQ, which is beneficial for directly obtaining player opinions. Furthermore, the chat data from each chat platform is preprocessed, specifically through data cleaning methods such as noise removal and sensitive word filtering, as well as a formatting method for uniformly encoding the chat data.

[0029] S200. Construct a data storage tree, store the chat data in the data storage tree, and classify the chat data; In this application, a data storage tree is constructed to achieve multi-dimensional dynamic classification of various chat data, thereby supporting infinitely expandable classification dimensions, adapting to changes in game business, and making data management and retrieval more efficient.

[0030] In some embodiments, the data storage tree is configured with a root node and a grouping dimension table; The step of storing the chat data in the data storage tree and classifying the chat data includes: Based on preset dimension configuration rules, the chat data is classified into multiple dimensions, and the classification results are synchronized to the group dimension table. In the root node, the chat data is matched with child nodes layer by layer according to the dimensional order of the multi-level dimensional classification until the leaf node is reached.

[0031] In this embodiment, the root node receives chat data from various chat platforms associated with the game system. Within the root node, the chat data is classified into multiple levels according to the dimension configuration rules, forming a multi-branch tree structure. It can be understood that the root node is the starting point of the multi-branch tree structure and the source of all chat data paths. It supports unlimited levels of classification for each chat data and then stores the chat data. Each node path formed by each node in the multi-branch tree structure represents a grouping dimension.

[0032] In this embodiment, the dimension configuration rule is a method for classifying chat data within each chat platform. In one possible embodiment, the dimension configuration rule specifically classifies chat data according to the chat platform. Chat data from different game platforms are assigned to different subtrees. For in-game platforms, multi-level dimension classification is performed according to server, chat channel, etc. For customer service chat platforms, multi-level dimension classification is performed according to customer service ID, player level, and question type, etc. For group chat platforms, multi-level dimension classification is performed according to communication platform type, region, group ID, etc. Specifically, after the root node obtains the chat data, it traverses the multi-branch tree structure generated based on the dimension configuration rule. It can be understood that the multi-branch tree structure has child nodes that are divided according to multi-level dimension classification, and finally the chat data is assigned to the corresponding leaf nodes.

[0033] Specifically, taking the multi-level classification of the game's built-in platform as an example, when the root node obtains any chat data in the game's built-in platform, it classifies it according to the multi-level classification of game built-in platform -> server -> chat channel, and finally classifies the chat data into the corresponding chat channel. The chat channels include world channel, guild channel, group channel and private chat channel. In some embodiments, in order to ensure the reliability of data analysis, each chat channel is further classified. For example, in the world channel, different world channels are classified as world channel 1 and world channel 2. At this time, the classification of the world channel is the leaf node of the multi-branch tree structure formed by the root node.

[0034] In this embodiment, the data storage tree is also configured with a grouping dimension table to define data classification rules and store the node paths of each chat data in the multi-branch tree structure formed by the root node, i.e., the corresponding grouping dimensions. Simultaneously, the grouping dimensions dynamically associate chat data with classification dimensions, supporting the expansion of the tree structure during multi-branch tree traversal to meet diverse data requirements. Furthermore, the data storage tree is configured with a maximum node capacity and a subscriber list. The maximum node capacity represents the maximum amount of data stored in a single node, improving data storage reliability. The subscriber list specifically refers to the list of administrators of the game system, used for event notifications. In practical applications, game system administrators register corresponding subscription accounts in the data storage tree, assigning them corresponding subscription numbers and subscription permissions. During data storage, if a batching queue reaches the corresponding batching conditions, all chat data within that queue is packaged into a batch, and a callback notification is initiated and sent to the corresponding subscription account, reminding the subscriber to receive the batch data. Additionally, the batching conditions of each batching queue can be dynamically adjusted based on subscription permissions within the subscription account.

[0035] In some embodiments, the step of matching the chat data with child nodes layer by layer according to the dimensional order of multi-level dimensional classification in the root node until the leaf node is reached includes: By using a preset data filter, it is determined whether the chat data belongs to any leaf node in the data storage tree; If the data belongs to any of the leaf nodes, the chat data will be matched to the corresponding leaf node. If it does not belong to any of the leaf nodes, then based on the multi-level dimensional classification of the chat data, the corresponding child nodes are matched sequentially until the leaf node is formed, thus forming the node path of the leaf node.

[0036] Specifically, before matching chat data layer by layer with child nodes until the leaf node, a preset data filter is used to judge the chat data, thereby determining whether there is a node path belonging to the chat data in the current data storage tree. If the node path does not exist, the node is matched level by level in the multi-branch tree structure formed by the root node, and a new node path is finally generated. If the node path exists, the node path is accessed directly, and the chat data is directly matched to the leaf node corresponding to the node path. This quickly determines whether the newly added chat data belongs to an existing node path, thereby avoiding unnecessary tree traversal operations and greatly accelerating the data injection process.

[0037] In some embodiments, determining whether the chat data belongs to any leaf node in the data storage tree using a preset data filter includes: Based on multi-level dimensional classification, the dimensions of each group are concatenated to generate dimensional path keys, and combined with leaf nodes to generate a group path table. The chat data is concatenated according to the grouping dimension to generate a path key to be verified; Based on the Bloom filter, the path key to be verified is matched with the dimension path keys in the grouped path table to determine whether the path key to be verified exists in the grouped path table. If the path key to be verified exists in the group path table, then the chat data is mapped to the leaf node of the corresponding group path key; If the path key to be verified does not exist in the grouped path table, then the multi-level dimension classification is traversed sequentially until the leaf node is reached, and the grouping dimension corresponding to the leaf node is updated to the grouped path table.

[0038] In this embodiment, the grouping dimensions formed by multi-level dimensional classification in the root node are obtained from the grouping dimension table of the data storage tree. The grouping dimensions related to the leaf nodes are further filtered out, and each grouping dimension is spliced ​​together to form a dimensional path key that corresponds one-to-one with each leaf node.

[0039] In this embodiment, when generating the dimensional path key, a set of dimensional processors is predefined sequentially based on the dimensional priority of the multi-level dimensional classification. The number of dimensional processors corresponds to the number of dimensions in the grouped dimensions. Taking the multi-level dimensional classification of the game's built-in platform as an example, the grouped dimensions are specifically game built-in platform -> server -> chat channel -> channel number. Therefore, the number of dimensional processors is at least four. Each dimensional processor is responsible for processing data of a specific dimension and encoding the corresponding dimension. The processing order is fixed, specifically "GamePlatformProcessor → ServerIDProcessor → ChannelTypeProcessor → ChannelIDProcessor". Among them, GamePlatformProcessor corresponds to the chat platform dimension, in which the chat platform that obtains chat data is encoded. ServerIDProcessor corresponds to the server dimension, in which the game built-in platform is encoded. The IDs of each server in Taichung are encoded. The ChannelTypeProcessor corresponds to the chat channel dimension, which encodes the world channel, guild channel, group channel, and private chat channel. The ChannelIDProcessor corresponds to the channel number, which encodes the channel number of each chat channel. Then, the encodings of each dimension are concatenated to form the corresponding dimension path key. It can be understood that encoding each dimension specifically involves standardizing the dimension values ​​of each dimension to facilitate the readability and reproducibility of the final dimension path key, and to facilitate subsequent data matching. Furthermore, each dimension processor uses different encoding methods according to the dimension values. For example, for numeric types such as channel numbers and distinguishing IDs, base36 compression is used in some possible embodiments. For character types such as chat channels, hash algorithms are used in some possible embodiments. For the dimension values ​​of each dimension after encoding, the first n bytes of the length are selected for concatenation of the subsequent dimension encodings.

[0040] In some embodiments, a hash algorithm is used to generate fingerprint values ​​for each generated dimension code, which are then concatenated with each dimension code to form the final dimension path key, thereby improving the security of the dimension path key. Finally, each dimension path key is mapped one-to-one with the node identifier of the leaf node to generate a grouped path table.

[0041] In this embodiment, newly added chat data is concatenated in the same way as the path keys of each dimension in the group path table to generate a path key to be verified. During the matching process between the path key to be verified and the group path table, based on the principle of Bloom filter, the existence of the path key to be verified is quickly checked in the group path table. Specifically, for each dimension path key in the group path table, k hash functions are applied to generate k bit array indices, and the corresponding index bit arrays are stored in the group path table. For the path key to be verified, each dimension path key in the group path table is traversed, and the k hash functions corresponding to the dimension path key to be verified are used to calculate whether all hash positions are 1. If all are 1, it means that the path key to be verified matches the dimension path key.

[0042] Furthermore, since Bloom filters may misjudge during the matching process, in one possible embodiment, a path key to be verified may match one or more dimension path keys. In this case, the fingerprint value of the path key to be verified is matched with the fingerprint value of one or more dimension path keys. If the fingerprint value of the path key to be verified corresponds to that of one dimension path key, it means that the path key to be verified matches that dimension path key. Then, the chat data corresponding to the path key to be verified is mapped to the leaf node corresponding to that dimension path key. If the fingerprint value of the path key to be verified does not correspond to any of the dimension path keys, it means that a misjudgment has occurred during the matching process of the Bloom filter. In this case, the chat data corresponding to the path to be verified is classified according to multi-level dimensions and matched sequentially in a multi-branch tree structure. The grouping dimension update value corresponding to the new node path is updated in the grouping dimension table to facilitate subsequent path filtering.

[0043] In some embodiments, storing the chat data in the data storage tree further includes: Each leaf node is stored in a doubly linked list. When any of the leaf nodes has a new message, the corresponding leaf node is promoted to the head of the doubly linked list and marked as a hotspot. If the number of leaf nodes exceeds the maximum capacity of the doubly linked list, then inactive leaf nodes in the doubly linked list are eliminated based on a preset elimination rule.

[0044] In this embodiment, each node in the multi-branch tree structure includes a node identifier, a node path, a node dimension value, a node attribute, and the batch queue to which the node belongs. Specifically, the node attribute determines whether the node is a leaf node, and the node dimension value is the child node corresponding to the node. For example, in the chat channel nodes mentioned above, the World Channel, Guild Channel, Group Channel, and Private Chat Channel are the node dimension values ​​of the node, and correspond to the child nodes of the node.

[0045] In this embodiment, when the node attribute value is true, the node is determined to be a leaf node. At this time, the leaf node is stored in a doubly linked list to store chat data and supports dynamic expansion. Furthermore, the nodes in the doubly linked list are sorted and cached according to the last access time of the leaf node. Specifically, when new chat data appears in the leaf node, the leaf node is promoted to the head of the doubly linked list to associate hot nodes, thereby achieving cache optimization.

[0046] Furthermore, if the number of corresponding leaf nodes exceeds the preset maximum capacity of the doubly linked list, the inactive leaf nodes are evicted to free up memory. Simultaneously, the grouping dimension corresponding to that leaf node is removed from the grouping dimension table and temporarily stored in the cache data table for later use when the leaf node is triggered again. In addition, before evicting the corresponding inactive leaf node, a callback is triggered to notify the relevant subscribers, and residual data in the inactive leaf node that is not yet in full batch is forcibly processed to prevent data loss.

[0047] In some embodiments, corresponding elimination rules are formulated based on capacity elimination, time elimination, and business elimination. When the number of leaf nodes exceeds the maximum capacity, an elimination node table is generated. Specifically, the elimination priority of nodes is quantitatively evaluated from four core dimensions: capacity, time, business value, and resource pressure. Efficient node recycling is achieved through dynamic weight adjustment and a tiered elimination strategy. Specifically, the capacity dimension is determined by evaluating the number of nodes and memory usage to determine the number of nodes to be eliminated. ,in, This represents the node capacity pressure index, used to measure the number of nodes that need to be eliminated. Indicates the current number of nodes. This represents the maximum node capacity, and the effect of node saturation is reinforced through a cubic relationship. Indicates the current memory usage. This represents the maximum memory limit and reflects the increasing effect of memory pressure through a quadratic relationship. Specifically, 0 ≤ ≤1, when nodes are saturated, exponential growth is faster than linear growth, and the memory pressure growth curve is flatter than the node pressure curve. Simultaneously, based on a preset replacement logic, a piecewise function is set to calculate the replacement ratio. Specifically... Specifically, when At that time, the doubly linked list is in a safe zone and there is no elimination. At that time, the linear growth to a 2% elimination rate, when At that time, the elimination rate accelerated to 5%. At that time, the elimination rate increased by 50%.

[0048] Furthermore, the time dimension is used to evaluate node activity, measured by the last number of active days, specifically through a time decay function. ,in Let represent the dynamic decay rate, and t represent the last active day. The impact of node inactivity time on its elimination priority is quantified using the aforementioned time decay function. Specifically, when t=0, it indicates that the node is active that day, so A(0)=1, indicating no time decay. However, as t increases, A(t) decreases exponentially. Furthermore, for... = ×(1+0.5×Memory Pressure)×(1-0.3×Business Value), specifically, its decay rate is related to memory pressure and business value. For every 10% increase in memory pressure, the decay rate increases by 5%, with a maximum of [missing value]. The pressure value increases to 0.05 × 1.5 = 0.075, while for every 10% increase in business value, the attenuation rate decreases by 3%, up to a maximum of The value is reduced to 0.05 × 0.7 = 0.035. Therefore, when resources are scarce, inactive nodes can be eliminated more quickly, while important business nodes can maintain a higher rank even if they are inactive. Finally, based on this time decay function, the time elimination score is calculated. Specifically, St = (1 - A(t)) × Wt, where Wt represents the time dimension weight and 1 - A(t) represents the inactivity penalty factor. The higher the time elimination score, the more likely the node should be eliminated due to inactivity. Finally, it is calculated together with the business dimension score.

[0049] Furthermore, regarding the business dimension, specifically business value, it is measured through player activity. Specifically, R = log(R0 + 1), where R0 represents the percentage of active players, and R0 = 1 - (R0 + 1) / 2. current / R max ), R current R represents the current activity level. max This represents the highest historical activity level. Based on this activity level, a business value score is calculated: SR = R × WR, where WR represents the business dimension weight, which is then combined with the time dimension score. Specifically, the total elimination score for each node = time dimension score + business dimension score. The capacity dimension score is used to measure the elimination ratio of nodes. Thus, through multi-dimensional quantitative evaluation and dynamic weight adjustment, refined and intelligent resource elimination decisions are achieved.

[0050] S300: Batch process data of the same category, generate a batch queue, and monitor the batch conditions; In this application, the timing of data analysis is controlled by dynamically setting batching conditions. This helps to adjust the frequency and depth of data analysis according to actual needs, and balance system performance and the accuracy of data analysis.

[0051] In some embodiments, the step of batch processing data of the same category to generate a batch queue includes: In each category, an independent monitoring module is configured to track queue depth and message waiting time in real time, which is used to dynamically adjust batching conditions. Based on preset priority rules, message data in each category is prioritized and sorted by priority. Based on the priority sorting, the message data is further classified by priority to generate a priority queue. Based on the queue attributes of the priority queues, corresponding batching conditions are generated, and data batching processing is performed on each priority queue.

[0052] In this embodiment, an independent monitoring module is configured in each node path formed by the leaf node to avoid node interference. This module is used to monitor the queue depth and message waiting time of the corresponding node path, and then dynamically adjust the batching conditions, such as adjusting the batch size or waiting time window in the batching queue.

[0053] In some embodiments, message data in the same leaf node are further classified according to priority to generate corresponding priority queues. Then, personalized batching conditions are generated based on the queue attributes of the priority queues. In a preferred embodiment, the batching conditions are specifically a preset batch size and a waiting time window. When the number of messages in the queue is greater than the preset batch size or the message waiting time is greater than the preset waiting window time, a callback procedure is triggered, that is, a callback notification is sent to the corresponding subscription account for the batches in the corresponding batching queue, and data analysis of the batching queue is performed.

[0054] Specifically, the priority queue is a queue defined by the subscriber based on business needs. In some cases, the priority queue includes an emergency queue and a normal queue. For message data in the emergency queue, the batching condition is set to a batch size of 1. That is, when a message appears in the emergency queue, the callback procedure is triggered. For the normal queue, the batching condition can be set to a batch size of 100 or a waiting time window of 14 days. When one of the conditions is met, the callback procedure is triggered.

[0055] Furthermore, regarding the determination of each piece of data in the priority queue, in some embodiments, the message data in the same leaf node is monitored, and when keywords such as "crash" or "account ban" appear in the message, it is set as a message in the emergency queue. In other embodiments, the corresponding priority is determined according to the contribution of the game player. For example, if the player has recharged more than 1,000 yuan in the past 30 days, the player's chat data is marked as high priority. Or, some regular chat messages are set as chat data in the ordinary queue and processed in batches according to the batching conditions.

[0056] In some embodiments, when the number of messages in the batch queue is small or the waiting time is too long, i.e., when the batch queue is a low-activity queue, multiple low-activity queues can be merged to generate a joint batch, and the original queue can be marked as dormant, thereby reducing system memory and achieving high throughput and low latency in message processing.

[0057] S400. When the batching condition is triggered, perform data analysis on the data in the batching queue.

[0058] In this application, when the batching condition is triggered, data analysis is performed on the data in the batching queue. This can uncover potential patterns and trends in the data, which helps to understand player behavior patterns, optimize game design, and improve the game experience.

[0059] In some embodiments, data in the batch queue is analyzed and sent back to the corresponding subscription accounts for subscribers to process the messages. Specifically, language features are obtained from chat data, and natural language processing techniques are used to extract the sentiment, semantic content, and syntactic structure of the text to generate sentiment dimension tags and semantic dimension tags. Based on the sentiment dimension tags and semantic dimension tags, combined with user interaction data, user relationship characteristics are analyzed to generate user behavior tags and determine user behavior patterns in the game scenario. Time series analysis techniques are used to extract time dimension tags from chat data, generate timestamp sequences, determine the time dynamic characteristics of the data, analyze the time patterns of user behavior, and send the corresponding user behavior patterns and time dynamic characteristics back to the subscription accounts to provide a basis for subscribers to analyze the data.

[0060] Specifically, the process involves cleaning the raw chat data, extracting linguistic features from the text, removing noise such as HTML tags, special symbols, and duplicate messages, standardizing the text format (e.g., case conversion, simplified / traditional character conversion), and processing emoticons by mapping each emoticon to standard text data such as "happy" and "sad." Further, word segmentation tools such as Jieba and NLTK are used to segment the Chinese / English text, and part-of-speech tagging is performed to facilitate subsequent syntactic analysis. Then, high-frequency words and their frequencies are statistically analyzed, keywords related to the messages and their importance weights are extracted, and word vectors are generated using tools like Word2Vec, GloVe, or BERT to capture semantic information. For example, an original text: "Login failed, account frozen!", after cleaning, becomes "Login failed, account frozen," with word segmentation results of [login, failed, account, frozen], and word vector representation: [[0.1, 0.3,...], [0.2, 0.1, ...], ...] In some embodiments, a topic tag set is constructed, such as login issues, recharge issues, gameplay issues, equipment attributes, and optimization suggestions. Models such as TextCNN, BiLSTM, and BERT are used. The word vector sequence is input into the model, and the topic tag and confidence score are output. For example, in one embodiment, the input "Login failed, account frozen" is output by the model as: {Topic: "Login issue", Confidence score: 0.95} In some embodiments, user relationships, such as "master," "apprentice," and "guild member," are extracted from chat content. For example, by asking "Master, how do I pass this task?", user A is identified as user B's master. Furthermore, the number of conversations and joint activities between users are calculated, and behavioral tags are generated by combining topic classification and sentiment analysis. For example, user A: {behavioral tag: "frequently complaining about equipment attributes", sentiment tendency: "negative"}. Then, algorithms such as K-Means and DBSCAN are used to classify users into different behavioral patterns, such as "active players" and "churn warning users."

[0061] In this embodiment, by analyzing the chat data of each batch queue, the hot issues reported by players can be quickly identified, thereby adjusting the game strategy. In the field of customer service, it can also automatically identify the corresponding problems, improve customer service response efficiency, identify users with churn warnings to a certain extent, and then prompt subscribers to push targeted benefits or activities. At the same time, it can also detect violations such as cheating, hacking, and insults, which helps to optimize the game's social experience more accurately.

[0062] Please see Figure 2 As shown, the present invention also provides a game chat data analysis system based on batch processing, the system comprising: First processing module 201: used to acquire chat data from the game system in real time and preprocess the chat data; The second processing module 202 is used to construct a data storage tree, store the chat data in the data storage tree, and classify the chat data. The third processing module 203 is used to batch process data of the same category, generate a batch queue, and monitor the batch conditions. The fourth processing module 204 is used to perform data analysis on the data in the batch queue when the batching condition is triggered.

[0063] It is understandable that, such as Figure 1 The content shown in the embodiments of the game chat data analysis method based on batch processing is applicable to the embodiments of the game chat data analysis system based on batch processing. The specific functions implemented in the embodiments of the game chat data analysis system based on batch processing are the same as those shown in the embodiments of the game chat data analysis system based on batch processing. Figure 1 The illustrated method for analyzing game chat data based on batch processing is the same as the one shown, and achieves the same beneficial effects. Figure 1 The beneficial effects achieved by the illustrated embodiment of the game chat data analysis method based on batch processing are also the same.

[0064] It should be noted that the information interaction and execution process between the above systems are based on the same concept as the method embodiments of the present invention. For details on their specific functions and technical effects, please refer to the method embodiments section, which will not be repeated here.

[0065] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the system can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0066] Please see Figure 3 As shown, this embodiment of the invention also provides a computer device 3, including: a memory 302 and a processor 301, and a computer program 303 stored on the memory 302. When the computer program 303 is executed on the processor 301, it implements the game chat data analysis method based on batch processing as described in any of the above methods.

[0067] The computer device 3 may be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device 3 may include, but is not limited to, a processor 301 and a memory 302. Those skilled in the art will understand that... Figure 3 The computer device 3 is merely an example and does not constitute a limitation on the computer device 3. It may include more or fewer components than shown in the figure, or combine certain components, or different components, such as input / output devices, network access devices, etc.

[0068] The processor 301 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0069] In some embodiments, the memory 302 may be an internal storage unit of the computer device 3, such as a hard disk or memory of the computer device 3. In other embodiments, the memory 302 may be an external storage device of the computer device 3, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the computer device 3. Furthermore, the memory 302 may include both internal and external storage units of the computer device 3. The memory 302 is used to store the operating system, applications, bootloader, data, and other programs, such as the program code of the computer program. The memory 302 can also be used to temporarily store data that has been output or will be output.

[0070] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the game chat data analysis method based on batch processing as described in any of the above methods.

[0071] In this embodiment, if the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a photographic device / computer device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0072] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for analyzing game chat data based on batch processing, characterized in that, include: Real-time acquisition of chat data from the game system, and preprocessing of the chat data; Construct a data storage tree, store the chat data in the data storage tree, and classify the chat data; Data of the same category is batch-processed to generate a batch queue, and batch conditions are monitored. When the batching condition is triggered, data analysis is performed on the data in the batching queue.

2. The method as described in claim 1, characterized in that, The chat data specifically refers to the real-time chat data of various chat platforms connected to the game system, including the game's built-in chat platform, customer service conversation platform, and group chat platform.

3. The method as described in claim 1, characterized in that, The data storage tree is configured with a root node and a grouping dimension table; The step of storing the chat data in the data storage tree and classifying the chat data includes: Based on preset dimension configuration rules, the chat data is classified into multiple dimensions, and the classification results are synchronized to the group dimension table. In the root node, the chat data is matched with child nodes layer by layer according to the dimensional order of the multi-level dimensional classification until the leaf node is reached.

4. The method as described in claim 3, characterized in that, In the root node, the chat data is matched layer by layer with child nodes according to the dimensional order of the multi-level dimensional classification until a leaf node is reached, including: By using a preset data filter, it is determined whether the chat data belongs to any leaf node in the data storage tree; If the data belongs to any of the leaf nodes, the chat data will be matched to the corresponding leaf node. If it does not belong to any of the leaf nodes, then based on the multi-level dimensional classification of the chat data, the corresponding child nodes are matched sequentially until the leaf node is formed, thus forming the node path of the leaf node.

5. The method as described in claim 4, characterized in that, The step of determining whether the chat data belongs to any leaf node in the data storage tree by using a preset data filter includes: Based on multi-level dimensional classification, the dimensions of each group are concatenated to generate dimensional path keys, and combined with leaf nodes to generate a group path table. The chat data is concatenated according to the grouping dimension to generate a path key to be verified; Based on the Bloom filter, the path key to be verified is matched with the dimension path keys in the grouped path table to determine whether the path key to be verified exists in the grouped path table. If the path key to be verified exists in the group path table, then the chat data is mapped to the leaf node of the corresponding group path key; If the path key to be verified does not exist in the grouped path table, then the multi-level dimension classification is traversed sequentially until the leaf node is reached, and the grouping dimension corresponding to the leaf node is updated to the grouped path table.

6. The method as described in claim 4, characterized in that, The step of storing the chat data in the data storage tree further includes: Each leaf node is stored in a doubly linked list. When any of the leaf nodes has a new message, the corresponding leaf node is promoted to the head of the doubly linked list and marked as a hotspot. If the number of leaf nodes exceeds the maximum capacity of the doubly linked list, then inactive leaf nodes in the doubly linked list are eliminated based on a preset elimination rule.

7. The method as described in claim 1, characterized in that, The step of batch processing data of the same category to generate a batch queue includes: In each category, an independent monitoring module is configured to track queue depth and message waiting time in real time, which is used to dynamically adjust batching conditions. Based on preset priority rules, message data in each category is prioritized and sorted by priority. Based on the priority sorting, the message data is further classified by priority to generate a priority queue. Based on the queue attributes of the priority queues, corresponding batching conditions are generated, and data batching processing is performed on each priority queue.

8. A game chat data analysis system based on batch processing, characterized in that, include: First processing module: used to acquire chat data from the game system in real time and preprocess the chat data; The second processing module is used to construct a data storage tree, store the chat data in the data storage tree, and classify the chat data. The third processing module is used to batch process data of the same category, generate a batch queue, and monitor the batching conditions. The fourth processing module is used to perform data analysis on the data in the batch queue when the batching condition is triggered.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 7.