Information recommendation method, device and system and storage medium

By generating recommended subsequences from ordered data sequences through scanning and decision-making modules, the problem of insufficient recommendation under multidimensional resource constraints in existing technologies is solved, achieving high-value retention of key fragments and improved flexibility.

CN122019878APending Publication Date: 2026-05-12叶国达
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
叶国达
Filing Date
2026-02-01
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing technologies cannot effectively combine multi-dimensional resource constraints in ordered data sequence recommendation, resulting in difficulty in finely controlling resource consumption, lack of key segment retention mechanism, and lack of flexibility and adaptability.

Method used

By scanning, elements exceeding the limit and elements with high importance are identified, a candidate set of included elements is constructed, a state summary is generated, and a set of prefix end positions and included fragments is generated based on the decision module to form a recommended subsequence.

Benefits of technology

It achieves fine-grained control of multi-dimensional resources, high-value retention of key fragments, and improves the flexibility and adaptability of recommendation results, making it suitable for recommendation scenarios of various types of ordered data such as text, dialogue, logs, and multimedia.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122019878A_ABST
    Figure CN122019878A_ABST
Patent Text Reader

Abstract

The invention discloses an information recommendation method, device and system and a storage medium, and relates to the technical field of computer software and data processing. The method comprises the following steps: acquiring an ordered element sequence and a resource upper limit; scanning under constraint, calculating element resource consumption based on a cost function and accumulating to determine a last non-overrun position of a prefix, identifying overrun elements, elements entering an interval close to an upper limit and / or elements with importance scores not lower than a threshold value to form a candidate included element set, and generating a state abstract; determining a prefix end position and a post-contained fragment set according to an input decision module (a rule-based decision strategy and / or a learnable model); and generating a recommendation subsequence and outputting the recommendation subsequence. The information recommendation result can be generated under multi-dimensional resource constraints, and the method is suitable for fragment information recommendation scenes of texts, dialogues, logs, multimedia and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer software and data processing technology, and in particular to an information recommendation method for selecting and combining candidates from ordered element sequences and generating recommended subsequences based on strategies under multidimensional resource constraints, as well as an information recommendation device, an information recommendation system, and a computer-readable storage medium for implementing the method. Background Technology

[0002] In many computer applications, it is necessary to select a subset of elements from a large number of candidate elements within an ordered data sequence of indeterminate length. These selected elements must then be presented to the user as a recommendation result (i.e., a recommended subsequence) or used as input for subsequent processing, while ensuring that the recommendation result meets certain resource constraints. For example:

[0003] 1. Text Processing and Dialogue Systems Recommendations

[0004] In text summarization and dialogue system prompt word construction (e.g., context construction in large language models), it is necessary to define the limits... Within a limit on the number of characters or sequences, a portion of content is selected from ordered elements such as historical dialogues, system prompts, and knowledge fragments to be input into the model as recommendation results. Traditional methods often use simple prefix truncation, that is, sequentially concatenating elements from the beginning of the sequence and stopping once the upper limit is exceeded, without giving extra consideration to subsequent elements. Therefore, it may not be able to recommend very important information located at the end (such as the latest user requests, error messages, or concluding sentences) to the model.

[0005] 2. Log Fragment Recommendation and Transmission

[0006] In log collection and reporting scenarios, to save network bandwidth and storage resources, it is often necessary to select a portion of logs from the log sequence as recommended segments for uploading or display. Existing solutions typically employ the "retain most recent" approach. "Log entry" or "Keep before" The simple strategy of "logs per line" makes it difficult to take into account the background context of the logs and the sections containing abnormal information when resources are limited, thus failing to achieve good information coverage when recommending them to operations and maintenance personnel or analysis systems.

[0007] 3. Recommendation of multimedia data fragments

[0008] In video or audio summarization and preview scenarios, it is necessary to select several segments from a complete video or audio sequence as recommended content to form a preview or summary within a limited playback time. Traditional methods mainly rely on uniform extraction or simple prefix extraction, which makes it difficult to make flexible recommendations based on key event locations, user focus points, etc., resulting in recommended segments that do not fully reflect the key points of the media content.

[0009] In summary, existing technologies have the following problems in the "recommendation under ordered data sequences" scenario:

[0010] The use of single-dimensional constraints (such as length) makes it difficult to consider multiple resource constraints (such as length, number of elements, processing time, memory usage, etc.) simultaneously, resulting in difficulty in finely controlling resource consumption in recommendation results.

[0011] Recommendation strategies are usually simple prefix selection or simple tail retention, lacking a recommendation mechanism based on "overlimit points" or key positions for intelligent post-inclusion;

[0012] The lack of a unified framework for "candidates containing a set of elements" makes it impossible to flexibly select one or more local fragments to combine into a recommendation result.

[0013] The lack of comprehensive utilization of features such as element importance and category makes it impossible to maximize the information value of recommendation results under the premise of limited resources;

[0014] The decision-making logic is mostly based on fixed, hard-coded rules, which are difficult to configure according to business scenarios or to optimize through data-driven approaches, resulting in recommendation strategies that are not intelligent enough and lack scalability.

[0015] Therefore, in order to solve the above-mentioned problems, it is necessary to design a more flexible information recommendation method and device that can perform prefix selection and candidate post-inclusion decision on ordered element sequences under multi-dimensional resource constraints, and generate recommended subsequences including prefixes and optional post-inclusion segments by combining configurable or learnable strategies, thereby improving the flexibility, information value and adaptability of recommendation results. Summary of the Invention

[0016] This invention provides an information recommendation method, apparatus, system, and storage medium to at least address the problems in related technologies where, under resource constraints, simple prefix truncation is often used to extract ordered element sequences, making it difficult to retain key segments within the budget and prioritize high-value information. This invention improves the ability to retain key content and the flexibility of recommendation output while meeting resource constraints and including budget constraints after selection. The technical solution of this invention is as follows:

[0017] First aspect: Information recommendation methods

[0018] A first aspect of the present invention provides an information recommendation method, the method comprising: obtaining an ordered sequence of elements. and resource limits ;

[0019] The resource limit Under constraints, the ordered sequence of elements Perform scan processing based on the cost function Accumulate element resource consumption to determine the last non-over-limit position of the prefix. Identify elements that exceed the limit, elements that are close to the upper limit, and / or elements whose importance score is not lower than the threshold. The elements are used to construct a candidate set of elements. and generate a state summary. ;

[0020] The state summary Input decision module to determine the prefix end position and the subsequent collection of fragments ;

[0021] Based on the prefix end position and the set of subsequent included fragments Generate recommended subsequences And output;

[0022] The latter includes a set of fragments. For one or more elements from the ordered sequence A collection of segments extracted from the source .

[0023] In one implementation, the resource limit Scalar or multidimensional resource upper limit vector

[0024]

[0025] The scanning process includes: scanning elements Computational resource consumption

[0026]

[0027] in Scalar or vector

[0028]

[0029] Cumulative resource consumption in the current prefix Trial resource consumption is formed based on (scalar or vector).

[0030]

[0031] when When the data is a vector, resource constraints adopt a dimension-by-dimensional hard constraint approach: if a dimension exists... satisfy Then it is judged as exceeding the limit; if it satisfies the condition for all dimensions d If it is, it is determined that it does not exceed the limit, thus determining the last position of the prefix that does not exceed the limit. and the corresponding prefix resource consumption .

[0032] In one implementation, the scanning process is based on an importance function. Calculate importance score

[0033]

[0034] An element is included in the candidate set of elements if it meets one of the following conditions. :

[0035] (1) Exceeding the limit candidate: Existence dimension satisfy ;

[0036] (2) Candidates close to the upper limit: Under the premise of not exceeding the limit, there exists a dimension satisfy

[0037]

[0038] in For configurable near-upper limit buffer parameters, A fixed value or a proportional value can be used.

[0039]

[0040] (3) High-importance candidates: ,in This is a preset importance threshold.

[0041] Preferably, after an out-of-limit candidate is first encountered during the scanning process, the scanning continues to supplement the set of elements included after the candidate. However, the scan prefix is ​​no longer expanded. .

[0042] In one implementation, the method optionally includes a dedicated resource budget after acquisition. The decision module, once determined, contains a set of fragments. When the recommended results, consisting of prefix segments and subsequent included segments, are subjected to resource consumption verification, and if the resource limit is not met... Constraints and / or Constraints on the set of subsequently included fragments Perform trimming or adjustment until constraints are met or preset termination conditions are reached.

[0043] In one implementation, the decision module determines the prefix end position using one of the following methods. and the set of subsequent included fragments : Rule-based decision-making strategies, learnable model-based decision-making strategies, or a combination of both.

[0044] In one implementation, the generation of recommended subsequences Includes: extracting prefix segments and the set of subsequent contained fragments For each segment, overlapping or adjacent segments are merged or their boundaries are aligned. Then, a resource consumption check is performed on the merged or aligned segment set to confirm that the overall resource consumption meets the resource limit. Constraints; in configuration At that time, after further verification, it was found that some resource consumption met the requirements. (or its effective budget) ) constraints, where

[0045] .

[0046] Second aspect: Information recommendation device

[0047] A second aspect of the present invention provides an information recommendation apparatus configured to perform the method described in the first aspect, the apparatus comprising:

[0048] The receiving module is used to receive ordered sequences of elements. and resource limits Optionally includes a dedicated resource budget upon receipt. and / or policy configuration;

[0049] The scanning modeling module is used for... Constrained scanning of the ordered element sequence To determine the last non-over-limit position of the prefix. After constructing the candidate set, it contains a collection of elements. And generate a state summary ;

[0050] Decision module, used to make decisions based on the state summary Determine the end position of the prefix and the subsequent collection of fragments ;

[0051] The output generation module is used to generate output based on... and Generate recommended subsequences It outputs the results and performs fragment merging / alignment and resource verification.

[0052] Third aspect: Information recommendation system

[0053] A third aspect of the present invention provides an information recommendation system, the system comprising the aforementioned information recommendation device and at least one client or service caller; the client or service caller sends an ordered sequence of elements to the information recommendation device. Resource Limit , and optionally send and / or strategy configuration; the information recommendation device returns a recommended sub-sequence. .

[0054] Fourth aspect: Computer-readable storage media

[0055] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the information recommendation method described in the first aspect.

[0056] The technical solution provided by this invention brings at least the following beneficial effects:

[0057] Multidimensional resource controllability: through resource caps (Can be a multidimensional vector) and combined with a cost function The system calculates and verifies resource consumption, enabling fine-grained constraint control over multi-dimensional resources such as length, number of elements, processing time, and memory usage, so that the recommended output is more in line with the actual system resource management needs.

[0058] Key fragments can be included later: a set of candidate elements for inclusion is constructed during the scanning phase. And generate a state summary This enables the system to perform post-inclusion selection on key segments when budget allows, in addition to simple prefix recommendation, thereby improving the coverage of key content;

[0059] Prioritizing high-value items: Introducing an importance function Furthermore, by utilizing importance information in decision-making, the recommendation scheme can prioritize retaining elements or fragments with higher importance under the premise of limited resources, thereby improving the information value of the recommendation results.

[0060] The strategy is configurable / learnable and highly adaptable: the decision module supports rule-based strategies, learnable models or combinations thereof, and can optimize strategies through configuration or data-driven approaches in different business scenarios to achieve better scalability and evolution capabilities.

[0061] More flexible output and easier to implement in engineering: Supports It outputs multiple fragments in combination and performs merging, alignment, deduplication, and resource verification during the output stage. This reduces fragmentation and duplicate billing / statistics issues while meeting the budget. It is suitable for recommendation scenarios with various types of ordered data, such as text, dialogue, logs, and multimedia. Attached Figure Description

[0062] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0063] Figure 1 This is a schematic diagram of the method flow of the present invention;

[0064] Figure 2 This is a schematic diagram of the module structure of the information recommendation device in an embodiment of the present invention. Detailed Implementation

[0065] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, so that those skilled in the art can better understand and implement the present invention. However, the embodiments described with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.

[0066] I. Basic Concepts, Data Structures, and Core Mechanisms

[0067] Before describing the information recommendation methods, apparatus, systems, and storage media provided in the embodiments of the present invention, the basic concepts, data structures, and core mechanisms involved will be explained first. It should be understood that this section is intended to aid in understanding the present invention and does not constitute a limitation on the scope of protection; those skilled in the art can make equivalent substitutions for implementation details without departing from the spirit of the present invention.

[0068] (I) Explanation of Basic Concepts

[0069] 1. Ordered sequence of elements

[0070] ordered element sequence A set of elements arranged in chronological or logical order is denoted as . ,in This is the first element. Elements can correspond to text snippets, dialogue turns, log records, or multimedia clips, and can carry business-related attributes (such as timestamps, source markers, group identifiers, etc.).

[0071] 2. Resource Consumption and Resource Limit

[0072] To uniformly characterize resource constraints, this invention introduces resource consumption. With resource limits .

[0073] It can be a scalar or multidimensional resource upper limit vector

[0074]

[0075] R corresponds to a scalar or vector. When dealing with multidimensional resources, this invention defaults to a one-dimensional hard constraint decision-making approach: for any selected set of elements... Its overall resource consumption

[0076]

[0077] Need to satisfy all dimensions All .

[0078] Constructing a tentative resource consumption vector during the scanning process

[0079]

[0080] in The cumulative resource consumption for the current scan prefix is ​​used to determine whether it exceeds the limit. Or it may enter a range close to the upper limit.

[0081] 3. Cost Function

[0082] Cost function Used to map elements to resource consumption, denoted as Its output can be a scalar or a vector. It can be configured as any computable function according to the business scenario, as long as it can provide a verifiable resource consumption value for each element.

[0083] For example: in a text / dialogue scenario, Output Number, character count, or byte count; in a log scenario, It can output the number of bytes and the number of lines (two-dimensional vector); in multimedia scenarios, It can output duration and number of segments (two-dimensional vector); in scenarios where system resources are sensitive, It can also output estimated processing time, memory usage, and other dimensions. The scanning, decision-making, and output processes are based on... Resource verification is performed; the resource verification includes pre-verification during the decision-making stage and final verification after merging, boundary alignment, and deduplication during the output stage. The final verification result serves as the final determination of whether the resource requirement is met. (and optional) The basis for judgment.

[0084] 4. Importance function

[0085] Importance function Used to calculate the importance score of an element, denoted as

[0086]

[0087] Importance rating is used for:

[0088] It assists in identifying candidate elements during the scanning phase;

[0089] During the decision-making stage, the included fragments are selected, sorted, and trimmed in order to retain as much high-value information as possible under resource constraints.

[0090] In one implementation, a preset importance threshold is set. ,when When, the element Identified as a high-importance candidate element (whether it is also included in the prefix is ​​determined by the strategy configuration). It can be determined by business configuration, empirical rules, or training data statistics.

[0091] 5. Prefix and candidate contiguous set

[0092] During the scanning process, this invention distinguishes between "prefix" and "candidate included element":

[0093] prefix : Represents the prefix interval determined under resource constraints and the prefix inclusion strategy. This refers to "the position of the last element included in the prefix and not exceeding the limit";

[0094] The candidate includes a set of elements. (referred to as candidate set) ): Used to aggregate elements that may need to be recommended for retention outside of the prefix. Candidate set It may include at least one of the following corresponding elements:

[0095] (1) Elements that cause resource overruns;

[0096] (2) Elements that enter the range close to the upper limit, where the range close to the upper limit is used to represent the state where resource consumption is close to the resource limit. In one implementation, this range may correspond to a dimension. satisfy

[0097]

[0098] (3) The importance score is not lower than the preset importance threshold. The elements, among which ,and .

[0099] Among them, elements "close to the upper limit" are not included in the prefix under a default strategy, but are only included in the candidate set. Under configurable exception policies, if an element does not cause an out-of-limit event and has not yet experienced its first out-of-limit event, it is allowed to be included in the prefix while still remaining as a candidate for use by subsequent window / grouping policies.

[0100] In a preferred implementation, after the resource limit is exceeded for the first time during the scanning process, subsequent scans can still be used to identify candidate elements and supplement the set. However, the prefix is ​​no longer expanded. .

[0101] The final prefix end position determined by the decision module is denoted as ,in This can be considered as a "scan prefix" formed during the scanning phase, and This is the "final prefix" confirmed after the decision-making stage. Preferably, satisfy In a partially extended implementation, regarding the interval... Recalculate resources and ensure that overall resource consumption does not exceed [the limit]. Under the premise, it is also permissible However, this does not change the rule that "after the first exceedance, the scan prefix will not be expanded" during the scanning phase. The processing logic of "".

[0102] 6. Status Summary

[0103] State Summary It is an intermediate data structure between the scanning phase and the decision-making phase, used to carry compressed key state information and avoid repeated scanning of the entire sequence during the decision-making phase. At least include prefix positions Prefix resource consumption vector The candidate set contains elements. and resource ceiling vector And can be used as needed Adding prefix cumulative importance (or other equivalent prefix value statistics) and more extended fields.

[0104] During the decision-making stage, it can be decided by Derivation of eigenvectors for decision-making The feature vector may include prefix length features, resource utilization features, and candidate sets. Distribution and statistical characteristics, remaining resource characteristics, and optional window / tail summary statistical characteristics, etc.

[0105] When enabling extended modes such as bidirectional scanning, multi-window scanning, and tail summarization... Corresponding extended fields (such as tail direction summary, candidate window statistics, etc.) can be added for use by the decision module.

[0106] 7. Recommended subsequences and sets of subsequently included segments

[0107] The recommended result is from the original sequence. A combination of one or more segments extracted from the data is denoted as... The set of segments selected by the decision module outside the prefix is ​​denoted as the set of segments subsequently included. , It can be represented as: . Typically includes prefix segments And several optional subsequent fragments. To reduce fragmentation and avoid duplicate billing, overlapping or adjacent fragments can be merged, aligned at the boundaries, and deduplicated before output. Boundary alignment refers to adjusting the fragment boundaries to element boundaries, group boundaries, or preset semantic boundaries (such as sentence / message boundaries) to ensure consistency between splicing and billing standards. After merging, alignment, and deduplication, resource verification is performed on the final selected element set to meet the requirements. Constraints; in If provided, the subsequent included portion must also satisfy the requirement of a valid subsequent included budget. Constraints.

[0108] 8. Assembly Rules

[0109] Concatenation rules are used to constrain the combination and output of recommendation results, such as whether to maintain the original sequence order, whether to allow concatenation across groups, whether to merge adjacent segments, or to insert delimiters. Concatenation rules can be configured according to business scenarios to guide the final combination output of prefix and subsequent included segments.

[0110] 9. Preset termination conditions

[0111] Preset termination conditions are used to define the termination rules of the resource trimming or adjustment process to avoid infinite loops or uncontrollable repeated trimming when resource constraints are not met. In one implementation, the preset termination condition includes one or a combination of the following: reaching the maximum trimming rounds; the number of subsequent included fragments decreasing to a preset lower limit; the window half-width shrinking to a preset lower limit; all removable objects in the candidate fragments being removed; or the set of subsequent included fragments being... Set to empty and output only the prefix fragment If the preset termination condition cannot be met... and / or When constraints are in place, rollback can be performed according to the strategy. Or output empty .

[0112] 10. Budgetary Relationships and Priorities and )

[0113] In a preferred implementation, the resource upper limit vector Used to constrain the final recommended subsequence The overall resource consumption is a global hard constraint; this is followed by a dedicated resource budget. (If provided) This is used to impose additional hard constraints on the subsequently included portion. For ease of implementation and consistency, the effective budget for the subsequently included portion is defined. For the dimension-wise minimum:

[0114]

[0115] when When no constraints are provided or certain dimensions are not configured, the corresponding dimensions are considered to be without additional constraints (equivalent to that dimension). ,thereby Ultimately, the following needs to be satisfied: the total resource consumption vector. Satisfies in all dimensions ; and in providing At that time, it includes a partial resource consumption vector. Satisfies in all dimensions .

[0116] 11. Main Symbol Conventions

[0117] : an ordered sequence of elements For elements; The sequence length;

[0118] Cost function and element resource consumption (scalar or vector);

[0119] Importance function and element importance;

[0120] : A preset importance threshold is used to determine high-importance candidates;

[0121] : Resource limit (scalar or vector);

[0122] : Includes a dedicated resource budget (optional);

[0123] The following includes a valid budget;

[0124] The last position of the prefix obtained during the scanning phase that did not exceed the limit;

[0125] The prefix ending position determined during the decision-making stage;

[0126] Prefix resource consumption;

[0127] Exploratory resource consumption (e.g.) );

[0128] The candidate list includes a set of elements.

[0129] Status summary; :Depend on Derived eigenvectors;

[0130] : No. A buffer parameter close to the upper limit for each resource dimension; Determined proportionally The proportional parameter at that time;

[0131] Resource Exceedance Flag: Indicates whether the first exceedance has occurred during the scanning process; The resource dimension identifier corresponding to the first occurrence of resource overrun;

[0132] : Followed by a collection of fragments; Final recommended output;

[0133] Candidate set The index of a candidate element in the dataset; : Window half-width, used to construct candidate nearby window segments;

[0134] Candidate set The percentage of candidate elements located in the preset tail section;

[0135] The result of mapping a multidimensional resource consumption vector to a scalar cost; Weighted sum method Dimensional weights; The primary resource dimension index pre-specified in the primary dimension approach;

[0136] The final set of element indices obtained by merging, aligning, and deduplicating the prefix fragment and the set of subsequent contained fragments; The following contains the corresponding set of indices;

[0137] State summary obtained by scanning in the head / tail direction in bidirectional scanning mode.

[0138] (II) Overview of Data Structures and Core Mechanisms

[0139] 1. Typical Data Structures

[0140] In software implementation, the following abstract data structure can be used to express the concept of this invention (this is just an example and does not limit the specific fields and storage format):

[0141] : Represents an element in a sequence, which can be associated with at least its index, content reference, or content identifier, and can also be associated with and and optional business attributes;

[0142] : Represents an entry in the candidate set C, which may contain at least an element index, a candidate type label, and a corresponding _________. and It can optionally carry category / grouping information;

[0143] : Represents a state summary At least includes and optionally include And / or other extended fields, which can be added as needed.

[0144] 2. The four-stage mechanism of "scanning-summarizing-decision-output"

[0145] To facilitate implementation and reuse, this invention divides the recommendation process into four relatively decoupled stages:

[0146] Scanning phase: In Constrained traversal sequence Accumulate resources and determine the prefix position. With resource statistics Simultaneously identify candidate sets And generate the necessary statistics (such as) );

[0147] Abstract phase: Organize the results from the scanning phase into... As input for decision-making;

[0148] Decision-making stage: based on (and optional) (with policy configuration), determined through rule-based policies and / or learnable models. and And perform necessary resource verification and trimming;

[0149] Output phase: based on and from Extract fragments and combine them into After merging fragments, deduplicating them, and verifying resources, the output is complete.

[0150] Based on the aforementioned fundamental concepts, data structures, and core mechanisms, this invention can be implemented without altering the overall framework through configuration. , , , The system incorporates strategy parameters to adapt to different scenarios such as dialogue, logs, and multimedia, generating recommendation subsequences with high information value under multi-dimensional resource constraints.

[0151] II. General Implementation Method Examples

[0152] The main process of the method of this invention can be referred to Figure 1 In a preferred embodiment, the method of the present invention is executed in a server, cloud service, or local computer device, said device including hardware resources such as a processor, memory, and network interface, wherein the memory stores program code that can run on the processor for performing the following steps:

[0153] (I) Input and Preprocessing Steps

[0154] Step 1: Receive input data and basic configuration

[0155] Step 11: Receive the ordered sequence of elements ;

[0156] Step 12: Receive resource limit The For scalar or multidimensional resource upper limit vectors;

[0157] Step 13: Optional receipt includes a dedicated resource budget. This is used to limit the maximum amount of resources that can be used by the included fragment; when not provided... When a fragment is included, it is only subject to the following rules by default. constraint;

[0158] Step 14: Receive or determine the scenario identifier, strategy configuration identifier, and business context information; wherein, the strategy configuration identifier is used to indicate the set of rules, model version, and / or parameter set to be loaded, so as to adapt to different business scenarios and resource constraint standards under the same method framework.

[0159] Step 2: Configure functions and strategy parameters

[0160] Step 21: Configure the cost function Used to calculate the resource consumption vector for each element. ;

[0161] Step 22: Configure the importance function Used to calculate importance scores for each element. ;

[0162] Step 23: Optional configuration of classification / grouping rules, used to attach category labels or group identifiers to elements so that fragments can be included after being formed by window or group;

[0163] Step 24: The configuration includes strategy parameters, such as the enabled strategy type, importance threshold, window width, maximum number of fragments, resource pruning rules, etc.

[0164] Step 25: Configure the decision module's operating mode, including whether to enable rule-based decision strategies, whether to enable learnable models, and whether to enable bidirectional scanning or multi-window scanning; wherein, the rule-based decision strategy can be implemented by a configurable rule set, which can be organized into a tree structure (configurable rule tree) or other equivalent structures, including but not limited to priority lists, chained rules, table-driven rules, or state machine rules; under the same rule set and configuration parameters, the above equivalent structures can implement the same rule matching and execution logic, thereby outputting the same prefix end position. and the set of subsequent contained fragments The decision outcome.

[0165] (ii) Scanning Phase (Constructing a State Summary under Multidimensional Resource Constraints)

[0166] Step 3: Initialize scan state

[0167] Step 31: Initialize the last non-overrunning prefix position ;

[0168] Step 32: Initialize the prefix resource consumption vector ;

[0169] Step 33: Initialize the candidate set Empty;

[0170] Step 34: Initialize prefix cumulative importance ;

[0171] Step 35: Initialize resource limit exceeded flag ;in, Used to indicate whether the first resource limit has been exceeded during the scan process. for This indicates that the first instance of exceeding the limit has occurred;

[0172] Step 36: Optional initialization of auxiliary record information, including the resource dimension identifier corresponding to the first occurrence of resource limit exceedance. ( Used to identify the vector that leads to the trial resource. Satisfy in this dimension Dimensions This initialization, along with / or the first out-of-limit element index, is used for subsequent feature construction, debugging, or log analysis; in embodiments where this auxiliary information is not used, this initialization can be omitted.

[0173] Step 4: Scan the sequence and construct prefix and candidate pairs

[0174] Step 41: Traverse the elements in order Perform steps 42 to 45 for each element;

[0175] Step 42: Calculate the element resource consumption vector And calculate importance score.

[0176]

[0177] Step 43: Calculate the tentative resource vector ;

[0178] Step 44: Within the resource limit Below The determination is performed, and one of the following states is obtained:

[0179] State A: Not exceeded and not approaching the upper limit, i.e., for all dimensions All meet And for all dimensions None of them meet the requirements

[0180]

[0181] in For configurable dimension buffer parameters, It can be an absolute value or taken proportionally.

[0182] State B: Not exceeded but entering a range close to the upper limit, i.e., for all dimensions All meet And there exists at least one dimension. Satisfying the above state A ;

[0183] State C: Exceeding the limit, meaning there is at least one dimension. satisfy .

[0184] Step 45: Update the prefix and candidate set based on the determination result of Step 44:

[0185] When it is state A and At that time, Incorporate prefix, update and update

[0186]

[0187] When in state C, Constructing a candidate to join the candidate set Candidates must contain at least an index. Candidate type flag (exceeding limits) and Optional additional category labels, group identifiers, timestamps, etc.;

[0188] When in state B, the "approaching the upper limit" processing strategy is executed:

[0189] (1) Default strategy: Do not use The prefix is ​​included and added to the candidate set as a "close to the upper limit" candidate. ;

[0190] (2) Optional strategies: In and Still satisfied Under constraints, it is permissible to Include prefix and update and At the same time, it can still be added as a candidate to the candidate set C for use by subsequent window / grouping inclusion strategies;

[0191] when At that time, it can be Added to the candidate set as a high-importance candidate. (Whether to include the prefix is ​​determined by the policy configuration); where To set a preset importance threshold;

[0192] In a preferred implementation, when state C (overlimit) first occurs, Set as ; set as Subsequent scans can continue to supplement the candidate set. However, the prefix is ​​no longer expanded. .

[0193] Step 5: Generate a state summary

[0194] Step 51: After the scan is completed, generate a state summary. The At least including: Candidate set and resource limits Optionally include prefix cumulative importance. and / or other extended statistical fields;

[0195] Step 52: It is provided as input to the decision-making module.

[0196] (Optional extension) Bidirectional scanning and multi-window scanning

[0197] Step 6: Extended Scan (Optional)

[0198] Step 61: When bidirectional scanning is enabled, the head and tail directions of the sequence can be scanned separately to obtain... and And by the decision module in Under constraints, it can be used in combination to support combinations such as "prefix + tail";

[0199] Step 62: When multi-window scanning is enabled, the candidate set can be targeted. Candidate positions Construct one or more window fragments (where, For candidate set A candidate element in the original sequence The index in; window fragments, for example, are , (Configurable window half-width), and uses resource and importance statistics for each window fragment, window type tags, etc. as... The extended fields are used by the decision module; among them, multi-window scanning can be understood as an implementation method that generates candidate windows in parallel / batch for multiple candidate positions and performs statistical modeling during the scanning phase.

[0200] (III) Decision-making stage (generating recommended solutions)

[0201] Step 7: Input the information needed for decision-making

[0202] Step 71: Input state summary (and optional extended information);

[0203] Step 72: Input policy configuration and include dedicated resource budget (If any).

[0204] Step 8: Determine the prefix end position and the set of subsequent contained segments.

[0205] Step 81: The decision module is based on Determine the end position of the prefix And determine whether to perform a post-inclusion and the set of post-included fragments. ;

[0206] Step 82: The Represented as a set of fragments Fragments can originate from the candidate element itself, the candidate's nearby window, fragments formed by grouping, or combinations of multiple summaries, specifically determined by strategy configuration and decision logic;

[0207] Step 83: The decision module can output using a configurable rule tree (rule strategy), a learnable model, or a combination of both. .

[0208] Step 9: Resource Verification and Trimming (Optional)

[0209] Step 91: [To be continued] and The corresponding resource consumption is pre-verified and necessary pruning is performed to ensure that it meets the requirements. Constraints, and satisfy them where applicable. Constraints on the subsequently included portion; wherein, under a convenient implementation approach, a dedicated resource budget for the subsequently included portion can be first applied. After effective processing, the defined portion includes the effective budget. To find the minimum value dimension by dimension:

[0210]

[0211] when When no constraints are provided or certain dimensions are not configured, the corresponding dimension can be considered as not subject to additional constraints (equivalent to that dimension). (taking positive infinity), at this point the included part is only affected by constraint.

[0212] Allowed in some extended implementations Take greater than When the value is specified, the decision module can perform a process of "recalculating resources and ensuring that they do not exceed the limit" during the resource pre-verification phase: when At that time, for the interval Perform incremental resource verification and progressively calculate the prefix total resource consumption vector.

[0213]

[0214] and dimension by dimension Compare and select the one that satisfies the condition. No more than The largest As the corrected prefix end position If there is no If the constraints are satisfied, then... rollback to no greater than The value of .

[0215] Note: During the output stage, a final check will be performed on the final selected element set after merging, boundary alignment and deduplication (see step 102), and the final check result will be used as the basis for the final constraint determination.

[0216] Step 92: When resources do not meet constraints, apply the preset pruning rules. Pruning is performed (e.g., reducing the number of fragments, shrinking the window, removing fragments with low unit resource importance) until constraints are met or a preset termination condition is reached. For comparing "pruning priority / cost-effectiveness" in multi-dimensional resource scenarios, this invention allows for the vectorization of multi-dimensional resource consumption. Mapped to scalar cost Used for sorting and pruning, but this mapping does not change the caliber of the dimension-by-dimensional hard constraint verification described in step 93. For example, The main dimension method can be used.

[0217] ( (For pre-specified primary resource dimension indexes)

[0218] Or use the weighted sum method

[0219] ( For the first (Dimensional weights).

[0220] Therefore, the importance of a unit resource can be defined as... Used for sorting and eliminating candidate segments;

[0221] Step 93: During resource verification, recommend the overall resource consumption vector of the subsequence. It should meet the requirements in all resource dimensions. ;exist When provided, it includes a partial resource consumption vector. It should also meet the requirements in various resource dimensions. That is, the overall budget. As a global hard constraint, (After being effectively processed) ) represents additional hard constraints for the subsequently included portion.

[0222] (iv) Output stage (forming recommended subsequences)

[0223] Step 10: Generate and output recommended subsequences

[0224] Step 101: Extract the prefix segment based on k and according to Extract one or more fragments;

[0225] Step 102: Merge or align overlapping or adjacent segments, and perform resource verification; in a preferred implementation, the element-level deduplication method is used for calculation: prefix segments... and After merging, aligning, and deduplicating the various segments, the final set of indices of the selected elements is obtained. (For example (This is the set of element indices corresponding to the union of the coverage intervals of each segment), and the overall resource consumption vector is calculated.

[0226]

[0227] Dimensional verification When configured At that time, after further definition, it includes a partial set of indexes.

[0228]

[0229] And the calculated vector includes a portion of the resource consumption.

[0230]

[0231] Dimensional verification (If applicable); Importance statistics can also be summed on the same deduplicated index set to maintain consistency in statistical caliber;

[0232] Step 103: Forming Recommended Subsequences It outputs data in a predefined format, and may optionally include resource consumption and importance statistics.

[0233] (V) Incremental Implementation in Online / Streaming Scenarios (Optional)

[0234] Step 11: Streaming Incremental Update

[0235] Step 111: As sequence elements arrive continuously in a streaming manner, calculate the increment for newly arriving elements. and And update the prefix resource status and candidate set. Optionally, a preset tail interval can be defined as the ordered sequence of elements. Find the last continuous interval (e.g., the last N elements or the last proportional interval) and count the candidate set. Proportion of candidate elements within the preset tail interval This is used to trigger condition determination and strategy updates;

[0236] Step 112: When at least one trigger condition is met, trigger the re-execution of steps 7 to 10 to output the updated result. The triggering conditions may include one or more of the following:

[0237] (1) The candidate contains a set of elements. The quantity change reaches a preset threshold;

[0238] (2) The candidate contains a set of elements. The proportion of candidate elements located in the preset tail interval changes to a preset threshold.

[0239] (3) The prefix resource utilization rate reaches a preset threshold, wherein the prefix resource utilization rate can be determined by... and Calculated (e.g., according to a certain main dimension) Or, take the maximum utilization rate according to multiple dimensions. );

[0240] (4) The remaining available resources are lower than a preset threshold, wherein the remaining available resources can be determined by... Calculated (e.g., according to a certain main dimension) Or take the minimum residual amount according to multiple dimensions. );

[0241] The threshold, utilization rate caliber, and tail interval definition can all be determined by the strategy configuration.

[0242] The configurable rule tree (rule strategy) implementation method described in the above decision-making stage

[0243] In one implementation, the configurable rule set described in step 25 consists of multiple rule entries, each rule entry being used to describe the "matching condition" and the "hit action"; the rule entries can be configured using structured data and loaded and parsed by the system, the structured data including but not limited to: rule identifier, start / stop flag, priority parameter, matching condition, action template, and control parameters for whether to continue matching after a hit;

[0244] It should be understood that the field settings of the rule entries are merely examples, and those skilled in the art can add or delete fields or adjust the storage format without departing from the spirit of the present invention;

[0245] In one implementation, the matching conditions described in the rule entries above are used for state summaries. The determination is made based on the resource utilization rate, the amount of remaining resources, and the candidate set. The number and distribution statistics, the proportion of tail candidates, etc.; the matching conditions can be implemented using conditional expressions, DSL, or equivalent mechanisms, and can be parsed into an abstract syntactic structure and compiled into an executable predicate after loading; the predicate can be further organized into rule tree node conditions, chain rule filtering conditions, table-driven rule index positioning conditions, or state machine rule transition conditions; thus, the same set of rule entries can achieve equivalent rule matching semantics under different organizational forms, thereby being consistent with the "equivalent structure" described in step 25;

[0246] In one implementation, when multiple rule entries simultaneously meet the matching conditions, a conflict resolution mechanism is used to determine the final rule entry or rule entry sequence to be executed. The conflict resolution mechanism includes, but is not limited to: selecting from high to low priority, selecting based on condition specificity when priorities are the same, or selecting the one with the better evaluation result after evaluating multiple candidate actions. In cases where combined execution is allowed, multiple hit rules can also be executed sequentially according to priority, and adjustments can be made after each execution based on the resource pre-verification results of step 91, until the constraints are met or the preset termination condition is reached.

[0247] The action templates described in the rule entries above are used to describe the prefix end position generated after the rule is hit. and the set of subsequent contained fragments This method ensures that the output of the rule strategy is consistent with steps 8 to 10 of this specification. Specifically, the action template can be configured to include at least one or a combination of the following sub-actions:

[0248] (1) Prefix determines the sub-action, used to determine the value of k; if extended implementation is allowed, candidate values ​​can also be generated. And trigger the incremental resource verification process described in step 91, in order to... Make corrections so that the corrected version Meet resource limits constraint;

[0249] (2) The following contains a segment that determines the sub-action, used to determine The generated aperture corresponds to step 82; wherein, the The fragment sources include at least one of the following: fragments formed based on the candidate element itself, fragments formed based on the window near the candidate element, fragments formed based on grouping and aggregation, and fragments formed based on the combination of multiple summaries;

[0250] (3) Prune action, used to prune resources when pre-validation does not meet constraints. Perform cropping, corresponding to step 92; the cropping includes at least one of the following methods: reducing the number of segments, narrowing the window range, removing segments with low unit resource importance, or downgrading and retaining segments until the constraints are met or the preset termination condition is reached.

[0251] (4) Merge Alignment sub-action, used to merge, align and deduplicate the output segments, and perform resource verification after merging and deduplication, corresponding to step 102; the deduplication can adopt the element granularity deduplication caliber described in step 102 to avoid overlapping segments causing duplicate billing and duplicate statistics.

[0252] With the above configuration, the generated rules will be executed. This can form a closed loop with the resource pre-verification in step 91, the pruning in step 92, and the merging, deduplication, and final verification in step 102, thereby ensuring that the final output meets the resource limit. and (if applicable) constraint.

[0253] III. Application Scenarios and Examples

[0254] In different business scenarios, the information recommendation method of this invention can be reused under a unified "scan-summarize-decision-output" framework. Since the general implementation method embodiment has already described the scanning, state summarization, decision and output processes in detail, this section only describes the core differences between different application scenarios and the general process, including: element definition methods, selection of main resource constraint dimensions, emphasis of importance function and strategy configuration, and typical recommendation output format.

[0255] (a) Scenarios for recommending dialogue context fragments

[0256] 1. Differences in element definition: Define each message / turn of dialogue in the conversation as a sequence element. The element carries attributes such as role, timestamp, and session round;

[0257] 2. Resource Constraint Differences: Resource Upper Limit Vector The main dimension is Count or character count (corresponding to the length dimension), plus counting dimensions such as round count and message count;

[0258] 3. Importance and Strategy Differences: Importance Function Semantic signals such as "instructions / requirements / constraints / final issues / correction information" are introduced, along with message location (e.g., the closer to the end, the more important) and role permissions. The subsequent inclusion strategy, without disrupting overall resource constraints, adds the window containing the "most recent user requirements" or "key constraint information," thus forming a recommended subsequence of "background prefix + key end / window."

[0259] 4. Typical output format: "System and task background prefix + recent rounds of dialogue" or "prefix + key instruction window at the end" multi-segment recommendation results.

[0260] (II) Log Fragment Recommendation and Transmission Scenarios

[0261] 1. Differences in element definition: Each log record is defined as a sequence element. The element can carry attributes such as log level, traceId, service name, and thread information;

[0262] 2. Resource Constraint Differences: Resource Upper Limit Vector The primary dimension is the number of bytes (upload / display size), supplemented by dimensions such as the number of log entries and processing time;

[0263] 3. Importance and Strategy Differences: Importance Function Pay attention to log levels, exception keywords, stack trace characteristics, alarm indicators, and the integrity of the call chain related to the key traceId; then include the strategy selection of "window near the exception point" or "same traceId grouping fragments" to restore the context before and after the exception as much as possible under resource constraints;

[0264] 4. Typical output format: Multi-segment recommendation results consisting of "background prefix + one or more abnormal window segments / trace group segments", used for reporting, storage or display.

[0265] (III) Multimedia clip recommendation scenarios

[0266] 1. Differences in element definition: The segments after video / audio stream splitting are defined as sequence elements. Elements carry attributes such as start and end time, duration, and scene / event tag;

[0267] 2. Resource Constraint Differences: Resource Upper Limit Vector The main dimension is the total duration, overlaid with dimensions such as the number of segments and decoding cost;

[0268] 3. Importance and Strategy Differences: Importance Function Based on the content analysis model or tag rules, key events, climactic moments, or user preference-related moments are identified. The subsequent inclusion strategy selects several high-value windows according to their importance and merges adjacent moments to reduce fragmentation. At the same time, diversity constraints are configured to avoid moments being overly concentrated in a certain time period or a single type.

[0269] 4. Typical output format: A collection of multiple non-adjacent highlights, used for generating summary playlists or preview bars.

[0270] IV. Device Examples

[0271] In one or more embodiments, a preferred module division of the information recommendation device provided by the present invention may be referred to Figure 2 The information recommendation device can be deployed on a server, cloud platform node, or local terminal device and configured to execute the information recommendation method as described in the foregoing method embodiments. Since the device can be implemented using software, firmware, or a combination of hardware and software, and this invention focuses on the functional effects that the device can provide externally, this section describes the device's inputs, outputs, and implemented method functions in a black-box manner, without limiting the internal sub-module divisions, rule tree details, or model structure of the device.

[0272] (I) Implementation Examples of Information Recommendation Devices

[0273] 1. Input: The information recommendation device receives recommendation requests, which include at least: an ordered sequence of elements and a resource upper limit vector. ; and optionally include: a dedicated resource budget. Scene identifiers, policy configuration parameters, or other contextual information;

[0274] 2. Output: The information recommendation device outputs a recommended subsequence, which includes a prefix segment and at least one optional subsequent included segment, and satisfies the resource upper limit vector. (and where applicable) Constraints; the output results can be returned in a predetermined format (e.g., text, structured data, or protocol data), and may optionally carry resource consumption or importance statistics related to the recommendation results.

[0275] 3. Functions of the information recommendation device: After receiving the recommendation request, the information recommendation device is configured to perform at least the following functions to complete the method as described in the general implementation method embodiment:

[0276] (1) Scan modeling function: in the resource upper limit vector The ordered sequence of elements is scanned under constraints to generate a state summary. ;

[0277] (2) Decision-making function: based on the state summary Determine the end position of the prefix and the subsequent collection of fragments (If needed);

[0278] (3) Output generation function: based on and Generate and output a recommended subsequence from the ordered sequence of elements.

[0279] (III) Implementation Examples of Information Recommendation Systems

[0280] In one or more embodiments, the present invention also provides an information recommendation system; the information recommendation system includes an information recommendation device and at least one client or business caller, which are connected to each other through a local interface or a network interface.

[0281] The client or service caller is configured to send an ordered sequence of elements and a resource limit vector to the information recommendation device. , and optionally send With strategy configuration;

[0282] The information recommendation device is configured to execute the information recommendation method of the present invention and return a recommended subsequence to the client or the service caller.

[0283] The system can be deployed in a standalone, distributed, or cloud service manner; there are no restrictions on the deployment method.

[0284] (iv) Examples of computer-readable storage media

[0285] In one or more embodiments, the present invention also provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, it enables an electronic device to perform an information recommendation method as described in the general implementation method embodiments, thereby achieving resource ceiling vector And optional Generate and output recommended subsequences under constraints.

[0286] This invention encapsulates an information recommendation method to at least solve the problems in related technologies where, when truncating ordered element sequences under resource upper limit constraints, simple prefix truncation is often used, making it difficult to retain key fragments within the budget and to prioritize the retention of high-value information. Thus, it improves the ability to retain key content and the flexibility of recommendation output while satisfying resource upper limit constraints and budget constraints after optionality.

[0287] It should be noted that not all steps and modules in the above processes and device structures are mandatory; some steps or modules can be omitted as needed. The execution order of each step is not fixed and can be adjusted as required. The system structure described in the above embodiments can be a physical structure or a logical structure. That is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or they may be jointly implemented by certain components in multiple independent devices.

[0288] The above-described embodiments are merely preferred embodiments provided to fully illustrate the present invention, and the scope of protection of the present invention is not limited thereto. Equivalent substitutions or modifications made by those skilled in the art based on the present invention are all within the scope of protection of the present invention. The scope of protection of the present invention is defined by the claims.

Claims

1. An information recommendation method, characterized in that, Includes the following steps: Step 1: Obtain an ordered sequence of elements and resource limits ; Step two, at the resource limit Under constraints, the ordered sequence of elements Perform scan processing based on the cost function Calculate and accumulate the element resource consumption to determine the last non-over-limit position of the prefix. After constructing the candidate set, it contains a collection of elements. and generate a state summary. The scanning process includes: scanning the current element. Calculate trial resource consumption and based on and The comparison determines whether a resource limit has been exceeded; if a resource limit is exceeded for the first time during the scanning process, the ordered element sequence is scanned again to supplement the candidate set of elements. However, the scan prefix is ​​no longer expanded. ; Step 3, digest the state Input decision module, based on the state summary Determine the end position of the prefix and the subsequent collection of fragments ; Step 4, based on the prefix end position and the set of subsequent fragments Generate recommended subsequences And output; wherein, the latter includes a set of fragments. Represented as a sequence of one or more ordered elements A collection of segments extracted from the source 。 2. The information recommendation method according to claim 1, characterized in that, The resource limit This is a multidimensional resource upper bound vector; the scanning process includes: processing elements... Calculate the resource consumption vector And in the current prefix cumulative resource consumption vector Based on this, a tentative resource consumption vector is formed. When resource dimensions exist satisfy If the resource limit is exceeded, the last non-limited position of the prefix is ​​determined accordingly. and the corresponding prefix resource consumption vector .

3. The information recommendation method according to claim 1 or 2, characterized in that, The candidate includes a set of elements. It must include at least one of the following corresponding elements: Excessive candidate elements: exist in the resource dimension satisfy Element; Candidate elements close to the upper limit: These exist within the resource dimension, provided the limit is not exceeded. satisfy The elements, among which These are the preset buffer parameters; High-importance candidate elements: Importance score satisfy The elements, among which , This is a preset importance threshold.

4. The information recommendation method according to any one of claims 1 to 3, characterized in that, The information recommendation method also includes a dedicated resource budget after acquisition. ; and in generating the recommended subsequence At that time, the total resource consumption and the resource consumption of the subsequent included portion are verified separately: The defined effective budget includes a portion of the budget. For the dimensionless minimum value when If no constraints are provided or certain dimensions are not configured, the corresponding dimensions are considered to be without additional constraints. Total resource consumption vector for recommended subsequences Perform verification to ensure compliance. ;exist When provided, the vector includes a portion of the resource consumption. Perform verification to ensure compliance. .

5. The information recommendation method according to any one of claims 1 to 4, characterized in that, The decision module determines the prefix end position using one of the following methods. and the set of subsequent fragments : Rule-based decision-making strategies, learnable model-based decision-making strategies, or a combination of both.

6. An information recommendation device, characterized in that, The apparatus is configured to perform the information recommendation method as described in any one of claims 1 to 5; the apparatus includes: The receiving module is used to receive ordered sequences of elements. Resource Limit And optional post-containment dedicated resource budget and / or policy configuration; The scanning modeling module is used to scan the resource limit. Under constraints, the ordered sequence of elements Perform a scan to determine the last non-exceeding position of the prefix. And construct a candidate set containing elements. And generate a state summary If a resource limit is exceeded for the first time during the scanning process, the scanning modeling module continues to scan the ordered element sequence to supplement the candidate set of elements. However, the scan prefix is ​​no longer expanded. ; Decision module, used to make decisions based on the state summary Determine the end position of the prefix and the subsequent collection of fragments ; The output generation module is used to generate an output based on the prefix end position. and the set of subsequent fragments Generate and output recommended subsequences .

7. An information recommendation system, characterized in that, It includes the information recommendation device as described in claim 6 and at least one client or service caller; The client or service caller is configured to send an ordered sequence of elements to the information recommendation device. Resource Limit And send an optional post-containment budget for dedicated resources. and / or policy configuration; The information recommendation device is configured to perform the information recommendation method as described in any one of claims 1 to 5, and return a recommendation subsequence to the client or service caller. .

8. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When the computer program is executed by a processor, it is used to perform the information recommendation method as described in any one of claims 1 to 5.