Scene push methods and devices, storage media and electronic devices
By analyzing user operation records, scenarios that conform to user habits are generated and pushed, solving the problem of inaccurate scenario push in existing technologies and improving scenario usage and user satisfaction.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- QINGDAO HAIER TECH
- Filing Date
- 2021-12-23
- Publication Date
- 2026-05-26
Smart Images

Figure CN116340608B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communications, and more specifically, to a method and apparatus for pushing scenarios, a storage medium, and an electronic device. Background Technology
[0002] As people demand higher levels of intelligence in home appliances, they need to be able to schedule and control these appliances intelligently—that is, to control smart home devices based on operation sequences (i.e., scenarios). Currently, the generated scenarios are mainly user-defined scenarios and system-recommended scenarios. Because user-defined scenarios are more difficult to set up and have a higher complexity, the commonly used method for setting scenarios is to use system-recommended scenarios.
[0003] However, the scenario recommendations provided by the system in related technologies are not perfect. They can only recommend a large number of scenarios to users to meet their needs, but cannot accurately push specific scenarios. Searching for scenarios that meet the user's needs from a large number of recommended scenarios takes a long time, and there is no guarantee that a scenario that meets the user's needs will be found. As a result, users cannot feel the importance of the scenarios, so they rarely use the system-recommended scenarios, making it difficult to improve the system's scenario recommendation function.
[0004] It is evident that the push methods in related technologies suffer from low usage rates due to the imprecise targeting of specific scenarios. Summary of the Invention
[0005] This invention provides a method and apparatus for pushing scenarios, a storage medium, and an electronic device, which at least solves the problem in related technologies where the scenario pushing method has a low usage rate due to the insufficient accuracy of the pushed scenarios.
[0006] According to one aspect of the embodiments of this application, a method for pushing a scene is provided, comprising: acquiring multiple function operation records, wherein the multiple function operation records are used to record multiple function sequences, each of the multiple function sequences being used to represent at least one function of a function set of at least one smart device that is operated sequentially in one of multiple recording periods; determining a first function sub-sequence based on the multiple function sequences, wherein the first function sub-sequence is a function sub-sequence that appears multiple times in the multiple function sequences to satisfy a preset number of times condition; encapsulating the first function sub-sequence into a first scene, wherein the first scene is used to indicate that the functions are triggered sequentially according to the order of the functions in the first function sub-sequence; and pushing scene parameters of the first scene to a terminal device associated with the at least one smart device to display the first scene on the device operation interface of the terminal device.
[0007] According to another aspect of the embodiments of this application, a scene push device is also provided, comprising: an acquisition unit, configured to acquire multiple function operation records, wherein the multiple function operation records are used to record multiple function sequences, each of the multiple function sequences being used to represent at least one function from a set of functions of at least one smart device that is operated sequentially in one of the multiple recording periods; a first determination unit, configured to determine a first function sub-sequence based on the multiple function sequences, wherein the first function sub-sequence is a function sub-sequence that appears multiple times in the multiple function sequences, satisfying a preset number of times condition; a first encapsulation unit, configured to encapsulate the first function sub-sequence into a first scene, wherein the first scene is used to indicate that the functions are triggered sequentially according to the order of the functions in the first function sub-sequence; and a first push unit, configured to push scene parameters of the first scene to a terminal device associated with the at least one smart device, so as to display the first scene on the device operation interface of the terminal device.
[0008] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, and the computer program is configured to execute the push method of the above-described scenario when it is run.
[0009] According to another aspect of the embodiments of this application, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above-described scenario push method through the computer program.
[0010] In this embodiment, an operation sub-sequence satisfying preset conditions is obtained from a set of recorded operation sequences of a terminal device. This sub-sequence is then encapsulated into a scene and pushed to the terminal device. Multiple function operation records are obtained, each recording a set of multiple function sequences. Each function sequence represents at least one function from a set of functions of at least one smart device, operated sequentially within one of multiple recording periods. A first function sub-sequence is determined based on these multiple function sequences, where the first function sub-sequence is a sub-sequence that appears a preset number of times in the multiple function sequences. The first function sub-sequence is then encapsulated. The first scenario is used to indicate that each function is triggered sequentially according to the order of each function in the first functional sub-sequence. The scenario parameters of the first scenario are pushed to a terminal device associated with at least one smart device so that the first scenario is displayed on the device operation interface of the terminal device. Since the first scenario is generated based on the user's historical usage habits of the smart device, it meets the user's expectations for the use of the smart device and can achieve the purpose of matching the recommended scenario with the user. This achieves the effect of improving the usage rate of the pushed scenario and thus improving user satisfaction. This solves the problem of low usage rate of the pushed scenario due to the inaccuracy of the pushed scenario in the related technology. Attached Figure Description
[0011] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0012] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a schematic diagram of the hardware environment for an optional push method according to an embodiment of this application;
[0014] Figure 2 This is a flowchart illustrating an optional push method according to an embodiment of this application;
[0015] Figure 3 This is a schematic diagram of an optional push method according to an embodiment of this application;
[0016] Figure 4 This is a schematic diagram of an optional self-learning scene generation system based on Markov chains according to an embodiment of this application;
[0017] Figure 5 This is a flowchart illustrating another optional scenario of the push method according to an embodiment of this application;
[0018] Figure 6 This is a flowchart illustrating another optional scenario of the push method according to an embodiment of this application;
[0019] Figure 7 This is a structural block diagram of a push device for an optional scenario according to an embodiment of this application;
[0020] Figure 8 This is a structural block diagram of an optional electronic device according to an embodiment of this application. Detailed Implementation
[0021] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0022] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0023] According to one aspect of the embodiments of this application, a method for pushing scenarios is provided. Optionally, in this embodiment, the above-described method for pushing scenarios can be applied to, for example... Figure 1 The hardware environment shown consists of smart device 102 and server 104. For example... Figure 1 As shown, server 104 connects to smart device 102 via a network and can be used to provide services (such as application services) to smart home devices or clients installed on smart home devices. A database can be set up on the server or independently of the server to provide data storage services for server 104.
[0024] The aforementioned network may include, but is not limited to, at least one of the following: wired network, wireless network. The aforementioned wired network may include, but is not limited to, at least one of the following: wide area network, metropolitan area network, local area network. The aforementioned wireless network may include, but is not limited to, at least one of the following: Wi-Fi (Wireless Fidelity), Bluetooth. The smart device 102 may be, but is not limited to, smart home devices such as smart TVs, smart refrigerators, and smart water heaters. In this embodiment, the smart device is described using a smart home device as an example.
[0025] The scenario push method of this application embodiment can be executed by server 104, smart device 102, or jointly by server 104 and smart device 102. Alternatively, the smart device 102 can execute the scenario push method of this application embodiment by a client installed on it.
[0026] Taking the push method of the scenario in this embodiment executed by server 104 as an example, Figure 2 This is a flowchart illustrating an optional push method according to an embodiment of this application, such as... Figure 2 As shown, the process of this method may include the following steps:
[0027] Step S202: Obtain multiple function operation records, wherein the multiple function operation records are used to record multiple function sequences, and each function sequence in the multiple function sequences is used to represent at least one function in the function set of at least one smart device that is operated sequentially in one of the multiple recording periods.
[0028] The scene push method in this embodiment can be applied to scenarios that push operation sequences associated with smart home devices. The aforementioned smart home devices can be smart home devices located in a user's home, such as smart TVs, smart refrigerators, and smart water heaters, which are electronic devices equipped with smart chips. These smart home devices can be part of a scene push system. Compared to traditional home devices, smart home devices add computing modules, network interfaces, input / output devices, etc., thereby enabling the smart home devices in this embodiment to have intelligent analysis and intelligent service functions.
[0029] It should be noted that a user's household can be created by a target application running on the target device of a target object (e.g., the homeowner). This target object, or other objects, can bind devices belonging to that household, such as smart home devices, through the target application. Furthermore, in addition to the target object, associated objects of the household (e.g., family members) can also be bound through the target application. These associated objects can be long-term residents of the household or infrequent visitors. The aforementioned terminal devices can be smartphones (e.g., Android phones, iOS phones), tablets, PDAs, mobile internet devices (MIDs), PADs, etc. This embodiment does not limit the type of terminal device.
[0030] When a user operates a terminal device or directly on a smart home device, the terminal device or smart home device will record the functions performed by the user, generating multiple function operation records corresponding to the user. These multiple function operation records are used to record multiple function sequences. Each function sequence represents at least one function from the function set of at least one smart device that is operated sequentially within one of the multiple recording periods. For example, if a user performs three consecutive operations on an air conditioner on their smartphone to raise the temperature by 1 degree, and then performs one operation to control the air conditioner to turn on ventilation, the operation sequence recorded on the smartphone will be: temperature increase by 1 degree - temperature increase by 1 degree - temperature increase by 1 degree - ventilation turned on. If the user operates multiple different smart devices on the terminal device within a recording period, the terminal device will record all the function operations performed by the user on the function sets of the different smart devices. Optionally, when recording the user's function operations, the terminal device can also record the time when the user performs the function to generate the corresponding function operation record.
[0031] Optionally, the recording period can be a fixed time period (e.g., 24 hours). All user operations within this recording period will be recorded in the corresponding function sequence for that recording period, and all user operations after this recording period will be recorded in the function sequence for the next recording period. Furthermore, consecutive operations of the same function across two recording periods can be recorded within the same recording period.
[0032] Optionally, after collecting the user's functional operations on the smart home device, the terminal device can immediately upload the collected operation records to the server, whereby the server generates operation records for each recording period. Alternatively, the collected operation records can be stored, and when the stored operation records meet a set time threshold (reaching a recording period, or other triggering conditions), the stored operation records can be uploaded to the server simultaneously. Alternatively, operation records for each recording period can be generated first, and then sent to the server. This embodiment does not limit the scope of this approach.
[0033] For example, when the threshold number of records is 100, the terminal device will only upload the stored function operation records to the server when the number of stored function operation records reaches 100.
[0034] It should be noted that one operation or multiple adjacent operations (which can be a sequence of operations) recorded in the above functional sequence can correspond to a function of the target device. For example, in the operation sequence of "increase temperature by 1 degree - increase temperature by 1 degree - increase temperature by 1 degree - turn on ventilation", the operation of "turn on ventilation" corresponds to the ventilation function in the target device. As another example, in the operation sequence of "increase temperature by 1 degree - increase temperature by 1 degree - increase temperature by 1 degree - turn on ventilation", the three operations of "increase temperature by 1 degree" all correspond to the function of "increase temperature" in the target device.
[0035] Step S204: Determine a first functional subsequence based on multiple functional sequences, wherein the first functional subsequence is a functional subsequence that appears multiple times in the multiple functional sequences, satisfying a preset frequency condition.
[0036] After obtaining multiple function operation records, the server can parse these records to obtain multiple function sequences. It should be noted that since different user operations on a smart terminal device can correspond to the same function—for example, two different operations in an operation sequence, raising the temperature by 1 degree and raising the temperature by 2 degrees, both correspond to the same function—a large number of consecutive function operations may appear in the function sequence. To simplify the process of determining the first function subsequence, consecutive function operations can be merged.
[0037] After obtaining multiple functional sequences, the server can determine a first functional subsequence from these sequences. Optionally, the first functional subsequence can be the functional subsequence that appears most frequently in the multiple functional sequences, or it can be a functional subsequence whose frequency of occurrence in the multiple functional sequences meets a preset frequency condition. For example, the preset frequency condition can be that the functional subsequence appears more than 90% of the time in the multiple functional sequences.
[0038] Step S206: Encapsulate the first functional subsequence into a first scenario, wherein the first scenario is used to indicate that each function is triggered sequentially according to the order of each function in the first functional subsequence.
[0039] After determining the first functional sub-sequence, a first scene can be generated based on the first functional sub-sequence to recommend scenes to the user. The first scene is used to indicate that each function should be triggered sequentially according to the order of the functions in the first functional sub-sequence.
[0040] The encapsulation process described above can extract functional nodes from the first functional sub-sequence, generate an instruction based on the extracted functional nodes, and encapsulate the instruction into a first scene. When the generated instruction is triggered, it will control the functional nodes in the first functional sub-sequence to be triggered accordingly.
[0041] It should be noted that the first scenario does not refer to a real scenario, but rather a virtual scenario. When the first scenario is triggered, the terminal device can instruct the corresponding smart devices to trigger the aforementioned functions in sequence according to the order of the functions in the first functional sub-sequence.
[0042] For example, when the server determines that the functional subsequence (i.e., the first functional subsequence mentioned above) is the subsequence of clicking to raise the temperature to 40 degrees, then turning on the music mode, and turning off the water after 40 minutes, it will encapsulate the above functional subsequence into a scene. When the user clicks on the above scene, the server will control the smart air conditioner to execute the functional nodes in the above functional subsequence in turn.
[0043] Step S208: Push the scene parameters of the first scene to a terminal device associated with at least one smart device so that the first scene can be displayed on the device operation interface of the terminal device.
[0044] After obtaining the first scene, the server can push the determined first scene to a terminal device associated with at least one smart device, so that the first scene can be displayed on the terminal device's operation interface. When the first scene is selected and triggered, the first scene or the operation instructions encapsulated in the first scene can be pushed to the smart home device, so that the operations in the first functional sub-sequence can be automatically executed in sequence on the smart home device.
[0045] Optionally, the aforementioned push can send the first scene to the terminal device via a message channel corresponding to the terminal device. This message channel can be a message transmission channel established for pushing the scene to the terminal device. To push the first scene more efficiently, the scene parameters of the first scene can be pushed to the terminal device so that the first scene can be displayed on the terminal device's operating interface.
[0046] Optionally, a terminal device can receive scene parameters of the first scene sent by the server. After receiving the scene parameters, the terminal device can generate the first scene locally based on the received scene parameters, so as to trigger the corresponding smart home devices to execute the functions in the first functional sub-sequence in sequence on the terminal device. In addition, the server can also directly push the first scene to at least one terminal device associated with a smart device. After receiving the first scene, the terminal device can directly display the first scene on the device operation interface of the terminal device.
[0047] It should be noted that when the terminal device's interface can only display one scene, the newly received scene can be compared with the existing scene. If the scenes match, the existing scene can be replaced with the new scene, or the existing scene can remain unchanged. If the newly received scene does not match the existing scene, the existing scene should be replaced with the newly received scene. When the terminal device's interface can display multiple scenes, the newly received scene can be directly added to the interface without deleting the existing scene. Optionally, since the newly received scene is generally more suitable for the current user's needs, the positions of the multiple scenes can be adjusted, placing the newly received scene first for user convenience.
[0048] Through steps S202 to S208, multiple function operation records are obtained. These records record multiple function sequences, each representing at least one function from a set of functions of at least one smart device that is operated sequentially within one of the multiple recording periods. A first function sub-sequence is determined based on these sequences, where the first function sub-sequence is a sub-sequence that appears a number of times in the multiple function sequences, satisfying a preset frequency condition. The first function sub-sequence is encapsulated into a first scene, indicating that each function is triggered sequentially according to the order of its functions within the first function sub-sequence. The scene parameters of the first scene are pushed to a terminal device associated with at least one smart device, displaying the first scene on the terminal device's operation interface. This solves the problem in related technologies where scene push methods suffer from low usage rates due to inaccurate scene pushes, thus improving the usage rate of pushed scenes and enhancing user satisfaction.
[0049] In one exemplary embodiment, determining a first functional sub-sequence based on a plurality of functional sequences includes:
[0050] S11, Based on multiple functional sequences, determine the target function from the functional set using a Markov chain;
[0051] S12, starting from the target function, determine the first functional subsequence among multiple functional sequences, wherein the first functional subsequence includes a set of continuous functions starting from the target function.
[0052] Users frequently switch between functions when operating smart home devices. For example, after raising the temperature of a smart air conditioner by one degree three times, a user might switch to another function, such as ventilation, to control the air conditioner to ventilate. Since users often set smart home devices to the same modes based on their habits, they frequently perform the same operations. Therefore, when determining the first functional subsequence from multiple functional sequences, a Markov chain approach can be used to first identify the target function from the set of functions. Then, starting with the target function, the first functional subsequence can be determined from the multiple functional sequences. This first functional subsequence includes a set of consecutive functions that begin with the target function.
[0053] The Markov chain described above is a discrete-time, discrete-state Markov process. In a Markov process (which has no aftereffect), given current knowledge or information, only the current state is used to predict the future; the past (i.e., historical states before the present) is irrelevant to predicting the future (i.e., future states after the present). Markov processes alongside Markov chains include Poisson processes (continuous time, discrete states) and Wiener processes (continuous time, continuous states). Since both the time and state distributions involved in a Markov chain are discrete, it can be viewed as a set of steps, each corresponding to a different state. At each step of a Markov chain, a state can transition to another state or remain in the current state. This change in state is called a transition, and the probability associated with different state changes is called the transition probability (one-step transition probability). For example, a random walk is a Markov chain. In a random walk, each step's state is a point in a graph, and each step can move to any adjacent point. The probability of moving to each point is the same (regardless of the previous walk path).
[0054] Since users typically employ a specific usage mode when using smart home devices, and the steps required to switch to this mode are similar, the functions in the first functional subsequence will frequently appear in multiple functional sequences. Optionally, the process of determining the target function from the function set based on Markov chains, according to multiple functional sequences, can be to identify the function that appears most frequently in the multiple functional sequences as the target function. If there are multiple functions with the highest frequency, all of them can be identified as target functions. Alternatively, functions that appear more than a threshold number of times in the multiple functional sequences can be identified as target functions. This embodiment does not limit this approach.
[0055] After determining the target function, a first functional subsequence can be determined from multiple functional sequences based on the target function. Optionally, the first functional subsequence can be determined from multiple functional sequences starting with the target function. The first functional subsequence includes a set of continuous functions starting with the target function.
[0056] It should be noted that the above process of determining the first functional subsequence from multiple functional sequences, starting with the target function, can be as follows: first, search for the target function in multiple functional sequences; after finding the target function, take the target function as the starting point and determine the functional subsequence that meets the set conditions as the first functional subsequence.
[0057] Furthermore, since users may encounter accidental operations while operating smart home devices, before determining the first functional sub-sequence from multiple functional sequences starting with the target function, it's advisable to filter the functions within those sequences to eliminate invalid operations. These invalid operations include positive and negative operations that cancel each other out. For example, when a user operates a function on a smart home device via a terminal device or directly, accidental touches may occur. If a user wants to raise the temperature of the smart air conditioner by 3 degrees, they need to execute the "raise temperature by 1 degree" function three times. If, after executing the "raise temperature by 1 degree" operation twice, the user mistakenly executes the "lower temperature by 1 degree" operation, they will need to execute the "raise temperature by 1 degree" function twice more to raise the temperature by 3 degrees. That is, the operation sequence is: raise temperature by 1 degree - raise temperature by 1 degree - lower temperature by 1 degree - raise temperature by 1 degree - raise temperature by 1 degree. In the above operation sequence, the operations of decreasing by 1 degree and increasing by 1 degree are invalid operations. Therefore, after obtaining the original operation sequence, the operations of decreasing by 1 degree and increasing by 1 degree can be filtered to obtain continuous valid operations, and then the corresponding function sequence can be generated based on the above continuous valid operations.
[0058] By using this embodiment as a starting point, the first functional subsequence can be determined from multiple functional sequences, thereby improving the rationality of the determination of the functional subsequence.
[0059] In one exemplary embodiment, determining a target function from a set of functions based on a Markov chain, according to multiple function sequences, includes:
[0060] S21, Based on multiple function sequences, determine the total number of operations for each candidate function among multiple candidate functions, where multiple candidate functions belong to a function set, and the total number of operations for each candidate function is the total number of times each candidate function appears in multiple function sequences;
[0061] S22, determine the target function among multiple candidate functions based on the total number of operations for each candidate function and the transition rate for each candidate function, wherein the transition rate for each candidate function is the proportion of each candidate function transitioned to each candidate function from other candidate functions besides each candidate function, as determined by each candidate function as a state of the Markov chain.
[0062] Optionally, in order to better determine the target function from the function set based on the Markov chain, the total number of operations of multiple candidate functions can be determined first. The multiple candidate functions belong to the function set, and the total number of operations of each candidate function is the total number of times each candidate function appears in the multiple function sequences. Since the candidate functions may contain multiple sub-functions, for example, raising the temperature by one degree and raising the temperature by two degrees are both sub-functions under the candidate function of raising the temperature. Therefore, when determining the total number of operations of each candidate function among the multiple candidate functions, the sub-functions under each candidate function can also be counted.
[0063] After determining the total number of operations for each of the multiple candidate functions, the server can determine the target function from the multiple candidate functions based on the total number of operations. Optionally, the target function can be determined from the multiple candidate functions based on the total number of operations for each candidate function and the in-transfer rate (or out-transfer rate) of each candidate function, where the in-transfer rate (or out-transfer rate) of each candidate function is the proportion of each candidate function as a state of a Markov chain that is transferred to (or out of) each candidate function by other candidate functions besides the current candidate function.
[0064] In this embodiment, there are cases where multiple operations correspond to the same function. For example, in a set of operation sequences, there are the following operation sequences: 1, 1-2-3-4-5-6, 2, 3-4-5-6, 3, 1-2-5-6, 4, 2-3-4. Among them, operations 1 and 2 correspond to function A, operations 3 and 4 correspond to function B, and operations 5 and 6 correspond to function C. That is, the function sequence corresponding to operation sequence 1 is AABBCC, the function sequence corresponding to operation sequence 2 is BBCC, the function sequence corresponding to operation sequence 3 is AACC, and the function sequence corresponding to operation sequence 4 is ABB. Since the conversion between AA, BB, and CC is performed within the same function and does not involve conversion between functions, it can be removed when calculating the conversion rate between functions. In operation sequence 4 (i.e., operation sequence ABB), function A has one transfer out and 0 transfers in, and function B has 0 transfers out and 1 transfer in. The transfer-out rate / transfer-in rate of a function can be the proportion of all transfer-in / transfer-out times of a function in a set of operation sequences to the total number of operation sequences, or it can be calculated in other ways (e.g., the proportion of all transfer-in / transfer-out times of a function in a set of operation sequences to the total number of function points in a set of operation sequences, or all transfer-in / transfer-out times). This embodiment does not limit this.
[0065] After calculating the transfer-in rate (or transfer-out rate) of each function, the target function can be determined from the aforementioned function set based on the calculated transfer-in rate (or transfer-out rate) of each function. Optionally, the target function can be determined directly based on the transfer-in rate (or transfer-out rate) of each function. For example, the function with the highest transfer-in rate (or transfer-out rate) can be determined as the target function. Alternatively, it can be determined indirectly based on the transfer-in rate (or transfer-out rate) of each function. This embodiment does not impose any limitations on this approach.
[0066] It should be noted that when the function sequence corresponding to the operation sequence exceeds a length threshold, the function sequence can be filtered. Filtering can be done by removing duplicate functions. For example, the function sequence ABBDCCBAA can be simplified to ABDCBA, which simplifies the calculation of the transfer-in rate (or transfer-out rate) of each function, improves computational efficiency, and reduces the probability of errors during calculation.
[0067] This embodiment uses the conversion rate of functions to determine target functions, which can improve the accuracy and rationality of determining target functions.
[0068] In one exemplary embodiment, determining a target function from a plurality of candidate functions based on the total number of operands and the transition rate of each candidate function includes:
[0069] S31, determine the target candidate function based on the total number of operations for each candidate function, wherein the target candidate function is the candidate function with the most total operations among multiple candidate functions;
[0070] S32, when the transfer rate of the target candidate function is the highest among the transfer rates of each candidate function, the target candidate function is determined as the target function.
[0071] After determining the total number of operations and the transfer rate of each candidate function, the target candidate function can be determined based on the total number of operations for each candidate function. Since users frequently execute their favorite functions among multiple function operation records, the total number of operations for these functions is relatively high compared to other functions. Therefore, the target candidate function can be determined from multiple candidate functions based on the total number of operations for each function. Optionally, the candidate function with the highest total number of operations among multiple candidate functions can be determined as the target candidate function, or the candidate function with the total number of operations exceeding a certain number can be determined as the target candidate function. This embodiment does not limit this.
[0072] After identifying the target candidate function, since each candidate function may have multiple sub-functions, and users will make a lot of conversions (transfer in and transfer out) between sub-functions, and the above-mentioned transfer in and transfer out does not involve the conversion between functions (i.e., transfer in and transfer out), if the function with the most total operations is directly identified as the target function, it may result in the target function not being the function that users like. Optionally, when the transfer rate of the target candidate function is the highest among the transfer rates of each candidate function, the target candidate function can be identified as the target function. When the transfer rate of the target candidate function is not the highest among the transfer rates of each candidate function, the target candidate function can be re-identified until the transfer rate of the target candidate function is the highest among the transfer rates of each candidate function.
[0073] It should be noted that, since the transfer-in rate of a function should be comparable to its transfer-out rate when the function is not the first or last to be executed, the target candidate function is determined as the target function when its transfer-out rate is the highest among all candidate functions. Alternatively, the target conversion rate of a function can be used to determine the target function. Here, the target conversion rate of each function is equal to the weighted sum of its transfer-in and transfer-out rates. The weights corresponding to the transfer-in and transfer-out rates can be set as needed, for example, both can be 50%. This embodiment does not impose any limitations on this.
[0074] For example, if in a sequence of multiple functions, the conversion rate of target candidate function A is 50% and the conversion rate is 40%, and the conversion rate of target candidate function B is 40% and the conversion rate is 50%, with a weight of 0.4 for the conversion rate and a weight of 0.6 for the conversion rate, then the target conversion rate of target candidate function A is 44%, and the target conversion rate of target candidate function B is 46%. Therefore, target candidate function B can be considered as the target function mentioned above.
[0075] It should be noted that the weights of the conversion rates of each function in the target conversion rate can be adjusted according to different situations, but this embodiment does not limit this.
[0076] By determining the target function based on the conversion rate in this embodiment, the accuracy of the target function can be improved, thereby enhancing the user experience.
[0077] In an exemplary embodiment, each candidate function does not belong to a sub-function of any other function in the function set besides each candidate function, and the total number of operands for each candidate function is the total number of times each candidate function and each candidate function's sub-functions appear in multiple function sequences;
[0078] S41, before determining the target function from multiple candidate functions based on the total number of operations for each candidate function, the above method further includes:
[0079] S42, determine the total number of times all functions appear in multiple function sequences to obtain the target total number of times;
[0080] S43, determine the transfer rate of the current candidate function among multiple candidate functions by performing the following steps:
[0081] S44, determine the first transformation number corresponding to the current candidate function in multiple function sequences, wherein the first transformation number is the total number of times that other candidate functions appear before the current candidate function in multiple function sequences;
[0082] S45, the ratio of the first conversion number to the target total number of conversions is determined as the conversion rate of the current candidate function.
[0083] In this embodiment, each candidate function is not a sub-function of any other function in the function set. That is, each candidate function is the largest function in the function set. For example, if the function set contains four functions A, B, C, and D, where function A contains sub-functions a1, a2, and a3, function B contains sub-functions b1, b2, and b3, function C contains sub-functions c1, c2, and c3, and function D contains sub-functions d1, d2, and d3, then the candidate function can only be a function among A, B, C, and D, and cannot be a sub-function of A, B, C, and D.
[0084] In this embodiment, to determine the conversion rate of the current candidate function among multiple candidate functions, it is necessary to determine the total number of function clicks in multiple function sequences. Optionally, before determining the target function among multiple candidate functions based on the total number of operations for each candidate function, the total number of times all functions appear in multiple function sequences can be determined to obtain the target total number. The total number of times all functions appear in multiple function sequences includes not only the number of functions in the function set (e.g., the four functions A, B, C, and D mentioned above), but also the sub-functions under the function (e.g., sub-functions a1, a2, ..., d3).
[0085] After determining the target total number of times, the conversion rate of the current candidate function among multiple candidate functions can be determined based on the target total number of times. Optionally, the first conversion number corresponding to the current candidate function in multiple function sequences can be determined. The first conversion number is the total number of times that other candidate functions appear before the current candidate function in multiple function sequences.
[0086] It should be noted that the first transformation number refers to the total number of times that other candidate functions appear first, followed by the current candidate function. For example, in the function sequence ABCBBCA, the first transformation number is 2, that is, the function pairs AB and CB, and the function pair BB are not included in the calculation of the first transformation number.
[0087] Optionally, after determining the first conversion number corresponding to the current candidate function in multiple function sequences, the ratio of the first conversion number to the target total number can be determined as the conversion rate of the current candidate function. Since the conversion rate of sub-functions under the function is not calculated when calculating the first conversion number corresponding to each candidate function, the sum of the ratios of the first conversion number to the target total number is less than or equal to 1.
[0088] In this embodiment, the ratio of the first conversion number to the target total number of conversions is determined as the conversion rate of the current candidate function, which can improve the accuracy and efficiency of determining the conversion rate of the current candidate function, thereby improving the timeliness of scene push.
[0089] In one exemplary embodiment, starting with a target function, determining a first functional sub-sequence among multiple functional sequences includes:
[0090] S51, the functional subsequence that appears most frequently among multiple functional sequences is determined as the first functional subsequence, wherein the functional subsequence includes a set of consecutive functions starting with the target function; or...
[0091] S52, the first functional subsequence is determined as the functional subsequence that appears more than a predetermined number of times in a set of consecutive functions and has the largest number of functions among multiple functional sequences, wherein the functional subsequence includes a set of consecutive functions that start with the target function; or
[0092] S53, the first functional subsequence is determined from the multiple functional sequences that includes functions of at least two smart devices and appears most frequently, wherein the functional subsequence includes a set of consecutive functions starting with the target function; or...
[0093] S54, the first functional subsequence is determined from the multiple functional sequences that include functions of at least two smart devices, appear more than a predetermined number of times, and have the largest number of functions in a group of consecutive functions. The functional subsequence includes a group of consecutive functions starting with the target function; or
[0094] S55, the first functional subsequence is determined from the multiple functional sequences that includes the functional subsequence that appears more than a predetermined number of times and has the largest number of smart devices to which the included function belongs. The functional subsequence includes a group of consecutive functions that start with the target function.
[0095] Once the target function is determined, it can be used as a starting point to search for functional sub-sequences that meet the set conditions among multiple functional sequences, and these sub-sequences can be identified as the first functional sub-sequence. The functional sub-sequence that meets the set conditions and is identified as the first functional sub-sequence can be at least one of the following:
[0096] (1) The functional subsequence that appears most frequently in multiple functional sequences is determined as the first functional subsequence. The aforementioned functional subsequence includes a set of continuous functions starting with the target function.
[0097] (2) The first functional subsequence is determined as the functional subsequence that appears more than a predetermined number of times among multiple functional sequences and has the largest number of functions in a group of consecutive functions. The aforementioned functional subsequence includes a group of consecutive functions that start with the target function. The predetermined number of times can be set as needed, either automatically by the system or manually by the user. This embodiment does not limit this setting.
[0098] For example, if the predetermined number of times is set to be that the function subsequence appears in 90% of the function sequences, and if two sets of function subsequences both meet the above-mentioned predetermined number of times requirement, with the first function subsequence having 50 functions and the second function subsequence having 70 functions, then the second function subsequence can be identified as the first function subsequence mentioned above.
[0099] (3) The first functional subsequence is determined from multiple functional sequences that includes functions of at least two smart devices and appears most frequently. This functional subsequence includes a set of consecutive functions starting with the target function. Here, the functional subsequence must include at least two functions. If no such functional sequence exists, the first functional subsequence is empty. If multiple such functional subsequences exist, the functional sequence that appears most frequently is determined as the first functional subsequence.
[0100] (4) The first functional subsequence is determined from multiple functional sequences that include functions of at least two smart devices, appear more than a predetermined number of times, and have the largest number of functions among a set of consecutive functions. This functional subsequence includes a set of consecutive functions starting with the target function. Here, the functional subsequence must satisfy the condition of including at least two functions and appearing more than a predetermined number of times. If no such functional subsequence exists, the first functional subsequence is empty. If such a functional subsequence exists, the first functional subsequence is determined from the one with the largest number of functions among a set of consecutive operations.
[0101] (5) The first functional subsequence is determined from the multiple functional sequences that includes the functional subsequence that appears more than a predetermined number of times and has the largest number of smart devices to which the function belongs. The functional subsequence includes a group of consecutive functions starting with the target function.
[0102] In this embodiment, the first target operation subsequence is determined by taking the target operation corresponding to the target function as the starting operation, which can improve the rationality of the operation sequence determination.
[0103] In one exemplary embodiment, after pushing the scene parameters of the first scene to a terminal device associated with at least one smart device, the method further includes:
[0104] S61, when the number of newly added function operation records obtained reaches the target number, the newly added function sequence corresponding to the target number of newly added function records is used to update multiple function sequences to obtain multiple updated function sequences. The newly added function sequence is used to represent at least one function in the function set that is operated sequentially in a recording period after multiple recording periods.
[0105] S62, based on the updated multiple function sequences, determine the second function subsequence, wherein the second function subsequence is the function subsequence that appears a number of times in the updated multiple function sequences that meets a preset number condition;
[0106] S63, the second functional subsequence is encapsulated into a second scene, wherein the second scene is used to indicate that each function is triggered sequentially according to the order of each function in the second functional subsequence;
[0107] S64 pushes the scene parameters of the second scene to the terminal device so that the second scene can be displayed on the device's operation interface.
[0108] In this embodiment, since user habits are constantly changing, after pushing the scenario parameters of the first scenario to the terminal device, it is also necessary to continue recording the user's usage habits (i.e., function operation records). Optionally, when the number of newly acquired function operation records reaches the target number, multiple function sequences are updated using the newly acquired function sequences corresponding to the target number of newly acquired function records to obtain the updated multiple function sequences. The aforementioned newly acquired function sequences are used to represent at least one function in the function set that is operated sequentially in a recording period after multiple recording periods.
[0109] The target number mentioned above can be the same as or different from the number of function operation records mentioned earlier; this embodiment does not impose any limitation on this. For example, if the server records the order of functions clicked by the user each day after entering the operation interface of the same device within 100 days, and determines the function subsequence based on the aforementioned 100 function operation records.
[0110] After obtaining the updated multiple function sequences, a second function subsequence can be determined based on the updated multiple function sequences. The second function subsequence is the function subsequence that appears a certain number of times in the updated multiple function sequences, satisfying a preset condition. The process of determining the second function subsequence based on the updated multiple function sequences is similar to the process of determining the first function subsequence based on multiple function sequences, and will not be described in detail in this embodiment.
[0111] Optionally, after determining the second functional sub-sequence, the second functional sub-sequence can be encapsulated into a second scene, wherein the second scene is used to indicate that each function is triggered sequentially according to the order of each function in the second functional sub-sequence. The process of encapsulating the second functional sub-sequence into a second scene is similar to encapsulating the first functional sub-sequence into a first scene, and will not be described in detail in this embodiment.
[0112] Optionally, after encapsulating the second functional sub-sequence into a second scene, the scene parameters of the second scene can be pushed to the terminal device to display the second scene on the device operation interface. The method of pushing the scene parameters of the second scene to the terminal device is similar to that of pushing the scene parameters of the second scene to the terminal device, and will not be described in detail in this embodiment.
[0113] In this embodiment, when the number of newly acquired function operation records reaches the target number, the second scenario is redefined, which can improve the accuracy of the pushed scenario and thus improve user satisfaction.
[0114] In one exemplary embodiment, after pushing the scene parameters of the first scene to a terminal device associated with at least one smart device, the method further includes:
[0115] S71, receive scene parameters of the first scene through the terminal device;
[0116] S72, compare the first scene with the existing scene based on the scene parameters of the first scene and the scene parameters of the existing scene, wherein the existing scene is the scene that has been displayed on the device operation interface;
[0117] S73, if the first scene is inconsistent with the existing scene, updates the existing scene with the first scene so that the first scene can be displayed on the device operation interface.
[0118] The terminal device can receive scene parameters of the first scene sent by the server, and compare the existing scene with the first scene based on the scene parameters of the first scene and the scene parameters of the existing scene. The comparison process can be to compare the parameter types and values of the scene parameters of the first scene with the parameter types and values of the scene parameters of the existing scene. When the parameter types and values of the two are consistent, the first scene is considered to be consistent with the existing scene; otherwise, the first scene is considered to be inconsistent with the existing scene.
[0119] If the first scene is inconsistent with an existing scene, and the terminal device's operation interface can only display one scene, or the terminal device's operation interface can display multiple scenes, but there is no spare space for scenes on the operation interface, the first scene can be used to update the existing scene so that the first scene can be displayed on the device operation interface; if the first scene is consistent with an existing scene, the first scene can be used to update the existing scene, for example, by updating the display position of the existing scene, or the existing scene can be left unupdated. This embodiment does not limit this.
[0120] If the first scene is inconsistent with the existing scenes, and multiple scenes can be displayed on the device operation interface of the terminal device, and there is spare space for scenes on the operation interface, the first scene can be directly added to the device operation interface of the terminal device. Optionally, the scenes on the device operation interface of the terminal device can be rearranged so that the first scene is placed before the existing scenes for the convenience of the user.
[0121] By updating the existing scenes displayed on the device's user interface with new scenes through this embodiment, the usage rate of the pushed scenes can be increased, thereby improving the user experience.
[0122] The push method for scenarios in this application embodiment will be explained below with reference to optional examples. In this optional example, the target device is the user's terminal device, and the operation sequence corresponds to the operation sequence of smart home devices.
[0123] Existing scenarios are based solely on existing survey data, lacking timeliness and the ability to be intelligently optimized, resulting in low usage rates for smart home scenarios. In this optional embodiment, Markov chains are used to predict user behavior, creating different scenarios tailored to different users. This facilitates user experience without requiring traditional customization processes.
[0124] Furthermore, existing scene settings lack the ability to automatically generate scenes. This optional example, however, uses statistical methods to identify the most frequently used functions when a user is using a particular device, and then analyzes and integrates the sub-functions most likely to be used after using these functions. This allows for the identification of the most suitable function-sub-function chain, which is then generated as a new custom scene.
[0125] To customize scenarios, users' favorite scenarios can be identified based on their individual operation and usage habits, and then combined with... Figure 3 The push method for this optional example scenario may include the following steps:
[0126] Step 1: During the data acquisition phase, record 100 functional operation records obtained over 100 days in a loop.
[0127] To customize a scene for a specific smart home device for a particular user, the order in which functions are clicked after entering the interface of the same device (i.e., the smart home device) each day can be counted, and the time can be recorded. The 100 functional operation records obtained over 100 days can be recorded in a loop (the function is the same as the aforementioned set of operation sequences).
[0128] Step 2: In the data analysis phase, customize the device scenario for the user based on the 100 recorded functional operation records.
[0129] In the data analysis phase, 100 functional operation records can be analyzed horizontally. The records are categorized based on differences in the first step, and the number of times each function (e.g., function 1, function 2, function 3) is clicked in the first step is counted, along with the sub-functions clicked after each function is clicked in the first step. Based on the first step from these 100 records, the most likely clicked function is predicted using a Markov chain.
[0130] An example of a self-learning scene generation system based on Markov chains can be found as follows: Figure 4As shown, where P11 = number of conversions from function 1 to function 3 / total number of clicks; P1 = number of conversions from function 3 to function 1 / total number of clicks; P2 = number of conversions from function 3 to function 2 / total number of clicks; P22 = number of conversions from function 2 to function 3 / total number of clicks; P3 = number of conversions from function 2 to function 1 / total number of clicks; P33 = number of conversions from function 1 to function 2 / total number of clicks. After obtaining P1, P11, P2, P22, P3, and P33, they can be sorted, and then the click volume of each function can be compared to determine the best function.
[0131] The optimal function can be determined to have been found when the following conditions are met:
[0132] 1. Function 1 has the most, and P3+P1 has the highest (i.e., Function 1 has the highest conversion rate).
[0133] 2. Function 2 has the most, and P2 and P33 have the highest (i.e., Function 2 has the highest transfer rate).
[0134] 3. Function 3 has the most, and P22 and P11 have the highest (i.e., function 3 has the highest transfer rate).
[0135] After finding the optimal function, sort the process chains (which can be function-sub-function chains, serving the same purpose as the aforementioned operation sub-sequences) that start with the operation corresponding to that function. Sort them according to the shortest common process chains. Then, find the most frequently used process (serving the same purpose as the aforementioned first or second target operation sub-sequence) and define it as a new scene. Then add it to the homepage. After loading the scene to the homepage, it can be placed in the first position within the scene area of the homepage.
[0136] Taking smart water heaters as an example of smart home devices, such as Figure 5 As shown, the push method for the above scenario may include the following steps:
[0137] Step S502: By statistically analyzing the user's usage frequency and switching frequency, identify the user's favorite function and improve the temperature.
[0138] Step S504: Based on the user's favorite function (i.e., increase the temperature), find all the operation chains after this operation is performed, compare the function points of all chains horizontally, and find more than 90% of the parts with the same operation without breaking down the chain (more than 2 steps). The parts with the same operation found are: click to increase the temperature to 40 degrees - turn on the music mode - turn off the water after 40 minutes.
[0139] Step S506: Generate a scene based on the user's usage habits and place it on the scene homepage for easy use.
[0140] Based on the above-mentioned partial scene generation of more than 90% of all identical operations, the scene is: click to heat up to 40 degrees - turn on music mode - turn off the water after 40 minutes, and place it at the top of the scene for easy future use.
[0141] Taking a smart refrigerator as an example of a smart home device, such as Figure 6 As shown, the push method for the above scenario may include the following steps:
[0142] Step S602: By statistically analyzing the user's usage frequency and switching frequency, identify the user's favorite function and set it as the energy-saving mode.
[0143] Step S604: Based on the user's favorite function (i.e., energy-saving mode), find all operation chains after this operation is performed, and compare the function points of all chains horizontally. Without breaking down the chains, find more than 90% of the parts with the same operation (more than 2 steps). The parts with the same operation found are: turn on energy-saving mode - turn on food expiration date reminder.
[0144] Step S606: Generate a scene based on the user's usage habits and place it on the scene homepage for easy use.
[0145] Based on the above-mentioned partial generation scenarios where more than 90% of all identical operations are found, the scenario is: turn on energy-saving mode - turn on food expiration date reminder, and place it at the top of the scene for easy future use.
[0146] This optional example records every click a user makes, predicts the user's next action, and then compares the prediction results (predicted scenarios) with the actual results (actual usage records). By continuously adjusting the prediction results and improving the accuracy, it generates the most suitable scenario for the current user and adds an elimination mechanism (new scenarios replace old scenarios) to ensure that the scenarios most needed by the user are displayed first.
[0147] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0148] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM (Read-Only Memory) / RAM (Random Access Memory), magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0149] According to another aspect of the embodiments of this application, a push device for implementing the push method of the above-described scenario is also provided. Figure 7 This is a structural block diagram of a push device for an optional scenario according to an embodiment of this application, such as... Figure 7 As shown, the device may include:
[0150] The acquisition unit 702 is used to acquire multiple function operation records, wherein the multiple function operation records are used to record multiple function sequences, and each function sequence in the multiple function sequences is used to represent at least one function in the function set of at least one smart device that is operated sequentially in one of the multiple recording cycles.
[0151] The first determining unit 704 is connected to the obtaining unit 702 and is used to determine a first functional subsequence based on multiple functional sequences, wherein the first functional subsequence is a functional subsequence that appears a number of times in multiple functional sequences that meets a preset number of times condition;
[0152] The first encapsulation unit 706 is connected to the first determination unit 704 and is used to encapsulate the first functional sub-sequence into a first scene, wherein the first scene is used to indicate that each function is triggered sequentially according to the order of each function in the first functional sub-sequence;
[0153] The first push unit 708, connected to the first encapsulation unit 706, is used to push the scene parameters of the first scene to a terminal device associated with at least one smart device, so as to display the first scene on the device operation interface of the terminal device.
[0154] It should be noted that the acquisition unit 702 in this embodiment can be used to execute the above step S202, the first determination unit 704 in this embodiment can be used to execute the above step S204, the first encapsulation unit 706 in this embodiment can be used to execute the above step S206, and the first push unit 708 in this embodiment can be used to execute the above step S208.
[0155] Through the above modules, multiple function operation records are obtained. These records record multiple function sequences, each representing at least one function from a set of functions of at least one smart device that is operated sequentially within one of the multiple recording periods. Based on the multiple function sequences, a first function subsequence is determined, where the first function subsequence is a subsequence that appears a certain number of times in the multiple function sequences. The first function subsequence is encapsulated into a first scene, indicating that each function is triggered sequentially according to the order of the functions in the first function subsequence. The scene parameters of the first scene are pushed to a terminal device associated with at least one smart device to display the first scene on the device operation interface of the terminal device. This solves the problem of low usage rate of pushed scenes due to insufficient accuracy of the pushed scenes in related technologies, improves the usage rate of pushed scenes, and thus enhances user satisfaction.
[0156] In an exemplary embodiment, the first determining unit includes:
[0157] The first determining module is used to determine the target function from the function set based on a Markov chain according to multiple function sequences;
[0158] The second determining module is used to determine a first functional subsequence from multiple functional sequences, starting with the target function. The first functional subsequence includes a set of consecutive functions starting with the target function.
[0159] In one exemplary embodiment, the first determining module includes:
[0160] The first determining submodule is used to determine the total number of operations for each candidate function among multiple candidate functions based on multiple function sequences. The multiple candidate functions belong to a function set, and the total number of operations for each candidate function is the total number of times each candidate function appears in the multiple function sequences.
[0161] The second determination submodule is used to determine the target function among multiple candidate functions based on the total number of operands of each candidate function and the transition rate of each candidate function, wherein the transition rate of each candidate function is the proportion of each candidate function transitioned to each candidate function by other candidate functions besides each candidate function, as determined by each candidate function as a state of a Markov chain.
[0162] In one exemplary embodiment, the second determining submodule includes:
[0163] The first determining subunit is used to determine the target candidate function based on the total number of operations for each candidate function, wherein the target candidate function is the candidate function with the most total operations among multiple candidate functions;
[0164] The second determining subunit is used to determine the target candidate function as the target function when the transfer rate of the target candidate function is the highest among the transfer rates of each candidate function.
[0165] In one exemplary embodiment, each candidate function does not belong to a subfunction of any other function in the function set besides each candidate function, and the total number of operands for each candidate function is the total number of occurrences of each candidate function and its subfunctions in the multiple function sequences; the above apparatus further includes:
[0166] The second determining unit is used to determine the total number of occurrences of all functions in multiple function sequences before determining the target function from multiple candidate functions based on the total number of operations of each candidate function, and to obtain the target total number of occurrences.
[0167] An execution unit is used to determine the transition rate of the current candidate function among multiple candidate functions by executing the following units:
[0168] Determine the first transformation number corresponding to the current candidate function in multiple function sequences, wherein the first transformation number is the total number of times that other candidate functions appear before the current candidate function in multiple function sequences;
[0169] The ratio of the first conversion number to the target total number of conversions is determined as the conversion rate of the current candidate function.
[0170] In one exemplary embodiment, the second determining module includes:
[0171] The third determining submodule is used to determine the functional subsequence that appears most frequently among multiple functional sequences as the first functional subsequence, wherein the functional subsequence includes a set of consecutive functions starting with the target function; or...
[0172] The fourth determining submodule is used to determine the first functional subsequence as the functional subsequence that appears more than a predetermined number of times among multiple functional sequences and includes the largest number of functions in a group of consecutive functions. The functional subsequence includes a group of consecutive functions that start with the target function; or
[0173] The fifth determining submodule is used to determine the first functional subsequence from multiple functional sequences that includes functions of at least two smart devices and appears most frequently. This functional subsequence includes a set of consecutive functions starting with the target function; or...
[0174] The sixth determining sub-module is used to determine the first functional sub-sequence from multiple functional sequences that includes functions of at least two smart devices, appears more than a predetermined number of times, and has the largest number of functions in a group of consecutive functions. The functional sub-sequence includes a group of consecutive functions starting with the target function; or
[0175] The seventh determining sub-module is used to determine the first functional sub-sequence from among multiple functional sequences that includes the functional sub-sequence that appears more than a predetermined number of times and has the largest number of smart devices to which the included function belongs. The functional sub-sequence includes a group of consecutive functions that start with the target function.
[0176] In one exemplary embodiment, the above-described apparatus further includes:
[0177] The first update unit is used to update multiple function sequences with the new function sequence corresponding to the target number of new function records after pushing the scene parameters of the first scene to the terminal device associated with at least one smart device, when the number of newly acquired new function operation records reaches the target number, so as to obtain the updated multiple function sequences. The new function sequence is used to represent at least one function in the function set that is operated sequentially in a recording period after multiple recording periods.
[0178] The third determining unit is used to determine the second functional subsequence based on the updated multiple functional sequences, wherein the second functional subsequence is a functional subsequence that appears a number of times in the updated multiple functional sequences that meets a preset number condition;
[0179] The second encapsulation unit is used to encapsulate the second functional sub-sequence into a second scene, wherein the second scene is used to indicate that each function is triggered sequentially according to the order of each function in the second functional sub-sequence;
[0180] The second push unit is used to push the scene parameters of the second scene to the terminal device so that the second scene can be displayed on the device's operation interface.
[0181] In one exemplary embodiment, the above-described apparatus further includes:
[0182] The receiving unit is configured to receive the scene parameters of the first scene through the terminal device after pushing the scene parameters of the first scene to the terminal device associated with at least one smart device.
[0183] The comparison unit is used to compare the first scene with the existing scene based on the scene parameters of the first scene and the scene parameters of the existing scene, wherein the existing scene is the scene that has been displayed on the device operation interface.
[0184] The second update unit is used to update the existing scene with the first scene when the first scene is inconsistent with the existing scene, so as to display the first scene on the device operation interface.
[0185] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the above embodiments. It should also be noted that the above modules, as part of a device, can operate in environments such as... Figure 1 The hardware environment shown can be implemented through software or hardware, and the hardware environment includes the network environment.
[0186] According to another aspect of the embodiments of this application, a storage medium is also provided. Optionally, in this embodiment, the storage medium can be used to execute program code for the push method of any of the above scenarios in the embodiments of this application.
[0187] Optionally, in this embodiment, the storage medium may be located on at least one of the network devices in the network shown in the above embodiment.
[0188] Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps:
[0189] S1, acquire multiple function operation records, wherein the multiple function operation records are used to record multiple function sequences, and each function sequence in the multiple function sequences is used to represent at least one function in the function set of at least one smart device that is operated sequentially in one of the multiple recording cycles.
[0190] S2, determine the first functional subsequence based on multiple functional sequences, wherein the first functional subsequence is a functional subsequence that appears multiple times in the multiple functional sequences and satisfies a preset frequency condition;
[0191] S3, encapsulate the first functional subsequence into a first scene, wherein the first scene is used to indicate that each function is triggered sequentially according to the order of each function in the first functional subsequence;
[0192] S4, push the scene parameters of the first scene to the terminal device associated with at least one smart device, so as to display the first scene on the device operation interface of the terminal device.
[0193] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments, and will not be repeated in this embodiment.
[0194] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing program code, such as USB flash drives, ROMs, RAMs, portable hard drives, magnetic disks, or optical disks.
[0195] According to another aspect of the embodiments of this application, an electronic device for implementing the push method in the above scenario is also provided. The electronic device may be a server, a terminal, or a combination thereof.
[0196] Figure 8 This is a structural block diagram of an optional electronic device according to an embodiment of this application, such as... Figure 8 As shown, it includes a processor 802, a communication interface 804, a memory 806, and a communication bus 808. The processor 802, communication interface 804, and memory 806 communicate with each other via the communication bus 808.
[0197] Memory 806 is used to store computer programs;
[0198] When processor 802 executes a computer program stored in memory 806, it performs the following steps:
[0199] S1, acquire multiple function operation records, wherein the multiple function operation records are used to record multiple function sequences, and each function sequence in the multiple function sequences is used to represent at least one function in the function set of at least one smart device that is operated sequentially in one of the multiple recording cycles.
[0200] S2, determine the first functional subsequence based on multiple functional sequences, wherein the first functional subsequence is a functional subsequence that appears multiple times in the multiple functional sequences and satisfies a preset frequency condition;
[0201] S3, encapsulate the first functional subsequence into a first scene, wherein the first scene is used to indicate that each function is triggered sequentially according to the order of each function in the first functional subsequence;
[0202] S4, push the scene parameters of the first scene to the terminal device associated with at least one smart device, so as to display the first scene on the device operation interface of the terminal device.
[0203] Optionally, the communication bus can be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8The symbol is represented by a single thick line, but this does not indicate that there is only one bus or one type of bus. The communication interface is used for communication between the aforementioned electronic device and other devices.
[0204] The memory may include RAM, or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0205] As an example, the memory 806 described above may include, but is not limited to, the acquisition unit 702, the first determination unit 704, the first packaging unit 706, and the first push unit 708 in the push device described above. Furthermore, it may include, but is not limited to, other module units in the push device described above, which will not be elaborated upon in this example.
[0206] The processors mentioned above can be general-purpose processors, including but not limited to: CPU (Central Processing Unit), NP (Network Processor), etc.; they can also be DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0207] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments, and will not be repeated here.
[0208] Those skilled in the art will understand that Figure 8 The structure shown is for illustrative purposes only. The device implementing the push method in the above scenario can be a terminal device, such as a smartphone, tablet, handheld computer, MID, PAD, etc. Figure 8 This does not limit the structure of the aforementioned electronic device. For example, the electronic device may also include components that are more... Figure 8 The more or fewer components shown (such as network interfaces, display devices, etc.), or having the same Figure 8 The different configurations shown.
[0209] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, ROM, RAM, disk or optical disk, etc.
[0210] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0211] If the integrated units in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0212] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0213] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of 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 system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between units or modules, and may be electrical or other forms.
[0214] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the solution provided in this embodiment, depending on actual needs.
[0215] 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 at least two units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0216] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method for pushing content in a specific scenario, characterized in that, include: Multiple function operation records are obtained, wherein the multiple function operation records are used to record multiple function sequences, and each function sequence in the multiple function sequences is used to represent at least one function in the function set of at least one smart device that is operated sequentially in one of the multiple recording periods. Based on the plurality of functional sequences, a first functional subsequence is determined, wherein the first functional subsequence is a functional subsequence that appears a preset number of times in the plurality of functional sequences; The first functional subsequence is encapsulated into a first scenario, wherein the first scenario is used to indicate that the functions are triggered sequentially according to the order of the functions in the first functional subsequence; The scene parameters of the first scene are pushed to a terminal device associated with the at least one smart device, so that the first scene is displayed on the device operation interface of the terminal device. The step of determining the first functional subsequence based on the plurality of functional sequences includes: determining a target function from the functional set based on a Markov chain according to the plurality of functional sequences; determining the first functional subsequence from the plurality of functional sequences starting from the target function, wherein the first functional subsequence includes a set of consecutive functions starting from the target function.
2. The method according to claim 1, characterized in that, The step of determining the target function from the function set based on the plurality of function sequences using a Markov chain includes: Based on the plurality of function sequences, the total number of operations for each candidate function among the plurality of candidate functions is determined, wherein the plurality of candidate functions belong to the function set, and the total number of operations for each candidate function is the total number of times each candidate function appears in the plurality of function sequences; The target function is determined from the plurality of candidate functions based on the total number of operations for each candidate function and the transfer rate for each candidate function, wherein the transfer rate for each candidate function is the proportion of each candidate function transferred from other candidate functions besides the candidate function, as determined by each candidate function as a state of a Markov chain.
3. The method according to claim 2, characterized in that, The step of determining the target function from the plurality of candidate functions based on the total number of operations for each candidate function and the transfer rate for each candidate function includes: Based on the total number of operations for each candidate function, a target candidate function is determined, wherein the target candidate function is the candidate function with the highest total number of operations among the multiple candidate functions; When the transfer rate of the target candidate function is the highest among the transfer rates of each candidate function, the target candidate function is determined as the target function.
4. The method according to claim 3, characterized in that, Each candidate function is not a sub-function of any other function in the function set, and the total number of operands for each candidate function is the total number of times each candidate function and its sub-functions appear in the plurality of function sequences. Before determining the target function from the plurality of candidate functions based on the total number of operations for each candidate function, the method further includes: Determine the total number of times each function appears in the multiple function sequences to obtain the target total number of occurrences; The following steps are performed to determine the transfer rate of the current candidate function among the plurality of candidate functions: Determine a first transformation number corresponding to the current candidate function in the plurality of function sequences, wherein the first transformation number is the total number of times the other candidate functions appear before the current candidate function in the plurality of function sequences; The ratio of the first conversion number to the target total number is determined as the conversion rate of the current candidate function.
5. The method according to claim 1, characterized in that, The step of determining the first functional sub-sequence from the plurality of functional sequences, starting with the target function, includes: The functional subsequence that appears most frequently among the plurality of functional sequences is determined as the first functional subsequence, wherein the functional subsequence includes a group of consecutive functions starting with the target function; or... The first functional subsequence is determined by identifying the functional subsequence that appears more than a predetermined number of times among the plurality of functional sequences and includes the largest number of functions in a group of consecutive functions. This functional subsequence includes a group of consecutive functions that begin with the target function; or The first functional subsequence is defined as the functional subsequence that includes functions of at least two smart devices and appears most frequently among the multiple functional sequences. This functional subsequence includes a set of consecutive functions starting with the target function; or... The first functional subsequence is defined as the functional subsequence that includes functions from at least two smart devices, appears more than a predetermined number of times, and has the largest number of functions in a group of consecutive functions. The functional subsequence includes a group of consecutive functions starting with the target function; or The first functional subsequence is determined from the plurality of functional sequences that includes the functional subsequence that appears more than a predetermined number of times and that contains the most smart devices. The functional subsequence includes a group of consecutive functions that start with the target function.
6. The method according to claim 1, characterized in that, After pushing the scene parameters of the first scene to the terminal device associated with the at least one smart device, the method further includes: When the number of newly added function operation records obtained reaches the target number, the multiple function sequences are updated with the new function sequence corresponding to the target number of new function records to obtain the updated multiple function sequences. The new function sequence is used to represent at least one function in the function set that is operated sequentially in a recording period after the multiple recording periods. Based on the updated plurality of functional sequences, a second functional subsequence is determined, wherein the second functional subsequence is a functional subsequence that appears a number of times in the updated plurality of functional sequences that satisfies the preset number condition; The second functional sub-sequence is encapsulated into a second scenario, wherein the second scenario is used to indicate that the functions are triggered sequentially according to the order of the functions in the second functional sub-sequence; The scene parameters of the second scene are pushed to the terminal device so that the second scene can be displayed on the device's operation interface.
7. The method according to any one of claims 1 to 6, characterized in that, After pushing the scene parameters of the first scene to the terminal device associated with the at least one smart device, the method further includes: The terminal device receives the scene parameters of the first scene; Based on the scene parameters of the first scene and the scene parameters of the existing scene, the first scene is compared with the existing scene, wherein the existing scene is the scene that has been displayed on the device operation interface; If the first scenario is inconsistent with the existing scenario, the existing scenario is updated using the first scenario so that the first scenario is displayed on the device operation interface.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program, when executed, performs the method of any one of claims 1 to 7.
9. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to execute the method of any one of claims 1 to 7 through the computer program.