A data processing method and apparatus

The robot can obtain voice feedback through dialogue with users, update the dynamic tag set and determine the posterior probability in combination with the static tag set, which solves the problem that the machine cannot adjust the model during the interaction process, and achieves more accurate product recommendations and services.

CN114912006BActive Publication Date: 2025-08-01CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110176344.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-09
Publication Date
2025-08-01
Estimated Expiration
2041-02-09

AI Technical Summary

Technical Problem

In the prior art, the machine cannot adjust the model according to the user's needs during interaction with the user, resulting in a low degree of matching with the user's needs.

Method used

Get voice feedback through the robot conversation with the user, update the user's dynamic tag set, and determine the posterior probability based on the static tag set, and recommend the target product.

Benefits of technology

It realizes more accurate recommendation of products based on user interaction, reduces dependence on manual annotation, and optimizes the model to provide more accurate services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114912006B_ABST
    Figure CN114912006B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides a data processing method and apparatus. The method includes: determining a first product from multiple products to be recommended based on a prior probability, obtaining the user's voice feedback according to the conversation between the robot based on the first product and the user; updating the user's dynamic tag set based on the voice feedback; determining a posterior probability based on the user's static tag set and the updated dynamic tag set, where the posterior probability is used to indicate the probability of the user's willingness to experience each product, and the static tag set is used to indicate one or more pieces of information among the user's gender, age, occupation, hobbies, language, province, and city; in the case where there is one or more probability values greater than or equal to a preset threshold in the posterior probability, determining a target product to be recommended to the user based on the one or more probability values. Therefore, the user's dynamic tags can be updated according to the interaction with the user, and the user can be served more accurately.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and more specifically, to a data processing method and apparatus. Background Art

[0002] With the development of artificial intelligence technology, there are more and more interactions between humans and machines. During the interaction process, it is a time-consuming process for users to select the information suitable for themselves according to the information provided by the machine. Therefore, how the machine can more accurately recommend the information that the user wants to different users is a problem that needs to be solved currently.

[0003] Currently, machines usually use deep learning methods to learn a model from a large amount of manually labeled data, and implement interactions with users based on the model. However, during the interaction with users, they cannot make corresponding adjustments according to the interactions with different users. Therefore, the matching degree with user needs is not high. Summary of the Invention

[0004] Embodiments of this application provide a data processing method and apparatus, in order to serve users more accurately according to user needs.

[0005] In a first aspect, this application provides a data processing method, and the method includes: having a conversation with a user through a robot based on a first product to obtain the user's voice feedback, where the first product is determined from multiple products to be recommended based on a prior probability; updating the user's dynamic tag set based on the voice feedback, where the dynamic tag set is used to indicate the user's dynamic preferences and / or dynamic needs; determining a posterior probability based on the user's static tag set and the updated dynamic tag set, where the posterior probability includes multiple probability values corresponding to the multiple products, and the probability value corresponding to each product is used to indicate the user's experience willingness, and the static tag set is used to indicate one or more pieces of information among the user's gender, age, occupation, hobby, language, province, and city; in the case that there is one or more probability values greater than or equal to a preset threshold in the posterior probability, determining a target product to be recommended to the user based on the one or more probability values.

[0006] Based on the above solution, obtain the prior probability that users with different static attributes are interested in different products to be recommended according to prior information, recommend products to users based on this prior probability, obtain the user's voice feedback during the interaction between the user and the robot, update the user's dynamic tag set according to the voice feedback, and recommend a target product to the user based on the updated user's dynamic tag set and static tag set. Therefore, it is possible to serve users more accurately according to the interaction with users.

[0007] Optionally, determining a target product recommended to the user based on the one or more probability values includes: determining one or more products with probability values greater than a preset threshold among the multiple probability values; and if there is one product with a probability value greater than the preset threshold, determining the product as the target product; or if there are multiple products with probability values greater than the preset threshold, determining the product with the maximum probability value as the target product.

[0008] Optionally, the method further includes: determining the prior probability based on the static tag set and prior information.

[0009] Optionally, determining the posterior probability based on the user's dynamic tag set and static tag set includes: inputting the user's dynamic tag set and static tag set into a maximum likelihood function to generate the posterior probability; where the maximum likelihood function is obtained by training a neural network.

[0010] Optionally, updating the user's dynamic tag set based on the voice feedback includes: converting the voice feedback into text information; inputting the text information into a classifier to obtain a classification result, where the classification result includes positive, neutral, or negative; and updating the user's dynamic tag set based on the classification result.

[0011] Optionally, the method further includes: in a case where there is no probability value greater than or equal to the preset threshold among the multiple probability values in the posterior probability, determining a second product based on the posterior probability, where the second product is the product with the maximum probability value among the multiple probability values included in the posterior probability; having the robot converse with the user based on the second product to obtain the user's voice feedback; and updating the dynamic tag set based on the voice feedback to obtain an updated dynamic tag set, where the updated dynamic tag set updates the posterior probability.

[0012] Optionally, the values in the static tag set are manually annotated values.

[0013] In a second aspect, a data processing device is provided, including units for implementing the data processing method described in the first aspect and any one of the first aspect.

[0014] In a third aspect, a data processing device is provided, including a processor for executing the data processing method described in the first aspect and any one of the first aspect.

[0015] The device may further include a memory for storing instructions and data. The memory is coupled to the processor, and when the processor executes the instructions stored in the memory, the method described in the first aspect above can be implemented. The device may further include a communication interface for communicating the device with other devices. Exemplarily, the communication interface may be a transceiver, a circuit, a bus, a module, or other types of communication interfaces.

[0016] In a fourth aspect, a computer-readable storage medium is provided, including instructions that, when run on a computer, cause the computer to implement the method described in the first aspect and any one of the first aspect.

[0017] In a fifth aspect, a computer program product is provided, the computer program product including: a computer program (which may also be referred to as code, or instructions), and when the computer program is run, causing the computer to execute the method described in the first aspect and any one of the first aspect.

[0018] It should be understood that the second to fifth aspects of the present application correspond to the technical solutions of the first aspect of the present application, and the beneficial effects obtained by each aspect and the corresponding feasible implementation manners are similar, and will not be elaborated herein. Description of the Drawings

[0019] Figure 1 is a schematic flowchart of a data processing method provided by an embodiment of the present application;

[0020] Figure 2 is another schematic flowchart of a data processing method provided by an embodiment of the present application;

[0021] Figure 3 is a schematic block diagram of a data processing device provided by an embodiment of the present application;

[0022] Figure 4 is another schematic block diagram of a data processing device provided by an embodiment of the present application. Detailed Embodiments

[0023] With the development of artificial intelligence technology, machines are becoming more and more intelligent, so there are more and more interactions between humans and machines. However, in the process of interaction between machines and humans, there are still some problems. For example, machines usually execute some processes according to pre-trained models, and in the process of interacting with humans, they do not obtain the needs of users based on the interaction information with users and adjust their models to serve users more accurately.

[0024] Based on the above problems, the present application provides a data processing method that can update the user's attribute tags and the parameters of the preset model in the machine according to the interaction information between the user and the machine, and recommend the information that the user wants more accurately.

[0025] The present application also provides a data processing device, which can be used to implement the data processing method proposed by the present application.

[0026] Next, the technical solutions in the present application will be described with reference to the accompanying drawings.

[0027] Figure 1 It is a schematic flowchart of a data processing method 100 provided by an embodiment of the present application. This method 100 can be executed, for example, by the above-mentioned data processing device. As Figure 1 shown, this method 100 may include step 110 to step 140. The following will elaborate on each step in method 100.

[0028] In step 110, the robot obtains the user's voice feedback through the conversation between the first product and the user.

[0029] Among them, the first product can be determined from multiple products to be recommended based on the prior probability. The prior probability can be determined according to one or more of the user's static tag set, prior information, and statistical data. Among them, the prior information is the information that people can obtain based on experience, and the prior probability can be used to represent the probability that the user is interested in each product to be recommended.

[0030] The static tag set is a number of attributes of the user selected manually. Among them, the number of attributes of the user, for example, can be one or more pieces of information such as the user's gender, age, occupation, hobbies, language, province, and city. Manual experience or statistical data specifically reflects the probability that users with different attributes are interested in different products to be recommended. In a possible design, the static tag set can be represented by a discrete integer set. For example, if a user's static attributes are (around 30 years old, male), the corresponding static tag set is (1, 0). It should be understood that the values of the above discrete integer set are only custom values, and in order to identify different attributes, they can also be other values, and the present application does not make any limitations in this regard.

[0031] The first product can be the product with the largest prior probability selected from multiple products to be recommended. Among them, each product to be recommended can be identified by an integer value. Multiple products to be recommended can be in one-to-one correspondence with multiple discrete integer values. In a possible design, the multiple products to be recommended can be represented by an array composed of multiple discrete integer values.

[0032] Based on the conversation between the first product and the user, the user's voice feedback can be obtained.

[0033] In step 120, based on the user's voice feedback, the user's dynamic tag set is updated.

[0034] Among them, the dynamic tag set can be used to indicate the dynamic preferences and / or dynamic needs of the user. In a possible design, the dynamic tag set can be represented by a discrete set of integers.

[0035] First, convert the user's voice feedback into text information.

[0036] Exemplarily, the robot can convert the user's voice feedback into text information through an automatic speech recognition (ASR) engine.

[0037] Then, input the text information into a classifier to obtain a classification result. Exemplarily, the classification result can include positive, neutral, or negative.

[0038] Specifically, the classifier can adopt a deep learning classifier, such as a single-layer bidirectional long short term memory (BLSTM), which is trained by a small amount of text information of voice feedback and the labels of the corresponding manually annotated user feedback behaviors. This classifier can obtain the enthusiasm of the user's response to the recommended product according to the input text information converted from voice feedback. The classification result can also be represented by discrete integers. For example, 1, 2, and 3 are used to represent positive, neutral, and negative respectively.

[0039] It should be understood that the classifier here can also be other deep learning models, such as long short term memory (LSTM), gate recurrent unit (GRU), or bidirectional gated recurrent unit (BGRU).

[0040] Finally, update the user's dynamic tag set based on the classification result.

[0041] It should be understood that according to the obtained classification result of positive, neutral, or negative, it can be concluded that the user likes / has a general attitude / takes a dislike to the recommended product. Furthermore, the dynamic attributes of the user corresponding to this product, that is, the dynamic preferences or needs, can be obtained, and then updated to the dynamic tag set to replace the corresponding initial dynamic tag.

[0042] Exemplarily, if a user's initial dynamic tag set indicates a dislike for traveling, but when a travel product is recommended to this user and the user gives a positive voice feedback, this dynamic attribute can be updated to the user's dynamic tag set, indicating that the user likes traveling. Further, for example, the user's initial dynamic attributes are liking calligraphy and disliking traveling, and the corresponding initial dynamic tag set is (1, 3). When a travel product is recommended to this user and the user gives a positive voice feedback, and this dynamic attribute is updated to the user's dynamic tag set, then the updated dynamic tag set of this user is (1, 1).

[0043] It should be understood that the above process of updating the user's dynamic tag set is only an example and should not impose any limitation on this application.

[0044] In step 130, based on the user's static tag set and the updated dynamic tag set, the posterior probability is determined.

[0045] It should be understood that the user's static tag set and the updated dynamic tag set are fixed-length discrete integer sequences, and the posterior probability includes multiple probability values corresponding to the multiple products, and the probability value corresponding to each product is used to indicate the user's willingness to experience.

[0046] Specifically, the updated dynamic tag set and the static tag set of the user are input into the maximum likelihood function to generate the posterior probability. Among them, this maximum likelihood function can be obtained by training a neural network. The samples used to train the neural network can be the static tag sets and dynamic tag sets of multiple users and the label values corresponding to the products they are most willing to experience. Through the maximum likelihood function, the willingness probabilities of different users to experience each product to be recommended can be obtained, that is, the posterior probability. Among them, the initial value of the dynamic tag set during the training of the neural network can be manually labeled or labeled according to historical data, and it will change with the interaction between humans and robots.

[0047] Exemplarily, the neural network can be a convolutional neural network (CNN). Further, this CNN can be composed of an input layer, a convolutional layer, a pooling layer, and a fully connected layer. Furthermore, the input of the input layer can be a group of fixed-length vectors composed of the static tag set and the dynamic tag set. The convolutional layer can adopt m convolutional kernels, where m is a positive integer, which can be the number of products to be recommended or other values, and this application does not make any limitation. Finally, the fully connected layer corresponds to m outputs, respectively representing the willingness probabilities of the input user to experience each product to be recommended.

[0048] It should be understood that the above composition of the CNN is only an example, and other structures can also be adopted, and this application does not make any limitation.

[0049] In step 140, when there is one or more probability values in the posterior probability that are greater than or equal to a preset threshold, the target product recommended to the user is determined based on the one or more probability values.

[0050] As described above, the posterior probability represents the willingness probability of the user to experience each product to be recommended. Therefore, when recommending products to the user, one or more products with probability values greater than the preset threshold can be determined from multiple willingness probability values, and the target product to be recommended is determined based on the one or more products. Specifically, if there is one product with a probability value greater than the preset threshold, the product is determined as the target product; or if there are multiple products with probability values greater than the preset threshold, the product with the largest probability value is determined as the target product.

[0051] Of course, there may also be a situation where there is no probability value in the posterior probability that is greater than or equal to the preset threshold, or in other words, any probability value in the posterior probability does not satisfy being greater than or equal to the preset threshold.

[0052] Optionally, the method further includes: when there is no probability value in the multiple probability values of the posterior probability that is greater than or equal to the preset threshold, selecting a product with the largest probability value from the posterior probability (for example, denoted as the second product); having a conversation with the user based on the second product through a robot to obtain the user's voice feedback; updating the user's dynamic tag set based on the user's voice feedback to obtain an updated dynamic tag set, and the updated dynamic tag set updates the posterior probability. It should be understood that the specific process of having a conversation with the user based on the second product and then updating the user's dynamic tag set according to the user's voice feedback can refer to the relevant descriptions of steps 120 to 130 above. For the sake of brevity, it will not be elaborated here.

[0053] It should be understood that the posterior probability updated based on the updated dynamic tag set can be used again to determine the target product. The process of determining the target product based on the posterior probability can refer to the relevant description in step 140 above. For the sake of brevity, it will not be elaborated here.

[0054] It should also be understood that there may still be no probability value in the posterior probability updated based on the updated dynamic tag set that is greater than or equal to the preset threshold. In this case, the operations of obtaining the user's voice feedback through a conversation between the robot and the user, updating the dynamic tag set based on the voice feedback, and updating the posterior probability can be repeatedly executed until there is a probability value in the posterior probability that is greater than or equal to the preset threshold, and then the corresponding product is determined as the target product.

[0055] In order to serve users more precisely, after successfully recommending a target product to a user each time, the dynamic tag set of the user can be updated to the training sample set. Before serving the next user, the parameters of the neural network can be automatically updated according to the latest training sample set, and a new likelihood function can be obtained. As a result, when calculating the posterior probability using the likelihood function subsequently, users can be served more precisely.

[0056] Therefore, based on the above process, the prior probabilities that users with different static attributes are interested in different products to be recommended are obtained according to the prior information. Products are recommended to users based on this prior probability. During the interaction between the user and the robot, voice feedback from the user is obtained, and the dynamic tags of the user are updated according to the voice feedback. The target product is recommended to the user based on the updated dynamic tag set and static tag set of the user. Thus, more precise service to the user is achieved according to the interaction with the user. And after successfully recommending the target product to the user, the dynamic tag set will also be updated to the training sample set for training the neural network, and the updated training sample is retrained to automatically update the parameters of the neural network to obtain a new likelihood function. On the one hand, it can reduce the dependence on manually labeled tags and save manual time and effort. On the other hand, it enables the data processing device to automatically update the internal model parameters and optimize the model as it interacts with the user, providing more precise service to the user.

[0057] In addition, the present application provides another schematic flowchart of the above data processing method 100, as Figure 2 shown.

[0058] First, initialization is performed to obtain a product data set represented by discrete integer values, the static tag set and dynamic tag set of the user, and the likelihood function is initialized based on the dynamic tag set and static tag set.

[0059] Secondly, a conversation with a certain user is started, and the robot converses with the user through the first product determined based on the prior probability; and based on the conversation with the user, the feedback of the user is recognized.

[0060] Then, the dynamic tag set of the user is updated according to the recognition result, and the probability of the user's willingness to experience each product is calculated based on the updated dynamic tag set and the likelihood function. A first product that meets the recommendation condition is selected from them and recommended to the user.

[0061] Here, the recommendation condition can be, for example, that the posterior probability value described above is greater than or equal to a preset threshold.

[0062] If the recommendation is successful, update the dynamic tags of the user corresponding to the first product to the dynamic tag set, and initialize the likelihood function based on the training sample set containing the updated dynamic tag set to obtain a new likelihood function, so as to more accurately meet the user's needs or preferences when serving the next user; if there is no first product that meets the conditions or the recommendation of the first product fails, determine another product based on the willingness probability, such as the second product; and have a conversation with the user based on the second product through the robot; then, based on the conversation with the user, identify the user's voice feedback and calculate the willingness probability of the user to experience each product until the recommended product is successful.

[0063] Based on the above solution, recommend products to the user based on this prior probability, obtain the user's voice feedback during the interaction between the user and the robot, update the user's dynamic tag set according to the voice feedback, and recommend target products to the user based on the updated user's dynamic tag set and static tag set. Therefore, the user can be served more accurately according to the interaction with the user.

[0064] Figure 3 It is a schematic block diagram of the data processing device provided by the embodiment of the present application. As Figure 3 shown, the device 300 may include: an acquisition module 310 and a determination module 320. Among them, the acquisition module 310 is used to: have a conversation with the user based on the first product through the robot to obtain the user's voice feedback, and the first product is determined from multiple products to be recommended based on the prior probability; the determination module 320 can be used to: update the user's dynamic tag set based on the voice feedback, and the dynamic tag set is used to indicate the user's dynamic preferences and / or dynamic needs; based on the user's static tag set and the updated dynamic tag set, determine the posterior probability, and the posterior probability includes multiple probability values corresponding to the multiple products, and the probability value corresponding to each product is used to indicate the user's experience willingness, and the static tag set is used to indicate one or more pieces of information such as the user's gender, age, occupation, hobby, language, province, and city; in the case where there is one or more probability values greater than or equal to the preset threshold in the posterior probability, determine the target product to be recommended to the user based on the one or more probability values.

[0065] Optionally, the determination module 320 can also be used to: determine one or more products with probability values greater than the preset threshold among the multiple probability values; and if there is one product with a probability value greater than the preset threshold, determine the product as the target product; or if there are multiple products with probability values greater than the preset threshold, determine the product with the largest probability value as the target product.

[0066] Optionally, the determination module 320 can also be used to determine the prior probability based on the static tag set and prior information.

[0067] Optionally, the determination module 320 can also be used to input the dynamic tag set and the static tag set of the user into a maximum likelihood function to generate the posterior probability; wherein, the maximum likelihood function is obtained by training a neural network.

[0068] Optionally, the determination module 320 can also be used to: convert the voice feedback into text information; input the text information into a classifier to obtain a classification result, where the classification result includes positive, neutral or negative; and update the dynamic tag set of the user based on the classification result.

[0069] Optionally, when there is no probability value greater than or equal to the preset threshold among the multiple probability values in the posterior probability, the determination module 320 can be used to determine a second product based on the posterior probability, where the second product is the product with the largest probability value among the multiple probability values included in the posterior probability; the acquisition module 310 can also be used to have a robot communicate with the user based on the second product to obtain the voice feedback of the user; the determination module 320 can also be used to update the dynamic tag set based on the voice feedback to obtain an updated dynamic tag set, and the updated dynamic tag set updates the posterior probability.

[0070] It should be understood that the division of modules in the embodiments of the present application is illustrative, merely a logical function division, and there may be other division methods in actual implementation. In addition, in each embodiment of the present application, each functional module can be integrated in a processor, can also exist independently physically, or two or more modules can be integrated in one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules.

[0071] Figure 4 It is another schematic block diagram of the data processing device provided by the embodiments of the present application. The device can be used to implement the data processing function in the above method. Among them, the device can be a chip system. In the embodiments of the present application, the chip system can be composed of chips, or can include chips and other discrete devices.

[0072] Such as Figure 4As shown, the device 400 may include at least one processor 410 for implementing the data processing function in the method provided in the embodiments of the present application. Exemplarily, the processor 410 may be used to obtain the user's voice feedback, and the first product is determined from multiple products to be recommended based on a prior probability; based on the voice feedback, update the user's dynamic tag set, where the dynamic tag set is used to indicate the user's dynamic preferences and / or dynamic needs; based on the user's static tag set and the updated dynamic tag set, determine a posterior probability, where the posterior probability includes multiple probability values corresponding to the multiple products, and the probability value corresponding to each product is used to indicate the user's willingness to experience, and the static tag set is used to indicate one or more pieces of information among the user's gender, age, occupation, hobbies, language, province, and city; in the case where there is one or more probability values greater than or equal to a preset threshold in the posterior probability, determine the target product to be recommended to the user based on the one or more probability values. For specific details, refer to the detailed description in the above method embodiments, and details are not elaborated here.

[0073] The device 400 may further include at least one memory 420 for storing program instructions and / or data. The memory 420 is coupled to the processor 410. The coupling in the embodiments of the present application is an indirect coupling or communication connection between devices, units, or modules, which may be electrical, mechanical, or other forms for information interaction between devices, units, or modules. The processor 410 may cooperate with the memory 420. The processor 410 may execute the program instructions stored in the memory 420. At least one of the at least one memory may be included in the processor.

[0074] The device 400 may further include a communication interface 430 for communicating with other devices through a transmission medium, so that the devices in the device 400 can communicate with other devices. The communication interface 430 may be, for example, a transceiver, an interface, a bus, a circuit, or a device capable of implementing a transceiver function. The processor 410 may use the communication interface 430 to transmit and receive data and / or information, and is used to implement Figure 1 and Figure 2 the data processing method described in the corresponding embodiments.

[0075] In the embodiments of the present application, the specific connection medium between the above-mentioned processor 410, memory 420, and communication interface 430 is not limited. In the embodiments of the present application Figure 4 it is connected by a bus 440 between the processor 410, memory 420, and communication interface 430. The bus 440 is represented by a thick line in Figure 4 and the connection manners between other components are only for illustrative purposes and are not limited thereto. The bus may be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, Figure 4It is represented only by a thick line, but it does not mean that there is only one bus or one type of bus.

[0076] The present application also provides a computer program product, which includes: a computer program (which can also be referred to as code or instruction). When the computer program is run, it causes the computer to execute Figure 1 and Figure 2 the methods in the illustrated embodiments.

[0077] The present application also provides a computer-readable storage medium, which stores a computer program (which can also be referred to as code or instruction). When the computer program is run, it causes the computer to execute Figure 1 and Figure 2 the methods in the illustrated embodiments.

[0078] It should be understood that the processor in the embodiments of the present application can be an integrated circuit chip with the ability to process signals. In the implementation process, the steps of the above method embodiments can be completed by the integrated logic circuit in the hardware of the processor or the instructions in the form of software. The above processor can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware decoding processor, or executed and completed by the combination of the hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the art such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register, etc. This storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method.

[0079] It should also be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and directrambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include but not be limited to these and any other suitable types of memory.

[0080] As used in this specification, terms such as "unit", "module", etc. can be used to represent computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution.

[0081] Those of ordinary skill in the art can realize that the various illustrative logical blocks and steps described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of this application. In several embodiments provided in this application, it should be understood that the disclosed devices, equipment, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be electrical, mechanical, or other forms.

[0082] The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they can be located in one place, or they can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0083] In addition, in each embodiment of this application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0084] In the above embodiments, the functions of each functional unit can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that integrates one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.

[0085] If the function is implemented in the form of 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, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.

[0086] The above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present application, and all should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A data processing method, characterized in that, Including: The robot conducts a conversation with the user based on a first product to obtain the user's voice feedback, where the first product is determined from multiple products to be recommended based on prior probabilities; Based on the voice feedback, update the user's dynamic tag set, where the dynamic tag set is used to indicate the user's preference dynamics and / or demand dynamics; Based on the user's static tag set and the updated dynamic tag set, determine posterior probabilities, where the posterior probabilities include multiple probability values corresponding to the multiple products, and the probability value corresponding to each product is used to indicate the user's willingness to experience. The static tag set is used to indicate one or more pieces of information among the user's gender, age, occupation, hobbies, language, province, and city; In the case where there is one or more probability values greater than or equal to a preset threshold in the posterior probabilities, determine the target product to be recommended to the user based on the one or more probability values; The determining the target product to be recommended to the user based on the one or more probability values includes: Determine one or more products with probability values greater than the preset threshold among the multiple probability values; and If there is one product with a probability value greater than the preset threshold, determine the product as the target product; or If there are multiple products with probability values greater than the preset threshold, determine the product with the largest probability value as the target product; In the case where there is no probability value greater than or equal to the preset threshold among the multiple probability values in the posterior probabilities, determine a second product based on the posterior probabilities, where the second product is the product with the largest probability value among the multiple probability values included in the posterior probabilities; The robot conducts a conversation with the user based on the second product to obtain the user's voice feedback; Based on the voice feedback, update the dynamic tag set to obtain an updated dynamic tag set, and the updated dynamic tag set updates the posterior probabilities; The determining the posterior probabilities based on the user's dynamic tag set and static tag set includes: Input the user's dynamic tag set and static tag set into a maximum likelihood function to generate the posterior probabilities; where the maximum likelihood function is obtained by training a neural network; The updating the user's dynamic tag set based on the voice feedback includes: Convert the voice feedback into text information; Input the text information into a classifier to obtain a classification result, where the classification result includes positive, neutral, or negative; Based on the classification result, update the user's dynamic tag set.

2. The method according to claim 1, wherein The method further includes: Based on the static tag set and prior information, determine the prior probabilities.

3. A data processing device, characterized in that, Including a module for implementing the method as described in claim 1 or 2.

4. A data processing device, characterized in that, Including a processor, where the processor is used to execute the method as described in claim 1 or 2.

5. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the computer is caused to execute the method as described in claim 1 or 2.

6. A computer program product, including program code, when the computer runs the computer program, the program code executes the method as described in claim 1 or 2.

Citation Information

Patent Citations

  • Method, apparatus and system for recommending contents

    CN107967616A

  • Information recommendation method and device

    CN111538909A