METHOD, DEVICE, AND COMPUTER PROGRAM PRODUCT FOR PROCESSING DATA

A method includes: determining a first sample subset in an initial sample set by an initial model based on the initial sample set, wherein the initial sample set comprises a plurality of question-answer pairs, each of the plurality of question-answer pairs comprising a question and an answer; generating a first model by training the initial model with the first sample subset; determining a second sample subset in the first sample subset by the first model based on the first sample subset; generating a second model by training the first model with the second sample subset; determining, in response to at least one of the second sample subset and the second model satisfying a corresponding predetermined condition, a third sample subset of the initial sample set by the second model based on the initial sample set; and generating a third model by training the second model with the third sample subset.

RELATED APPLICATION

The present application claims priority to Chinese Patent Application No. 202310239990.3, filed Mar. 10, 2023, and entitled “Method, Device, and Computer Program Product for Processing Data,” which is incorporated by reference herein in its entirety.

FIELD

Embodiments of the present disclosure relate generally to the field of computers, and more specifically to a method, a device, and a computer program product for processing data.

BACKGROUND

Chatbot is a type of computer software that can conduct conversations verbally or via text. Chatbots are built in a manner that allows them to be integrated with messengers and to utilize artificial intelligence (AI) technologies.

Chatbots provide enterprises with new prospects for communication. Providing chatbot-based services to customers enables, for example, responding to inquiries and fulfilling orders without time constraints, which will save costs for enterprises.

SUMMARY

Embodiments of the present disclosure provide a solution for processing data.

In a first aspect of the present disclosure, a method for processing data is provided, the method including: determining a first sample subset in an initial sample set by an initial model based on the initial sample set, wherein the initial sample set comprises a plurality of question-answer pairs, each of the plurality of question-answer pairs comprising a question and an answer; generating a first model by training the initial model with the first sample subset; determining a second sample subset in the first sample subset by the first model based on the first sample subset; generating a second model by training the first model with the second sample subset; determining, in response to at least one of the second sample subset and the second model satisfying a corresponding predetermined condition, a third sample subset of the initial sample set by the second model based on the initial sample set; and generating a third model by training the second model with the third sample subset.

In another aspect of the present disclosure, an electronic device for processing data is provided. The electronic device includes a processor and a memory coupled to the processor and having instructions stored thereon, wherein these instructions, when executed by the processor, cause the electronic device to perform the following actions: determining a first sample subset in an initial sample set by an initial model based on the initial sample set, wherein the initial sample set comprises a plurality of question-answer pairs, each of the plurality of question-answer pairs comprising a question and an answer; generating a first model by training the initial model with the first sample subset; determining a second sample subset in the first sample subset by the first model based on the first sample subset; generating a second model by training the first model with the second sample subset; determining, in response to at least one of the second sample subset and the second model satisfying a corresponding predetermined condition, a third sample subset of the initial sample set by the second model based on the initial sample set; and generating a third model by training the second model with the third sample subset.

In a further aspect of the present disclosure, a computer program product is provided. The computer program product is tangibly stored on a non-transitory computer-readable storage medium and includes machine-executable instructions, wherein the machine-executable instructions, when executed by a machine, cause the machine to perform a method or process according to embodiments of the present disclosure.

It should be noted that this Summary is provided to introduce in a simplified form a set of concepts that will be further described below in specific embodiments. The Summary is neither intended to identify key features or major features of content of the present disclosure, nor intended to limit the scope of the content of the present disclosure.

Throughout all the drawings, the same or similar reference numerals generally represent the same or similar elements.

DETAILED DESCRIPTION

Illustrative embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are illustrated in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the accompanying drawings and embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the protection scope of the present disclosure.

In the description of embodiments of the present disclosure, the term “including” and its variations should be understood as open-ended inclusion, i.e., “including but not limited to.” The term “based on” should be understood as “based at least in part on.” The term “an embodiment” or “the embodiment” should be understood as “at least one embodiment.” The terms “first,” “second,” and the like may refer to different or identical objects, unless otherwise specifically indicated.

As described above, chatbot is a type of computer software that conducts conversations verbally or via text using artificial intelligence (AI) technologies. By using chatbots, support personnel can be freed from questions such as “How do I buy this product?” Support personnel can also answer the phone promptly if a question is too complex for a chatbot.

However, there is not yet a chatbot that can conduct conversations perfectly. In practical applications, there is often a mismatch between users' questions and chatbots' answers, resulting in a decline in public expectations of chatbots. One of the reasons for the degradation of chatbots is that the conversation data used to train chatbot models is always “dirty,” and uncleaned conversation data degrades the training of chatbot models, making them less accurate.

Some conventional conversation data cleaning methods are specific to particular domains or tasks and cannot be generalized. Some other conventional conversation data cleaning methods rely heavily on manual work and cannot be automated, resulting in increased labor costs and poor accuracy.

To address at least some of the above and other potential problems, embodiments of the present disclosure provide a solution for processing data. The solution includes: determining a first sample subset in an initial sample set by an initial model based on the initial sample set, wherein the initial sample set comprises a plurality of question-answer pairs, each of the plurality of question-answer pairs comprising a question and an answer; generating a first model by training the initial model with the first sample subset; determining a second sample subset in the first sample subset by the first model based on the first sample subset; generating a second model by training the first model with the second sample subset; determining, in response to at least one of the second sample subset and the second model satisfying a corresponding predetermined condition, a third sample subset of the initial sample set by the second model based on the initial sample set; and generating a third model by training the second model with the third sample subset. In this way, an automatic conversation data cleaning approach is provided, which is applicable to various different types of conversation data. In this manner, the sample quality can be improved, thereby improving the performance of a chatbot model.

Basic principles and some example implementations of the present disclosure are illustrated below with reference toFIG.1toFIG.6. It should be understood that these example embodiments are given only to enable those skilled in the art to better understand and thus implement embodiments of the present disclosure, and are not intended to limit the scope of the present disclosure in any way.

FIG.1illustrates a schematic diagram of an example environment100in which a method and/or a process according to embodiments of the present disclosure can be implemented. In this example environment100, an initial sample set can be input as input110into a data processing model120according to an embodiment of the present disclosure at a computing device. Conversation data cleaning according to embodiments of the present disclosure is achieved by performing corresponding calculations (e.g., the data processing process described below) at the computing device by the data processing model120. The cleaned conversation data is input into a chatbot model130for training the model.

For the input110, the initial sample set includes a plurality of question-answer pairs as samples, each of the plurality of question-answer pairs including a question (which may be abbreviated as Q below) and an answer (which may be abbreviated as A below). According to embodiments of the present disclosure, the initial sample set may also include a predetermined number of negative samples randomly generated. The samples included in the initial sample set may be pre-processed, and the pre-processing process will be described in detail below. It should be understood that the questions in these question-answer pairs may each correspond to a plurality of answers (for example, Q1-A1and Q1-A2), and the answers in these questions may each correspond to a plurality of questions (for example, Q1-A1and Q2-A1), as illustrated inFIG.1. Here, conversation data (e.g., a plurality of question-answer pairs) is used as an example to describe the data cleaning process according to embodiments of the present disclosure. It should be understood, however, that the present disclosure is not limited to conversation data, and that the method for processing data according to embodiments of the present disclosure is also capable of achieving cleaning of other different types of data.

At the computing device, the data processing model120according to embodiments of the present disclosure receives the input110and performs the method for processing data according to embodiments of the present disclosure to clean the input110. According to embodiments of the present disclosure, the data processing model120according to embodiments of the present disclosure may include a model based on bidirectional encoder representations from transformers (BERT). It should be understood that the present disclosure is not limited to BERT-based models and may also include other different models. The computing device may be any device with computing power. Examples of the computing device may include a smart phone, a tablet computer, a personal computer, a laptop computer, a server computer, a multiprocessor system, a wearable electronic device, a multimedia player, a personal digital assistant (PDA), a smart home device, a consumer electronic product, and the like. Examples of the computing device may also include a distributed computing environment that includes any of the above systems or devices, and the like.

Conversation data cleaned by the data processing model120according to embodiments of the present disclosure is input to the chatbot model130for use in training this model. According to embodiments of the present disclosure, the chatbot model130may include a long short-term memory (LSTM) based model. It should be understood that the present disclosure is not limited to LSTM-based models and may also include other different models. It should also be understood that the chatbot model130as well as the data processing model120according to embodiments of the present disclosure may be deployed at the same computing device or may also be deployed at different computing devices in a distributed manner.

The schematic diagram of the example environment100in which the method and/or process according to embodiments of the present disclosure can be implemented is described above in conjunction withFIG.1. A flow chart of a method200for processing data according to embodiments of the present disclosure will be described below with reference toFIG.2. As described above for the computing device, the method200for processing data according to embodiments of the present disclosure may be executed at an edge device with computing power or at a cloud server, and the present disclosure is not limited in this regard.

FIG.2illustrates a flow chart of the method200for processing data according to embodiments of the present disclosure. The application of chatbots provides convenience for, for example, both enterprises and customers. For enterprises, chatbots can free employees from heavy customer inquiries, and enterprises can focus more on design and manufacturing of products. For customers, they can, for example, make inquiries or place orders through chatbots whenever they want to.

To ensure the accuracy of a chatbot model, samples used to train the chatbot model are cleaned. To this end, the method200for processing data according to embodiments of the present disclosure is provided.

At210, a first sample subset in an initial sample set is determined by an initial model based on the initial sample set, wherein the initial sample set comprises a plurality of question-answer pairs, each of the plurality of question-answer pairs comprising a question and an answer. According to embodiments of the present disclosure, the remaining samples in the initial sample set can be obtained as the first sample subset by removing samples having a match probability lower than a first match probability threshold in the initial sample set. The first sample subset has a higher reliability than the original sample set.

Optionally, according to embodiments of the present disclosure, the first sample subset can be obtained by removing samples having a match probability lower than the first match probability threshold and higher than a first lower-limit match probability threshold in the initial sample set, the first lower-limit match probability threshold being less than the first match probability threshold. In this way, it is possible to prevent too many samples from being removed in one cleaning process.

At220, a first model is generated by training the initial model with the first sample subset. After obtaining the first sample subset in the initial sample set determined at210, according to embodiments of the present disclosure, the first model can be generated by training the initial model with the determined first sample subset. A predetermined number of negative samples randomly generated may also be utilized in the process of generating the first model. In other words, after the initial model is trained using the first sample subset, its parameter set may be adjusted to generate an updated first model. In this way, the accuracy of the generated first model is better than the accuracy of the initial model.

At230, a second sample subset in the first sample subset is determined by the first model based on the first sample subset. According to embodiments of the present disclosure, a second sample subset in the first sample subset may be determined by the first model generated at220based on the first sample subset determined at210, wherein the process of determining the second sample subset may be similar to the process of determining the first sample subset described above, i.e., by removing samples having a match probability lower than a second match probability threshold in the first sample subset and obtaining the remaining samples in the first sample subset as the second sample subset. However, it should be noted that the second match probability threshold is greater than the first match probability threshold. In other words, the condition for determining the second sample subset is more stringent than the condition for determining the first sample subset. Similarly, the second sample subset has a higher reliability than the first sample subset.

At240, a second model is generated by training the first model with the second sample subset. After obtaining the second sample subset in the first sample subset determined at230, according to embodiments of the present disclosure, the second model can be generated by training the first model generated at220with the determined second sample subset. A predetermined number of negative samples randomly generated may also be utilized in the process of generating the second model. In other words, after the first model is trained using the second sample subset, its parameter set may be adjusted to generate an updated second model. Similarly, the accuracy of the generated second model is better than the accuracy of the first model.

At250, in response to at least one of the second sample subset and the second model satisfying a corresponding predetermined condition, a third sample subset of the initial sample set is determined by the second model based on the initial sample set. According to embodiments of the present disclosure, when the second sample subset determined at230satisfies its predetermined condition, or the second model generated at240satisfies its predetermined condition, or both the second sample subset and the second model satisfy the corresponding predetermined conditions, a third sample subset of the initial sample set is determined by the second model based on the initial sample set, wherein the process of determining the third sample subset may be similar to the process of determining the first sample subset described above, but the third match probability threshold is greater than the second match probability threshold.

According to embodiments of the present disclosure, at least one of the second sample subset and the second model satisfying a corresponding predetermined condition may include: the number of samples removed to obtain the second sample subset being less than a second number threshold, and the accuracy of the second model reaching a second accuracy threshold.

At260, a third model is generated by training the second model with the third sample subset. After obtaining the third sample subset of the initial sample set determined at250, according to embodiments of the present disclosure, the third model can be generated by training the second model generated at240using the determined third sample subset. A predetermined number of negative samples randomly generated may also be utilized in the process of generating the third model. In other words, after the second model is trained using the third sample subset, its parameter set may be adjusted to generate an updated third model. Similarly, the accuracy of the generated third model is better than the accuracy of the second model. By performing data cleaning by the method200for processing data according to embodiments of the present disclosure, unreliable samples can be iteratively removed, thereby improving the quality of the sample set.

FIG.3is a schematic diagram illustrating a framework300of a data processing model120according to embodiments of the present disclosure. As illustrated inFIG.3, the data processing model120according to embodiments of the present disclosure may include a pre-processing module310, a cleaning module320, and a traversal module330.

According to embodiments of the present disclosure, the samples included in the initial sample set may be pre-processed. The pre-processing performed by the pre-processing module310may include: obtaining tokens for original data (e.g., the collected conversation data) by tokenizing the original data. Taking conversation data as an example, the tokens may be words, sentences, or paragraphs.

The pre-processing performed by the pre-processing module310also includes: standardizing the obtained tokens to obtain the standardized tokens. In some example embodiments, standardization may include normalizing the case (for languages such as English) and removing punctuation so that the machine identifies identical words. In some example embodiments, standardization may include stem extraction, that is, determining the basic form of a word for its different forms (such as, in the case of a language such as English, singular-plural, different forms of verbs, etc.). In some example embodiments, standardization may include converting non-literal tokens, such as converting “6” to “six.” In some example embodiments, standardization may also include filtering stop words such as articles, prepositions, adverbs, or conjunctions.

The pre-processing performed by the pre-processing module310also includes: obtaining the initial sample set by adjusting the standardized tokens. In response to finding an error (e.g., wrongly written or mispronounced character/word or abbreviation, etc.) in the standardized tokens, the pre-processing module310may make adjustments to these standardized tokens, such as removing the errors found.

As described above, training a model using unreliable data will result in model degradation, such as causing a chatbot to fail to give accurate answers to users' questions. To this end, data cleaning according to embodiments of the present disclosure is provided, where the least reliable data is removed with the trained model, then a new model is trained with the remaining data, then the least reliable data is removed from the remaining data with the new model, and so on until the model achieves high accuracy on the training set. However, there may be a small amount of data left after screening. To recall some data that was incorrectly filtered out by the earlier models, we apply the latest model to the initial full amount of data, and removing the least reliable data in this way will leave more data for the next iteration.

According to embodiments of the present disclosure, the cleaning module320may perform data cleaning according to embodiments of the present disclosure on the initial sample set obtained from the pre-processing module310. In addition to the description above with reference toFIG.2, the method for processing data according to embodiments of the present disclosure that is performed by the cleaning module320may further include: determining, in response to an Nth sample subset and an Nth model not satisfying a corresponding predetermined condition, an (N+1)th sample subset in the Nth sample subset by the Nth model based on the Nth sample subset, N being a positive integer greater than or equal to 2; and generating an (N+1)th model by training the Nth model with the (N+1)th sample subset. According to embodiments of the present disclosure, determining the (N+1)th sample subset in the Nth sample subset may include: obtaining the remaining samples in the Nth sample subset as the (N+1)th sample subset by removing samples having a match probability lower than an Nth match probability threshold in the Nth sample subset, the Nth match probability threshold being greater than an (N−1)th match probability threshold.

Optionally, according to embodiments of the present disclosure, the (N+1)th sample subset may be obtained by removing samples having a match probability lower than the Nth match probability threshold and higher than the Nth lower-limit match probability threshold in the Nth sample subset, the Nth lower-limit match probability threshold being less than the Nth match probability threshold. In this way, it is possible to prevent too many samples from being removed in one cleaning process.

The method for processing data according to embodiments of the present disclosure performed by the cleaning module320may further include: determining, in response to at least one of the (N+1)th sample subset and the (N+1)th model satisfying a corresponding predetermined condition, an (N+2)th sample subset of the initial sample set by the (N+1)th model based on the initial sample set; and generating an (N+2)th model by training the (N+1)th model with the (N+2)th sample subset.

According to embodiments of the present disclosure, at least one of the (N+1)th sample subset and the (N+1)th model satisfying the corresponding predetermined condition may include: the number of samples removed to obtain the (N+1)th sample subset being less than an (N+1)th number threshold, and the accuracy of the (N+1)th model reaching an (N+1)th accuracy threshold.

In addition, the method for processing data according to embodiments of the present disclosure performed by the cleaning module320may further include: determining, in response to an Mth sample subset being determined, the Mth sample subset as a result sample set, M being a predetermined iteration number threshold, and M being a positive integer greater than or equal to 1; and inputting the result sample set as input data to a long short-term memory-based chatbot model. The method for processing data according to embodiments of the present disclosure will be further described below with reference toFIG.4.

According to embodiments of the present disclosure, the result sample set from the cleaning module320may be traversed in the traversal module330to determine whether a degraded sample exists in the result sample set, and the result sample set is updated in response to determining that the degraded sample exists in the result sample set. According to embodiments of the present disclosure, updating the result sample set may include removing the determined degraded sample from the result sample set. In an example embodiment, the degraded sample may include a sample that is obviously erroneous.

FIG.4is a schematic diagram illustrating an example process400for data cleaning according to embodiments of the present disclosure. As illustrated inFIG.4, a first sample subset410in an initial sample set401is determined by an initial model402based on the initial sample set401. According to embodiments of the present disclosure, determining the first sample subset410may include: obtaining the remaining samples in the initial sample set401as the first sample subset410by removing samples410′ having a match probability lower than a first match probability threshold in the initial sample set401. In the example, the first match probability threshold may be 0.5. Since the first sample subset410is determined by removing samples with low reliability (e.g., samples410′ with low match probability) in the initial sample set401, the quality of the first sample subset410is higher than the quality of the initial sample set401, which is because the reliability of the first sample subset410is higher.

A first model411is generated by training the initial model402with the first sample subset410. Since the first sample subset410is determined by removing unreliable samples (e.g., samples410′ with low match probability) from the initial sample set401, the first model411generated by training the initial model402with the first sample subset410has improved accuracy compared to the initial model402.

The first model411determines a second sample subset420based on the first sample subset410. According to embodiments of the present disclosure, determining the second sample subset420may include: obtaining the remaining samples in the first sample subset410as the second sample subset420by removing samples420′ having a match probability lower than a second match probability threshold in the first sample subset410. In the example, the second match probability threshold may be 0.6, which is higher than the first match probability threshold in the above example. Since the second sample subset420is determined by removing samples420′ with low match probability on the basis of the first sample subset410, and the condition for determining the second sample subset420is more stringent than the condition for determining the first sample subset410(that is, the second match probability threshold is greater than the first match probability threshold), the quality of the second sample subset420is higher than the quality of the first sample subset410.

The second model421is generated by training the first model411with the second sample subset420. According to embodiments of the present disclosure, by using the more preferred second sample subset420to train the first model411, for example, by adjusting the parameters thereof, the second model421with higher accuracy can be generated.

In response to the second sample subset420satisfying a predetermined condition therefor (e.g., the number of samples420′ removed to obtain the second sample subset420is less than a second number threshold), or in response to the second model421satisfying a predetermined condition therefor (e.g., the accuracy of the second model421reaches a second accuracy threshold), or in response to both conditions being satisfied, the second model421determines a third sample subset430of the initial sample set401based on the initial sample set401. According to embodiments of the present disclosure, determining the third sample subset430may include: obtaining the remaining samples in the initial sample set401as the third sample subset430by removing samples430′ having a match probability lower than a third match probability threshold in the initial sample set401. In the example, the third match probability threshold may be 0.7, which is higher than the first match probability threshold and the second match probability threshold in the above example. That is, as the iteration number increases, the condition for obtaining the sample subset becomes increasingly stringent.

The third model431is generated by training the second model421with the third sample subset430. According to embodiments of the present disclosure, by using the more preferred third sample subset430to train the second model421, for example, by adjusting the parameters thereof, the third model431with higher accuracy can be generated.

After several iterations, the quality of the determined sample subset gets higher and higher, and the accuracy of the generated model also gets higher and higher. In response to the Nth sample subset440and the Nth model441not satisfying the corresponding predetermined conditions, the Nth model441determines an (N+1)th sample subset450of the Nth sample subset440based on the Nth sample subset440, with N being a positive integer greater than or equal to 2. According to embodiments of the present disclosure, determining the (N+1)th sample subset450in the Nth sample subset440may include: obtaining the remaining samples in the Nth sample subset440as the (N+1)th sample subset450by removing samples440′ having a match probability lower than an Nth match probability threshold in the Nth sample subset440, the Nth match probability threshold being greater than an (N−1)th match probability threshold.

An (N+1)th model451is generated by training the Nth model441with the (N+1)th sample subset450. According to embodiments of the present disclosure, determining the (N+1)th sample subset in the Nth sample subset may include: obtaining the remaining samples in the Nth sample subset as the (N+1)th sample subset by removing samples having a match probability lower than an Nth match probability threshold in the Nth sample subset, the Nth match probability threshold being greater than an (N−1)th match probability threshold.

In response to at least one of the (N+1)th sample subset450and the (N+1)th model451satisfying a corresponding predetermined condition, the (N+1)th model451determines an (N+2)th sample subset460of the initial sample set401based on the initial sample set401. According to embodiments of the present disclosure, at least one of the (N+1)th model451and the (N+1)th sample subset450satisfying the corresponding predetermined condition includes: the number of samples450′ removed to obtain the (N+1)th sample subset450being less than an (N+1)th number threshold, and the accuracy of the (N+1)th model451reaching an (N+1)th accuracy threshold.

An (N+2)th model461is generated by training the (N+1)th model451with the (N+2)th sample subset460. According to embodiments of the present disclosure, by using the more preferred (N+2)th sample subset460to train the (N+1)th model451, for example, by adjusting the parameters thereof, the (N+2)th model461with higher accuracy can be generated. Further iterations can be performed, for example, to remove unreliable samples460′ from the (N+2)th sample subset460to obtain the remaining samples in the (N+2)th sample subset460as the (N+3)th sample subset, and so on.

In response to an Mth sample subset470being determined, illustratively by removing samples470′, the Mth sample subset470is determined as a result sample set, with M being a predetermined iteration number threshold, and M being a positive integer greater than or equal to 1. The determined result sample set is input as input data into a chatbot model (e.g., the chatbot model130shown inFIG.1) and/or an Mth model471. It should be noted that the number of iterations performed and the number of models generated as shown inFIG.4are only examples, more or fewer iterations may be performed, and more or fewer models may be generated. The process of determining the result sample set is further described below with reference toFIG.5.

FIG.5illustrates an example process500for determining a result sample set. As described inFIG.5, at510, an iteration number threshold M is set, wherein M may be a positive integer greater than or equal to 1. At520, it is determined whether the number of iterations for data cleaning reaches the set iteration number threshold M, i.e., whether an Mth sample subset is determined. If yes at520, the process proceeds to530to stop iterations, and outputs the determined Mth sample subset as the result sample set, which is output to the chatbot model for training. If no at520, the process proceeds to540to continue iterations until the Mth sample subset is determined.

According to embodiments of the present disclosure, a solution for data cleaning is implemented, which overcomes the problem of conventional methods that determination is difficult to generalize and requires a lot of manual work. By the method for processing data according to embodiments of the present disclosure, many different types of data can be cleaned, and the process of data cleaning is efficient and automated. The framework for data cleaning of embodiments of the present disclosure also reduces the computational requirements. In this way, the sample quality is improved, thereby improving the performance of the chatbot model.

FIG.6illustrates a block diagram of an example device600that may be used to implement some embodiments of the present disclosure. As shown inFIG.6, the device600includes a central processing unit (CPU)601that may perform various appropriate actions and processing according to computer program instructions stored in a read-only memory (ROM)602or computer program instructions loaded from a storage unit608to a random access memory (RAM)603. Various programs and data required for the operation of the device600may also be stored in the RAM603. The CPU601, the ROM602, and the RAM603are connected to each other through a bus604. An input/output (I/O) interface605is also connected to the bus604.

A plurality of components in the device600are connected to the I/O interface605, including: an input unit606, such as a keyboard and a mouse; an output unit607, such as various types of displays and speakers; a storage unit608, such as a magnetic disk and an optical disc; and a communication unit609, such as a network card, a modem, and a wireless communication transceiver. The communication unit609allows the device600to exchange information/data with other devices via a computer network such as the Internet and/or various telecommunication networks.

The various processes and processing described above, such as the method200, may be performed by the CPU601. For example, in some embodiments, the method200may be implemented as a computer software program that is tangibly included in a machine-readable medium such as the storage unit608. In some embodiments, part of or all the computer program may be loaded and/or installed onto the device600via the ROM602and/or the communication unit609. One or more actions of the method200described above may be performed when the computer program is loaded into the RAM603and executed by the CPU601.

Illustrative embodiments of the present disclosure include a method, an apparatus, a system, and/or a computer program product. The computer program product may include a computer-readable storage medium on which computer-readable program instructions for performing various aspects of the present disclosure are loaded.

Various embodiments of the present disclosure have been described above. The above description is illustrative, rather than exhaustive, and is not limited to the disclosed various embodiments. Numerous modifications and alterations will be apparent to persons of ordinary skill in the art without departing from the scope and spirit of the illustrated embodiments. The selection of terms used herein is intended to best explain the principles and practical applications of the various embodiments and their associated technical improvements, so as to enable persons of ordinary skill in the art to understand the embodiments disclosed herein.