Personalized recommendation method, electronic equipment and storage medium
By detecting user intentions and slots and personalized recommendations combined with historical data, the problem that the voice assistant recommendation corpus does not meet user needs is solved, and the user experience and interactive intelligence are improved.
Patent Information
- Application Number
- CN202411491951.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-23
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2044-10-23
AI Technical Summary
The corpus recommended by the existing voice assistant is a general template, which cannot meet the personalized needs of different users and affects the user experience.
By detecting user intentions and slots, personalized recommendations are made in combination with historical data, space-time semantic clustering method is used to recommend appropriate corpus in cold start scenarios, and accurate recommendations are made based on current intentions and historical intentions in interactive scenarios.
It realizes personalized recommendations based on user intentions and habits, improves user experience, and enhances the intelligent interaction capabilities of voice assistants.
Smart Images

Figure CN120407778A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of electronic technologies, and particularly to a personalized recommendation method, an electronic device, and a storage medium. Background Art
[0002] With the development of speech recognition technology, many electronic devices are added with a voice assistant (such as YOYO Assistant) to help users complete the human-computer interaction process with the electronic device. The user can start YOYO Assistant. After that, the electronic device can display a startup interface and can recommend some corpora at the bottom of the startup interface. The user clicks on a certain corpus to send a command to YOYO Assistant, so as to use YOYO Assistant more conveniently.
[0003] Currently, the corpora recommended by YOYO Assistant are all general template information pre-configured by operators. For different users, the general template information is the same. After the user starts YOYO Assistant, the electronic device randomly displays the corpora in the template. However, for most users, the randomly recommended corpora are not the corpora that the user personally wants, which affects the user experience. Summary of the Invention
[0004] This application provides a personalized recommendation method, an electronic device, and a storage medium, which can recommend the corpora expected by the user and improve the user experience. The technical solutions are as follows:
[0005] In a first aspect, an embodiment of this application provides a personalized recommendation method, which is applied to an electronic device installed with a voice assistant. In the personalized recommendation method, the user can start the voice assistant, and after starting the voice assistant, send a first command to the voice assistant at a certain moment. Correspondingly, the electronic device responds to the user operation to start the voice assistant, and after starting the voice assistant, detects the first command of the user for the voice assistant; then the electronic device determines the current user intention and the current slot corresponding to the first command; determines the historical user intention and the historical slot corresponding to the first time period, where the first time period is the time period corresponding to the moment when the first command is detected, and there is one or more historical user intentions and one or more historical slots; in the case where the current user intention does not match the historical user intention, display a first interface, and the first interface includes a first recommended corpus corresponding to a first policy, and the first recommended corpus preferentially recommends the corpus associated with the current user intention; in the case where the current user intention matches the historical user intention, recommend a corpus according to the historical user intention and the historical slot.
[0006] In an interaction scenario, an electronic device can compare and analyze the current user intention and the historical user intention. When the high-frequency historical intention is not hit, it cannot recommend corpus by referring to the user's habits, but recommend associated corpus based on the current user intention. When the current user intention hits the high-frequency historical user intention, it can obtain the user's habits from the historical user intention and its historical slots, that is, what the user often does under this intention. It can guess what the user will do in the current time period according to the user's habits, and then recommend personalized corpus according to the historical user intention and its historical slots. In short, the method provided in this application uses different strategies in different situations to generate different recommended corpus, can recommend content that users are more concerned about in real time, recommend the corpus that users want to search for more accurately, and achieve personalized recommendation. Thus, it helps users complete what they want to do with the voice assistant, enables users to use the voice assistant more conveniently, and improves the user experience.
[0007] In combination with the first aspect, in some implementation manners of the first aspect, when the current user intention hits the historical user intention, recommending corpus according to the historical user intention and the historical slots includes: when the current user intention hits the historical user intention and the current slot does not hit the historical slot, displaying a second interface, where the second interface includes a second recommended corpus corresponding to a second strategy, and the second recommended corpus preferentially recommends corpus associated with the historical slot; when the current user intention hits the historical user intention and the current slot hits the historical slot, displaying a third interface, where the third interface includes a third recommended corpus corresponding to a third strategy, and the third recommended corpus preferentially recommends corpus associated with other slots except the hit slot in the historical slot. In this way, it is possible to perform precise recommendation by combining the slot information in the user's historical behavior habits, use different historical slots in different situations, recommend the content that the user wants to obtain, and achieve a more intelligent human-computer interaction.
[0008] In combination with the first aspect, in some implementation manners of the first aspect, after starting the voice assistant and before detecting the user's first instruction, the above method further includes: determining the historical user intention corresponding to a second time period, where the second time period is the time period corresponding to the moment when the voice assistant is started; displaying a fourth interface, where the fourth interface includes a fourth recommended corpus, and the fourth recommended corpus preferentially recommends corpus associated with the historical user intention corresponding to the second time period. Therefore, when starting the YOYO assistant, it is possible to determine the historical user intention that the user is concerned about based on the intention preference of the current time period, and specifically recommend some corpus that the user expects to the user.
[0009] Combined with the first aspect and the above implementation manners, in some implementation manners of the first aspect, determining the historical user intent corresponding to the first time period includes: for the first time period, obtaining the user data of the voice assistant in the first historical period and the second historical period; determining the probability of each intent that appears within the first time period according to the user data of the first historical period and the second historical period; and determining the historical user intent corresponding to the first time period according to the probability of each intent that appears within the first time period.
[0010] Combined with the first aspect and the above implementation manners, in some implementation manners of the first aspect, determining the historical user intent corresponding to the first time period according to the probability of each intent that appears within the first time period includes: arranging them in descending order of probability, and selecting the top N intents in the ranking as the historical user intents within the first time period, where N is a positive integer. In this way, by representing the intent preference with frequency, the intents that the user is more concerned about can be determined, and further, the corpora that the user wants to search can be recommended to the user more accurately.
[0011] Combined with the first aspect and the above implementation manners, in some implementation manners of the first aspect, determining the probability of each intent that appears within the first time period includes: for the first time period, determining multiple user intents of the first historical period and the probability of each user intent according to the user data of the first historical period; determining multiple user intents of the second historical period and the probability of each user intent according to the user data of the second historical period; determining the weights of the multiple user intents of the first historical period, where for the same intent among the multiple user intents of the second historical period and the multiple user intents of the first historical period, the weight of the same intent within the first time period is determined according to the probability of the same intent in the first historical period and the probability of the same intent in the second historical period, and this weight is greater than 1 and greater than the weights of the different intents among the multiple user intents of the second historical period and the multiple user intents of the first historical period; and determining the probability of each intent that appears within the first time period according to the probability of each user intent of the first historical period and the weights of the multiple user intents of the first historical period. In this implementation manner, considering that user intents change over time and using the user data of different historical periods to update the intent frequency can improve the accuracy of intent preference prediction, and further, the corpora that the user wants to search can be recommended to the user more accurately.
[0012] Combined with the first aspect and the above implementation manners, in some implementation manners of the first aspect, the first recommended corpus further includes the corpus associated with the historical user intent.
[0013] Combined with the first aspect and the above implementation manners, in some implementation manners of the first aspect, the second recommended corpus further includes the corpus corresponding to other slots except the historical slots in the hit historical user intents.
[0014] Combined with the first aspect and the above implementation manners, in some implementation manners of the first aspect, the third recommended corpus further includes the corpus corresponding to other slots except the historical slots in the hit historical user intents.
[0015] In a second aspect, an embodiment of the present application provides an electronic device, including: one or more processors; one or more memories; the memory stores one or more programs, and when the one or more programs are executed by the processor, the electronic device is caused to execute any possible method of the first aspect above.
[0016] In a third aspect, an embodiment of the present application provides a device, which is included in the electronic device, and the device has a function of implementing the behavior of the electronic device in the above aspects and the possible implementation manners of the above aspects. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above functions. For example, a display module or unit, a detection module or unit, a processing module or unit, etc.
[0017] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which instructions are stored, and when the instructions are run on a computer, the computer is caused to execute the method described in the first aspect above.
[0018] In a fifth aspect, an embodiment of the present application provides a computer program product including instructions, and when the computer program product is run on a computer, the computer is caused to execute the method described in the first aspect above.
[0019] The technical effects obtained in the second aspect, the third aspect, the fourth aspect, and the fifth aspect are similar to the technical effects obtained by the corresponding technical means in the first aspect, and will not be elaborated here. Description of the Drawings
[0020] Figure 1 Shows a schematic diagram of a scenario provided by an embodiment of the present application;
[0021] Figure 2 Shows another schematic diagram of a scenario provided by an embodiment of the present application;
[0022] Figure 3 Shows another schematic diagram of a scenario provided by an embodiment of the present application;
[0023] Figure 4 Shows a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present application;
[0024] Figure 5 Shows a schematic diagram of the software structure of an electronic device provided by an embodiment of the present application;
[0025] Figure 6Shows a schematic flowchart of a personalized recommendation method provided by an embodiment of the present application;
[0026] Figure 7 Shows a schematic flowchart of a method for determining high-frequency historical user intents provided by an embodiment of the present application;
[0027] Figure 8 Shows another schematic diagram of a scenario provided by an embodiment of the present application;
[0028] Figure 9 Shows another schematic diagram of a scenario provided by an embodiment of the present application;
[0029] Figure 10 Shows a schematic flowchart of another personalized recommendation method provided by an embodiment of the present application;
[0030] Figure 11 Shows another schematic diagram of a scenario provided by an embodiment of the present application;
[0031] Figure 12 Shows another schematic diagram of a scenario provided by an embodiment of the present application;
[0032] Figure 13 Shows another schematic diagram of a scenario provided by an embodiment of the present application;
[0033] Figure 14 Shows a schematic structural diagram of a device provided by an embodiment of the present application;
[0034] Figure 15 Shows a schematic structural diagram of a chip provided by an embodiment of the present application. Detailed implementation manners
[0035] To make the objectives, technical solutions, and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings. Hereinafter, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of this embodiment, unless otherwise stated, the meaning of "a plurality" is two or more.
[0036] With the development of speech recognition technology, many electronic devices have added voice assistants (such as YOYO Assistant) to help users complete the human-computer interaction process with the electronic devices. Taking a mobile phone and YOYO Assistant as an example, the usage process of YOYO Assistant in the mobile phone will be described below. It should be understood that YOYO Assistant is just a nickname for a voice assistant and does not impose any limitation on the present application.
[0037] When the user needs to use the YOYO Assistant, the YOYO Assistant can be awakened in various ways, such as by breath, wake-up words, buttons (power button wake-up, Bluetooth device wake-up, headphone line control wake-up), or by entering the YOYO Assistant application, that is, the YOYO Assistant is started.
[0038] Refer to Figure 1 , as Figure 1 shown in (a) of Figure 3 , the electronic device can display the main interface 101, and the interface 101 shows multiple applications (App), such as the photo album, music, settings 1011, clock, camera, and YOYO Assistant 1012, etc. The user can click on the settings application, and in response to the user's click operation, the electronic device enters the settings interface and can display an interface 102 as shown in Figure 3 shown in (b) of Figure 3 . The interface 102 shows the intelligent assistant option 1021. The user can click on the intelligent assistant option 1021, and in response to the user's click operation, the electronic device enters the intelligent assistant function interface and can display an interface 103 as shown in shown in (c) of Figure 3 . The interface 1(0)3 shows the YOYO Assistant option 1031. The user can click on the YOYO Assistant option 1031, and in response to the user's click operation, the electronic device enters the YOYO Assistant function interface and can display an interface 104 as shown in Figure 3 . The interface 104 shows various ways to wake up the YOYO Assistant, including the voice wake-up option, breath wake-up option, button wake-up option, and desktop shortcut.
[0039] The user can click on the voice wake-up option to enter the voice wake-up settings interface, then turn on the voice wake-up switch and enter the wake-up word according to the on-screen prompts. After enabling voice wake-up, the user can wake up the YOYO Assistant by saying the wake-up word. The user can also click on the breath wake-up option to enter the breath wake-up settings interface, and then turn on the breath wake-up switch. After enabling the breath, the user can bring the bottom microphone of the phone close to the mouth and directly speak a voice command to the microphone to interact with the YOYO Assistant by voice. The user can also click on the button wake-up option to enter the button wake-up settings interface, where the user can choose to turn on / off power button wake-up, Bluetooth device wake-up, and headphone line control wake-up. The user can turn on the power button wake-up. After enabling the power button wake-up, the user can wake up the YOYO Assistant by pressing and holding the phone's power button for 1 second. The user can also turn on the Bluetooth device wake-up. After enabling the Bluetooth device wake-up, the user can wake up the phone's YOYO Assistant through the Bluetooth device. The user can also turn on the headphone line control wake-up. After enabling the headphone line control wake-up, the user can wake up the YOYO Assistant by long pressing the playback control button of the wired headphone. The user can also add a desktop shortcut so that the YOYO Assistant application, i.e., YOYO Assistant 1012, can be displayed on the desktop (interface 101).
[0040] Exemplarily, Figure 2 shows a schematic diagram of the scenario of waking up the YOYO Assistant by voice. As Figure 2 shown in (a) of, when the electronic device displays the main interface 101, the user can say the wake-up word, for example, "Hello YOYO". The electronic device can receive the wake-up word and, in response to receiving the wake-up word, wake up the YOYO Assistant. After waking up the YOYO Assistant, the electronic device can display the interface 201 as shown in Figure 2 (b) of. At the bottom of the interface 201, the recommended content (chips) 2011 corresponding to the YOYO Assistant and the listening control 2012 are displayed. Among them, the listening control 2012 is used to indicate that the electronic device is in the mode of listening to the user's voice commands. Exemplarily, as Figure 2 shown in (c) of, the user can issue a voice command to start a round of conversation, such as "300 multiplied by 400". After that, the YOYO Assistant can obtain the voice command issued by the user and give a response. For example, calculate 300 multiplied by 400 and give the calculation result. The electronic device can display the interface 202 as shown in Figure 2 (d) of. In the interface 202, the voice command 2021 issued by the user, the response result 2022 of the YOYO Assistant, and the recommended content 2023 are displayed.
[0041] Exemplarily, Figure 3 shows a schematic diagram of the scenario of entering the YOYO Assistant 1012. As Figure 3As shown in (a) of [the figure], when the electronic device displays the main interface 101, the user can click on YOYO Assistant 1012 in the main interface. In response to the user's click operation, the electronic device enters the YOYO Assistant application and can display an interface 301 as shown in Figure 3 (b) of [the figure]. At the bottom of the interface 301, the recommended content 3011 corresponding to YOYO Assistant and the listening control 3012 can be displayed. As shown in Figure 3 (c) of [the figure], the user can issue a voice command to start a conversation, such as "What's the date tomorrow", and the electronic device can display an interface 302 as shown in Figure 3 (d) of [the figure]. In the interface 302, the voice command 3021 issued by the user, the response result 3022 of YOYO Assistant, and the recommended content 3023 are displayed. For example, YOYO Assistant can reply "Friday, October 25, 2024".
[0042] The recommended content (including recommended content 2011, recommended content 2023, recommended content 3011, and recommended content 3023) can recommend some corpora, such as "Leo's monthly fortune", "New Year's Day travel", "Today's fortune", etc. The user can swipe left and right to view more corpora. The user can also click on a corpus to issue a command to the voice assistant, making it more convenient to use the voice assistant. During the current round of interaction, every time YOYO Assistant receives the user's voice command, in addition to giving a response result, it can also randomly update the recommended content. Therefore, the recommended content 2023 and the recommended content 2011 can display different corpora, and the recommended content 3011 and the recommended content 3023 can also display different corpora.
[0043] Currently, the corpora recommended by YOYO Assistant are all generalized template information pre-configured by operators. Whether it is the cold start scenario of YOYO Assistant or the in-dialogue interaction scenario within YOYO Assistant, the recommended corpora are randomly obtained from the generalized template information. For different users, the generalized template information is the same. For example, the corpora displayed after user A starts YOYO Assistant are the same as those displayed after user B starts YOYO Assistant. Also, for example, the corpora randomly displayed after user A issues different voice commands are the same. However, for most users, the randomly recommended corpora are not the corpora that the users personally want. How to recommend the corpora that users want to search for in a personalized manner is the key optimization direction for voice assistants in the current field of Artificial Intelligence (AI).
[0044] In view of this, an embodiment of the present application proposes a personalized recommendation method. In the embodiment of the present application, the recommendation scenario can be divided into the YOYO Assistant cold start scenario and the in-YOYO Assistant interaction scenario. For the cold start scenario, when starting the YOYO Assistant, a clustering method based on spatio-temporal semantics can be used to obtain historical user data that fits the user's current usage scenario; based on the intents and slots in the historical user data, corpus is recommended to the user. In the voice interaction scenario, when receiving the user's voice command, it is possible to compare and analyze the intent / slot in the current voice command with the intent / slot in the historical user data, and recommend the corpus used during the interaction to the user through different strategies. By predicting in real time the recommended content that the user is most concerned about, it is possible to more accurately recommend the corpus that the user wants to search for, realizing personalized recommendation. Thus, it helps the user to complete what they want to do with the voice assistant, enables the user to use the voice assistant more conveniently, and improves the user experience.
[0045] Among them, an intent is the purpose or requirement of the user when interacting with the voice assistant. Each voice command input by the user corresponds to an intent of the user. An intent is a set of one or more expression forms. For example, "book a movie ticket" can belong to the intent of watching a movie. Another example is that both "a 150-yuan double-person meal at Haidilao" and "not feeling well, eat something appetizing" can belong to the food intent.
[0046] Intent recognition is that the voice assistant analyzes and processes the natural language text input by the user to identify the purpose or goal that the user wants to achieve. Intent recognition can be regarded as a text classification problem, which requires pre-defining the possible intent categories that may appear, and then classifying the input text through a machine learning model to determine the intent of the user.
[0047] A slot is an information item required to process an intent and is used for information extraction. One or more slots can be configured under each intent. A slot corresponds to a keyword of a certain type of attribute, and the information in the slot (i.e., slot information) can be filled with keywords of the same type. For example, in the scenario of watching a movie, the slots can include the movie name, screening time, destination, price, etc. Another example is that in the scenario of finding a scenic spot, the slot can include the destination.
[0048] Slot information is the specific information used to express the intention in the voice command input by the user. When the voice assistant completes the user's command, it analyzes the text content to identify and extract the information related to the pre-defined slots. For example, the sentence pattern corresponding to the song intention can be "I want to listen to {singer}'s {song}". Among them, {singer} is the slot for the singer, and {song} is the slot for the song. Then, if the voice command "I want to listen to Wang Fei's Red Bean" is received by the user, the voice assistant can extract the slot information in the {singer} slot from this voice command as: Wang Fei, and the slot information in the {song} slot as: Red Bean. In this way, the voice assistant can execute this voice command: play Wang Fei's song Red Bean.
[0049] The method provided by the embodiments of the present application can be applied to electronic devices with voice assistants and displays, such as mobile phones, laptop computers, personal computers (PCs), wearable electronic devices (such as smart watches and smart bracelets), tablet computers, smart home devices, augmented reality (AR) / virtual reality (VR) devices, artificial intelligence (AI) terminals (such as smart robots), in-vehicle computers, etc.
[0050] Figure 4 Shows a schematic diagram of the hardware structure of the electronic device 100.
[0051] Refer to Figure 4 As shown in the figure, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antennas 1, 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identity module (SIM) card interface 195, etc. Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0052] It can be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than those illustrated, or combine certain components, or split certain components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0053] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.
[0054] The controller may generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
[0055] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory may save the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0056] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0057] In some embodiments, the processor 110 and the display screen 194 communicate through the DSI interface to implement the display function of the electronic device 100.
[0058] It can be understood that the interface connection relationships between the modules illustrated in the embodiments of the present application are only illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0059] The charging management module 140 is used to receive a charging input from a charger. Among them, the charger may be a wireless charger or a wired charger. The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives the inputs from the battery 142 and / or the charging management module 140 and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, the wireless communication module 160, etc.
[0060] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor, and the baseband processor, etc.
[0061] The electronic device 100 implements the display function through the GPU, the display screen 194, the application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to execute mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.
[0062] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can adopt a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light-emitting diode or an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0063] The electronic device 100 can implement the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, the application processor, etc. The ISP is used to process the data fed back by the camera 193. The camera 193 is used to capture static images or videos.
[0064] The NPU is a neural-network (NN) computing processor. By learning from the biological neural network structure, such as learning from the transmission mode between human brain neurons, it can quickly process the input information and can also continuously self-learn. Through the NPU, applications such as intelligent cognition of the electronic device 100 can be realized, such as: image recognition, face recognition, voice recognition, text understanding, etc. For example, when the user inputs a voice command, the NPU can perform natural language processing to recognize the intent and slots in the voice command.
[0065] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement the data storage function. For example, files such as music and videos are saved in the external memory card.
[0066] The internal memory 121 can be used to store computer-executable program code, and the executable program code includes instructions. The internal memory 121 can include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function (such as a sound playback function, an image playback function, etc.). The data storage area can store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.). In addition, the internal memory 121 can include a high-speed random access memory and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121 and / or the instructions stored in the memory provided in the processor.
[0067] The electronic device 100 can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor, etc. For example, music playback, recording, etc.
[0068] The audio module 170 is used to convert digital audio information into an analog audio signal for output, and is also used to convert an analog audio input into a digital audio signal. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be disposed in the processor 110, or some functional modules of the audio module 170 can be disposed in the processor 110.
[0069] The speaker 170A, also known as the "loudspeaker", is used to convert an audio electrical signal into a sound signal. The electronic device 100 can listen to music or hands-free calls through the speaker 170A.
[0070] The receiver 170B, also known as the "earpiece", is used to convert an audio electrical signal into a sound signal. When the electronic device 100 answers a call or a voice message, the voice can be listened to by bringing the receiver 170B close to the human ear.
[0071] The microphone 170C, also known as the "microphone", "transmitter", is used to convert a sound signal into an electrical signal. When sending a voice command to the voice assistant, the user can speak by bringing the mouth close to the microphone 170C to input the sound signal into the microphone 170C.
[0072] The pressure sensor 180A is used to sense pressure signals and can convert pressure signals into electrical signals. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. The capacitive pressure sensor may include at least two parallel plates having conductive materials. When a force acts on the pressure sensor 180A, the capacitance between the electrodes changes. The electronic device 100 determines the intensity of the pressure according to the change in capacitance. When a touch operation acts on the display screen 194, the electronic device 100 detects the intensity of the touch operation according to the pressure sensor 180A. The electronic device 100 can also calculate the position of the touch according to the detection signal of the pressure sensor 180A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities may correspond to different operation instructions. For example: When a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, the instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, the instruction to create a new short message is executed.
[0073] The touch sensor 180K, also known as the "touch control device". The touch sensor 180K may be disposed on the display screen 194. The touch sensor 180K and the display screen 194 form a touch screen, also known as the "touch control screen". The touch sensor 180K is used to detect touch operations acting on or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In some other embodiments, the touch sensor 180K may also be disposed on the surface of the electronic device 100, at a different position from the display screen 194.
[0074] The keys 190 include a power-on key, volume keys, etc. The keys 190 may be mechanical keys. They may also be touch keys. The electronic device 100 can receive key inputs and generate key signal inputs related to the user settings and function control of the electronic device 100. The motor 191 can generate vibration prompts. The motor 191 can be used for incoming call vibration prompts and can also be used for touch vibration feedback. The indicator 192 may be an indicator light and can be used to indicate the charging state, power change, and can also be used to indicate messages, missed calls, notifications, etc. The SIM card interface 195 is used to connect the SIM card. The SIM card can make contact with and separate from the electronic device 100 by being inserted into or removed from the SIM card interface 195. The electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
[0075] The software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservices architecture, or a cloud architecture. In the embodiments of this application, taking the Android system with a layered architecture as an example, the software structure of the electronic device 100 will be exemplarily described.
[0076] Figure 5 It is the software structure block diagram of the electronic device 100 in the embodiments of this application.
[0077] The layered architecture divides the software into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom, namely the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0078] The application layer may include a series of application packages. As Figure 5 shown, the application packages may include applications such as the intelligent voice YOYO assistant, gallery, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
[0079] The application framework layer provides application programming interfaces (APIs) and programming frameworks for the applications in the application layer. The application framework layer includes some predefined functions.
[0080] As Figure 2 shown, the application framework layer may include a semantic understanding module, a dialogue management module, a chips recommendation module, a window manager, a content provider, a view system, etc.
[0081] The content provider is used to store and obtain data, and make this data accessible to applications. This data may include videos, images, audio, dialed and received calls, browsing history and bookmarks, phone books, etc. In the embodiments of this application, the content provider also stores the historical user data of the YOYO assistant.
[0082] The semantic understanding module is used to perform semantic understanding on the voice commands input by the user to obtain the user intention and slot values expressed by the voice commands.
[0083] The dialogue management module is used to respond to the voice commands input by the user. For example, to make a reply or jump to other applications.
[0084] The chips recommendation module is used to determine the historical user intention according to the historical user data of the YOYO assistant. The chips recommendation module is also used to recommend personalized corpora for the user according to the user's historical user intention.
[0085] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0086] The view system includes visual controls, such as controls for displaying text, controls for displaying pictures, etc. The view system can be used to build application programs. The display interface can be composed of one or more views. For example, a display interface including a short message notification icon can include a view for displaying text and a view for displaying pictures.
[0087] Android Runtime includes core libraries and a virtual machine. Android runtime is responsible for the scheduling and management of the Android system.
[0088] The core libraries contain two parts: one part is the functional functions that need to be called by the Java language, and the other part is the core libraries of Android.
[0089] The application layer and the application framework layer run in the virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as the management of object life cycles, stack management, thread management, security and exception management, and garbage collection.
[0090] The system libraries can include multiple functional modules. For example: surface manager, Media Libraries, 3D graphics processing libraries (such as: OpenGL ES), 2D graphics engines (such as: SGL), etc.
[0091] The surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple application programs.
[0092] The media libraries support the playback and recording of a variety of common audio and video formats, as well as static image files, etc. The media libraries can support a variety of audio and video coding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0093] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing, etc.
[0094] The 2D graphics engine is a drawing engine for 2D drawing.
[0095] The kernel layer is the layer between the hardware and the software. The kernel layer contains display drivers, camera drivers, audio drivers, sensor drivers, etc.
[0096] For the cold start scenario of the YOYO assistant, after the user starts the YOYO assistant, the YOYO assistant can call the chips recommendation module in the application framework layer. The chips recommendation module can generate personalized corpus based on historical user intents and send the personalized corpus to the YOYO assistant. Further, the YOYO assistant calls the display driver to display the personalized corpus on the display screen.
[0097] For the in-YOYO-assistant interaction scenario, after the YOYO assistant receives the user's voice command, it can call the semantic understanding module in the application framework layer. The semantic understanding module analyzes the voice command input by the user to obtain the current user intent and sends the current user intent to the chips recommendation module and the dialogue management module. The dialogue management module makes a response based on the current user intent and sends the response result to the YOYO assistant. The chips recommendation module generates personalized corpus based on the current user intent and historical user intents and sends the personalized corpus to the YOYO assistant. Further, the YOYO assistant calls the display driver to display the response result and the personalized corpus on the display screen.
[0098] The following details the personalized recommendation method provided by the embodiments of the present application. Figure 6 The embodiments of the present application provide a personalized recommendation method. This method is applied to an electronic device. When the YOYO assistant is cold-started, personalized corpus can be recommended through this method. As Figure 6 shown, the electronic device is implemented through the interaction between the Figure 5 modules shown below. This method can specifically include the following steps S601 - S606.
[0099] S601, Detect a first operation of the user. In response to the first operation, start the YOYO assistant.
[0100] The first operation is an operation to start the YOYO assistant. The user can wake up the YOYO assistant, that is, start the YOYO assistant, in multiple ways such as waking up by various breaths, waking up by a wake-up word, waking up by a button (waking up by the power button, waking up by a Bluetooth device, waking up by a headphone line control), and entering the YOYO assistant application. Correspondingly, the first operation can be to issue a voice command. As shown in (a) and (b) of Figure 2 , the voice command can be a wake-up word, such as "Hello YOYO". The first operation can also be a click operation. As shown in (a) and (b) of Figure 3 , the first operation can be to click on the YOYO assistant 1012. In response to the click operation, the electronic device starts the YOYO assistant application. The first operation can also be to hold down the mobile phone power button for 1 second, or to long-press the line control headphone playback control button, etc.
[0101] S602, The YOYO assistant sends a notification message indicating that the YOYO assistant has been started to the chips recommendation module. Thus, the chips recommendation module determines the corpus for personalized recommendations based on the intent. After the YOYO assistant is started on the electronic device, the time when the YOYO assistant is started is recorded. The notification message may include the time when the YOYO assistant is started. The time period corresponding to the time when the YOYO assistant is started is denoted as the second time period.
[0102] S603, The chips recommendation module determines the high-frequency historical user intents corresponding to the second time period.
[0103] After each use of the YOYO assistant ends, the content provider stores the data of the user's use of the YOYO assistant to form the historical user data of the YOYO assistant. Specifically, the historical user data may include the usage date, the time when the YOYO assistant is started, the time when the YOYO assistant is exited, the time when the user issues an instruction, one or more intents associated with each instruction issued by the user, and one or more slots, etc. It should be understood that the user's intent changes over time, and, in order to save the storage space of the electronic device, the content provider may store the historical user data of the recent m months. In the embodiments of the present application, the value of m is not specifically limited.
[0104] In one implementation, the chips recommendation module may determine the high-frequency historical user intents of the YOYO assistant after each exit of the YOYO assistant.
[0105] The chips recommendation module may, after each exit of the YOYO assistant and after the content provider stores the user data, obtain the historical user data of the YOYO assistant from the content provider. After obtaining the historical user data of the YOYO assistant, preprocess the historical user data. For example, only extract the time of each instruction and the corresponding intent and slot. Then, cluster the preprocessed data according to the time series to generate a clustering result. That is, group similar time series data points into different clusters. Further, divide the clustering result according to the time period to obtain the time periods when the user regularly uses the YOYO assistant. Exemplarily, within a day, the usage time periods of the YOYO assistant can be divided into 7:00 - 9:00, 11:00 - 13:00, 17:00 - 20:00, 21:00 - 23:00.
[0106] When obtaining the historical user data, it is also possible to distinguish between weekdays and non-weekdays, or holidays, etc., divide the time periods for the data of weekdays, and then determine the high-frequency historical user intents for each time period of weekdays. Divide the time periods for the data of non-weekdays, and then determine the high-frequency historical user intents for each time period of weekdays.
[0107] After dividing the time periods, the chips recommendation module can determine the user's high-frequency intention preferences in each time period based on the historical user data of the YOYO assistant and the spatiotemporal semantic clustering method, and then, based on the user's high-frequency intention preferences, recommend some user-desired corpus to the user in each time period. Among them, the spatiotemporal semantics-based clustering method is a method for data analysis that combines time and space information. The embodiment of the present application does not specifically limit the clustering algorithm. For example, a density-based clustering algorithm (Density-Based Spatial Clustering of Applications with Noise, DBSCAN) can be used.
[0108] For example, Figure 7 A flow chart of a high-frequency intention determination method provided in an embodiment of the present application is shown, including the following S6031-S60310.
[0109] S6031, obtain historical user data for each time period of the first historical period. Among them, the first historical period is closer to the current time than the second historical period. Since user intentions will change over time, a sliding window can be pre-defined to obtain user data of different periods through the sliding window. For example, the sliding window can be K (weeks), the first historical period is the past K weeks, and the second historical period is the past 2K weeks to the past K weeks. The chips recommendation module obtains historical user data for each time period of the past K weeks from the historical user data of YOYO assistant. In other words, we believe that the historical user data of the past K weeks is closer to the user's current usage preferences. It should be noted that K weeks is only an example, and the sliding window can also be K days, where K is greater than or equal to 1.
[0110] S6032: Count the total number of times the intent appears in each time period of the first historical period based on the historical user data of each time period of the first historical period.
[0111] In the past K weeks, users can issue multiple voice commands, and each voice command issued by the user corresponds to one or more intents. For example, "Where can I eat authentic Xinjiang cuisine in Nanjing" corresponds to a food intent, so the food intent appears once. For another example, "Check tomorrow's weather and play a song" corresponds to a weather query intent and a song intent, so the weather query intent and the song intent each appear once. Based on the historical user data of time period 1 in the past K weeks, the chips recommendation module can count the total number of times all intents appear in time period 1 in the past K weeks. For example, based on the historical user data of the 7:00-9:00 morning time period in the past K weeks, the chips recommendation module can count the total number of times all intents appear in the 7:00-9:00 time period. For example, the food intent appears in the 7:00-9:00 time period. Figure 10Next, for the weather query intention 30 times and the song intention 50 times, the total number of all intentions that occurred within 7:00 - 9:00 is 90 times.
[0112] Among them, time period 1 is any one of the usage time periods of the aforementioned YOYO assistant. That is to say, based on the historical user data of each time period in the recent K weeks, the chips recommendation module can statistically obtain the total number of all intentions that occurred within each time period in the recent K weeks.
[0113] S6033. Cluster each intention in each time period according to a preset step size to generate the clustering result of each intention within each time period in the first historical period.
[0114] It should be understood that for time period 1, the user may have expressed multiple intentions and expressed a certain intention multiple times, but not every day. For example, the user expressed an intention today, Figure 1 expressed an intention tomorrow, Figure 2 expressed an intention the day after tomorrow, Figure 1 and an intention, Figure 2 and an intention. In this regard, in the embodiments of the present application, by clustering and analyzing user behavior, the user intention trend is determined therefrom. Specifically, a step size P (days) is predefined. For the first intention that appears in time period 1, for example, for the song intention that appears in the 7:00 - 9:00 time period in the recent K weeks, multiple sample points can be obtained. Taking P as the radius, all sample points are traversed in sequence to generate the cluster corresponding to the first intention. Among them, the step size can be 1 day, 2 days, etc., and no limitation is made thereto.
[0115] Generally speaking, taking K = 2 and the step size as 1 day as an example, the song intention appeared on the first day, the second day, the third day, etc. for 8 consecutive days. Then the samples of these 8 consecutive days can be clustered into one cluster. The song intention did not appear on the ninth day, and the song intention appeared on the ninth day to the thirteenth day, etc. for 5 consecutive days. Then the samples of these 5 consecutive days can also be clustered into one cluster. It should be understood that the number of samples must be greater than a certain value to be clustered into one cluster. When there are multiple clusters, the cluster with the largest number of samples can be selected as the final clustering result, or, first, the clusters that meet the conditions can be clustered into one cluster according to certain conditions, and then the cluster with the largest number of samples can be selected as the final clustering result.
[0116] The first intention is any one of the intentions that appeared in time period 1 in the recent K weeks. That is to say, the clustering result of each intention that appeared in time period 1 in the recent K weeks can be obtained, and finally the clustering result of each intention that appeared in each time period in the recent K weeks can be obtained.
[0117] S6034. Determine the hit probability of each intention within each time period in the first historical period.
[0118] After obtaining the clustering results of the first intention in the recent K weeks within time period 1, the number of times the first intention appears in the cluster can be calculated. Furthermore, based on the number of times n1' of the first intention in the cluster and the total number of times m1' that all intentions appear within time period 1, the hit probability P1' of the first intention can be determined. Similarly, after obtaining the clustering results of the second intention in the recent K weeks within time period 1, the number of times n2' of the second intention in the cluster can be calculated, and based on the number of times n2' of the second intention in the cluster and the total number of times m1' that all intentions appear within time period 1, the hit probability P2' of the second intention can be determined. Thus, the hit probability of each intention within time period 1 in the recent K weeks can be obtained [{intention Figure 1 ,probability P1'}{intention Figure 2 ,probability P2'}...{intention f, P f '}].
[0119] Finally, the intention hit probability results for each time period in the recent K weeks can be obtained. Exemplarily, the intention hit probability results can be expressed as [{time period 1{intention Figure 1 , probability P1'}{intention Figure 2 , probability P2'}...{intention f, P f '}}, {the second time period{intention Figure 10 , probability P 10 '}{intention Figure 11 , probability P 11 '...{intention i, P i '}}, …]. It should be noted that intention Figure 1 , intention Figure 2 , intention Figure 10 only indicates that there is an intention, and does not represent the number and meaning of the intentions. Different time periods can have the same intention or different intentions. For example, intention Figure 1 and intention Figure 10 can be the same intention. When different time periods have the same intention, the probabilities corresponding to this intention are not necessarily equal. For example, intention Figure 1 and intention Figure 10 are the same intention, but the values of probability P1' and probability P 10 ' are different.
[0120] S6035. Determine the hit probability of each intention within each time period of the second historical period.
[0121] Referring to the above calculation process of the hit probability of each intention within each time period in the recent K weeks, the chips recommendation module can calculate the hit probability of each intention within each time period from the recent 2K weeks to the recent K weeks.
[0122] S6036. For the first intention within time period 1 of the first historical period, determine whether the first intention appears within time period 1 of the second historical period.
[0123] S6037, if a first intention appears in time period 1 from nearly 2K weeks to nearly K weeks, determine the weight of the first intention in time period 1 according to the probability of the first intention in time period 1 from nearly 2K weeks to nearly K weeks and the probability in time period 1 of nearly K weeks.
[0124] S6038, if the first intention does not appear in time period 1 of the second historical period, determine that the weight of the first intention in time period 1 is 1.
[0125] S6039, update the probability of the first intention in time period 1 according to the weight.
[0126] As time goes by, the user's intention may change. It is also possible that an intention that appears in a certain time period from nearly 2K weeks to nearly K weeks may not necessarily appear in the same time period of nearly K weeks. Therefore, in the embodiments of the present application, according to whether the same intention appears in the same time period of different cycles, the probability of each intention in each time period is updated.
[0127] Taking time period 1 as an example, for the first intention in the first time period of nearly K weeks, determine whether it also appears in time period 1 from nearly 2K weeks to nearly K weeks. If the first intention also appears in time period 1 from nearly 2K weeks to nearly K weeks, the weight A of the first intention in time period 1 can be determined according to the probability of the first intention in time period 1 from nearly 2K weeks to nearly K weeks (denoted as P c ) and the probability in time period 1 of nearly K weeks (denoted as P c ′), where A = (P c ˊ / P c ) * exp. exp is the function exp(x), representing the natural exponential function. That is to say, if an intention appears in the same time period of nearly K weeks and from nearly 2K weeks to nearly K weeks, the weight of this intention will increase. For example, if the song intention appears in time period 1 of nearly K weeks and also appears in time period 1 from nearly 2K weeks to nearly K weeks, it means that the user likes listening to songs very much in time period 1, and the weight of the song intention in time period 1 increases, and the probability of recommending the song intention in time period 1 will increase subsequently.
[0128] If the first intention does not appear in time period 1 from nearly 2K weeks to nearly K weeks, record the weight A of the first intention in time period 1 as 1, that is, A = 1. For the first intention in time period 1 of nearly K weeks, its updated probability is A * P c ′. Take the intention that appears in time period 1 of nearly K weeks as the intention that appears in subsequent time period 1.
[0129] Thus, the probability of each intention in time period 1 can be obtained. Similarly, the probability of each intention in other time periods can be obtained. Finally, the probability of each intention in each time period can be obtained.
[0130] It should be noted that the foregoing only updates the intention probability based on the two historical period ranges. In some implementation manners, the probability of each time period intention can be updated according to data of more historical periods, for example, by further combining data from the recent 3K weeks to the recent 2K weeks, and based on the time decay algorithm. In the embodiments of the present application, the intention probability is determined by clustering based on spatio-temporal semantics, and the intention probability is updated according to the behavior data of the user in different periods, which can improve the prediction accuracy of intention preferences.
[0131] S60310, sort the historical user intentions of each time period.
[0132] For time period 1, after updating the probability of each intention, sort the multiple intentions that appear in time period 1 from high to low according to the updated probability. The intention with a higher frequency is more in line with the user's expectation. Furthermore, the chips recommendation module can obtain the high-frequency historical user intentions of time period 1 based on the probability sorting result. Thus, the high-frequency historical user intentions of each time period can be obtained. Among them, the high-frequency historical user intentions can be the first few (top k ones) intentions, and top k is a positive integer, such as 1, 2, 3, etc.
[0133] The chips recommendation module can cache the historical user intentions of each time period to a specified address. After receiving the notification message that the YOYO assistant has been started, the chips recommendation module can obtain the high-frequency historical user intentions corresponding to the second time period from the specified address.
[0134] In another implementation manner, the chips recommendation module can calculate the high-frequency historical user intentions corresponding to the second time period in real time after receiving the notification message that the YOYO assistant has been started.
[0135] Similar to the foregoing Figure 7 shown content, after receiving the notification message that the YOYO assistant has been started, the chips recommendation module can obtain the historical user data of the second time period from the recent K weeks, the recent 2K weeks to the recent K weeks, perform clustering according to the historical user data of the second time period in the recent K weeks, and determine the probability of each intention in the second time period in the recent K weeks. And, based on the data from the recent 2K weeks to the recent K weeks, determine the probability of each intention in the second time period in the recent 2K weeks. For the same intention in the two historical periods, calculate its weight; for different intentions in the two historical periods, set the weight to 1; use the weight to update the probability of each intention in the second time period in the recent K weeks, and then sort the updated probabilities from high to low to determine the high-frequency historical user intentions corresponding to the second time period.
[0136] S604, The chips recommendation module determines the fourth recommended corpus based on the high-frequency historical user intents corresponding to the second time period.
[0137] S605, The chips recommendation module sends the fourth recommended corpus to the YOYO assistant.
[0138] S606, The YOYO assistant displays the fourth interface, and the fourth interface includes the fourth recommended corpus.
[0139] After determining the high-frequency historical user intents corresponding to the second time period, the chips recommendation module can generate some corpora associated with the high-frequency historical user intents based on one or more intents in the high-frequency historical user intents, that is, the fourth recommended corpus. For example, the chips recommendation module can call a large model through an interface and use the large model to generalize and generate corpora of intent-associated sentence patterns. Furthermore, the YOYO assistant displays the corpus associated with the high-frequency historical user intents, making the recommended corpus more in line with the user's usage preferences in the second time period.
[0140] The corpus generated by the chips recommendation module can include only intent information or can include both intent information and slot information. Among them, multiple slots are predefined under the high-frequency historical user intent. The slots in the corpus can be randomly determined from the multiple slots corresponding to the high-frequency historical user intent or can be determined according to historical user data.
[0141] Exemplarily, after generating the clustering results of each intent in the current second time period according to the historical user data of the current time period, for one intent, the slots included in the intent samples in the cluster can be counted. For example, the slots included in the food intent in the cluster can include brand, number of people, price, destination, cuisine, etc. When generating the recommended corpus of intent + slot type, slots can be selected from the slots in the cluster.
[0142] Furthermore, the chips recommendation module can also count the number / frequency of occurrences of each slot in an intent cluster. When generating the recommended corpus of intent + slot type, slots with a higher number / frequency of occurrences in the cluster can be preferentially recommended.
[0143] Exemplarily, referring to Figure 8 , the user wakes up the YOYO assistant between 11:00 and 13:00. The historical user intents of the current second time period from high to low in frequency are: food intent, song intent, news intent, video intent, weather intent. The chips recommendation module can preferentially select the food intent with the highest frequency to generate one or more corpora. Furthermore, the electronic device can display, for example, Figure 8In the interface 801 shown in (a), the recommended content 8011 is displayed in the interface 801. The corpus recommended by the recommended content 8011 may include corpus related to food intentions, such as "what to eat", "what is delicious", "I'm a little hungry", etc. In this example, the corpus recommended by the recommended content 8011 only expresses the intention.
[0144] For example, the slot frequencies in the cluster corresponding to the food intent are as follows from high to low: destination, brand, number of people, price, and cuisine. After waking up the YOYO assistant, the YOYO assistant can also display the following information: Figure 8 In the example shown in (b) of FIG, interface 802 displays recommended content 8021. Recommended content 8021 may include, for example, "What to eat," "What's good to eat nearby," or "Check out Haidilao." "What to eat" merely expresses an intention, while the slots in "Check out Haidilao" represent brands and "What's good to eat nearby" represent destinations.
[0145] For example, the chips recommendation module can also select several high-frequency intentions, such as food intention, song intention, and news intention, to generate multiple corpora. Then, after waking up the YOYO assistant, it can display the following information: Figure 8 In the interface 803 shown in (c) of FIG, recommended content 8031 is displayed in the interface 803. The recommended content 8031 may include, for example, "Where can I eat Xinjiang cuisine?", "Listen to a song?", "Hot news?", etc. It should be understood that each intent can generate one or more pieces of content. The figure only uses one piece of content as an example. In actual applications, users can swipe left or right to view more content.
[0146] In other implementations, in addition to generating high-frequency intent-related corpora, the chips recommendation module can also select pre-configured operational corpora based on high-frequency historical user intents. Taking food intent as an example, after waking up the YOYO assistant, it can display the following: Figure 9 In the interface 901 shown, in addition to displaying high-frequency intent-related corpus, such as "what to eat" and "what's delicious", the YOYO assistant can also display operational corpus, such as "taro balls and sago pudding".
[0147] In short, when waking up the YOYO assistant, you can determine the intentions that the user cares about more based on the intention preferences in the time period corresponding to the moment of waking up the YOYO assistant, and recommend some user-desired corpora to the user in a targeted manner.
[0148] After waking up the YOYO assistant, users can issue voice commands to interact with the YOYO assistant. In each round of interaction, different corpora can be recommended to users based on the intention / slot in the voice command issued by the user. Figure 10The embodiments of the present application provide a personalized recommendation method, which includes the following S1001-S1015.
[0149] S1001, the YOYO assistant detects a first instruction from the user for the YOYO assistant.
[0150] The first instruction can be a voice instruction spoken by the user or an instruction sent by the user clicking on the recommended corpus. It should be understood that when the electronic device receives the above-mentioned first instruction from the user, the electronic device is already in a working state, or the voice assistant function of the electronic device has been turned on, that is to say, the YOYO assistant of the electronic device has been awakened.
[0151] After the user wakes up the YOYO assistant, a first instruction can be sent to interact with the YOYO assistant. It can be a single-round interaction or multiple-round interactions can be carried out in a short period of time. During multiple rounds of conversations, the user can ask questions about the response made by the YOYO assistant to form the next round of conversation. After the YOYO assistant detects the first instruction, it records the moment when the first instruction is detected.
[0152] S1002, the YOYO assistant sends the first instruction to the semantic understanding module.
[0153] S1003, the semantic understanding module determines the current user intention and the current slot in the first instruction.
[0154] After the YOYO assistant detects the first instruction, it sends the first instruction to the semantic understanding module. After receiving the first instruction, the semantic understanding module performs text recognition on the first instruction to determine the current user intention and the current slot expressed in the first instruction. The recognition algorithm can be in ways such as using a rule module, a neural network, a statistical algorithm, etc., and the present application does not limit this.
[0155] S1004, the semantic understanding module sends the current user intention and the current slot to the chips recommendation module.
[0156] In a multi-round dialogue system, the user's intention and the provided slot values are the key factors driving the dialogue. The user's intention expresses the goal they want to achieve, while the provided slot values are the specific information required to achieve this goal. The action execution of the YOYO assistant is determined based on these intentions and slot values, so as to ensure that the dialogue can proceed as expected by the user.
[0157] S1005, the chips recommendation module determines whether the current user intention hits the high-frequency historical user intentions in the first time period. The first time period is the time period corresponding to the moment when the first instruction is detected.
[0158] Before receiving the first instruction, the chips recommendation module has been based on the foregoingFigure 7 The content shown sorts the historical user intents for each time period. After receiving the current user intent and the current slot, the chips recommendation module can obtain the high-frequency historical user intents for the first time period, determine whether the current user intent hits the high-frequency historical user intents. If it does not hit the high-frequency historical user intents, execute S1006 - S1008; if it hits the high-frequency historical user intents, execute S1009 - S1015.
[0159] Not hitting the high-frequency historical user intents means that the current user intent is different from all the high-frequency historical user intents. Hitting the high-frequency historical user intents means that the current user intent is the same as one of the high-frequency historical user intents.
[0160] For example, between 11:00 - 13:00, the high-frequency historical user intents are: food intent, song intent, news intent. If the user wakes up the YOYO assistant between 11:00 - 13:00 and issues the first instruction: "Is there anything interesting near Software Avenue?"; the intent expressed by the first instruction is the scenic spot intent, that is, the current user intent is the scenic spot, then the current user intent does not hit the high-frequency historical user intents. If the user wakes up the YOYO assistant between 11:00 - 13:00 and issues the first instruction: "I have a poor appetite. Please give me something appetizing."; the intent expressed by the first instruction is the food intent, that is, the current user intent is the food, then the current user intent hits the food intent among the high-frequency historical user intents.
[0161] S1006, if the current user intent does not hit the high-frequency historical user intents, the chips recommendation module uses the first strategy to generate the first recommended corpus.
[0162] The first strategy is to recommend the current user intent traction corpus, the high-frequency historical user intent associated corpus, and the operation corpus in order of priority.
[0163] The goal of the first strategy is to recommend the content that the user is most concerned about. When the current user intent does not hit the high-frequency historical user intents, the current intent is the content that the user is most concerned about. The chips recommendation module can first generate personalized corpus of the traction sentence type according to the current user intent and recommend one or more traction corpora of the current user intent. Traction is to guide the user by creating topics before it is determined what the user specifically wants to do, and at the same time to find and fill in the slot information in order to better understand the user's true intent. Specifically, there are many types of slots corresponding to the current user intent, and the chips recommendation module can use different slots and slot information for traction. In this way, the current user intent does not hit the high-frequency historical user intents, indicating that usually the user will perform event A at this time period, but now the user wants to perform thing B, and the YOYO assistant preferentially recommends corpus based on the current user intent to meet the current needs of the user.
[0164] Then, the high-frequency historical user intent is the content that the user is concerned about in the historical habits. Considering the user's habits, the chips recommendation module can also generate personalized corpus of high-frequency intent-related sentence patterns based on the high-frequency historical user intent, and recommend one or more high-frequency intent-related corpus to facilitate the user's use. At the end, one or more pre-configured operation corpus can also be recommended to provide diversified choices for the user. Among them, when the first instruction input by the user has very clear information, such as "set an alarm for 8 o'clock tomorrow morning", the YOYO assistant will execute the first instruction. At this time, the user has expressed a clear intent. When guessing what the user wants to do next and recommending corpus to the user, the keyword "tomorrow" can be selected according to the information of the first instruction, and then combined with tomorrow to select operation corpus, such as "tomorrow's weather", "tomorrow's temperature", etc.
[0165] S1007, the chips recommendation module sends the first recommended corpus to the YOYO assistant.
[0166] S1008, display the first interface. The first interface includes the first recommended corpus corresponding to the first strategy, and the corpus associated with the current user intent is preferentially recommended in the first recommended corpus.
[0167] Exemplarily, referring to Figure 11 , between 11:00 - 13:00, the high-frequency historical user intents are: food intent, song intent, news intent. As Figure 11 shown in (a) of Figure 11 , the user wakes up the YOYO assistant between 11:00 - 13:00 by the wake-up word "Hello YOYO". After that, the electronic device can display the interface 1101 as shown in (b) of
[0168] Then, as Figure 11 shown in (c) of Figure 11Interface 1102 is shown in (d) in the figure. Interface 1102 displays the response from the dialogue management module, such as "Where are you going?" After receiving the current user intent, the chips recommendation module determines that the current user intent does not match the high-frequency historical user intent, and thus generates a personalized recommendation corpus based on the first strategy. The slots under the attraction intent may include the attraction name, address, opening hours, ticket price, and transportation method, etc. Based on the intent + slot sentence structure, the chips recommendation module can generate traction sentence corpus related to the attraction intent, such as "Is there anything fun near Software Avenue" (here the location information of the electronic device is combined), "Recommend nearby attractions", "Free attractions", "Places that can be taken by subway", "Visit the park", etc. The chips recommendation module can also generate corpus related to food intent, such as "Where is there delicious food?" and "Have lunch first." The chips recommendation module can also select operational corpus, such as "Today's temperature", "What time is it now", etc. Furthermore, interface 1102 also displays the first recommended corpus generated according to the first strategy. In the figure, recommended content 1102a only shows two leading sentence corpora related to the scenic spot intention. The user can slide recommended content 1102a to the left to view more corpora. Corpora are displayed from left to right in descending order of priority.
[0169] The user can click on "Is there anything fun to do near Software Avenue" to have a continuous conversation. In response to the command input this time, YOYO Assistant will also answer questions based on the software. Figure 10 The embodiment shown determines the recommended corpus and displays the Figure 11 Interface 1103 is shown in (e) of the figure. In the continuous conversation, based on the user's command, a clear destination is parsed, indicating that the user wants to visit Software Avenue. Furthermore, based on the scenic spot intent and the destination slot, some lead corpus can be recommended, such as "take a taxi" and "how to get there."
[0170] S1009: If the current user intention hits the high-frequency historical user intention, determine whether the current slot hits the high-frequency historical slot.
[0171] Among them, after clustering an intent, one or more slots contained in the intent samples in the cluster can be counted, and then the historical slots corresponding to each intent in a certain time period can be determined. In addition, the number of times each slot appears in the cluster can be counted. According to the number of times each slot appears in the cluster and the total number of times all slots appear in the cluster, the frequency of each slot can be determined, and sorted from high to low according to frequency. Then, the high-frequency historical slots corresponding to a certain intent in a certain time period can be determined. The high-frequency historical slots can be the top few (top) in the sorting. s slots, top sis a positive integer, such as 1, 2, 3, etc.
[0172] If the current user intention hits a high-frequency historical user intention, it means that the user conducts regular intention Q&A in the current time period. The chips recommendation module can determine whether the current slot hits a high-frequency historical slot. If the current slot is different from all high-frequency historical slots, then the current slot does not hit the high-frequency historical slot, and S1010 - S1012 are executed; if the current slot is the same as one of the high-frequency historical slots, then the current slot hits the high-frequency historical slot, and S1003 - S1015 are executed.
[0173] Suppose the current user intention hits the highest-frequency historical user intention: food intention, and the high-frequency historical slot is the highest-frequency historical slot: destination. If the first instruction is "Where can I eat authentic Xinjiang cuisine", the slot corresponding to the first instruction is cuisine. Then the current slot does not hit the high-frequency historical slot. If the first instruction is "Where can I eat authentic Xinjiang cuisine in Nanjing", the slots corresponding to the first instruction are cuisine and destination. Then the current slot hits the high-frequency historical slot.
[0174] If the high-frequency historical slots are the highest-frequency historical slot (destination) and the second-highest-frequency historical slot (cuisine), and the first instruction is "Where can I eat authentic Xinjiang cuisine", then the current slot hits the high-frequency historical slot.
[0175] S1010, when the current slot does not hit the high-frequency historical slot, use the second strategy to generate the second recommended corpus.
[0176] When the current user intention hits a high-frequency historical user intention, the user habits can be obtained from the high-frequency historical user intention and its slots, that is, what the user often does under this intention. Furthermore, personalized corpus can be recommended according to the user habits. The second strategy is to recommend the corpus assembled by the high-frequency historical user intention and the high-frequency slot, the corpus led by the high-frequency historical user intention, and the random operation corpus of the high-frequency historical user intention in turn according to the priority.
[0177] Record the high-frequency historical user intention hit by the current user intention as intention Figure 1 , if the current slot does not hit the high-frequency historical slot, at this time, the user may not have expressed slot information. Then, next, what the user is most likely to express is still the content of the high-frequency historical slot. The chips recommendation module can first determine the slot that the user often uses under intention Figure 1 in the current first time period, generate the corpus assembled by intention Figure 1 and the high-frequency slot, and recommend one or more corpora assembled by intention Figure 1 and the high-frequency slot. Or the user has expressed clear slot information. Then, next, what the user is most concerned about may be the content of the high-frequency historical slot, or it may be other slots that fill in more information. The chips recommendation module can also generate according to intentionFigure 1 and other non-high-frequency slots below to generate high-frequency intent traction corpus, and recommend one or more Figure 1 traction corpus. Finally, one or more random operation corpus can also be recommended. Furthermore, the YOYO assistant displays the personalized corpus recommended by the chips recommendation module based on the second strategy. Figure 1
[0178] S1011, the chips recommendation module sends the second recommended corpus to the YOYO assistant.
[0179] S1012, display the second interface, and the second interface includes the second recommended corpus corresponding to the second strategy. In the second recommended corpus, the corpus associated with the historical high-frequency slots is preferentially recommended.
[0180] Exemplarily, referring to Figure 12 , between 11:00 - 13:00, the high-frequency historical user intents are: food intent, song intent, news intent. As Figure 12 shown in (a) of Figure 12 , when the display interface 101 is shown, the user can click on the YOYO assistant 1012. In response to the user's click operation, the electronic device starts the YOYO assistant and can display the interface 1201 as shown in (b) of
[0181] . In the recommended content 1201a at the bottom of the interface 1201, the corpus associated with the high-frequency historical user intents is shown. For example, "Haidilao double-person meal", "Play a song", "International news". Figure 12 If the user wants to listen to a song at this time, the user can click on "Play a song". At this time, the first instruction ("Play a song") only expresses the intent and does not express the slot. In response to the user's operation, the chips recommendation module can determine that the current slot does not hit the high-frequency historical slot. Considering that the user has a high probability of using the high-frequency historical slot in the current time period and current intent, the chips recommendation module preferentially recommends the corpus assembled from the song intent and the high-frequency slot. For example, the high-frequency historical slots corresponding to the song intent are release time and singer. The chips recommendation module can generate the corpus of song intent + release time, such as "Songs loved by people born in the 80s", "Golden songs of the 1990s", etc., and the corpus of song intent + singer, such as "Mainland singers", etc. The slots under the song intent can also include song name, song style, region, etc. The chips recommendation module can also generate traction corpus, such as the corpus based on the region slot "Play some European and American songs", the corpus based on the song style "Listen to some soothing songs", "Rap", etc. The chips recommendation module sends the personalized corpus to the YOYO assistant for display. Thus, the electronic device can display the interface 1202 as shown in (c) of
[0182] S1013, when the current slot hits a high-frequency historical slot, use the third strategy to generate the third recommended corpus.
[0183] S1014, the chips recommendation module sends the third recommended corpus to the YOYO assistant.
[0184] S1015, the YOYO assistant displays the third interface, which includes the third recommended corpus. Among the third recommended corpus, the corpus associated with other slots in the historical slots except the hit slot is preferentially recommended.
[0185] If the current slot hits a high-frequency historical slot, record the hit high-frequency historical slot as the first slot, and the other slots in the high-frequency historical slots as the second slot. For example, if the highest-frequency historical slot is hit, the second slot is the second-highest-frequency historical slot sorted by frequency. Another example is that if the second-highest-frequency historical slot is hit, then the second slot is the highest-frequency historical slot.
[0186] The third strategy is to recommend in sequence the corpus assembled by the high-frequency historical user intention + the second slot, the traction corpus of other slots under the high-frequency historical user intention, and the random operation corpus.
[0187] If the current user intention hits a high-frequency historical user intention (denoted as intention Figure 1 ), and the current slot hits a high-frequency historical slot, it means that the user is conducting a regular intention deterministic scenario Q&A in the current time period. What the user wants to do is very clear, and there is a high probability that the user will do the thing corresponding to the second slot. At this time, the chips recommendation module can preferentially generate the corpus of the assembled sentence pattern according to the second slot under intention Figure 1 and intention Figure 1 . Then, generate one or more traction corpora according to the non-high-frequency slots of intention Figure 1 and recommend them to the user so that the user can do other things. If the user's instruction is already very clear, the corpus under other high-frequency intentions or the operation corpus can be recommended again.
[0188] Exemplarily, referring to Figure 13 , between 11:00 and 13:00, the high-frequency historical user intentions are: food intention, song intention, news intention. As shown in (a) of Figure 13 , when the display interface 101 is shown, the user can click on the YOYO assistant 1012. In response to the user's click operation, the electronic device starts the YOYO assistant and can display the interface 1301 as shown in (b) of Figure 13 . The recommended content 1301a at the bottom of the interface 1301 shows the corpus associated with the high-frequency historical user intention. For example, "Haidilao double-person meal", "Songs loved by people born in the 1980s", "International news". Among them, the high-frequency historical slots corresponding to the song intention are the release time and the singer.
[0189] At this time, the user wants to listen to music. The user can click on "Songs Loved by People Born in the 1980s". At this time, the slot expressed by the first instruction ("Songs Loved by People Born in the 1980s") is: release time. In response to the user's operation, the chips recommendation module can determine that the current slot hits the high-frequency historical slot, and then generate the corpus of song intent + singer, such as "Mainland singers", "Chinese female singers", "Chinese male singers", and so on. To provide more personalized options, the chips recommendation module can also generate the traction sentence corpus under the song intent, such as "Listen to soothing songs", "Change to a group", and so on. The chips recommendation module sends the personalized corpus to the YOYO assistant for display. Thus, the electronic device can display the interface 1302 as shown in (c) of Figure 13 . The recommended content 1302a in the interface 1302 displays the personalized corpus.
[0190] In short, during the dialogue interaction process, the YOYO assistant can, according to the user's intention preferences, adopt the method of intent + slot hit, and use different strategies to recommend the corpus for the user. It can make precise recommendations in combination with the user's input content, so as to more pertinently recommend the expected corpus for the user and achieve a more intelligent human-computer interaction.
[0191] In summary, in the cold start scenario of the YOYO assistant and the in-interaction scenario of the YOYO assistant, through the method provided by the embodiments of the present application, the corpus that the user wants to search for can be more accurately recommended for the user, realizing personalized recommendation. Thus, it helps the user complete what they want to do with the voice assistant, enables the user to use the voice assistant more conveniently, and improves the user experience.
[0192] Figure 14 It is a schematic structural diagram of a personalized recommendation device provided by an embodiment of the present application. The personalized recommendation device may be the electronic device in the embodiment of the present application, or a chip or a chip system in the electronic device. As Figure 14 shown, the personalized recommendation device 1400 may include: a processing unit 1401. Among them, the processing unit 1401 is used to support the personalized recommendation device 1400 to execute the above-mentioned processing steps.
[0193] In one implementation, the personalized recommendation device 1400 further includes a storage unit 1402. The storage unit 1402 and the processing unit 1401 are connected by a line. The storage unit 1402 may include one or more memories, and the memory may be a device or a component in a circuit for storing programs or data. The storage unit 1402 may exist independently and be connected to the processing unit 1401 through a communication bus. The storage unit 1402 may also be integrated with the processing unit 1401.
[0194] The storage unit 1402 can store computer-executable instructions of the methods in the electronic device, so that the processing unit 1401 executes the methods in the above embodiments. The storage unit 1402 can be a register, a cache, or a random access memory (RAM), etc., or a read-only memory (ROM) or other types of static storage devices that can store static information and instructions.
[0195] Figure 15 FIG. is a schematic structural diagram of a chip provided by an embodiment of the present application. As Figure 15 shown, the chip 1500 includes one or more than two (including two) processors 1501, a communication line 1502, and a communication interface 1503. Optionally, the chip 1500 further includes a memory 1504.
[0196] In some embodiments, the memory 1504 stores the following elements: executable modules or data structures, or subsets thereof, or extended sets thereof.
[0197] The methods described in the embodiments of the present application above can be applied to the processor 1501 or implemented by the processor 1501. The processor 1501 may be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the above methods can be completed by the integrated logic circuit in the hardware of the processor 1501 or instructions in software form. The above-mentioned processor 1501 may be a general-purpose processor (e.g., a microprocessor or a conventional processor), a digital signal processor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gates, transistor logic devices, or discrete hardware components. The processor 1501 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application.
[0198] The steps of the methods disclosed in combination with the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. Among them, the software module can be located in a mature storage medium in the art such as a random access memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable read-only memory (EEPROM). This storage medium is located in the memory 1504, and the processor 1501 reads the information in the memory 1504 and combines its hardware to complete the steps of the above methods.
[0199] Communication can be carried out among the processor 1501, the memory 1504, and the communication interface 1503 via the communication line 1502.
[0200] In the above embodiments, the instructions stored in the memory for the processor to execute can be implemented in the form of a computer program product. Among them, the computer program product can be pre-written in the memory or downloaded and installed in the memory in the form of software.
[0201] The embodiments of the present application further provide a computer program product, which includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to 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 a website, a computer, a server, or a data center to another website, a computer, a server, or a data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or a data center that includes one or more integrated available media. For example, the available medium can include magnetic media (such as floppy disks, hard disks, or magnetic tapes), optical media (such as digital versatile discs (DVDs)), or semiconductor media (such as solid-state disks (SSDs)).
[0202] The embodiments of the present application provide an electronic device, which includes a processor and a memory. The memory is used to store a computer program, and the processor is used to execute the computer program to perform the above method.
[0203] The embodiments of the present application provide a chip. The chip includes a processor, and the processor is used to call the computer program in the memory to execute the technical solutions in the above embodiments. The implementation principle and technical effects are similar to those of the above related embodiments and will not be elaborated here.
[0204] In the embodiments provided in the present application, it should be understood that the disclosed device / electronic device and method can be implemented in other ways. For example, the device / electronic device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. 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 coupling or direct coupling or communication connection between each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms. In addition, in each embodiment of the present application, each functional unit 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. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0205] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned various method embodiments can be implemented. The computer-readable storage medium stores a computer program or instruction. When the computer program or instruction is executed by a processor, the above method is implemented. The methods described in the above embodiments can be implemented in whole or in part by software, hardware, firmware or any combination thereof. If implemented in software, the functions can be stored as one or more instructions or codes on a computer-readable medium or transmitted on a computer-readable medium. The computer-readable medium can include a computer storage medium and a communication medium, and can also include any medium that can transmit a computer program from one place to another. The storage medium can be any target medium accessible by a computer.
[0206] As a possible design, a computer-readable medium may include a compact disc read-only memory (CD-ROM), RAM, ROM, EEPROM, or other optical disc storage; the computer-readable medium may include magnetic disk storage or other magnetic disk storage devices. Moreover, any connecting wire may also be properly referred to as a computer-readable medium. For example, if software is transmitted using coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave from a website, server, or other remote source, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. As used herein, magnetic disks and optical discs include optical discs (CDs), laser discs, optical discs, DVDs, floppy disks, and Blu-ray discs, where magnetic disks typically reproduce data magnetically, while optical discs utilize lasers to optically reproduce data. Combinations of the above should also be included within the scope of computer-readable media.
[0207] Embodiments of the present application are described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, such that the instructions executed by the processing unit of the computer or other programmable data processing device generate means for implementing the functions specified in Figure 1 one or more of the flows Figure 1 or multiple flows and / or blocks
[0208] In the above description, specific details such as specific system architectures and technologies are presented for the purpose of illustration rather than limitation, in order to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, apparatuses, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.
[0209] It should be understood that when used in the specification and claims of the present application, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.
[0210] It should also be understood that in the description of this application, unless otherwise specified, " / " means "or". For example, A / B can mean A or B; "and / or" in this text is merely a description of the association relationship between associated objects, referring to any combination and all possible combinations of one or more of the items listed in the association, and including these combinations. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone, these three situations.
[0211] As used in the specification of this application and the appended claims, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" depending on the context. Similarly, the phrase "if determined" or "if [the described condition or event] is detected" can be interpreted as meaning "once determined", "in response to determining", "once [the described condition or event] is detected", or "in response to detecting [the described condition or event]" depending on the context.
[0212] The reference to "one embodiment" or "some embodiments" etc. described in the specification of this application means that a specific feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of this application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in another way. The terms "comprising", "including", "having", and their variants all mean "including but not limited to", unless otherwise specifically emphasized in another way.
[0213] The above-described embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements 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 personalized recommendation method, characterized in that, The method is applied to an electronic device installed with a voice assistant, and the method includes: After starting the voice assistant, detecting a first instruction from the user for the voice assistant; Determining a current user intention and a current slot corresponding to the first instruction; Determining a historical user intention and a historical slot corresponding to a first time period, where the first time period is the time period corresponding to the moment when the first instruction is detected; When the current user intention does not match the historical user intention, displaying a first interface, where the first interface includes a first recommended corpus corresponding to a first policy, and in the first recommended corpus, the corpus associated with the current user intention is preferentially recommended; When the current user intention matches the historical user intention, recommending a corpus according to the historical user intention and the historical slot.
2. The method according to claim 1, wherein The step of, when the current user intention matches the historical user intention, recommending a corpus according to the historical user intention and the historical slot includes: When the current user intention matches the historical user intention and the current slot does not match the historical slot, displaying a second interface, where the second interface includes a second recommended corpus corresponding to a second policy, and in the second recommended corpus, the corpus associated with the historical slot is preferentially recommended; When the current user intention matches the historical user intention and the current slot matches the historical slot, displaying a third interface, where the third interface includes a third recommended corpus corresponding to a third policy, and in the third recommended corpus, the corpus associated with the other slots in the historical slot except the matched slot is preferentially recommended.
3. The method according to claim 1 or 2, characterized in that Before detecting a first instruction from the user for the voice assistant after starting the voice assistant, the method further includes: Determining a historical user intention corresponding to a second time period, where the second time period is the time period corresponding to the moment when the voice assistant is started; Displaying a fourth interface, where the fourth interface includes a fourth recommended corpus, and in the fourth recommended corpus, the corpus associated with the historical user intention corresponding to the second time period is preferentially recommended.
4. The method according to any one of claims 1 to 3, characterized in that, Determining the historical user intention corresponding to the first time period includes: For the first time period, obtaining user data of the voice assistant in a first historical period and a second historical period; According to the user data in the first historical period and the second historical period, determining the probability of each intention that appears within the first time period; According to the probability of each intention that appears within the first time period, determining the historical user intention corresponding to the first time period.
5. The method according to claim 4, wherein According to the probability of each intention that appears within the first time period, determining the historical user intention corresponding to the first time period includes: Sorting in descending order of probability and selecting the top N intentions in the sorting as the historical user intentions within the first time period, where N is a positive integer.
6. The method according to claim 4 or 5, characterized in that, The step of determining the probability of each intention that appears within the first time period includes: For the first time period, according to the user data in the first historical period, determining a plurality of user intentions in the first historical period and the probability of each user intention; Determine multiple user intents in the second historical period and the probability of each user intent according to the user data in the second historical period; Determine the weights of multiple user intents in the first historical period. For the same intent among the multiple user intents in the second historical period and the multiple user intents in the first historical period, determine the weight of the same intent in the first time period according to the probability of the same intent in the first historical period and the probability in the second historical period. The weight is greater than 1 and greater than the weights of the different intents among the multiple user intents in the second historical period and the multiple user intents in the first historical period; Determine the probability of each intent that appears in the first time period according to the probability of each user intent in the first historical period and the weights of the multiple user intents in the first historical period.
7. The method according to any one of claims 1 to 6, characterized in that The first recommended corpus further includes the corpus associated with the historical user intent.
8. The method according to any one of claims 2 to 6, characterized in that, The second recommended corpus further includes the corpus corresponding to other slots except the historical slot among the hit historical user intents.
9. The method according to any one of claims 2 to 6, characterized in that, The third recommended corpus further includes the corpus corresponding to other slots except the historical slot among the hit historical user intents.
10. An electronic device, characterized in that, Comprising: One or more processors; one or more memories; The memory stores one or more programs, and when the one or more programs are executed by the processor, the electronic device executes the method according to any one of claims 1 to 9.
11. A computer-readable storage medium, characterized in that, Instructions are stored in the computer-readable storage medium, and when it runs on a computer, the computer executes the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Data search processing method and device
CN104778176A
User intention identification method and apparatus, electronic device and storage medium
CN108230007A
Conversation generation method and device and electronic equipment
CN111737444A
Voice control method and device
CN113129887A
Information recommendation method and related equipment
CN113434643A