A service starting method based on user intention, an electronic device, and a medium
By analyzing user intent and historical service sequences, assessing user preferences, and selecting appropriate target services, the problem of intelligent assistant applications failing to meet personalized needs is solved, achieving more efficient and accurate service initiation.
Patent Information
- Application Number
- CN202411698039.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2044-11-22
AI Technical Summary
Current smart assistant applications cannot meet users' personalized service needs, nor can they effectively select appropriate services to achieve user intent.
By analyzing user input, the system determines user intent and, based on historical service sequences and user preferences, selects a target service that matches the user intent, including an assessment of priority and preference levels, to activate the target service.
It improved user satisfaction, met users' personalized needs, and increased the efficiency and accuracy of service selection.
Smart Images

Figure CN120416378B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to a service initiation method, electronic device and medium based on user intent. Background Technology
[0002] With the development of artificial intelligence technology, intelligent assistant applications are widely used in daily life, providing users with convenient services such as information retrieval and task management through technologies like speech recognition and natural language processing. However, in practical applications, due to the inherent limitations of intelligent assistant applications, they often need to activate other services to meet user needs. Yet, the services activated by current intelligent assistant applications cannot satisfy users' personalized requirements. Summary of the Invention
[0003] This application provides a service initiation method, electronic device, and medium based on user intent to solve the technical problem that services initiated by current smart assistant applications cannot meet users' personalized needs.
[0004] To achieve the above objectives, in a first aspect, embodiments of this application provide a service initiation method based on user intent, the method comprising:
[0005] Based on the first information input by the user into the intelligent assistant application, determine the user intent; obtain a first historical service sequence corresponding to the user intent, the first historical service sequence including multiple historical services that have been enabled; determine at least one target historical service among the multiple historical services, the target historical service including historical services that have been enabled by the intelligent assistant application and correspond to the user intent; based on the service duration of any target historical service and the total duration of the multiple historical services, determine the target service that matches the user intent among the at least one target historical service; and start the target service in the intelligent assistant application.
[0006] The service initiation method based on user intent illustrated in this application involves the intelligent assistant application parsing first information after the user inputs it into the intelligent assistant application to determine the user's intent. Then, it analyzes the target historical services in the first historical service sequence corresponding to the user intent, identifies services the user previously preferred based on historical behavior, and uses these as the target service. Finally, the target service can be initiated in the intelligent assistant to fulfill the user's intent. In this way, in addition to fulfilling the user's intent, it also considers the user's preferences for different services to select the user's preferred service, which helps meet the user's personalized needs and improve user satisfaction.
[0007] In one implementation, based on the service duration of any target historical service and the total service duration of multiple historical services, a target service matching the user's intent is determined from at least one target historical service. This includes: determining a first service set and a second service set based on the priority of each target historical service. The first service set includes at least one first target historical service determined from at least one target historical service, and the second service set includes at least one second target historical service determined from at least one target historical service, wherein the priority of the first target historical service is higher than the priority of the second target historical service; when there are multiple first historical service sequences, for each first historical service sequence, the user preference level corresponding to the second service set in the first historical service sequence is determined based on the ratio between the service duration of any target historical service and the total service duration of multiple historical services; if the average user preference level in multiple first historical service sequences is greater than a preset preference level threshold, each second target historical service in the second service set is determined as a target service; if the average user preference level in multiple first historical service sequences is less than or equal to the preference level threshold, each first target historical service in the first service set is determined as a target service. Using this implementation, a first service set and a second service set can be divided based on target historical services. In this way, it is possible to determine whether a user prefers the second service set based on the degree of user preference, and then determine whether to use the first target historical service in the first service set or the second target historical service in the second service set as the target service based on the determination result. There is no need to judge the degree of user preference for each target historical service separately, thus improving the efficiency of determining the target service.
[0008] In one implementation, the degree of user preference for the second service set in the first historical service sequence is determined based on the ratio between the service duration of any target historical service and the total service duration of multiple historical services. This includes: determining a baseline preference degree based on a first ratio between the first service duration of the first target historical service and the total service duration; wherein the baseline preference degree is negatively correlated with the first ratio; and determining the degree of user preference for the second service set based on a second ratio between the second service duration of the second target historical service and the total service duration, and the baseline preference degree; wherein the degree of user preference is positively correlated with the second ratio. Using this implementation, the baseline preference degree is obtained by evaluating the user's preference for the first service set. This provides a unified evaluation standard, and by evaluating the user preference for the second service set based on the service duration, a more objective evaluation result can be obtained.
[0009] In one implementation, the degree of user preference for the associated service set in the first historical service sequence is determined based on the ratio between the service duration of any target historical service and the total service duration of multiple historical services. This includes: determining the attenuation degree of the target historical service relative to the reference position based on the distance between the target position and the reference position of the target historical service in the first historical service sequence; wherein multiple historical services are arranged in the first historical service sequence in order of their activation time, and the reference position is the first position in the first historical service sequence; and determining the degree of user preference based on the product of the attenuation degree and the ratio. This implementation, by introducing a ratio, considers the time spent by the user in the target historical service; and by introducing an attenuation degree, considers the activation order of the target historical service among multiple historical services. Therefore, by comprehensively analyzing the ratio and the attenuation degree, the degree of user preference for the target service can be evaluated from two different perspectives, resulting in a more accurate calculation result.
[0010] In one implementation, the degree of user preference is determined based on the product of attenuation and ratio. This includes: determining a baseline preference degree based on the first product of a first attenuation and a first ratio of a first target historical service for a reference location; and determining the user preference degree based on the second product of a second attenuation and a second ratio of a second target historical service for a reference location, and the baseline preference degree. Using this implementation, the user's preference degree for the first service set is evaluated from two perspectives: service duration and service activation order, resulting in a baseline preference degree. Then, based on the baseline preference degree, the user preference degree for the second service set is evaluated from the perspectives of service duration and service activation order, yielding a more comprehensive and accurate evaluation result.
[0011] In one implementation, determining the degree of user preference based on the product of attenuation and ratio further includes: determining a normalization coefficient based on the product of multiple target historical services; and normalizing each product based on the normalization coefficient. This implementation allows all products to be converted to a uniform scale using normalization methods, facilitating further analysis based on the products.
[0012] In one implementation, before determining each second target historical service in the second service set as the target service when the average user preference level in multiple first historical service sequences exceeds a preset preference level threshold, the method further includes: determining the consistency of preference levels among multiple first historical service sequences based on the user preference levels in each first historical service sequence; and determining each first target historical service in the first service set as the target service when the preference level consistency does not meet a preset consistency constraint. Using this implementation, by analyzing the consistency of preference levels, it can be determined whether there is a certain pattern in the user preferences reflected by multiple first historical service sequences. If the preference level consistency constraint is not met, the first target historical service is directly determined as the target service. Thus, when the user has no obvious preference, the first target historical service with higher priority can continue to be used as the target service, without further determining whether the user prefers the second target historical service, reducing unnecessary calculation steps and improving the efficiency of target service determination.
[0013] In one implementation, the consistency of preference levels among multiple historical service sequences is determined based on the user preference levels in each first historical service sequence. This includes: determining the mean and standard deviation of user preference levels among multiple first historical service sequences based on the user preference levels in each first historical service sequence; and determining the consistency of preference levels based on the mean and standard deviation of user preference levels. Using this implementation, by analyzing the magnitude of the standard deviation and mean of user preference levels, the volatility of user preference levels among multiple first historical service sequences can be obtained, thus intuitively determining whether there is consistency among user preference levels.
[0014] In one implementation, before determining each second target historical service in the second service set as a target service when the average user preference level in multiple first historical service sequences is greater than a preset preference level threshold, the method further includes: determining a first historical service sequence that simultaneously includes any second target historical service in the second service set and any first target historical service in the first service set as a supporting sequence corresponding to the second service set; determining the support level of the second service set based on the ratio of the number of supporting sequences to the total number of first historical service sequences; and determining each first target historical service in the first service set as a target service when the support level is less than a preset support level threshold. Using this implementation, if the support level of the second service set is low, it can be assumed that the user has rarely used the second target historical service. In this case, directly determining the first target historical service as the target service without further calculating the user's preference level for the second target historical service simplifies unnecessary calculation steps and improves the efficiency of target service determination.
[0015] In one implementation, obtaining the first historical service sequence corresponding to the user's intent includes: determining at least one breakpoint in a second historical service sequence corresponding to a preset time period; wherein the second historical service sequence includes multiple services that have been activated within the preset time period, and the multiple services are arranged in the second historical service sequence in chronological order of their activation time; segmenting the second historical service sequence according to the breakpoint to obtain multiple segmented service sequences; and determining at least one first historical service sequence from the multiple segmented service sequences. By using this implementation, which segments the second historical service sequence into multiple segmented service sequences to obtain the first historical service sequence, it can be guaranteed that the first historical service sequence is the historical service sequence corresponding to the user's intent and does not include other services that affect the calculation results. Therefore, using the segmented first historical service sequence to analyze the user's preferences for each historical service based on the user's intent is beneficial for determining the user's preferred target service.
[0016] In one implementation, determining at least one breakpoint in the second historical service sequence corresponding to a preset time period includes: determining the breakpoint based on a first position between two adjacent services in the second historical service sequence, where adjacent services respond to different intents. This implementation segments the second historical service sequence at the first position where the user intent changes. Thus, each segmented service sequence responds to one intent, which helps to select the segmented service sequence that responds to the user intent corresponding to the first information as the first historical service sequence, avoiding interference from historical services responding to other intents in determining the target service.
[0017] In one implementation, determining at least one breakpoint in the second historical service sequence corresponding to a preset time period further includes: determining the breakpoint in the second historical service sequence based on a second position of the change in the interaction state between the intelligent assistant application and the first target historical service; and / or, determining the breakpoint in the second historical service sequence based on a third position of the termination of the process corresponding to the intelligent assistant service. This implementation segments the second historical service sequence at the second position of the change in the interaction state between the intelligent assistant application and the first target historical service. This ensures that the interaction state remains unchanged in each service sequence, meaning each service sequence responds to a single user intent. This facilitates the analysis of single user intents and avoids mixing historical services corresponding to multiple user intents, thus improving the accuracy of identifying the target service based on user intents. Furthermore, this implementation segments the second historical service sequence at the third position of the termination of the process corresponding to the intelligent assistant service. This avoids analyzing situations where the intelligent assistant application has stopped, thus reducing unnecessary computation and improving computational efficiency.
[0018] In one implementation, after determining at least one first historical service sequence, the method further includes: determining a sequence to be segmented from multiple first historical service sequences based on the sequence duration of each first historical service sequence; and segmenting the sequence to be segmented to obtain a new first historical service sequence. This implementation, by segmenting first historical service sequences with longer durations, avoids introducing unreasonable sequence durations that could affect the determination of the target service in subsequent steps. Therefore, it improves the accuracy of the calculation results and yields a target service that better suits user preferences.
[0019] In one implementation, based on the duration of each first historical service sequence, a sequence to be segmented is determined from multiple first historical service sequences. This includes: determining the average duration of the durations of the multiple first historical service sequences; and, if the average duration is greater than a preset duration threshold, identifying the first historical service sequence whose duration is greater than the threshold as the sequence to be segmented. Using this implementation, if the average duration of a sequence is greater than the preset duration threshold, it can be considered that there are first historical service sequences with unreasonable durations that would affect the accuracy of the calculation results. Screening these first historical service sequences and then segmenting them helps improve the accuracy of the calculation results.
[0020] In one implementation, segmenting the sequence to be segmented includes: determining the fourth position, based on a time duration threshold between the first and second ends of the sequence and the first proposed segmentation position; identifying two adjacent proposed segmentation services in the sequence based on the distance between each historical service and the first proposed segmentation position; determining the fifth position between the two proposed segmentation services as the second proposed segmentation position; and segmenting the sequence according to the second proposed segmentation position. This implementation determines the first proposed segmentation position based on a time duration threshold, and considering the possibility that the first proposed segmentation position falls within the time window of a historical service, further determines the second proposed segmentation position based on the first proposed segmentation position. Finally, using the second proposed segmentation position, the first historical service sequence with a longer duration is segmented into a new first historical service sequence with a shorter duration. This achieves the segmentation of the first historical service sequence while avoiding dividing a historical service's time window into two segments.
[0021] In one implementation, after identifying a target service matching the user's intent from at least one target historical service, the method further includes: updating the service configuration corresponding to the user's intent based on the target service, and in response to second information input by the user to the intelligent assistant application corresponding to the user's intent, enabling the target service matching the user's intent based on the service configuration. This implementation updates the service configuration after identifying the target service and directly enables the target service based on the service configuration upon receiving the second information. This eliminates the need to re-determine the target service through calculation, allowing for rapid identification and activation of the target service, thus improving the response speed to the second information.
[0022] In one implementation, updating the service configuration corresponding to the user's intent based on the target service includes: when the hosting device of the smart assistant application is idle, updating the priority of each pre-configured service in the service configuration according to the target service. By using this implementation, performing operations such as determining the target service and updating the service configuration when the hosting device of the smart assistant application is idle can avoid consuming computing resources when the hosting device is working, which could cause the smart application assistant or the hosting device to lag and affect the user experience.
[0023] In one implementation, the priorities of each pre-configured service in the service configuration are updated according to the target service. This includes: updating the priority of the target service to the first priority in the service configuration; and updating the priorities of other pre-configured services besides the target service to the second priority, where the first priority is higher than the second priority. Using this implementation, the target service, which has a higher user preference, is updated to a higher priority, while other pre-configured services are updated to a lower priority. Thus, when enabling services corresponding to the user's intent based on the priorities of the pre-configured services in the service configuration, the services that the user prefers can be enabled first, thereby meeting the user's personalized needs.
[0024] In one implementation, after enabling the target service matching the user's intent, the method further includes: responding to third information input by the user to the intelligent assistant application corresponding to the user's intent, and enabling an alternative service matching the user's intent based on service configuration, wherein the priority of the alternative service is no higher than the priority of the target service. Using this implementation, if the user is dissatisfied with the target service and inputs third information after enabling the target service based on the user's first or second input, a relatively lower-priority alternative service can be enabled, allowing for timely switching from the target service to the alternative service. This improves the flexibility of service activation based on user intent, meeting different user scenarios and needs.
[0025] Secondly, this application also provides an electronic device, including a memory and a processor; the memory and the processor are coupled; wherein the memory is used to store computer program code, the computer program code including computer instructions, and when the processor executes the computer instructions, it causes the electronic device to perform the service initiation method based on user intent as described in the first aspect and any implementation thereof.
[0026] Thirdly, this application also provides a chip system, which includes a processor; the processor is coupled to a memory for storing computer program code, the computer program code including computer instructions, and when the processor executes the computer instructions, the user intent-based service initiation method in the first aspect and any implementation thereof is executed.
[0027] Fourthly, this application also provides a computer-readable storage medium storing a computer program or instructions that, when executed on a computer, cause the computer to perform the user intent-based service initiation method as described in the first aspect and any of its implementations above.
[0028] Fifthly, this application also provides a computer program product, which includes: a computer program or instructions that, when run on a computer, cause the computer to execute the user intent-based service initiation method as described in the first aspect and any implementation thereof.
[0029] Understandably, the beneficial effects that the technical solutions provided in the second to fifth aspects described above can be achieved by referring to the beneficial effects of the first aspect and any of its optional implementation methods, which will not be repeated here. Attached Figure Description
[0030] To more clearly illustrate the technical solution of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0031] Figure 1 This is a diagram illustrating how a smart assistant application provides services to users.
[0032] Figure 2 This is a diagram illustrating how a service can be enabled to fulfill a user's intent.
[0033] Figure 3 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application.
[0034] Figure 4 This is a schematic diagram of the software structure of the electronic device provided in the embodiments of this application.
[0035] Figure 5 This is the first flowchart of the service initiation method based on user intent provided in the embodiments of this application.
[0036] Figure 6 This is a schematic diagram of a smart assistant application receiving first information input in text form, as provided in an embodiment of this application.
[0037] Figure 7 This is a schematic diagram of a smart assistant application receiving first information input in the form of voice, as provided in an embodiment of this application.
[0038] Figure 8 This is a schematic diagram of a breakpoint provided in an embodiment of this application.
[0039] Figure 9 This is a schematic diagram of a second historical service sequence B2 provided in an embodiment of this application.
[0040] Figure 10 This is a schematic diagram illustrating the determination of breakpoints in the second historical service sequence B2 provided in an embodiment of this application.
[0041] Figure 11 This is a schematic diagram of another second historical service sequence B3 provided in the embodiments of this application.
[0042] Figure 12 This is a schematic diagram illustrating the determination of a breakpoint in the second historical service sequence B3, provided in an embodiment of this application.
[0043] Figure 13 This is a schematic diagram of the segmentation of a sequence to be segmented according to an embodiment of this application.
[0044] Figure 14 This is the second flowchart of the service initiation method based on user intent provided in the embodiments of this application.
[0045] Figure 15 This is a schematic diagram illustrating the distance calculation between a target location and a reference location provided in an embodiment of this application.
[0046] Figure 16 This is the third flowchart of the service initiation method based on user intent provided in the embodiments of this application.
[0047] Figure 17 This is a schematic diagram of a process for determining a target service based on user intent, provided in an embodiment of this application.
[0048] Figure 18 This is a schematic diagram of a service initiation device based on user intent provided in an embodiment of this application. Detailed Implementation
[0049] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. Other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are all within the protection scope of this application.
[0050] In the following description, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0051] Furthermore, in this application, directional terms such as "upper," "lower," "inner," and "outer" are defined relative to the indicated placement of the components in the accompanying drawings. It should be understood that these directional terms are relative concepts, used for relative description and clarification, and can change accordingly depending on the placement of the components in the accompanying drawings.
[0052] The application scenarios of the embodiments of this application will be described below with reference to the accompanying drawings.
[0053] With the development of artificial intelligence technology, intelligent assistant applications are widely used in daily life. These applications can be installed on electronic devices such as mobile phones and computers. When they receive dialogue input from users via voice, text, or other means, they analyze the content of the dialogue, determine the user's intent, and then provide services that meet that intent.
[0054] Figure 1 This is a diagram illustrating how a smart assistant application provides services to users.
[0055] like Figure 1 As shown, the smart assistant application of the electronic device receives the user's input information "Set alarm for 6:00 tomorrow morning". The smart assistant application can parse the user's input information to obtain the user's intention "Set alarm". Based on the user's intention, it sets the alarm for the user and displays the setting result "Alarm has been set for 6:00 tomorrow morning" in the interface of the smart assistant application.
[0056] In practical applications, due to the inherent limitations of smart assistant applications, it is often necessary to enable other services to meet user needs. For example, in the aforementioned scenario of "setting an alarm," the smart assistant application can enable an alarm clock service to complete the alarm setting. It should be noted that in this application, "application" refers to application software installed on an electronic device, which can be launched and used by clicking an icon, etc. "Service" refers to the way the smart assistant application presents information to the user, which can be enabled by launching a process, calling an interface, etc.
[0057] Understandably, if only one service can fulfill a user's intent, the smart assistant application can directly distribute that service to the user and enable it to meet the user's needs. In the aforementioned scenario of "setting an alarm," only the alarm clock service can fulfill the user's intent to set an alarm. Therefore, the smart assistant application can directly enable the alarm clock service, thereby fulfilling the user's intent to set an alarm.
[0058] However, if multiple services can fulfill the user's intent, the intelligent assistant application cannot determine which service to use to achieve the user's need. For example, if the intelligent assistant application receives the user's input "Where is station A?", both map services and browser services can fulfill the user's intent to find the station's location. Therefore, either map services can be enabled to fulfill the user's intent to find the station's location, or browser services can be enabled to fulfill the user's intent to find the station's location.
[0059] Figure 2 This is a diagram illustrating how a service can be enabled to fulfill a user's intent.
[0060] like Figure 2 As shown, the smart assistant application receives the user's input information "Where is station A?" and parses the user's input information to determine that the user's intention is "to query the location". At this time, the smart assistant can enable the browser service to query the location of station A through the browser service, and display the query result "The location of station A is No. 10, Z Road, Y District, X City, this location..." in the smart assistant application interface. In this embodiment, to ensure the conciseness of the description, "..." is used to replace the specific query result.
[0061] It's understandable that the smart assistant app can also enable the map app to query the location of station A.
[0062] In situations where multiple services can fulfill a user's intent, a specific service is typically designated as the default. This allows the smart assistant application to directly activate and utilize that default service to achieve the user's intent. For example, regarding the aforementioned user intent of "searching for location," the map service corresponding to the map software can be designated as the default service. Whenever the user intent is determined to be "searching for location," the map service is activated, and the location is searched using the map service to fulfill the user's intent.
[0063] However, user preferences are often diverse; some users prefer to search for locations using maps, while others prefer to search for locations using browsers. Therefore, simply enabling the default service cannot provide services tailored to different user preferences, and thus cannot meet users' personalized needs.
[0064] To address the issue that current smart assistant applications cannot meet users' personalized needs when activating services, this application proposes a service activation method based on user intent.
[0065] The user intent-based service initiation method provided in this application can be applied to electronic devices. In some embodiments, the electronic device may be a mobile phone, tablet computer, handheld computer, personal computer (PC), ultra-mobile personal computer (UMPC), netbook, as well as cellular phone, personal digital assistant (PDA), augmented reality (AR) device, virtual reality (VR) device, artificial intelligence (AI) device, wearable device, in-vehicle device, and other mobile terminals. This application does not impose any special restrictions on the specific type of electronic device.
[0066] Figure 3 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application.
[0067] like Figure 3As shown, the electronic device 100 may include a processor 110, a memory 120, an antenna 1, an antenna 2, a mobile communication module 130, a wireless communication module 140, a sensor module 150, a display screen 160, etc. The sensor module 150 may include a pressure sensor 150A, a touch sensor 150B, a fingerprint sensor 150C, an ambient light sensor 150D, a temperature sensor 150E, a gyroscope sensor 150F, a proximity sensor 150G, etc. In this embodiment, information input from the user can be received through the pressure sensor 150A and the touch sensor 150B.
[0068] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0069] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0070] In this embodiment of the application, the electronic device 100 implements the service initiation method based on user intent provided in this embodiment of the application, which mainly relies on the computing and processing capabilities provided by the processor 110.
[0071] The memory 120 can be used to store computer executable program code, including instructions. The memory 120 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of the foldable electronic device 100 (such as audio data, phonebook, etc.). Furthermore, the memory 120 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the foldable electronic device 100 by running instructions stored in the memory 120 and / or instructions stored in memory located within the processor.
[0072] In this embodiment, the code implementing the user intent-based service initiation method described in this embodiment can be stored in non-volatile memory. When the target service is enabled to fulfill the user intent, the electronic device 100 can load the executable code stored in the non-volatile memory into random access memory.
[0073] The wireless communication function of electronic device 100 can be implemented through antenna 1, antenna 2, mobile communication module 130, wireless communication module 14, modem, and baseband processor.
[0074] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization.
[0075] The mobile communication module 130 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 130 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 130 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 130 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 130 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 130 and at least some modules of the processor 110 may be housed in the same device.
[0076] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs a sound signal through an audio device or displays an image or video through the display screen 160. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 130 or other functional modules.
[0077] The wireless communication module 140 can provide solutions for wireless communication applications in electronic devices, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 140 can be one or more devices integrating at least one communication processing module. The wireless communication module 140 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 140 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0078] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 130, and antenna 2 is coupled to wireless communication module 140, so that electronic device 100 can communicate with networks and other devices through wireless communication technology.
[0079] Electronic device 100 implements display functions through a GPU, a display screen 160, and an application processor. The GPU is a microprocessor for image processing, connecting the display screen 160 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0080] The display screen 160 is used to display images, videos, etc. The display screen 160 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), 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 one or N display screens 160, where N is a positive integer greater than 1.
[0081] In this embodiment, the ability of the electronic device 100 to display a user input interface and to display the result of the user's intent relies on the display functions provided by the GPU, the display screen 160, and the application processor.
[0082] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a limitation on the structure of the electronic device. In other embodiments of this application, the electronic device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0083] Generally, the implementation of the functions of electronic device 100 requires not only hardware support but also software cooperation. The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment takes the layered architecture Android system as an example to illustrate the software structure of electronic device 100.
[0084] Figure 4 This is a schematic diagram of the software structure of the electronic device provided in the embodiments of this application.
[0085] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0086] The application layer can include a series of application packages.
[0087] like Figure 4 As shown, the application package may include applications such as camera, calendar, map, WLAN, music, SMS, gallery, call, navigation, video, and smart assistant.
[0088] Among them, a smart assistant application is an application used to help users manage daily tasks more efficiently through technologies such as speech recognition, natural language processing, and machine learning. In the embodiments of this application, the smart assistant application can select and enable services that can meet the user's intentions in response to information input by the user.
[0089] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0090] like Figure 4 As shown, the application framework layer may include a window manager, content provider, phone manager, resource manager, notification manager, view system, etc.
[0091] The content provider stores and retrieves data, making it accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0092] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.
[0093] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.
[0094] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0095] System libraries can include multiple functional modules. For example: surface manager, 3D graphics processing library (e.g., OpenGL ES), 2D graphics engine (e.g., SGL), media libraries, etc.
[0096] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.
[0097] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0098] A 2D graphics engine is a graphics engine for 2D drawing.
[0099] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
[0100] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.
[0101] The following example illustrates the workflow of the software and hardware of electronic device 100, using a user intent implementation scenario as an example.
[0102] First, the smart assistant application activates the smart assistant service at the application framework layer. The smart assistant service analyzes the user's input information to determine the user's intent, such as "query location". Then, the smart assistant service uses the user intent-based service activation method provided in this application embodiment to activate the target service (such as a map service) by launching a process or calling an interface. The target service queries the location the user wants to query and displays the query results in the smart assistant application.
[0103] Figure 5 This is the first flowchart of the service initiation method based on user intent provided in the embodiments of this application.
[0104] like Figure 5 As shown, the method includes the following steps S11-S15.
[0105] S11: Determine the user's intent based on the first information the user inputs into the smart assistant application.
[0106] In step S11, the user can wake up the smart assistant application by voice input, touch, or click when the phone screen is off, and then input the first information to the smart assistant application by voice or text.
[0107] Figure 6 This is a schematic diagram of a smart assistant application receiving first information input in text form, as provided in an embodiment of this application.
[0108] like Figure 6 As shown in (a), the smart assistant application can receive the first piece of information, "Where is station A located?", entered by the user in text form. Figure 6As shown in (b), after receiving the first information "Where is station A located?" input by the user in text form, the smart assistant application displays the first information in text form on the interface of the smart assistant application. Figure 6 (c) in the text refers to the feedback information displayed on the interface by the intelligent assistant application that corresponds to the first information. This will be explained in detail in subsequent step S15 and will not be elaborated here.
[0109] Figure 7 This is a schematic diagram of a smart assistant application receiving first information input in the form of voice, as provided in an embodiment of this application.
[0110] like Figure 7 As shown in (a), users can press the "microphone" icon in the smart assistant application interface to activate the voice input function. Figure 7 As shown in (b), the user holds down the "microphone" icon 100 and inputs the first information, "Where is station A located?", via voice. At this time, the smart assistant application receives the user's first voice input, recognizes the speech, and converts it into text, displaying it in the input box. For example... Figure 7 As shown in (c), if the user confirms that the text converted by the smart assistant application is correct, they can click the "Send" button 200 to the right of the input box. Figure 7 As shown in (d), after the smart assistant application confirms that the user clicks the "Send" button on the right side of the input box, the first information is displayed in text form in the interface of the smart assistant application. Figure 7 (e) in the text refers to the feedback information displayed on the interface by the intelligent assistant application that corresponds to the first information. This will be explained in detail in subsequent step S15 and will not be elaborated here.
[0111] Subsequently, the intelligent assistant can respond to the first information input by the user, parse the first information, and obtain the corresponding user intent. It should be noted that the user intent in this embodiment refers to the category to which the user expects to achieve the goal, rather than the specific goal the user expects to achieve. For example, for the first information "Where is station A located?", the corresponding user intent is "Query location", not "Query the location of station A".
[0112] During the parsing of the first information, the intelligent assistant application can utilize natural language processing technology, employing pre-trained Bidirectional Encoder Representations from Transformers (BERT) models, Automatic Speech Recognition (ASR) models, etc. This application embodiment does not limit the specific parsing method of the first information.
[0113] S12: Obtain the first historical service sequence corresponding to the user's intent. The first historical service sequence includes multiple historical services that have been enabled.
[0114] In step S12, after determining the user's intent, the intelligent assistant application determines a first historical service sequence corresponding to the user's intent. Specifically, the first historical service sequence is a sequence of multiple services generated by the intelligent assistant application's previous interactions with the user and other services to fulfill the user's intent. The first historical service sequence includes multiple historical services that have been activated to fulfill the user's intent, which may include the intelligent assistant service corresponding to the intelligent assistant application, and may also include other services activated by the intelligent assistant application to fulfill the user's intent.
[0115] In some embodiments, the first historical service sequence may be data of type JSON.
[0116] For example, the first historical service sequence A1 may contain the following data:
[0117] [{"sType":"app","pkg":"com.Smart Assistant Service","invl":"t0"},
[0118] {"sType":"app","pkg":"com.mapservices","invl":"t1"},
[0119] {"sType":"app","pkg":"com.Smart Assistant Service","invl":"t2"},
[0120] {"sType":"app","pkg":"com.browserservice","invl":"t3"}).
[0121] It can be seen that the first service sequence A1 contains 4 historical services. Among them, sType represents the service type, such as the 4 historical services in the first service sequence A1 being all of type app; pkg represents the package name corresponding to the historical service. A historical service can be uniquely identified based on a package name. It can be understood that the package name "com. Smart Assistant Service" in this embodiment is only an example and is not the same as the package name in the actual application scenario; invl represents the service duration, such as the durations of the 4 historical services in the first service sequence A1 being t0, t1, t2 and t3 respectively.
[0122] Furthermore, it can be understood that the smart assistant application may have previously received historical information corresponding to the user's intent multiple times. To fulfill the user's intent, the smart assistant application responds to the historical information input by the user each time, activating several services to form a first historical service sequence. Therefore, there can be multiple first historical service sequences corresponding to the user's intent. For example, the smart assistant application may have previously received the first historical information input by the user, "Where is Restaurant B located?" To query the location of Restaurant B, the smart assistant application may activate several services to form a first historical service sequence A2. The smart assistant application may also have previously received the second historical information input by the user, "Where is School C located?" To query the location of School C, the smart assistant application may activate several services to form a first historical service sequence A3. Thus, after the smart assistant application in the electronic device determines that the user's intent is "query location" based on the first information input by the user, "query the location of Station A", the smart assistant application can obtain the first historical service sequence A2 and the first historical service sequence A3 corresponding to "query location".
[0123] In one implementation, step S12 includes the following steps S121-S123:
[0124] S121: Determine at least one breakpoint in the second historical service sequence corresponding to the preset time period.
[0125] In step S121, the smart assistant application obtains the second historical service sequence corresponding to a preset time period and determines the breakpoints for dividing the second historical service sequence. The preset time period can be set according to the actual application scenario, such as the most recent three months. The second historical service sequence includes multiple services that have been activated within the preset time period, and can be determined based on the interaction records generated by the smart assistant application's interactions with the current user and other services within the preset time period. For example, if the smart assistant application activates the smart assistant service and receives the user's input of the first information "Where is station A?", after recognizing the user's intent, the smart assistant application interacts with the map software, activates the map service, and then uses the map service to query the location of station A. At this time, the second historical service sequence B1 includes the activated smart assistant service and the map service. In the second historical service sequence, the multiple services activated within the preset time period are arranged in chronological order of their activation time. As mentioned above in the second historical sequence B1, according to the order of activation, the smart assistant service is ordered before the map service.
[0126] After acquiring the second historical service sequence, the intelligent assistant application identifies breakpoints within that sequence. Specifically, breakpoints can be determined between two adjacent services in the second historical service sequence to identify different stages within the sequence.
[0127] Figure 8 This is a schematic diagram of a breakpoint provided in an embodiment of this application.
[0128] like Figure 8 As shown, in the aforementioned second historical service sequence B1, the smart assistant application can determine a breakpoint r1 between the smart assistant service and the map service. Thus, the part before breakpoint r1 corresponds to the stage where the smart assistant service interacts with the user, and the part after breakpoint r1 corresponds to the stage where the smart assistant application activates the map service to perform location queries.
[0129] In some embodiments, the intelligent assistant application can use breakpoints to separate the first historical service sequence from the second historical service sequence, and then perform a detailed analysis of the first historical service sequence.
[0130] In one implementation, step S121 includes the following step S1211:
[0131] S1211: In the case where two adjacent services in the second historical service sequence respond to different intentions, the breakpoint is determined based on the first position between the two adjacent services.
[0132] In step S1211, it can be understood that the second historical service sequence includes multiple services previously enabled by the intelligent assistant application based on information input by the user within a preset time period. The user can input information multiple times within the preset time period, and the intents corresponding to the multiple inputs can be different. Therefore, the second historical service sequence can include services enabled for multiple different intents. For example, the intelligent assistant application may previously receive the user's input information "Where is Restaurant B?" and determine the intent as "Query location". To achieve this intent, the intelligent assistant application sequentially enables the intelligent assistant service and the map service; subsequently, the intelligent assistant application receives the user's input information "Please check today's weather", and determines the intent as "Query weather". To achieve this intent, the intelligent assistant application sequentially enables the intelligent assistant service and the weather service. Thus, the second historical service sequence B2 includes both the intelligent assistant service and the map service corresponding to the "Query location" intent, and the intelligent assistant service and the weather service corresponding to the "Query weather" intent.
[0133] Figure 9 This is a schematic diagram of a second historical service sequence B2 provided in an embodiment of this application.
[0134] like Figure 9 As shown, the second historical service sequence B2 may include [intelligent assistant service, map service, intelligent assistant service, weather service].
[0135] In response to the above situation, in order to avoid interference from other intents (such as querying the weather) in determining the target service corresponding to the user intent (such as querying the location), the intelligent assistant application can determine the breakpoint based on the user intent, so as to use the breakpoint to extract the part corresponding to the user intent from the second historical service sequence.
[0136] Specifically, the intelligent assistant application determines the breakpoint at the location of intent switching in the second historical service sequence. For example, the intent used to respond to each service in the second historical service sequence can be determined. If the intents used to respond to two adjacent services are different, it is considered that an intent switch has occurred between those two adjacent services. Therefore, the first position between these two adjacent services is determined as the breakpoint. In this way, the second historical service sequence can be segmented based on the breakpoint, removing the parts that do not correspond to the user's intent to obtain the first historical service sequence corresponding to the user's intent.
[0137] For example, regarding the aforementioned second historical service sequence B2 [Smart Assistant Service, Map Service, Smart Assistant Service, Weather Service], the first two services are used to respond to the intent "query location", and the latter two services are used to respond to the intent "query weather". In this case, the smart assistant application can determine the breakpoint at the location where the intents corresponding to the two adjacent services are different, that is, at the first location between the second service and the third service.
[0138] Figure 10 This is a schematic diagram illustrating the determination of breakpoints in the second historical service sequence B2 provided in an embodiment of this application.
[0139] like Figure 10 As shown in (a), the intelligent assistant application determines the breakpoint r2 at the location where the intent changes, that is, the first position between the second and third services in the second historical service sequence B2. Figure 10 As shown in (b), the smart assistant application can use breakpoint r2 to divide the second historical service sequence into b2-1 [smart assistant service, map service] and b2-2 [smart assistant service, weather service], where b2-1 [smart assistant service, map service] is the first historical service sequence corresponding to the user's intent to "query location".
[0140] This embodiment of the application, through the breakpoint setting method in step S1211, can divide the second historical service sequence into several segmented service sequences. In this way, each segmented service sequence is used to respond to an intent, which is beneficial for selecting the segmented service sequence that responds to the user intent corresponding to the first information as the first historical service sequence.
[0141] In one implementation, step S121 further includes the following steps S1212 and / or S1213:
[0142] S1212: In the second historical service sequence, determine the breakpoint based on the second position of the change in the interaction state between the intelligent assistant application and the first target historical service.
[0143] In step S1212, it is understood that the intelligent assistant application can receive user input multiple times within a preset time period, and the intents corresponding to the multiple received information can be the same. Therefore, the second historical service sequence can include services enabled for multiple identical intents. For example, the intelligent application assistant receives the user input information "Where is Restaurant B?" and determines that the intent corresponding to "Where is Restaurant B?" is "Query location". To achieve this intent, the intelligent application assistant sequentially enables the intelligent assistant service and the map service. After a period of time, the intelligent application assistant receives the user input information "Where is School C?" and determines that the intent corresponding to "Where is Restaurant B?" is "Query location". To achieve this intent, the intelligent assistant application sequentially enables the intelligent assistant service and the map service. In this way, the user has achieved the "Query location" user intent twice, and the second historical service sequence B3 includes both the intelligent assistant service and the map service corresponding to the first "Query location" intent and the intelligent assistant service and map service corresponding to the second "Query location" intent.
[0144] Figure 11 This is a schematic diagram of another second historical service sequence B3 provided in the embodiments of this application.
[0145] like Figure 11 As shown, the second historical service sequence B3 may include [intelligent assistant service, map service, intelligent assistant service, map service].
[0146] In view of the above situation, considering that there is an interaction between the smart assistant application and the first target historical service during each user intent realization process, and that the smart assistant application can disconnect the interaction with the first target historical service after the user intent is realized, in order to ensure that each first historical service sequence corresponds to only one user intent, this embodiment of the application can set breakpoints according to the interaction state between the smart assistant application and the first target historical service, so as to use the breakpoints to segment the second historical service sequence.
[0147] Specifically, breakpoints are set at points where the intelligent assistant application and the first target historical service cease interaction. For example, the intelligent assistant application can determine the interaction state between itself and the first target historical service during the activation of each service in the second historical service sequence. If the interaction between the intelligent assistant application and the first target historical service changes from an interactive state to a non-interactive state, the intelligent assistant application sets a breakpoint at a second point where this interaction state changes. In this way, the intelligent assistant application can segment the second historical service sequence based on these breakpoints, separating portions that achieve the same intent twice or more consecutively, thus obtaining the first historical service sequence corresponding to a single user intent.
[0148] For example, regarding the aforementioned second historical service sequence B3 [Smart Assistant Service, Map Service, Smart Assistant Service, Map Service], the first two services are used to query the location of Restaurant B. After completing the query for Restaurant B's location, the Smart Assistant application can disconnect from the Map Service. Subsequently, after confirming that the user needs to query the location of School C, the Smart Assistant application will sequentially activate the latter two services to complete the query for School C's location.
[0149] Figure 12 This is a schematic diagram illustrating the determination of a breakpoint in the second historical service sequence B3, provided in an embodiment of this application.
[0150] like Figure 12 As shown in (a), the intelligent assistant application can determine the breakpoint r3 at the location where the interaction state changes, that is, at the second position between the second and third services in the second historical service sequence B3. Figure 12 As shown in (b), the intelligent assistant application can use breakpoint r3 to divide the second historical service sequence B3 into b3-1 [intelligent assistant service, map service] and b3-2 [intelligent assistant service, map service]. Among them, b3-1 and b3-2 are both the first historical service sequences corresponding to the user's intent "query location", and are used to query the location of restaurant B and school C, respectively.
[0151] This embodiment of the application, through the breakpoint setting method in step S1212, can divide the second historical service sequence into several segmented service sequences. In this way, each segmented service sequence is used to respond to a user intent once, which is beneficial for analyzing a single user intent and improving the accuracy of determining the target service based on the user intent.
[0152] S1213: In the second historical service sequence, determine the breakpoint based on the third position where the process corresponding to the intelligent assistant service terminates.
[0153] In step S1213, it can be understood that after the user's intention is fulfilled, the user can directly exit the smart assistant application, causing the process corresponding to the smart assistant service to terminate, meaning the smart assistant service is no longer running in the background; or, there is a possibility that a system failure may cause the process corresponding to the smart assistant service to terminate. After the process corresponding to the smart assistant service terminates, the smart assistant service can no longer enable historical services or provide feedback to the user. Therefore, analyzing the behavior after the termination of the process corresponding to the smart assistant service is meaningless for the smart assistant application in determining the target application. Based on this, the smart assistant application can set a breakpoint at the third position where the process corresponding to the smart assistant service terminates, in order to use the breakpoint to segment the second historical service sequence.
[0154] This embodiment of the application, through the breakpoint setting method in step S1213, can cut off the portion of the process corresponding to the intelligent assistant service after it has terminated. This avoids analyzing the situation after the intelligent assistant application has stopped, thus reducing unnecessary computation and improving computational efficiency.
[0155] S122: Based on the breakpoint, the second historical service sequence is divided into multiple segmented service sequences.
[0156] In step S122, the intelligent assistant application divides the second historical service sequence into multiple sub-sequences, or segmented service sequences, by splitting the second historical service sequence at the breakpoint.
[0157] S123: Among multiple segmented service sequences, at least one first historical service sequence is determined.
[0158] In step S123, the intelligent assistant application determines the first historical service sequence from the multiple segmented service sequences obtained in the aforementioned steps. Specifically, since each segmented service sequence corresponds to the same intent, the intelligent assistant application can determine the segmented service sequence corresponding to the user intent as the first historical service sequence. For example, as described above... Figure 9 The intelligent assistant application performs a segmentation operation at the breakpoint r2 of the second historical service sequence B2, and the resulting segmented service sequence b2-1 is a first historical service sequence.
[0159] In this embodiment of the application, at least one first historical service sequence is segmented from the second historical service sequence through the sequence segmentation method in steps S121-S123. This ensures that the first historical service sequence is a historical service sequence corresponding to the user's intent. Therefore, it can be used to analyze the user's preference for each historical service when responding to the user's intent, which is beneficial for determining the user's preferred target service.
[0160] Furthermore, the intelligent assistant application can also obtain the average duration corresponding to the user intent based on the duration of the first historical service sequence corresponding to the user intent, that is, the average time spent by the user on the user intent. It can be understood that the longer the average time spent on a user intent, the more attention the user pays to that intent; conversely, the shorter the average time spent, the less attention the user pays to that intent. Therefore, the intelligent assistant application can analyze the importance of the user intent to the user based on the average time spent on it, in order to generate a user profile and then provide more targeted services based on the user profile.
[0161] In one implementation, after step S123, the following steps S124-S125 are also included:
[0162] S124: Determine the sequence to be segmented from multiple first historical service sequences based on the sequence duration of each first historical service sequence.
[0163] In step S124, it can be understood that after the intelligent assistant service enables other services and fulfills the user's intent, there may be a situation where it does not receive any new input information. For example, the intelligent assistant application receives the user's input "Where is station A?" and enables the map service to query the location of station A. After this, the user may be busy handling other matters and remain on the current page for a considerable period without taking any action. Therefore, the intelligent assistant application does not receive any input information from the user for a considerable period. At this time, the map service remains enabled, and the duration of the first historical service sequence is unreasonable. Considering that this embodiment requires the use of duration to determine the target service, the intelligent assistant application can determine the sequence with an unreasonable duration from multiple first historical service sequences based on the duration of the first historical service sequence, and then segment it.
[0164] In one implementation, step S124 includes the following steps S1241-S1242:
[0165] S1241: Determine the average duration of the sequence duration of multiple first historical service sequences.
[0166] In step S1241, the intelligent assistant application can calculate the average duration of multiple first historical service sequences and determine whether the behavior sequence needs to be segmented based on the average duration. Specifically, if the average duration meets the requirements, even if the duration of a certain first historical service sequence A4 is unreasonable, it can be considered that the impact of the first historical service sequence A4 is not significant when analyzing all first historical service sequences to determine the target service. Therefore, the intelligent assistant application may not segment the first historical service sequence A4. However, if the average duration does not meet the requirements, and the duration of a certain first historical service sequence A5 is unreasonable, it can be considered that the first historical service sequence A5 has a significant impact on the determination of the target service. Therefore, the intelligent assistant application may segment the first historical service sequence A5.
[0167] S1242: If the average duration is greater than the preset duration threshold, the first historical service sequence whose duration is greater than the duration threshold is determined as the sequence to be segmented.
[0168] In step S1242, the intelligent assistant application can determine whether the average duration meets the requirements based on the relationship between the average duration and a preset duration threshold. Specifically, if the average duration is greater than the duration threshold, it is considered that the average duration does not meet the requirements. In this case, the intelligent assistant application can use the first historical service sequence with an unreasonable duration as the sequence to be segmented. For example, the intelligent assistant application can use the first historical service sequence with a duration greater than the duration threshold as the sequence to be segmented, and then segment it. In addition, the intelligent assistant application can also select several first historical service sequences with relatively long durations from multiple first historical service sequences as the sequences to be segmented.
[0169] It is understood that the embodiments of this application only take the two methods for determining the sequence to be segmented mentioned above as examples. In other embodiments, other methods for determining the sequence to be segmented may also be used, and this application does not limit them.
[0170] In this embodiment of the application, by using the method of steps S1241-S1242, when the average duration of the sequence is greater than a preset duration threshold, the first historical service sequence with an unreasonable duration is selected as the sequence to be segmented, and then segmented, which helps to improve the accuracy of the calculation results.
[0171] S125: Divide the sequence to be divided to obtain a new first historical service sequence.
[0172] In step S125, the intelligent assistant application segments the sequence to be segmented with an unreasonable duration, obtaining two or more new first historical service sequences with shorter durations. The duration of each new first historical service sequence is no greater than a duration threshold, or the average duration of multiple new first historical service sequences is no greater than a duration threshold, or the average duration of multiple new first historical service sequences and other first historical service sequences (excluding the sequence to be segmented) is no greater than a duration threshold.
[0173] This embodiment of the application, by segmenting the first historical service sequence with a longer duration in steps S124-S125, can avoid introducing unreasonable sequence durations that could affect the determination of the target service in subsequent steps, thus obtaining a target service that better suits user preferences.
[0174] In one implementation, step S125 includes the following steps S1251-S1253:
[0175] S1251: In the sequence to be segmented, determine the fourth position of the distance duration threshold between the first and second parts of the sequence to be segmented as the first proposed segmentation position.
[0176] In step S1251, to ensure that the new first historical service sequence after segmentation meets the requirement that the sequence duration is no greater than a duration threshold, the intelligent assistant application can determine the first proposed segmentation position based on the duration threshold. Specifically, the intelligent assistant application can set the first and last characters of the sequence to be segmented as the start time, so that the sequence to be segmented can be represented in the form of a timeline. The intelligent assistant application can determine the position of the duration threshold after the start time on this timeline, denoted as the fourth position, and use the fourth position as the first proposed segmentation position.
[0177] Figure 13 This is a schematic diagram of the segmentation of a sequence to be segmented according to an embodiment of this application.
[0178] like Figure 13 As shown in (a), the sequence to be segmented, A6, is represented as a timeline, with the first position of the sequence denoted as the start time Tbegin. Five historical services p0-p4 are arranged sequentially on the timeline, with service durations T0-T4 respectively. The duration threshold is denoted as Ta. On this timeline, the intelligent assistant application determines the position r4, a duration of Ta after the start time Tbegin, as the first proposed segmentation position.
[0179] S1252: Based on the distance between each historical service in the sequence to be segmented and the first proposed segmentation position, determine two adjacent proposed segmentation services in the sequence to be segmented.
[0180] In step S1252, it can be understood that, on the timeline, the first proposed segmentation position and each historical service in the sequence to be segmented can have multiple different relative positional relationships. Under one relative positional relationship, there exists exactly one historical service whose start time (or end time) is 0 distance from the first proposed segmentation position. For example... Figure 13 As shown in (b), the distance between the end time of historical service p2 (which is also the start time of historical service p3) and the first proposed splitting position r4 is 0, meaning that the first proposed splitting position r4 is exactly located between two adjacent historical services p2 and p3. At this time, the intelligent assistant application can directly determine that these two adjacent historical services p2 and p3 are the proposed splitting services.
[0181] Under another relative positional relationship, the distance between the first proposed segmentation position and the start and end times of each historical service is not zero. For example... Figure 13 As shown in (c), the distances between the first proposed segmentation position r4 and the start and end times of historical services p0-p4 are not zero, and the first proposed segmentation position r4 is located within a time window corresponding to a historical service p3. If the intelligent assistant application segments the sequence to be segmented at the first proposed segmentation position r4, it will cause the time window corresponding to historical service p3 to be segmented into two parts, which is obviously unreasonable. In this case, the intelligent assistant application can determine the first distance d1 = Ta - (T0 + T1 + T2) between the first proposed segmentation position r4 and the start time of historical service p3 (i.e., the end time of historical service p2), and the second distance d2 = (T0 + T1 + T2 + T3) - Ta between the first proposed segmentation position r4 and the end time of historical service p3 (the start time of historical service p4). If the first distance d1 is less than the second distance d2, the intelligent assistant application can determine that historical services p2 and p3 are proposed segmentation services; otherwise, the intelligent assistant application can determine that historical services p3 and p4 are proposed segmentation services.
[0182] S1253: Determine the fifth position between the two proposed splitting services as the second proposed splitting position, and split the sequence to be split according to the second proposed splitting position.
[0183] In step S1253, after determining two adjacent services to be segmented, the intelligent assistant application can record the position between the two adjacent services as the fifth position and use the fifth position as the second proposed segmentation position. For example... Figure 13 In (b), after the intelligent assistant application determines that two adjacent historical services p2 and p3 are the services to be segmented, it can determine the fifth position between the services to be segmented p2 and p3 as the second segmentation position r5, and then perform the segmentation operation on the sequence A6 to be segmented at the second segmentation position r5. Figure 13As shown in (d), after the splitting operation is completed, p0-p2 form a new first historical service sequence A7, and p3-p4 form a second new historical service sequence A8.
[0184] This embodiment of the application, through the method in steps S1251-S1253, determines a first proposed segmentation position based on a duration threshold. Considering the possibility that the first proposed segmentation position falls within the time window of a historical service, a second proposed segmentation position is further determined based on the first proposed segmentation position. Finally, using the second proposed segmentation position, the first historical service sequence with a longer duration is segmented into a new first historical service sequence with a shorter duration. This solves the problem of unreasonable duration in the first historical service sequence and helps improve the accuracy of target service determination.
[0185] S13: Identify at least one target historical service among a plurality of historical services, the target historical service including historical services that have been enabled by the smart assistant application and correspond to the user's intent.
[0186] In step S13, the multiple historical services in the first historical service sequence include the smart assistant service corresponding to the smart assistant application, and other historical services that the smart assistant application has enabled to realize the user's intent. For example, regarding the aforementioned first historical service sequence [smart assistant service, map service], the smart assistant service is used to interact with the user to obtain the user's intent and provide feedback to the user, and is also used to enable the map service with location query function; the map service is a historical service enabled by the smart assistant application that corresponds to the user's intent "query location".
[0187] Since the intelligent assistant service itself does not have the function of fulfilling user intentions, the intelligent assistant application can use other historical services that it has enabled and that correspond to user intentions as target historical services. This allows the intelligent assistant application to analyze the target historical services in a targeted manner in subsequent steps. For example, in the first historical service sequence [intelligent assistant service, map service], the intelligent assistant application can use the map service as the target historical service.
[0188] S14: Based on the service duration of any target historical service and the total duration of multiple historical services, determine the target service that matches the user's intent among at least one target historical service.
[0189] In step S14, it can be understood that when multiple target historical services can fulfill the user's intent, the user's preference for each target historical service is related to the duration of use of that service. Therefore, the intelligent assistant application can utilize the duration of the target historical service to determine the target service that matches the user's intent.
[0190] Furthermore, it can be understood that the service duration of a target historical service is an absolute value, and the analysis results based on the absolute value will be affected by factors such as sample size and overall scale. Specifically, in the embodiments of this application, the analysis results for any target historical service are affected by the service duration of other target historical services. For example, the first historical service sequence A9 may include two target historical services, namely a first map service and a second map service, wherein the service duration of the first map service is 3 minutes, but the service duration of the first map service is less than the service duration of the second map service. In this case, considering that the user spends more time on the second map service, it can be considered that the user prefers the second map service. At the same time, the first historical service sequence A10 contains only one target historical service, which is the first map service, and the service duration of the first map service is 2 minutes. In this case, considering that the first map service is the only service that is enabled, it can be considered that the user prefers the first map service.
[0191] Based on this, intelligent assistant applications can consider not only the service duration of the target historical service, but also the total duration of multiple historical services, i.e., the sequence duration of the first historical service sequence. In this way, intelligent assistant applications can reduce the impact of other target historical services on the analysis results by analyzing the relative value between the service duration of any target historical service and the total duration, thereby reducing analysis bias.
[0192] In one implementation, step S14 includes the following steps S141-S144:
[0193] S141: Based on the priority of each target historical service, determine a first service set and a second service set, wherein the first service set includes determining at least one first target historical service from at least one target historical service, and the second service set includes determining at least one second target historical service from at least one target historical service.
[0194] Among them, the priority of the first target historical service is higher than the priority of the second target historical service.
[0195] In step S141, the intelligent assistant application determines a first target historical service with a relatively high priority and a second target historical service with a relatively low priority based on the priority of the target historical services, thus obtaining a first service set S0 and a second service set S1. The priority of the target historical services is preset, and when fulfilling user intent, the intelligent assistant application typically prioritizes the use of the higher-priority target historical service.
[0196] Specifically, service configurations can be pre-set manually or by a smart assistant application. These service configurations include multiple pre-configured services capable of fulfilling user intents and the priority of each pre-configured service. In this way, the smart assistant application can look up the priority of each target historical service in the service configuration using a lookup table, and then determine a first service set including the first target historical service and a second service set including the second target historical service based on the retrieved priorities.
[0197] For example, the service configuration may include a first map service and a second map service with location query capabilities, wherein the first map service has a higher priority than the second map service. In this case, if the two target historical services included in the first historical service sequence are the first map service and the second map service, respectively, the intelligent assistant application can identify the first map service as the first target historical service and the second map service as the second target historical service. Thus, the first service set includes the first map service, and the second service set includes the second map service.
[0198] In some embodiments, the pre-configured services in the service configuration belong to different categories. In this case, the priority of each pre-configured service can be pre-set according to the service category, with each category corresponding to a priority. For example, the service configuration table may include a first map service with location query capabilities, a second map service, a browser service, and an artificial intelligence tool service. In this case, the intelligent assistant application can set the first map service and the second map service (Application, App) to the same priority according to the service category, while setting the browser service and the artificial intelligence tool service (Question and Answer, QA) to another priority. If the priority corresponding to the App class is higher than that of the QA class, and if the first historical service sequence includes the following three target historical services: the first map service, the second map service, and the browser service, then the intelligent assistant application can determine the first map service and the second map service as the first target historical service, and the browser service as the second target historical service. Thus, the first service set includes the first map service and the second map service, and the second service set includes the browser service.
[0199] In some embodiments, the intelligent assistant application can remove other historical services from the first historical service sequence besides the first target historical service and the second target historical service to obtain a more concise first historical service sequence. In this way, the ratio between the service duration of any target historical service and the total duration of multiple historical services in the more concise first historical service sequence can still reflect the user's preference for that target historical service. Therefore, the intelligent assistant application can use the first historical service sequence after removing other historical services to perform subsequent steps to obtain the target service.
[0200] S142: When there are multiple first historical service sequences, for each first historical service sequence, the user preference level corresponding to the second service set in the first historical service sequence is determined based on the ratio between the service duration of any target historical service and the total service duration of multiple historical services.
[0201] In step S142, if multiple first historical service sequences exist, the intelligent assistant application analyzes each historical service sequence separately. For example, if multiple first historical service sequences A11, A12, and A13 exist, the following global sequence matrix can be formed:
[0202]
[0203] In this way, each row of the global sequence matrix corresponds to a historical service sequence. Therefore, intelligent assistant applications can analyze each row of the matrix.
[0204] Specifically, the intelligent assistant application first calculates the ratio between the service duration of the target historical service and the total service duration for each first historical service sequence. The total service duration is the sum of the service durations of multiple historical services; in actual calculations, the sequence duration of the first historical service sequence can be used.
[0205] For example, regarding the aforementioned first historical service sequence A11 = [a10, a11, a12, a13] =
[0206] [{"sType":"app","pkg":"Intelligent Assistant Service","invl":"t0"},
[0207] {"sType":"app","pkg":"map service","invl":"t1"},
[0208] {"sType":"app","pkg":"Smart Assistant Service","invl":"t2"},
[0209] {"sType":"app","pkg":"browser service","invl":"t3"}).
[0210] After determining the map service and browser service as the target historical services, the intelligent assistant application calculates the ratio x0 between the service duration t0 of the map service and the total service duration t0+t1+t2+t3, and the ratio x1 between the service duration t1 of the browser service and the total service duration t0+t1+t2+t3.
[0211] The same method can be used to calculate the ratio for the first historical service sequences A12 and A13, which will not be elaborated here.
[0212] Subsequently, the intelligent assistant application can determine the degree of user preference for the second service set corresponding to each first historical service sequence based on the calculated ratio. For example, for the aforementioned first historical service sequence A1, the intelligent assistant application can calculate the degree of user preference for the second service set corresponding to the aforementioned first historical service sequence A1 based on the ratios x0 and x1. The degree of user preference for the second service set represents the strength of a user's willingness to choose the second target historical service in the second service set when fulfilling their intent. The higher the degree of user preference, the stronger the user's willingness to choose the second target historical service. In this embodiment, the degree of user preference for the second service set can be obtained for each first historical service sequence; therefore, the intelligent assistant application can comprehensively analyze the degree of user preference in multiple first historical service sequences to determine the final target service.
[0213] Furthermore, if only one historical service sequence exists, the intelligent assistant application can analyze that historical service sequence using a method similar to that described above when multiple historical service sequences exist, which will not be repeated here. In this way, a unique user preference level can be obtained for that historical service sequence, and the intelligent assistant application can then analyze this user preference level to determine the final target service.
[0214] In one implementation, step S142 includes the following steps S1421-S1422:
[0215] S1421: Determine the baseline preference level based on the first ratio between the first service duration of the first target historical service and the total service duration.
[0216] In step S1421, the intelligent assistant application calculates the ratio between the first service duration and the total service duration of the first target historical service, and records it as the first ratio.
[0217] For example, regarding the aforementioned first historical service sequence A1, after determining that the map service is the first target historical service and the browser service is the second target historical service, the intelligent assistant application can calculate a first ratio x0 between the first duration t1 of the map service and the total service duration t0+t1+t2+t3. Thus, the larger the first ratio, the more the user is considered to prefer the first target historical service.
[0218] Furthermore, in the case where there are multiple first target historical services in the same historical service sequence, the intelligent assistant application can compare the sum of the duration of the first service of the multiple first target historical services with the total duration of the service to obtain the first ratio.
[0219] Subsequently, the intelligent assistant application determines the baseline preference level based on the first ratio, and then calculates the user's preference level for the second service set based on the baseline preference level. The baseline preference level is negatively correlated with the first ratio. For example, the baseline preference level P(S0) = 1 - x0, where S0 represents the first service set.
[0220] S1422: Determine the user preference level corresponding to the second service set based on the second ratio between the second service duration and the total service duration of the second target historical service, and the baseline preference level.
[0221] In step S1422, the intelligent assistant application first calculates the ratio between the second service duration of the second target service and the total service duration, which is denoted as the second ratio. For the specific calculation method, please refer to the calculation part of the first ratio in step S1421, which will not be repeated here.
[0222] For example, for the aforementioned first historical service sequence A1, the intelligent assistant application can calculate a second ratio x1 between the second duration t3 of the browser service and the total service duration t0+t1+t2+t3. Thus, the larger the second ratio, the more the user is considered to prefer the second target historical service.
[0223] Subsequently, the intelligent assistant application calculates the user preference level corresponding to the second service set based on the second ratio and the baseline preference level. The user preference level is positively correlated with the second ratio. For example, the user preference level... Wherein, S1 represents the second service set, and x1 represents the second ratio corresponding to the second target historical service.
[0224] In this embodiment, the user's preference for the first service set is evaluated in steps S1421-S1422 to obtain a baseline preference level. This baseline preference level provides a unified evaluation standard, and based on the baseline preference level, the user's preference for the second service set is evaluated based on the service duration, resulting in a more objective evaluation.
[0225] S143: If the average value of user preference in multiple first historical service sequences is greater than a preset preference threshold, then each second target historical service in the second service set is determined as the target service.
[0226] In step S143, it can be understood that the higher the user preference level corresponding to the second service set, the stronger the user's willingness to use the second target historical service in the second service set to achieve the user's intention. Therefore, the preference level threshold can be preset manually or by the intelligent assistant application, and then the intelligent assistant application can determine the target service based on the relationship between the user preference level and the preference level threshold.
[0227] Specifically, if there is only one first historical service sequence, then when the user preference level corresponding to the second service set is greater than the preference level threshold, it can be considered that the user prefers the second target historical service in the second service set to the first target historical service in the first service set. Therefore, the intelligent assistant application can determine the second target historical service in the second service set as the target service.
[0228] If multiple first historical service sequences exist, since the intelligent assistant application can calculate a user preference level for each first historical service sequence, it can calculate the average user preference level across the multiple first historical service sequences. If the average user preference level is greater than a preference level threshold, the intelligent assistant application can identify the second target historical service in the second service set as the target service.
[0229] S144: If the average value of user preference in multiple first historical service sequences is less than or equal to the preference threshold, each first target historical service in the first service set is determined as the target service.
[0230] In step S144, contrary to step S143 above, when the average value of user preference in multiple first historical service sequences is less than or equal to the preference threshold, it can be considered that the user does not prefer the second target historical service in the second service set compared to the first target historical service in the first service set. Therefore, the intelligent assistant application can determine the first target historical service in the first service set as the target service.
[0231] S15: Launch the target service in the smart assistant application.
[0232] In step S15, after determining the target service corresponding to the user's intent, the smart assistant application can activate the target service within the application to realize the user's intent. Specifically, the smart assistant application can launch the target service and display information such as the result of realizing the user's intent on its interface.
[0233] For example, if the smart assistant application receives the first information input by the user, "Query the location of station A", the smart assistant application can determine that the user's intention is "Query location", and after determining that the target service is a map service, enable the map service in the smart assistant application. As described above. Figure 6 (c) and Figure 7 As shown in (e), the intelligent assistant application can display a map on the interface and mark station A on the map so that the user can view the mark on the map and understand the specific location of station A that is being queried. In this embodiment, through steps S11-S15, after the intelligent assistant application receives the first information input by the user, it determines the user's intent and analyzes the target historical services in the first historical service sequence. Based on historical behavior, it determines the service that the user prefers and uses it as the target service. Afterward, the target service can be activated, and the user's intent can be realized using the target service. In this way, in addition to realizing the user's intent, the user's preferences for different services can also be considered, which is beneficial to meeting the user's personalized needs and improving user satisfaction.
[0234] In one implementation, the embodiments of this application may further include the following steps:
[0235] S16: Update the service configuration corresponding to the user intent according to the target service, in response to the second information corresponding to the user intent input by the user into the smart assistant application, and enable the target service matching the user intent based on the service configuration.
[0236] In step S16, the smart assistant application updates the service configuration corresponding to the user intent based on the target service. Thus, after the service configuration is updated, if the smart assistant application receives the second information corresponding to the user intent input by the user, after determining the user intent based on the second information, the smart assistant application no longer needs to determine the target service based on the service duration of the target historical service. Instead, it can directly determine the target service corresponding to the user intent by querying the service configuration corresponding to the user intent, and then enable the target service to realize the user intent.
[0237] For example, after the service configuration corresponding to the aforementioned "query location" user intent is updated, if the smart assistant application receives the second information "query the location of restaurant B" input by the user, the smart assistant application can read the service configuration corresponding to the "query location" user intent, obtain the target service (such as browser service), and then enable the target service in the smart assistant application to realize the query of the location of restaurant B.
[0238] For details regarding service configuration, please refer to the relevant section in step S141 above, which will not be repeated here.
[0239] The embodiments of this application, by updating the service configuration in step S16 and directly enabling the target service based on the service configuration upon receiving the second information, can quickly determine and enable the target service, thus improving the response speed to the second information.
[0240] In one implementation, step S16 includes the following step S161:
[0241] S161: When the device hosting the smart assistant application is idle, update the priority of each pre-configured service in the service configuration according to the target service.
[0242] In step S161, the smart assistant application determines the current operating status of its hosting device. The hosting device refers to the device on which the smart assistant application is installed, which can be an electronic device with command execution capabilities, such as a mobile phone or computer. The current operating status can be determined based on the resource utilization of the hosting device, such as CPU utilization and memory utilization. Alternatively, the smart assistant application can also determine its current operating status based on the current time; for example, the midnight period can be defaulted to an idle state.
[0243] If the intelligent assistant application determines that the hosting device is currently idle, it can be assumed that the device has sufficient computing resources. Therefore, in the idle state, the intelligent assistant application can silently update the service configuration. Specifically, the service configuration includes each pre-configured service and its corresponding priority. The intelligent assistant application can update the priority of each pre-configured service based on the target service. In the updated service configuration, the pre-configured service that the user prefers has a higher priority.
[0244] Furthermore, in addition to updating service configurations in idle state, the intelligent assistant application can also execute the target service determination method in steps S11-S15 above in idle state to complete the determination of the target service.
[0245] This embodiment of the application takes into account that the determination of the target service and the updating of the service configuration in the aforementioned steps both require computing resources. Therefore, performing the above operations when the carrier device of the smart assistant application is idle can avoid occupying computing resources when the carrier device is working, which would cause the smart application assistant or the carrier device to lag and affect the user experience.
[0246] In one implementation, step S161 includes the following steps S1611-S1612:
[0247] S1611: In the service configuration, update the priority of the target service to the first priority.
[0248] S1612: In the service configuration, update the priority of other pre-configured services besides the target service to the second priority.
[0249] In steps S1611-S1612, since the target service has a higher user preference level, the smart assistant application can update the priority of the target service to a higher first priority. Furthermore, compared to the target service, other pre-configured services have a lower user preference level, so the smart assistant application can update the priority of these other pre-configured services to a lower second priority.
[0250] This embodiment of the application, through the priority update method in steps S1611-S1612, sets the target service with higher user preference to a higher priority, and other pre-configured services to a lower priority. In this way, when enabling services corresponding to user intent based on configured services, the user's preferred service can be prioritized, thus meeting the user's personalized needs.
[0251] In one implementation, after step S16, the following step S17 is also included:
[0252] S17: In response to third information corresponding to the user's intent input into the intelligent assistant application, enable alternative services that match the user's intent based on service configuration.
[0253] The priority of the alternative service is no higher than that of the target service.
[0254] In step S17, after the smart assistant application responds to the aforementioned first or second information and activates the target service corresponding to the user's intent, if the user needs to switch to another service to achieve their intent, they can input third information into the smart assistant application. Thus, upon receiving the third information from the user indicating a switch to another service to achieve their intent, the smart assistant application can activate a backup service based on the service configuration. The backup service is a pre-configured service in the service configuration, and its priority is no higher than that of the target service.
[0255] For example, after receiving the first piece of information input by the user, "Where is Station A located?", the smart assistant application can determine that the user's intent is "to search for a location". It then activates the target service corresponding to "searching for a location," the "map service," and displays a map on the smart assistant's interface, marking the location of Station A on the map. Subsequently, if the smart assistant application receives the third piece of information input by the user, "Description of the geographical location of Station A", it can determine that the user's intent is still "to search for a location". At this time, the smart assistant application can activate the alternative service corresponding to "searching for a location," the "browser service," and use the browser service to query detailed information about the geographical location of Station A, such as the administrative region, latitude and longitude, nearby transportation network, and service facilities. This detailed information about the geographical location of Station A is then displayed on the smart assistant application's interface.
[0256] This application embodiment enables a lower-priority alternative service after the user inputs third-party information, allowing for timely service replacement if the user is dissatisfied with the target service. This improves the flexibility of service activation based on user intent, meeting different usage scenarios and needs.
[0257] Figure 14This is the second flowchart of the service initiation method based on user intent provided in the embodiments of this application.
[0258] like Figure 14 As shown, this embodiment includes the following steps S201-S210:
[0259] S201: Determine the user's intent based on the first information input by the user into the smart assistant application.
[0260] S202: Obtain the first historical service sequence corresponding to the user's intent, the first historical service sequence including multiple historical services that have been enabled.
[0261] S203: Identify at least one target historical service from a plurality of historical services, the target historical service including historical services that have been enabled by the smart assistant application and correspond to user intent.
[0262] For an explanation of steps S201-S203, please refer to the aforementioned steps S11-S13, which will not be repeated here.
[0263] S204: Based on the priority of each target historical service, determine a first service set and a second service set, wherein the first service set includes determining at least one first target historical service from at least one target historical service, and the second service set includes determining at least one second target historical service from at least one target historical service.
[0264] For an explanation of step S204, please refer to step S141 above, which will not be repeated here.
[0265] S205: When there are multiple first historical service sequences, for each first historical service sequence, the user preference level corresponding to the second service set in the first historical service sequence is determined based on the ratio between the service duration of any target historical service and the total service duration of multiple historical services.
[0266] In one implementation, step S205 includes the following steps S2051-S2052:
[0267] S2051: Determine the attenuation degree of the target historical service relative to the reference position based on the distance between the target position and the reference position in the first historical service sequence; wherein, multiple historical services are arranged in the first historical service sequence in order of their activation time, and the reference position is the first position in the first historical service sequence.
[0268] In step S2051, it can be understood that the degree of user preference is related not only to the time the user spends in the target historical service (i.e., the service duration), but also to the order in which the target historical service is activated. For example, the later a target historical service is activated, the lower the user's preference for that target historical service can be considered. Based on this, the intelligent assistant application can determine the attenuation degree corresponding to the target historical service according to its order in the first historical service sequence.
[0269] Considering that the further the target historical service is ranked in the first historical service sequence, the farther the distance between the target position of the target historical service and the first position of the first historical service sequence will be, the intelligent assistant application can set a reference position at the first position of the first historical service sequence, and then use the distance between the target position and the reference position in the first historical service sequence to determine the attenuation degree.
[0270] Since the intelligent assistant application already incorporates the duration of each historical service when calculating the ratio of service duration to total duration, the duration of each service can be disregarded when calculating attenuation. Therefore, when calculating the distance between the target location and the reference location, the intelligent assistant application can determine the distance based on the number of historical services that have occurred between them, without considering the duration between the target service and the reference location.
[0271] Figure 15 This is a schematic diagram illustrating the distance calculation between a target location and a reference location provided in an embodiment of this application.
[0272] like Figure 15 As shown, for the aforementioned first historical service sequence A1, the intelligent assistant application can set the location of the first intelligent assistant service as the reference location. Subsequently, the intelligent assistant application can calculate the distance between the target location and the reference location for a target historical service (such as a map service). Since the map service and the first intelligent assistant service are adjacent historical services, and there are no intervening historical services between them, the distance between the target location and the reference location in the first historical service can be considered to be 0. However, for another target historical service (such as a browser service), since there are two historical services between the browser service and the first intelligent assistant service (i.e., two historical services), the distance between the target location and the reference location in the first historical service can be considered to be 2.
[0273] In other embodiments, when calculating the distance between the target location and the reference location, the intelligent assistant application may also consider the time interval between the target service and the reference location. Specifically, the intelligent assistant application first determines the target location of the target historical service in a first historical service sequence. The target location may be located at the start time of the target historical service. Then, it determines the distance between the target location and the reference location. The reference location may be located at the beginning of the first historical service sequence; specifically, it may be the start time of the first historical service in the first historical service sequence, or it may be the end time of the first historical service in the first historical service sequence.
[0274] For example, for the aforementioned first historical service sequence A1, the intelligent assistant application can set the reference location to the end time of the earliest historical service in the first historical service sequence, which is also the end time of the intelligent assistant service. In this way, since the start time of the map service coincides with the end time of the intelligent assistant service, the intelligent assistant application can determine that the distance between the target location of the map service and the reference location is 0.
[0275] Subsequently, the intelligent assistant application can determine the attenuation degree based on the distance between the target location and the reference location in the target's historical service. The attenuation degree is negatively correlated with distance. For example, when x > 0, the attenuation degree y = ex; when x = 0, the attenuation degree y = 1, where e is the base of the natural logarithm. Depending on the specific application requirements, e can be replaced with other values. x is the distance between the target location and the reference location.
[0276] For example, for the aforementioned first historical service sequence A1, if the intelligent assistant application determines that the distance between the target location and the reference location of the map service is 0, then the first attenuation y = 1.
[0277] S2052: Determine the degree of user preference based on the product of attenuation and ratio.
[0278] In step S2052, the intelligent assistant application multiplies the attenuation rate and ratio calculated in the previous steps. The product is the ratio after considering the attenuation based on the activation order. It can be understood that the larger the service duration percentage and the earlier the activation order of a target historical service, the more the user is considered to prefer that target historical service. In the specific calculation process, this means that the larger the product corresponding to a target service, the higher the user's preference.
[0279] The embodiments of this application obtain the degree of user preference by comprehensively analyzing the ratio and decay rate through steps S2051-S2052. This takes into account both the time spent by the user in the target historical service and the activation order of the target historical service among multiple historical services. Therefore, it can evaluate the degree of user preference for the target service from two different perspectives and obtain more accurate calculation results.
[0280] In one implementation, step S2052 includes the following steps S20521-S20522:
[0281] S20521: Determine the normalization coefficient based on the product of the historical services of multiple targets.
[0282] In step S20521, the intelligent assistant application determines the normalization coefficient corresponding to each first historical service sequence. For example, for the aforementioned first historical service sequence A1, the intelligent assistant application obtains the first ratio corresponding to the first target historical service (i.e., map service) according to the aforementioned steps. The first attenuation y0 = 1, therefore the first product The intelligent assistant application can also obtain a second ratio corresponding to the second target historical service (browser service) based on the aforementioned steps. The second attenuation y1 = e - 2, therefore the second product Using the same method, the smart assistant application can also obtain the product corresponding to the first smart assistant service. The product corresponding to the second intelligent assistant service is The normalization coefficient is the reciprocal of the sum of the four products mentioned above.
[0283] S20522: Normalize each product based on the normalization coefficient.
[0284] In step S20522, each product is normalized using a normalization coefficient, transforming all products to the range [0,1].
[0285] It is understood that the embodiments of this application only take the conversion of the product to [0,1] as an example. In other embodiments, the product can also be standardized based on other benchmarks to convert the product to other uniform scales, such as converting it to [0,2].
[0286] The embodiments of this application, through the normalization method in steps S20521-S20522, can transform all products to a uniform scale, facilitating further analysis based on the products.
[0287] In one implementation, step S2052 includes the following steps S20523-S20524:
[0288] S20523: Determine the baseline preference level based on the first product of the first attenuation degree and the first ratio of the first target historical service for the baseline position.
[0289] In step S20523, the intelligent assistant application multiplies the first ratio and the first decay rate to obtain the baseline preference level based on the first product. The first ratio is the ratio between the first service duration of the first target historical service and the total service duration; please refer to step S1421 in the aforementioned embodiment, which will not be repeated here.
[0290] For example, for the aforementioned first historical service sequence A1, the intelligent assistant application obtains the first ratio corresponding to the first target historical service (i.e., map service) according to the aforementioned steps. If the attenuation degree y0 = 1, then the baseline preference level can be determined as follows:
[0291] Furthermore, in the case where there are multiple first target historical services in the first historical service sequence, the intelligent assistant application can also calculate the corresponding baseline preference degree for each first target historical service, and add the baseline preference degrees corresponding to multiple first target historical services to obtain the final baseline preference degree.
[0292] S20524: Determine the user preference level based on the second product of the second attenuation and the second ratio of the second target historical service for the reference position, and the reference preference level.
[0293] In step S20524, the intelligent assistant application also multiplies the second ratio and the second decay rate to obtain a second product, and then determines the user's preference level based on the second product and the baseline preference level. The first ratio is the ratio between the second service duration of the second target historical service and the total service duration; please refer to step S1422 in the aforementioned embodiment, which will not be repeated here.
[0294] For example, for the aforementioned first historical service sequence A1, the intelligent assistant application also obtains a second ratio corresponding to the second target historical service (browser service) according to the aforementioned steps. Given the attenuation rate y1 = e - 2, the user preference level corresponding to the second target historical service can be determined as follows: At this point, the user preference level corresponding to the second service set is...
[0295] Furthermore, in the case where there are multiple second target historical services in the first historical service sequence, the intelligent assistant application can also calculate the corresponding user preference degree for each second target historical service, and add up the user preference degrees corresponding to multiple second target historical services to obtain the user preference degree corresponding to the final second service set.
[0296] In this embodiment, steps S20523-S20524 are used to evaluate the user's preference for the first service set from two perspectives: service duration and service activation order, to obtain a baseline preference level. Then, based on the baseline preference level, the user's preference level for the second service set is evaluated from the two perspectives of service duration and service activation order, resulting in a more accurate evaluation result.
[0297] S206: If the average value of user preference in multiple first historical service sequences is greater than a preset preference threshold, determine each second target historical service in the second service set as the target service.
[0298] S207: If the mean value of user preference in multiple first historical service sequences is less than or equal to the preference threshold, determine each first target historical service in the first service set as the target service.
[0299] For an explanation of steps S206-S207, please refer to the aforementioned steps S143-S144, which will not be repeated here.
[0300] S208: Launch the target service in the smart assistant application.
[0301] For an explanation of step S208, please refer to step S15 above, which will not be repeated here.
[0302] In one implementation, the embodiments of this application may further include the following steps S209-S210:
[0303] S209: Update the service configuration corresponding to the user intent according to the target service, in response to the second information corresponding to the user intent input by the user into the smart assistant application, and enable the target service matching the user intent based on the service configuration.
[0304] S210: In response to third information corresponding to the user's intent input into the intelligent assistant application, based on the service configuration, enable an alternative service that matches the user's intent.
[0305] For an explanation of steps S209-S210, please refer to steps S16-S17 above, which will not be repeated here.
[0306] Figure 16 This is the third flowchart of the service initiation method based on user intent provided in the embodiments of this application.
[0307] like Figure 16 As shown, this embodiment includes the following steps S301-S315:
[0308] S301: Determine the user's intent based on the first information input by the user into the smart assistant application.
[0309] S302: Obtain the first historical service sequence corresponding to the user's intent, the first historical service sequence including multiple historical services that have been enabled.
[0310] S303: Identify at least one target historical service from a plurality of historical services, the target historical service including historical services that have been enabled by the smart assistant application and correspond to user intent.
[0311] For an explanation of steps S301-S303, please refer to the aforementioned steps S11-S13, which will not be repeated here.
[0312] S304: Based on the priority of each target historical service, determine a first service set and a second service set, wherein the first service set includes determining at least one first target historical service from at least one target historical service, and the second service set includes determining at least one second target historical service from at least one target historical service.
[0313] For an explanation of step S304, please refer to step S141 above, which will not be repeated here.
[0314] S305: Determine the first historical service sequence that simultaneously includes any second target historical service in the second service set and any first target historical service in the first service set as the support sequence corresponding to the second service set.
[0315] In step S305, it can be understood that in the first historical service sequence, since the first target historical service in the first service set has a higher priority, the intelligent assistant application prioritizes activating the first target historical service when fulfilling the user's intent. At this time, if the user is satisfied with the feedback from the first target historical service, that is, if the intelligent assistant application has not received a message from the user instructing to switch services, the intelligent assistant application may not activate the second target historical service. Thus, the first historical service sequence may only contain the first target historical service. However, if the user is not satisfied with the feedback from the first target historical service, the intelligent assistant application, after receiving a message from the user instructing to switch services, may activate another first target historical service or activate the second target historical service. If the intelligent assistant application activates the second target historical service, then the first historical service sequence simultaneously contains both the first and second target historical services.
[0316] In this embodiment, the intelligent assistant application filters out a first historical service sequence that simultaneously includes a first target historical service and a second target historical service from multiple first historical service sequences, denoted as the support sequence N(S0,S1).
[0317] S306: Determine the support of the second service set based on the ratio of the number of supported sequences to the total number of the first historical service sequences.
[0318] In step S306, the intelligent assistant application calculates the sequence number ratio between the number of supporting sequences and the total number of first historical service sequences, and then determines the support of the second service set based on the sequence number ratio. For example, the support... Where N(S0,S1,…,Sn) represents the total number of the first historical service sequences. The more supporting sequences there are, the greater the likelihood that a user was dissatisfied with the feedback from the first target historical service in the first service set. Therefore, the greater the likelihood that a user will choose the second target historical service in the second service set, and the higher the user's support for the second service set. Thus, the sequence number ratio is positively correlated with the support of the second service set.
[0319] In some embodiments, the intelligent assistant application may use the ratio of the number of sequences as the support of the second service set. For example, if there are 10 first historical service sequences, of which 3 simultaneously contain both the first target historical service and the second target historical service, then the support of the second service set is:
[0320] S307: If the support is less than the preset support threshold, the first target historical services in the first service set will be determined as target services.
[0321] In step S307, based on the explanation in step S306, it can be understood that the higher the support level of the second service set, the greater the likelihood that the user was dissatisfied with the content of the first target historical service; conversely, the lower the support level, the more likely the user was satisfied with the content of the first target historical service and had a low willingness to switch services. Therefore, a support threshold can be set manually or by the intelligent assistant application in advance. If the support level of the second service set is less than the support threshold, it is considered that the user was relatively satisfied with the content of the first target service, and thus the intelligent assistant application can determine each first target historical service in the first service set as the target service. In this way, when fulfilling the user's intent, the intelligent assistant application can activate the first target historical service in the first service set.
[0322] In some embodiments, only one first target historical service exists in the first service set. In this case, the smart assistant application can use this first target historical service as the target service. Thus, when fulfilling a user's intent, the smart assistant application can directly enable the target service.
[0323] In other embodiments, the first service set contains multiple first target historical services. In this case, the intelligent assistant application can use each first target historical service as a target service. Thus, when fulfilling a user's intent, the intelligent assistant application can select and activate one of the multiple target services. Specifically, a default service can be manually or pre-set among the multiple target services, allowing the intelligent assistant application to directly activate the default service. When the user needs to change the service, the intelligent assistant application can select and activate a service other than the default service from the multiple target services, or select and activate a non-target service based on the service configuration.
[0324] This embodiment of the application calculates the support of the second service set in steps S305-S307, and determines the first target historical service as the target service when the support is low. This method allows for the elimination of further calculations of the user's preference for the second target historical service if the user has previously expressed satisfaction with the feedback from the first target historical service. This simplifies unnecessary calculation steps and improves the efficiency of target service determination.
[0325] S308: Determine the degree of user preference for the second service set in the first historical service sequence based on the ratio between the service duration of any target historical service and the total service duration of multiple historical services.
[0326] For an explanation of step S308, please refer to step S142 above, which will not be repeated here.
[0327] S309: Determine the consistency of preference levels among multiple first historical service sequences based on the user preference levels in each first historical service sequence.
[0328] In step S309, it can be understood that the activation pattern of each historical service in the first historical service sequence may exhibit weak regularity. For example, the user may not have a clear preference for any particular service and may randomly activate several target historical services each time to achieve their intended goal. In this case, the degree of user preference obtained in the aforementioned steps may deviate to some extent from the user's actual preference.
[0329] For example, if there are a first historical service sequence A14 and a first historical service sequence A15, where the user preference for the second service set is higher in the first historical service sequence A14 and lower in the first historical service sequence A15, then the intelligent assistant application cannot accurately determine whether the user actually prefers the second target service in the second service set.
[0330] Therefore, in the presence of multiple first historical service sequences, the intelligent assistant application can determine whether the user preference levels in multiple first historical service sequences have similar patterns based on the user preference levels calculated in each first historical service sequence in the aforementioned steps, that is, determine the consistency of preference levels among multiple first historical service sequences.
[0331] For example, if the user preference for the second service set is high in multiple first historical service sequences, the intelligent assistant application can assume that the preference levels among the multiple first historical service sequences are consistent. In this case, the analysis results obtained based on the user preference levels in the multiple first historical service sequences are also closer to the user's actual preferences.
[0332] In one implementation, step S309 includes the following steps S3091-S3092:
[0333] S3091: Based on the degree of user preference in each first historical service sequence, determine the mean and standard deviation of user preference among multiple first historical service sequences.
[0334] In step S3091, the intelligent assistant application calculates the mean and standard deviation of user preference among multiple first historical service sequences to analyze the consistency of user preference among multiple first historical service sequences based on the mean and standard deviation of user preference.
[0335] S3092: Determine the consistency of preference levels based on the mean and standard deviation of user preference levels.
[0336] In step S3092, the intelligent assistant application calculates the data stability of user preference levels based on the data obtained in step S3i1, thereby determining the consistency of preference levels. The stability can be calculated using the coefficient of variation (CV), and the specific formula is as follows: The smaller the coefficient of variation (CV), the more dispersed the distribution of user preferences across multiple first service sequences is considered, indicating poorer data stability and thus lower consistency in preference levels. Conversely, a larger CV indicates that user preferences tend to be more consistent, exhibiting strong consistency. Based on this, a threshold can be set manually or by an intelligent assistant application. If the CV reaches this threshold, the user preferences across multiple first service sequences are considered consistent; otherwise, they are considered inconsistent.
[0337] It is understood that the embodiments of this application only use the mean and standard deviation of user preference as examples. In other embodiments, statistical data such as the variance and range of user preference can also be determined, and the consistency of user preference can be calculated using the variance and range of user preference.
[0338] For example, a smart assistant application can determine the consistency of preferences based on the ratio between the variance of user preferences and the mean of user preferences; the smaller the ratio, the stronger the consistency. The smart assistant application can also determine the consistency of preferences based on the ratio between the range of user preferences and the mean of user preferences; the smaller the ratio, the stronger the consistency.
[0339] In this embodiment of the application, by analyzing the standard deviation of user preference degree relative to the mean of user preference degree through the method in steps S3091-S3092, the relative volatility of user preference degree in multiple first historical service sequences can be obtained, and the consistency between user preference degree can be intuitively determined.
[0340] S310: If the consistency of preference does not meet the preset consistency constraint, determine each first target historical service in the first service set as the target service.
[0341] In step S310, if the intelligent assistant application determines that there is consistency among the user's preferences, then the consistency of preferences is considered to satisfy the consistency constraint, and the user can be considered to have a relatively obvious preference. Therefore, in subsequent steps, the intelligent assistant application can further determine the target service that the user prefers more based on the user's preference. Conversely, if the intelligent assistant application determines that there is no consistency among the user's preferences, then the consistency of preferences is considered to not satisfy the consistency constraint, and the user can be considered to have no relatively obvious preference. Therefore, the intelligent assistant application can choose not to continue using the first target historical service with higher priority as the target service and will not perform further calculations.
[0342] This embodiment of the application analyzes the consistency of preference levels in steps S309-S310 to determine whether there is a certain pattern in the user preferences reflected by multiple first historical service sequences. When the consistency constraint of preference levels is not met, i.e., when user preferences are not obvious, the first target historical service is directly determined as the target service. Thus, when the user has no obvious preference, the first target historical service with higher priority can continue to be used as the target service, without further determining whether the user prefers the second target historical service. This reduces unnecessary calculation steps and improves the efficiency of target service determination.
[0343] S311: If the average value of user preference in multiple first historical service sequences is greater than a preset preference threshold, determine each second target historical service in the second service set as the target service.
[0344] S312: If the average value of user preference in multiple first historical service sequences is less than or equal to the preference threshold, determine each first target historical service in the first service set as the target service.
[0345] For an explanation of steps S311-S312, please refer to the aforementioned steps S143-S144, which will not be repeated here.
[0346] S313: Launch the target service in the smart assistant application.
[0347] For an explanation of step S313, please refer to step S15 above, which will not be repeated here.
[0348] In one implementation, the embodiments of this application may further include the following steps S314-S315:
[0349] S314: Update the service configuration corresponding to the user intent according to the target service, in response to the second information corresponding to the user intent input by the user into the smart assistant application, and enable the target service matching the user intent based on the service configuration.
[0350] S315: In response to third information corresponding to the user's intent input into the intelligent assistant application, enable an alternative service that matches the user's intent based on the service configuration.
[0351] For an explanation of steps S314-S315, please refer to steps S16-S17 above, which will not be repeated here.
[0352] Figure 17 This is a schematic diagram of a process for determining a target service based on user intent, provided in an embodiment of this application.
[0353] like Figure 17 As shown, the process for determining the target service based on user intent may include steps S1001-S1012.
[0354] Step S1001: Read the configuration and determine the first target historical service and the second target historical service.
[0355] In step S1001, the intelligent assistant application first reads the pre-set service configuration corresponding to the user's intent through database tables or configuration files. In the service configuration, multiple pre-configured services are pre-set according to actual business needs, and a priority is assigned to each pre-configured service. Then, based on the user's intent, the intelligent assistant application determines the first target historical service with higher priority and the second target historical service with lower priority.
[0356] Step S1002: Determine the attention time under the user's intent.
[0357] In step S1002, the intelligent assistant application determines the average attention time under the user's intention, wherein the average attention time is the average time spent by the user on each user intention, which can be used to analyze the degree of user attention to the user's intention, etc.
[0358] Step S1003: Obtain the second historical service sequence.
[0359] In step S1003, the smart assistant application obtains a second historical service sequence within a certain period of time as a data source, such as the second historical service sequence within three months prior to the current date.
[0360] Step S1004: Segment the second historical service sequence based on user intent.
[0361] In step S1004, the intelligent assistant application segments the second historical service sequence based on the user's intent to obtain at least one first historical service sequence. The first historical service sequence is the service sequence corresponding to the user's intent.
[0362] Step S1005: Calculate the support P(S0,Sn).
[0363] In step S1005, the intelligent assistant application calculates the support level using the method described in the foregoing embodiments.
[0364] Step S1006: Check whether the support is greater than the threshold m.
[0365] In step S1006, the intelligent assistant application determines whether the support is greater than the support threshold m.
[0366] Step S1007: No processing.
[0367] In step S1007, if the support is greater than m, the smart assistant application continues to perform subsequent calculations; otherwise, it stops performing subsequent calculations.
[0368] Step S1008: Calculate the density of each historical service.
[0369] In step S1008, if the support is greater than m, the intelligent assistant application calculates the density of each historical service. Specifically, the density of the historical service can be calculated as the product of the ratio of the service duration of a historical service to the total service duration and the attenuation rate, as described in the previous embodiments.
[0370] Step S1009: Density normalization.
[0371] In step S1009, the intelligent assistant application standardizes the density using 1 as a baseline. That is, it normalizes the density.
[0372] Step S1010: Calculate the degree of user preference.
[0373] In step S1010, the intelligent assistant application calculates the degree of user preference corresponding to the second service set consisting of the second target historical services.
[0374] Step S1011: Preference consistency analysis.
[0375] In step S1011, when multiple first historical service sequences exist, the intelligent assistant application performs a consistency judgment on the user preference levels across these sequences. Specifically, a data stability verification method can be used to analyze the consistency of preference levels.
[0376] Step S1012: Service switch.
[0377] In step S1012, if the data stability verification passes, the intelligent assistant application determines that the consistency of preference levels meets the consistency constraint. At this point, if it is determined that the user prefers the second target historical service in the second service set based on the user's preference level, the intelligent assistant application performs a service switching operation. Specifically, in the service configuration, the intelligent assistant application increases the priority of the second target service in the second service set and decreases the priority of the first target service in the first service set to update the service configuration.
[0378] After that, the process can return to step S1001, and the intelligent assistant application can use the priority of each pre-configured service in the updated service configuration to redetermine the first target historical service and the second target historical service, and re-execute the subsequent target service determination steps.
[0379] The implementation methods and beneficial effects of each step in this embodiment can be found in the foregoing embodiments, and will not be repeated here.
[0380] Corresponding to the aforementioned embodiments of the service startup method based on user intent, this application also provides embodiments of the service startup apparatus based on user intent.
[0381] Figure 18This is a schematic diagram of a service initiation device based on user intent provided in an embodiment of this application.
[0382] like Figure 18 As shown, the user intent-based service initiation device may include: a display screen 1801, a memory 1802, a processor 1803, and a communication module 1804. These devices can be connected via one or more communication buses 1805. The display screen 1801 may include a display panel 18011 and a touch sensor 18012. The display panel 18011 displays images, and the touch sensor 18012 transmits detected touch operations to the application processor to determine the touch event type. The display panel 18011 provides visual output related to the touch operation. The processor 1803 may include one or more processing units, such as an application processor, a modem processor, a graphics processor, an image signal processor, a controller, a video codec, a digital signal processor, a baseband processor, and / or a neural network processor. Different processing units may be independent devices or integrated into one or more processors. The memory 1802 is coupled to the processor 1803 and stores various software programs and / or computer instructions. The memory 1802 may include volatile memory and / or non-volatile memory. When the processor executes computer instructions, the service initiation device based on user intent can perform the various functions or steps performed in the above method embodiments.
[0383] When the software program and / or multiple sets of instructions in the memory 1802 are executed by the processor 1803, the service initiation device based on user intent implements the following method steps: determining a user intent based on first information input by the user into the intelligent assistant application; obtaining a first historical service sequence corresponding to the user intent, the first historical service sequence including multiple historical services that have been enabled; determining at least one target historical service among the multiple historical services, the target historical service including historical services that have been enabled by the intelligent assistant application and correspond to the user intent; determining a target service matching the user intent among the at least one target historical service based on the service duration of any target historical service and the total duration of the multiple historical services; and initiating the target service in the intelligent assistant application.
[0384] This application also provides an electronic device, including: a processor, a memory, and a touch screen; the memory stores program instructions, which, when executed by the processor, cause the electronic device to perform the user intent-based service initiation method in any of the above embodiments.
[0385] This application also provides a chip system including at least one processor and at least one interface circuit. The processor and the interface circuit are interconnected via lines. For example, the interface circuit can be used to receive signals from other devices (e.g., the memory of an electronic device). Or, for example, the interface circuit can be used to send signals to other devices. Exemplarily, the interface circuit can read instructions stored in the memory and send the instructions to the processor. When the instructions are executed by the processor, the electronic device can perform the steps in the above embodiments. Of course, the chip system may also include other discrete devices, and this application does not specifically limit this.
[0386] This application also provides a computer-readable storage medium, which includes computer instructions that, when the computer instructions are used in the aforementioned electronic device (such as...), Figure 3 When the electronic device 100 shown is run, it causes the electronic device to perform the various functions or steps performed by the mobile phone in the above method embodiment.
[0387] This application also provides a computer program product that, when run on a computer, causes the computer to perform the various functions or steps described in the above method embodiments.
[0388] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0389] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0390] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0391] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0392] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0393] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A service initiation method based on user intent, characterized in that, The method includes: Determine the user's intent based on the initial information input by the user into the smart assistant application; Obtain a first historical service sequence corresponding to the user intent, the first historical service sequence including multiple historical services that have been enabled; Identify at least one target historical service among the plurality of historical services, the target historical service including historical services that have been enabled by the smart assistant application and correspond to the user intent; Based on the service duration of any one of the target historical services and the total duration of the plurality of historical services, determine the target service that matches the user intent from the at least one target historical service; Launch the target service in the smart assistant application.
2. The method according to claim 1, characterized in that, The step of determining the target service matching the user intent from the at least one target historical service based on the service duration of any one of the target historical services and the total service duration of the plurality of historical services includes: Based on the priority of each of the target historical services, a first service set and a second service set are determined. The first service set includes determining at least one first target historical service from the at least one target historical service. The second service set includes determining at least one second target historical service from the at least one target historical service. The priority of the first target historical service is higher than the priority of the second target historical service. When there are multiple first historical service sequences, for each first historical service sequence, the user preference level corresponding to the second service set in the first historical service sequence is determined based on the ratio between the service duration of any target historical service and the total service duration of the multiple historical services. If the average value of the user preference level in multiple first historical service sequences is greater than a preset preference level threshold, then each second target historical service in the second service set is determined as the target service; If the average value of the user preference level in multiple first historical service sequences is less than or equal to the preference level threshold, then each of the first target historical services in the first service set is determined as the target service.
3. The method according to claim 2, characterized in that, Determining the user preference level corresponding to the second service set in the first historical service sequence based on the ratio between the service duration of any one of the target historical services and the total service duration of the plurality of historical services includes: A baseline preference level is determined based on a first ratio between the first service duration of the first target historical service and the total service duration; wherein the baseline preference level is negatively correlated with the first ratio. The user preference level corresponding to the second service set is determined based on the second ratio between the second service duration and the total service duration of the second target historical service and the baseline preference level; wherein the user preference level is positively correlated with the second ratio.
4. The method according to claim 3, characterized in that, Determining the degree of user preference corresponding to the associated service set in the first historical service sequence based on the ratio between the service duration of any one of the target historical services and the total service duration of the plurality of historical services includes: The attenuation degree of the target historical service relative to the reference position is determined based on the distance between the target position and the reference position of the target historical service in the first historical service sequence; wherein, the plurality of historical services are arranged in the first historical service sequence in order of their activation time, and the reference position is the first position of the first historical service sequence; The degree of user preference is determined by the product of the attenuation and the ratio.
5. The method according to claim 4, characterized in that, Determining the degree of user preference based on the product of the attenuation and the ratio includes: The baseline preference level is determined based on the first product of the first attenuation degree of the first target historical service for the baseline location and the first ratio. The user preference level is determined based on the second product of the second attenuation degree and the second ratio of the second target historical service for the reference location, and the reference preference level.
6. The method according to claim 5, characterized in that, The step of determining the degree of user preference based on the product of the attenuation and the ratio further includes: The normalization coefficient is determined based on the product corresponding to multiple target historical services; Each product is normalized according to the normalization coefficient.
7. The method according to claim 2, characterized in that, Before determining each of the second target historical services in the second service set as the target service when the average value of the user preference degree in multiple historical service sequences is greater than a preset preference degree threshold, the method further includes: Based on the user preference level described in each of the first historical service sequences, determine the consistency of preference level among the multiple first historical service sequences; If the consistency of preference does not meet the preset consistency constraint, each of the first target historical services in the first service set is determined as the target service.
8. The method according to claim 7, characterized in that, The step of determining the consistency of preference levels among multiple historical service sequences based on the user preference levels in each of the first historical service sequences includes: Based on the degree of user preference described in each of the first historical service sequences, determine the mean and standard deviation of the degree of user preference among the plurality of first historical service sequences; The consistency of the preference level is determined based on the mean of the user preference level and the standard deviation of the user preference level.
9. The method according to claim 2, characterized in that, Before determining each of the second target historical services in the second service set as the target service when the average value of the user preference degree in multiple first historical service sequences is greater than a preset preference degree threshold, the method further includes: The first historical service sequence that simultaneously includes any second target historical service in the second service set and any first target historical service in the first service set is determined as the supporting sequence corresponding to the second service set. The support level of the second service set is determined based on the ratio of the number of supported sequences to the total number of the first historical service sequences. If the support is less than a preset support threshold, each of the first target historical services in the first service set is determined as the target service.
10. The method according to claim 2, characterized in that, The step of obtaining the first historical service sequence corresponding to the user intent includes: At least one breakpoint is determined in the second historical service sequence corresponding to the preset time period; wherein, the second historical service sequence includes multiple services that have been started within the preset time period, and the multiple services are arranged in the second historical service sequence in order of their start time from first to last; The second historical service sequence is segmented based on the breakpoints to obtain multiple segmented service sequences; Among the plurality of segmented service sequences, at least one of the first historical service sequences is determined.
11. The method according to claim 10, characterized in that, Determining at least one breakpoint in the second historical service sequence corresponding to the preset time period includes: In the second historical service sequence, if two adjacent services respond to different intentions, the breakpoint is determined based on the first position between the two adjacent services.
12. The method according to claim 11, characterized in that, The step of determining at least one breakpoint in the second historical service sequence corresponding to the preset time period further includes: In the second historical service sequence, the breakpoint is determined based on the second position of the change in the interaction state between the intelligent assistant application and the first target historical service; and / or, In the second historical service sequence, the breakpoint is determined based on the third position where the process corresponding to the intelligent assistant service terminates.
13. The method according to claim 10, characterized in that, After determining at least one of the first historical service sequences, the method further includes: Based on the duration of each first historical service sequence, determine the sequence to be segmented from the plurality of first historical service sequences; The sequence to be segmented is divided to obtain a new first historical service sequence.
14. The method according to claim 13, characterized in that, The step of determining the sequence to be segmented from the plurality of first historical service sequences based on the sequence duration of each first historical service sequence includes: Determine the average duration of the sequence duration of the plurality of first historical service sequences; If the average duration is greater than a preset duration threshold, the first historical service sequence whose duration is greater than the duration threshold is determined as the sequence to be segmented.
15. The method according to claim 14, characterized in that, The segmentation of the sequence to be segmented includes: In the sequence to be segmented, the fourth position that is a distance from the first and second parts of the sequence to be segmented to the duration threshold is determined as the first proposed segmentation position; Based on the distance between each historical service in the sequence to be segmented and the first proposed segmentation position, two adjacent proposed segmentation services are determined in the sequence to be segmented. The fifth position between the two proposed segmentation services is determined as the second proposed segmentation position, and the sequence to be segmented is segmented according to the second proposed segmentation position.
16. The method according to claim 2, characterized in that, After determining the target service matching the user intent among the at least one target historical service, the method further includes: Update the service configuration corresponding to the user intent according to the target service, in response to the second information corresponding to the user intent input by the user to the smart assistant application, and enable the target service matching the user intent based on the service configuration.
17. The method according to claim 16, characterized in that, The step of updating the service configuration corresponding to the user intent according to the target service includes: When the device hosting the smart assistant application is idle, the priority of each pre-configured service in the service configuration is updated according to the target service.
18. The method according to claim 17, characterized in that, The step of updating the priority of each pre-configured service in the service configuration according to the target service includes: In the service configuration, the priority of the target service is updated to the first priority; In the service configuration, the priority of other pre-configured services besides the target service is updated to a second priority, wherein the first priority is higher than the second priority.
19. The method according to claim 17, characterized in that, After activating the target service that matches the user intent, the method further includes: In response to third information corresponding to the user's intent input into the smart assistant application, based on the service configuration, an alternative service matching the user's intent is enabled, wherein the priority of the alternative service is not higher than the priority of the target service.
20. An electronic device, characterized in that, The device includes a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the electronic device to perform the user intent-based service initiation method as described in any one of claims 1-19.
21. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed on a computer, cause the computer to perform the service initiation method based on user intent as described in any one of claims 1-19.
22. A computer program product, characterized in that, The computer program product includes: a computer program or instructions that, when executed on a computer, cause the computer to perform the service initiation method based on user intent as described in any one of claims 1-19.
Citation Information
Patent Citations
Method and device for recommending service
CN116738033A
Intelligent customer service method and device, electronic equipment and storage medium
CN118861196A