Intention refinement guidance method, device, storage medium and program product
By dynamically evaluating service distribution and distinctiveness to generate guiding questions, the problem of ineffective guiding questions in traditional retrieval methods is solved, thereby improving retrieval efficiency and accuracy.
Patent Information
- Application Number
- CN202610897324.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-18
- Publication Date
- 2026-08-25
AI Technical Summary
Traditional interactive retrieval methods cannot effectively distinguish the user's true intent when there are multiple candidate services in the service recall results, resulting in meaningless, repetitive or redundant guidance questions, which increases the user's interaction cost.
By configuring a hierarchical tagging system, the balance, distinctiveness, and richness of service distribution are dynamically evaluated, an intent segmentation value score is generated, and high-value main tags are selected to generate guiding questions.
It effectively reduces the probability of meaningless or redundant guidance questions, reduces user interaction rounds, and improves the efficiency of refining search intent and the quality of service matching.
Smart Images

Figure CN122633746A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of retrieval technology, and more particularly to an intent refinement guidance method, electronic device, computer-readable storage medium, and computer program product. Background Technology
[0002] Data service platforms cater to various roles, including customers, developers, and operations, providing functions for publishing, retrieving, and accessing data services. These data services are typically encapsulated in the form of externally accessible service interfaces, exposing data capabilities through a unified access point, covering various types such as data querying, data statistics, indicator calculation, and dimensional queries.
[0003] Users can retrieve, select, and initiate service calls within the platform to obtain data capabilities that meet their business goals. Meanwhile, the effectiveness of the platform's service retrieval directly impacts whether users can quickly locate suitable data services and smoothly complete subsequent call processes.
[0004] In service retrieval scenarios, platforms typically need to first retrieve services based on users' service retrieval needs. When multiple candidate services appear in the retrieval results, it is also necessary to further guide users to refine their needs in order to improve matching efficiency and retrieval accuracy.
[0005] Traditional interactive retrieval methods often generate guiding questions based on preset question templates or static rules. However, when candidate services are distributed in a complex manner across different dimensions, traditional interactive retrieval methods have the following shortcomings: First, the proposed guiding questions are not sufficiently distinguishable from the user's true intent, resulting in slow convergence of the candidate set; second, there are meaningless, repetitive, or redundant guiding questions, increasing the user's interaction cost. Summary of the Invention
[0006] In view of the above, one or more embodiments of this specification provide the following technical solutions: According to a first aspect of one or more embodiments of this specification, an intent refinement guidance method is proposed, applied to a data service platform configured with a tagging system, the tagging system including multiple main tags and sub-tags corresponding to each main tag; each service connected to the data service platform is labeled with at least one sub-tag; the method includes: For service retrieval needs, N matching tags are determined from the tag system, and M target services that match the N tags are determined; M and N are integers. If M is greater than the preset number, and the N tags include at least two main tags, perform the following operations for each main tag: Obtain the service subsets corresponding to all sub-tags under the main tag, and the service set obtained by the union of all the service subsets, so as to calculate the information entropy that characterizes the service distribution balance among the service subsets, the diversity index that characterizes the distinguishability among different service subsets, and / or the subset richness index that characterizes the richness of the service subsets under the main tag. Based on the information entropy, the diversity index and / or the subset richness index, an intention segmentation value score that is positively correlated with all three is obtained. Based on the sub-tags contained in the main tag with the highest intent value score, generate and output search intent guidance questions.
[0007] According to a second aspect of the embodiments of this specification, an electronic device is provided, comprising: processor; Memory used to store processor-executable instructions; Wherein, when the processor executes the executable instructions, it is used to implement the method described in the first aspect.
[0008] According to a third aspect of the embodiments of this specification, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps of the method described in the first aspect.
[0009] According to a fourth aspect of the embodiments of this specification, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of the method described in the first aspect.
[0010] As can be seen from the above embodiments, this specification, for M target services that meet user service retrieval needs (N tags), when M is greater than a preset number and the N tags include at least two main tags, can dynamically evaluate the value of each main tag in intent segmentation guidance based on the actual distribution of target services at the main tag and its sub-tag levels. For each main tag, the service subsets corresponding to its sub-tags and the service set formed by the union of these subsets are obtained to calculate the information entropy characterizing the service distribution balance among service subsets, the diversity index characterizing the distinctiveness between different service subsets, and / or the subset richness index characterizing the richness of service subsets under that main tag.
[0011] Building upon this foundation, further based on information entropy, diversity indicators, and / or subset richness indicators, an intent segmentation value score is generated that is positively correlated with all three. This allows for the selection of the main tag with the highest intent segmentation value score, and the generation of search intent guidance questions based on the sub-tags under this main tag. This effectively reduces the probability of asking meaningless, repetitive, or redundant guidance questions, reduces the number of interaction rounds required for users to converge their intent, and enables users to make choices on key dimensions more quickly, thereby improving the efficiency of search intent refinement and the quality of service matching.
[0012] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this specification. Attached Figure Description
[0013] Figure 1 This is a flowchart of an exemplary embodiment that provides an intention to refine the guidance method.
[0014] Figure 2 This is another schematic diagram of an evaluation process for a main label provided in an exemplary embodiment.
[0015] Figure 3 This is a flowchart illustrating an iterative process of service composition as provided in an exemplary embodiment.
[0016] Figure 4 This is a flowchart illustrating different search scenarios for service-oriented search needs, provided in an exemplary embodiment.
[0017] Figure 5 This is a schematic diagram of the structure of a device provided in an exemplary embodiment. Detailed Implementation
[0018] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0019] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this manual are all information and data authorized by the user or fully authorized by all parties. The collection, use and processing of related data shall comply with relevant laws, regulations and standards, and corresponding operation entry points shall be provided for users to choose to authorize or refuse.
[0020] Traditional interactive search methods often generate guiding questions based on preset question templates or static rules. For example, the system predefines several fixed question dimensions, such as service type and coverage. When a user's search query matches multiple candidate services, the system asks questions sequentially according to a preset order. However, this type of method has the following drawbacks: Defect 1: The question dimensions lack dynamic evaluation and cannot distinguish between effective splits and spurious equilibria.
[0021] The preset template determines the question content based solely on tag frequency or fixed priority, ignoring the actual distribution and balance of services across sub-tags. For example, if 99% of services under a main tag correspond to the same sub-tag, such as nationwide coverage, static rules might still lead to the question "Do you need nationwide data?" Since the vast majority of services meet this option, the question fails to effectively narrow down the candidate pool, resulting in redundant interactions.
[0022] Defect 2: It does not consider the structural differences within the candidate service set, such as the high overlap of service subsets corresponding to multiple sub-labels, which makes it impossible for the guidance problem to effectively distinguish the options.
[0023] Static rules only focus on the coverage of a single tag, ignoring the set similarity between different sub-tags. When the service sets corresponding to two sub-tags almost completely overlap, such as supporting mobile devices and supporting apps, the remaining candidate services remain almost unchanged regardless of which one the user chooses, and the query cannot produce a substantial distinguishing effect.
[0024] To address the aforementioned shortcomings, this specification provides an intent refinement guidance method. After retrieving multiple services that meet the user's needs, the method dynamically identifies question directions with high intent refinement value based on the actual difference distribution of the service set. This generates guidance questions that can help users accurately converge their intent, achieving accurate convergence of user intent with minimal interaction cost and avoiding the asking of meaningless or redundant guidance questions.
[0025] The intent refinement guidance method provided in the embodiments of this specification can be executed by a data service platform or by an intent recognition device within the data service platform. The data service platform is an information processing platform that provides services publishing, retrieval, and invocation functions to various roles, including customers, developers, and operations personnel.
[0026] A data service platform can be a software system deployed on a cloud server, a local server cluster, or a distributed computing environment. The intent-refined bootstrapping method can be implemented by one or more processors of the data service platform executing computer program instructions stored in memory.
[0027] The data service platform is pre-configured with a hierarchical tagging system for multi-dimensional classification and description of all services within the platform. For example, the tagging system adopts a two-level structure: the top level is the main tag, used to describe the macro-level category or core attributes of the service; each main tag contains one or more sub-tags, used to describe the specific characteristics or values of the service under that main tag dimension from a more granular perspective. The same service can be labeled with corresponding sub-tags under different main tags, thus forming a multi-dimensional service profile; and based on the sub-tags labeled with the service, the main tag to which the service belongs can be determined.
[0028] Each service connected to the data service platform is tagged with one or more sub-tags during registration or entry, based on its actual function, scope of application, and technical characteristics. A service can correspond to one or more sub-tags under the same main tag. Specifically, the tagging system is designed to support two modes: Mutually exclusive sub-tags: Sub-tags under the same main tag do not overlap with each other, and each service can only select one sub-tag at this main tag level. For example, if the main tag is coverage area, the sub-tags under it, such as nationwide coverage, East China region, and South China region, are usually mutually exclusive, and a service can only belong to one of these regions.
[0029] Overlapping sub-tags: Sub-tags under the same main tag can coexist, and a service can have multiple sub-tags under the same main tag. For example, the main tag might be the data coverage industry, and its sub-tags might include finance, healthcare, transportation, etc. One data service might be labeled with both finance and healthcare, indicating that it provides data for both industries; another service might be labeled with finance, healthcare, and transportation, indicating that it covers data for all three industries.
[0030] For example, the tagging system can be designed as shown in Table 1 below: Table 1 The example services and their labeled sub-tags are shown in Table 2: Table 2 Suppose a user asks, "I need to process data," and the data service platform initially retrieves five candidate services. If these five services are identical in both P4 (performance requirements) and P5 (service reliability), for example, all supporting p41 (low latency) and p51 (high availability), then if the platform still mechanically asks, "Do you need a low-latency service?", this question will not have any filtering effect on the candidate services, and will appear redundant and inefficient.
[0031] Conversely, if the platform can automatically analyze whether these services differ in the P2 (data source type) dimension (some support p21, some support p22) or in the P3 dimension (some support p31, some support p32), it can dynamically identify these key tags with real distinguishing characteristics and generate guiding questions such as "Do you need a data source that supports relational databases?" or "Do you need JSON output?" These types of questions can truly help users narrow down their choices, avoid meaningless interactions, and thus improve the efficiency and accuracy of refining intent.
[0032] In some embodiments, please refer to Figure 1 as well as Figure 2 The diagram illustrates a flowchart of an intent-refined guidance method, which can be executed by a data service platform configured with a tagging system. The tagging system includes multiple main tags and sub-tags corresponding to each main tag; each service connected to the data service platform is labeled with at least one sub-tag; the method includes: In S100, for the service retrieval requirement, N tags that match are determined from the tag system, and M target services that match the N tags are determined; M and N are integers.
[0033] The data service platform (hereinafter referred to as the "Platform") receives service retrieval requests input by users. These requests can be text expressed in natural language or text converted from speech. The Platform first matches the retrieval requests with a pre-built tag system. The tag system adopts a two-level hierarchical structure: the top level is the main tag, which represents the macro-functional category or attribute dimension of the service; each main tag is associated with one or more sub-tags, which represent the specific values or features under that dimension.
[0034] For example, the platform can use a pre-trained language model or a rule-based keyword matching algorithm to extract the main tags and their corresponding sub-tags from service retrieval requests.
[0035] In one implementation, the platform populates service retrieval requests into a preset prompt template, generating intent-recognition prompts. This prompt template contains all or part of the structural information of the tag system, as well as output rules for constraining the output format of the language model. The output rules include: when the language model recognizes that a retrieval request matches at least one sub-tag under a main tag, only that sub-tag is output; when the retrieval request matches a main tag but does not match any of its sub-tags, the main tag is output; for unmatched main tags or sub-tags, no output is made. The intent-recognition prompts are input into the language model to obtain N tags output by the language model, where N is the total number of output tags, including main tags and sub-tags, and each tag is considered an independent element.
[0036] The language model can be a pre-trained large language model based on the Transformer architecture, or a finely tuned sequence labeling model or text generation model.
[0037] At the same time, the platform retrieves target services from its stored services that can individually satisfy N tags. "Individually satisfying" means that for a given service, all its sub-tags and the main tag to which each sub-tag belongs constitute a tag set, which includes every single one of the N tags. These target services form the current set of candidate services that can directly satisfy all of the user's explicit needs.
[0038] This step extracts structured tags from users' natural language requirements and initially filters out services that fully meet these tags. This step provides foundational data for subsequent detailed intent evaluation, namely the target service set and its corresponding tag matching.
[0039] For example, using Tables 1 and 2 above, suppose a user's search requirement is: I need a service with data processing capabilities, and the service must be reliable, able to process relational database data, output JSON format, and have low latency.
[0040] The language model parses the above user search requirements. "Data processing capability" hits the main label P1 (no specific sub-label is specified); "Service reliability" hits the main label P5 (no specific sub-label is specified); "Relational database" hits the sub-label p21; "JSON" hits the sub-label p31; "Low latency" hits the sub-label p41. The final output of N labels includes {P1, P5, p21, p31, p41}.
[0041] The platform filters several services based on the following rules: If the output is a sub-tag (e.g., p21, p31, p41), the service's sub-tag set must contain that number. If the output is a main tag (e.g., P1, P5), the service must have at least one sub-tag under that main tag, meaning the service tag set intersects with the corresponding main tag's sub-tag set, corresponding to the filtering rules shown in Table 3. Table 3 Verify each of S1 to S6 in Table 2: S1 contains p21, p31, and p41; P1 satisfies the condition (p11 exists); P5 satisfies the condition (p51 exists).
[0042] S2 includes p21, p31, and p41; P1 satisfies condition (p12); P5 satisfies condition (p52).
[0043] S3 includes p21, p31, and p41; condition P1 is satisfied (p13 is satisfied); condition P5 is satisfied (p53 is satisfied).
[0044] S4 includes p21, p31, and p41; condition P1 is satisfied (p11 is satisfied); condition P5 is satisfied (p52 is satisfied).
[0045] S5 includes p21, p31, and p41; condition P1 is satisfied (p12 exists); condition P5 is satisfied (p51 exists).
[0046] S6 includes p21, p31, and p41; condition P1 is satisfied (p13 is satisfied); condition P5 is satisfied (p51 is satisfied).
[0047] If all 6 services meet the conditions, the final output will be the N matching tag numbers {P1, P5, p21, p31, p41}, and the selected target services: {S1, S2, S3, S4, S5, S6}.
[0048] In S102, if M is greater than the preset number and N tags include at least two main tags, an evaluation process is performed for each main tag: obtain the service subsets corresponding to all sub-tags under the main tag, and the service set obtained by the union of all service subsets, to calculate the information entropy that characterizes the service distribution balance among service subsets, the diversity index that characterizes the distinctiveness between different service subsets, and / or the subset richness index that characterizes the richness of service subsets under the main tag; based on the information entropy, diversity index, and / or subset richness index, obtain the intent segmentation value score that is positively correlated with all three.
[0049] For example, the evaluation process is as follows Figure 2 As shown.
[0050] After determining the target service set, the platform decides whether to proceed with the evaluation process. The evaluation process is triggered when both of the following conditions are met simultaneously: Condition 1: The number M of target services exceeds the preset number. The preset number is a configurable threshold, such as 5 or 10. When the number of target services is too small (e.g., only 1 or 2), the user can directly select from the results list without additional guidance. When the number exceeds the threshold, it indicates that the set of candidate services is too large, making it difficult for the user to filter directly. Interactive guidance is needed to further refine the intent.
[0051] Condition 2: The N tags include at least two different main tags. This means that the user's initial search needs involve multiple main dimensions. If only one main tag is included, it indicates that the user's intent dimension is singular, and subsequent guidance should focus on the distribution of sub-tags under that main tag; if at least two main tags are included, the platform needs to evaluate which intent segmentation value is higher among multiple main tags, thereby generating the most effective guidance question.
[0052] The triggering conditions are designed to avoid introducing computational overhead and redundant interactions in unnecessary scenarios (few services or single dimension), ensuring that the bootstrapping mechanism in this embodiment executes only when needed. When both conditions are met, execution proceeds as follows: Figure 2 The evaluation process shown in S1020 to S1028.
[0053] In S1020, obtain the service subsets corresponding to all sub-tags under the main tag, and the service set obtained by the union of all service subsets.
[0054] The platform retrieves a subset of services from all sub-tags under the main tag (i.e., the main tag itself is matched even though no sub-tags are matched). Each sub-tag corresponds to a set of services, which are those services tagged with that sub-tag. Let the total number of sub-tags under this main tag be . For the first Each sub-tag, whose corresponding service subset is denoted as . Constructing a complete set of services , is defined as the union of the service subsets corresponding to all child tags under the main tag, i.e. .
[0055] For example, please refer to Tables 1 and 2. The complete set of services corresponding to the main label P1 is {S1, S2, S3, S4, S5, S6}.
[0056] In S1022, the information entropy, which characterizes the degree of service distribution balance among service subsets, is calculated based on the difference between the number of services in each service subset and the total number of services in the service set.
[0057] Information entropy is used to quantify the degree of balance in the distribution of services among subsets of services. The calculation process is as follows: First, for each child tag under the main tag Calculate its corresponding service subset Distribution frequency The frequency distribution of each service subset is the ratio between the number of services in that service subset and the total number of services in the entire service set, that is: in, Representing a subset of services The number of services in Indicates the complete service set The total number of services in the set. This ratio reflects the proportion of services belonging to this sub-tag across the entire set.
[0058] Information entropy is calculated by using the distribution frequencies of each service subset as weights, summing the logarithms of these frequencies, and then normalizing the weighted sum. First, the original information entropy is calculated based on the distribution frequencies. : When a certain At that time, it was agreed The range of values for the original information entropy is: .
[0059] Next, the original information entropy is normalized to obtain the normalized information entropy. : The normalized information entropy ranges from 1 to 1. When all When they are equal (i.e., the size of each service subset is the same), After normalization When there exists a certain And others hour, After normalization The purpose of normalization is to eliminate the number of child tags. The influence on the range of information entropy values allows for direct comparison of information entropy between different main tags (which may have different numbers of child tags).
[0060] Normalized information entropy directly reflects the proportion of service distribution relative to the maximum possible uniformity. A main label with high information entropy means that its sub-labels can divide the service set into multiple subsets of similar size, and have a greater potential to evenly converge user intent to a certain sub-label, thereby reducing the number of interaction rounds in a desirable sense. Conversely, a main label with low information entropy, such as 99% of services concentrated on a single sub-label, is not suitable as a guiding direction because users are highly likely to choose that dominant sub-label after asking a question, failing to effectively narrow down the candidate range.
[0061] In S1024, a diversity index representing the distinctiveness between different service subsets is calculated based on the set similarity between each service subset.
[0062] The diversity metric measures the distinguishability between different sub-tags under a main tag, i.e., the degree of overlap in the service components of each service subset. The lower the overlap, the higher the distinguishability between sub-tags, and the more substantially different the user's choices will be based on the guidance questions for that main tag. The calculation steps are as follows: (1) For all child tags under the main tag, consider pairwise combinations. Let the child tag pairs be... ,in .
[0063] (2) Calculate the set similarity of each pair of service subsets. In one embodiment, the Jaccard similarity coefficient is used: In other words, the set similarity between service subsets is the ratio of the intersection to the union of two service subsets, and the value of this coefficient ranges from [value missing]. The value is 1 when the two subsets are identical, and 0 when the two subsets have no intersection.
[0064] (3) Calculate the arithmetic mean of the set similarities for all pairwise combinations. : in This represents the total number of child tags under this main tag.
[0065] (4) Diversity indicators Defined as the complement of the average similarity: Diversity Indicators Similarly, it takes the value of . The larger the value, the lower the degree of service overlap and the higher the degree of differentiation between sub-tags; The smaller the value, the more overlapping the services corresponding to the sub-tags are, and the weaker the ability to distinguish them.
[0066] In other embodiments, set similarity can also employ other metrics, such as overlap coefficients, cosine similarity, etc. Diversity metrics can also be replaced by alternative forms such as variance and entropy, as long as they reflect the degree of difference between subsets.
[0067] Even if a main tag has high information entropy (evenly distributed service quantity), if its sub-tags correspond to highly overlapping service sets—for example, the services corresponding to the sub-tags JSON and XML are almost identical—then asking "Do you need JSON or XML?" will not effectively distinguish the user's intent. The diversity metric is used to eliminate such cases of false differentiation. Combining information entropy and diversity metrics allows for a more comprehensive evaluation of the true guiding value of a main tag.
[0068] In S1026, the subset richness index is calculated based on the difference between the total number of all service subsets and the total number of services in the service whole set.
[0069] The subset richness metric measures the diversity of coverage of sub-tags under a main tag across the entire service set. It reflects the degree to which the main tag divides the service set into different subsets. For example, the subset richness metric includes the ratio between the logarithm of the total number of all service subsets and the logarithm of the total number of services in the entire service set. An example calculation process is as follows: For the main label currently being evaluated, let the number of non-empty service subsets under this main label be . (i.e., the number of sub-tags containing at least one service), the complete service set The total number of services is Subset richness index Defined as: Among them, the logarithmic function The natural logarithm (base 1) can be used. The ratio is determined by using the common logarithm (base 10) or the common logarithm, where the numerator and denominator use the same base, and the ratio is unaffected by the choice of base. This formula satisfies the following property: (1) When (That is, each service has its own unique sub-tag) This indicates the most thorough division and the highest degree of richness.
[0070] (2) When and When it is very large, This indicates that although there are two sub-tags, the degree of splitting is very low relative to the large total number of services.
[0071] (3) When Time is undefined; at this time, let .
[0072] (4) When At any time, regardless How big? This indicates that there was no actual split.
[0073] In engineering implementation, in order to avoid When a division by zero error occurs, the code can first check for this error. or It will return 0 directly. Alternatively, a base-2 logarithm can be used without affecting the ratio result.
[0074] This metric reflects the logarithmic ratio of the number of sub-tags to the total number of services. The logarithmic form mitigates the problem of rapid decay caused by the absolute number when the total number of services is huge, allowing the metric to reasonably reflect the richness of sub-tags even with a large number of services. For example, when... , hour, ;and The logarithmic form better reflects the distinguishing value of the fact that there are 100 different sub-labels. This indicator complements the information entropy (which focuses on the uniformity of distribution) and the diversity indicator (which focuses on the degree of set overlap) to form a comprehensive assessment of the guiding value of the main label.
[0075] In S1028, based on information entropy, diversity index and / or subset richness index, an intention segmentation value score that is positively correlated with all three is obtained.
[0076] You can choose any of the following combinations to calculate the intent segmentation value score, depending on the actual application scenario or system configuration: Scenario 1: Based solely on information entropy and diversity metrics, excluding subset richness metrics.
[0077] In this scenario, the intent segmentation value score is derived solely from a combination of information entropy and diversity metrics. This combination is suitable for scenarios where the number of sub-tags is relatively stable and there is no need to consider the richness of sub-tags. Information entropy ensures uniform distribution, while diversity metrics ensure low overlap between sub-tags; the combination of the two is sufficient to filter out question dimensions with good discriminative power.
[0078] By integrating information entropy and diversity metrics, the intention segmentation value score can simultaneously reflect two dimensions: distribution uniformity and subset distinctiveness. A higher-scoring main label indicates that its sub-labels are better able to divide candidate services into several branches of similar size with low overlap. This allows the candidate service set to be significantly narrowed and the branching directions to be clear after the user answers a guiding question. This directly addresses the problems of related technologies lacking dynamic evaluation of question dimensions and failing to consider differences in the internal structure of the set.
[0079] Scenario 2: Based on information entropy, diversity index, and subset richness index.
[0080] In this scenario, all three metrics are used in the scoring. The subset richness metric reflects the logarithmic ratio of the number of sub-tags to the total number of services, penalizing situations where there are too few sub-tags (e.g., only one) or too many (e.g., exceeding a reasonable limit). It is suitable for scenarios with specific requirements on the number of options for guiding questions, such as requiring each question to provide at least two and at most five valid options. By combining all three metrics, misjudgments of information entropy or diversity metrics caused by extreme numbers of factor tags can be avoided.
[0081] For example, the platform can perform a weighted summation of the information entropy, diversity index, and subset richness index based on a preset first weight corresponding to information entropy, a second weight corresponding to diversity index, and a third weight corresponding to subset richness index, to obtain the intent segmentation value score of the main tag.
[0082] In other embodiments, other positive correlation functions may also be used, such as the product of the three, geometric mean, harmonic mean, or nonlinear mapping function based on neural network learning, as long as the score increases monotonically with each indicator.
[0083] Scenario 3: Based solely on information entropy and subset richness metrics, excluding diversity metrics.
[0084] In this case, the set similarity between sub-tags is not considered; only the uniformity of distribution and the reasonableness of the number of sub-tags are considered. This approach is suitable for tag systems where sub-tags are naturally mutually exclusive and have very low overlap, such as regional divisions: National, East China, South China, etc., where the intersection is usually empty. Since the overlap is negligible, the diversity index always approaches its maximum value and can therefore be omitted to reduce computational complexity.
[0085] Scenario 4: Based solely on diversity and subset richness indicators, excluding information entropy.
[0086] In this scenario, the uniformity of service distribution is disregarded; only the distinctiveness between sub-tags and the reasonableness of the number of sub-tags are considered. This approach is suitable for scenarios where user needs are highly focused, candidate services are extremely unevenly distributed under a certain main tag, but it is still necessary to ask questions. For example, 99% of services are concentrated in one sub-tag, and 1% are scattered across other sub-tags. At this point, the information entropy is close to 0, but diversity and richness metrics can still assess the distinguishing value of the remaining few branches, thereby guiding users to focus on niche options.
[0087] Scenario 5: Based on a single indicator: information entropy, diversity indicator, or subset richness indicator.
[0088] In specific scenarios, any one of the three indicators mentioned above may be used as the scoring criterion. For example: Using only information entropy: suitable for scenarios where only the uniformity of distribution is of concern, ignoring sub-label overlap and whether the number is reasonable.
[0089] Using diversity metrics only: suitable for scenarios where only the distinguishability between sub-labels is important, while ignoring the uniformity of distribution and the reasonableness of the number.
[0090] Using only subset richness metrics: suitable for scenarios where only the number of sub-tags is appropriate, ignoring distribution and overlap.
[0091] The platform can pre-configure or dynamically select any of the above combinations based on the design features of the tagging system, business needs, or real-time computing resources. Regardless of the combination used, the intended segmentation value score must be positively correlated with the selected indicators.
[0092] In S104, based on the sub-tags contained in the main tag with the highest intent segmentation value score, a search intent guidance question is generated and output.
[0093] After calculating the intent segmentation value score for each relevant main tag, the platform selects the main tag with the highest score. If multiple main tags have the same highest score, one can be selected, or secondary rules can be further applied, such as prioritizing the tag with fewer sub-tags. Based on the sub-tags contained in the selected main tag, search intent guidance questions are generated.
[0094] By selecting the main tag with the highest intent segmentation value score for asking questions, each round of interaction ensures that it focuses on the attribute dimension with greater distinguishability in the current candidate service set, minimizing the occurrence of meaningless questions, reducing the number of interaction rounds required for users to complete intent convergence, and improving the overall efficiency of service retrieval.
[0095] For example, the platform can select a target sub-tag from all sub-tags under the main tag with the highest intent segmentation value score, based on at least one of the following sub-tag selection methods, and generate corresponding search intent guidance questions for the target sub-tag.
[0096] In the first approach, the platform uses all sub-tags under the main tag with the highest intended segmentation value score as target sub-tags, without filtering or cropping the sub-tags. Then, it generates guiding questions based on all sub-tags.
[0097] If the selected main tag has two sub-tags, a choice between two options will be generated. The question template can be predefined as: Does your service prefer [sub-tag A] or [sub-tag B]? If the number of sub-tags is greater than 2, a multiple-choice question is generated, for example: Please select one from the following types: [Sub-tag A], [Sub-tag B], [Sub-tag C], ... When the number of sub-tags exceeds the preset display limit (e.g., 5), a dynamic truncation strategy can be adopted: only the top L sub-tags with the highest number of services are displayed, where L is a preset value, such as 3 or 5, and the remaining sub-tags are merged into other options. This truncation strategy can avoid increasing the cognitive load on users due to too many options, while maintaining the selectivity of the mainstream branches.
[0098] The full display method is simple to implement and can completely present all sub-dimensions under the main tag, making it suitable for scenarios with a small number of sub-tags (such as 2-5). When the number of sub-tags is large, the truncation strategy can still cover most service branches while maintaining user experience.
[0099] In the second selection method, the platform calculates pairwise set similarity among all service subsets corresponding to the selected main tag. The set similarity is calculated using the Jaccard similarity coefficient: in, and The first The and the first Each sub-tag corresponds to a service subset. The platform iterates through all sub-tag pairs. ( ), find out The pair of sub-tags with the smallest similarity is selected as the target sub-tag. If multiple pairs of sub-tags have the same minimum similarity, one of them is chosen, or further, based on the difference in the number of services, the pair with the larger difference in the number of services is selected as the secondary rule.
[0100] Based on the selected pair of sub-tags, the platform generates a binary guide question, such as: Which service do you need more in line with [sub-tag A] or [sub-tag B]? This method directly selects the two sub-tags with the highest discriminative power (i.e., the least service overlap) to ask questions. Since the service sets corresponding to the two sub-tags have minimal overlap, the remaining candidate service sets will show significant differences after the user selects either option, thus minimizing the search scope. This method is particularly suitable for scenarios requiring fast binary search convergence.
[0101] In the third selection method, the platform counts the number of services in the service subset corresponding to each sub-tag under the selected main tag, i.e., the coverage frequency of that sub-tag in the current target service set. All sub-tags are sorted in descending order of service quantity, and the top M sub-tags are selected as the target sub-tags, where M is a preset positive integer. If there are ties, they can be selected randomly or determined according to the lexicographical order of the sub-tag names.
[0102] Based on the selected M sub-tags, the platform generates a multiple-choice guide question, listing the M options, and allows the option to selectively add other options to cover the remaining sub-tags.
[0103] This approach prioritizes displaying the most popular branches among the current candidate services. It is suitable for scenarios where users have broad needs and want to understand the common characteristics of most services first. By guiding users to choose from the most common options, it can quickly converge user intent on the mainstream direction, avoiding the cognitive burden caused by introducing niche branches too early.
[0104] The options text in the guiding questions can directly use the names of the sub-tags, or the sub-tags can be mapped to more user-friendly natural language expressions based on predefined templates. The specific wording of the questions can be stored in a corpus associated with the tag system, or generated in real time through a language model.
[0105] The output can be displayed as text on a user interface, such as a web page, mobile application, or command-line interface, or it can be read aloud via speech synthesis. After the user makes a selection regarding the question, the platform filters the target service set to include only services corresponding to the selected sub-tag, thus completing one round of intent refinement. S102 to S104 can then be repeated until the number of target services decreases to an acceptable range or the user actively terminates the search.
[0106] (a) How to handle situations where the triggering conditions of the evaluation process are not met.
[0107] In some embodiments, in step S102, the platform determines whether to enter the evaluation process based on the following conditions: the number of target services M exceeds a preset number, and the N tags include at least two main tags. When either of the above two conditions is not met, the platform does not execute the evaluation process, but directly outputs the service information of each target service.
[0108] Scenario 1: The number of target services M is less than or equal to the preset number. This indicates that the number of target services is relatively small, and users can browse and select directly from the list without multiple rounds of interaction. Introducing guided questions in this case would only increase unnecessary interaction steps and reduce search efficiency. Therefore, the platform directly outputs the service information of each target service, such as service name, identifier, main function description, sub-tag label, calling method, and calling link, for users to manually filter.
[0109] Scenario 2: The number of main tags in N tags does not exceed two. When N tags contain only one main tag (possibly accompanied by zero or more sub-tags) or zero main tags (i.e., all are sub-tags but all belong to the same main tag), the evaluation process cannot compare multiple meaningful main tags, and the generated guiding questions may lack differentiation or lead to unnecessary questions. Therefore, the platform directly outputs the service information of the target service to avoid invalid interactions.
[0110] The platform can display service information for each target service in a structured format within the user interface. Service information includes at least a service identifier, such as a service ID or name, and may also optionally include auxiliary information such as sub-tags, a brief description, the provider, and the invocation method.
[0111] This approach ensures that the intent refinement guidance mechanism in the embodiments of this specification is executed only when truly needed, avoiding excessive interaction in scenarios with small candidate sets or single-dimensional requirements. This reduces computational overhead and improves user experience, enabling users to directly obtain service information when there are few search results and receive intelligent guidance when there are many results and complex dimensions.
[0112] (ii) There is no situation where the target service of N tags can be satisfied on its own.
[0113] Please see Figure 3 If there is no target service that can satisfy all N tags on its own, that is, no single service has a tag set that contains all N tags, then the platform cannot directly output a single service that matches perfectly to the user. Instead, it needs to use a combined service approach. By using multiple services to cover all the tag items in the user's needs, the platform can determine candidate services that match at least one of the N tags, forming the current candidate service set (S300).
[0114] The sub-tags labeled by the candidate service and the main tag to which each sub-tag belongs have a direct or indirect matching relationship with at least one of the N tags.
[0115] The current rule for constructing the candidate service set is as follows: For a service S, if there exists at least one label T among N labels such that: when T is a sub-label, S is labeled with T; or when T is the main label, S is labeled with at least one sub-label under that main label (or equivalently, S's main label includes T), then S is included in the current candidate service set. Otherwise, S is excluded. Through this construction rule, the platform can ensure that each service in the candidate service set is at least partially related to the user's needs, providing effective input for the subsequent service composition process.
[0116] Initialize an empty coverage set as the current coverage set (S302) to record the selected services. The union of labels in this coverage set will gradually expand during the iteration process until all N labels are covered. Execute the following iteration process: (1) In each iteration, select candidate services that meet the preset conditions from the current candidate service set and add them to the current coverage set to obtain a new coverage set (S304).
[0117] The preset conditions can be implemented in the following two ways: Method 1 (Maximum Label Coverage Prioritization): Calculate the number of coverage items for the remaining labels for each service in the current candidate service set. The remaining labels are defined as the difference between the union of the N labels and the labels in the current coverage set. Select the candidate service that maximizes the number of coverage items. If multiple services have the same maximum coverage item count, further selection can be made based on service call cost, latency, or other secondary rules.
[0118] Method 2 (Comprehensive Score Priority): A comprehensive score is calculated for each candidate service. This score is related to at least two of the following factors: ① Positively correlated with the number of tags covered by the candidate service, i.e., services that cover more remaining tags receive a higher score; ② Negatively correlated with the service call cost of the candidate service, i.e., the lower the cost, the higher the score. Call cost may include billing price, resource consumption, etc.; ③ Negatively correlated with the call latency of the candidate service, i.e., the lower the latency, the higher the score. Latency can refer to response time, processing time, etc.
[0119] Taking the comprehensive score as an example, which is related to the number of label coverage items of the candidate service, the service call cost of the candidate service, and the call latency of the candidate service, the comprehensive score can be a weighted linear combination of the above three factors, for example: in A positive weighting coefficient. The platform selects the candidate service with the highest overall score to add to the coverage set.
[0120] (2) Remove the selected candidate service from the current candidate service set to obtain a new candidate service set (S306). The purpose of removal is to avoid the same service being selected repeatedly.
[0121] (3) Determine whether the first iteration termination condition or the second iteration termination condition is met (S308).
[0122] The first iteration termination condition includes: the union of the hit tags of the candidate services in the new coverage set is consistent with N tags. At this point, the service combination in the coverage set can jointly satisfy all the tag items in the user's retrieval needs.
[0123] The second iteration terminates when: the union of the matching tags for the candidate services in the new coverage set is less than N tags, and the new candidate service set is empty. It is determined that none of the tags can fully satisfy the user's search requirements through any service combination.
[0124] The union of hit tags refers to the set of tags obtained by taking the union of the tags hit by each candidate service in the new coverage set. This union reflects the total set of user demand tags that the currently selected service combination can collectively cover. When this union is equal to N tags (i.e., all tags hit by the user's service retrieval requirements, including main tags and sub-tags), it means that the service combination in the current coverage set can satisfy all tag items in the user's retrieval requirements, and the iteration stops at this point. It is important to note that the tag elements in the union are deduplicated; duplicate tags are counted only once. For example, if there are two services in the coverage set, the first service hits sub-tag A and main tag B, and the second service hits sub-tag A and sub-tag C, then the union is {sub-tag A, main tag B, sub-tag C}, which needs to be compared with each of the N tags.
[0125] (4) If neither of the above two iteration conditions is met, the new coverage set and the new candidate service set are respectively used as the current coverage set and the current candidate service set for the next iteration (S310), and the next iteration begins.
[0126] (5) If the first iteration termination condition is met, output the service information of the candidate services in the new coverage set, and output the prompt information to indicate that the combination of candidate services can meet the service retrieval requirements (S312).
[0127] The output can be displayed in the user interface as a list, showing the identifier, name, sub-tags, invocation method, and invocation link of each service. Simultaneously, the platform outputs prompts suggesting that candidate service combinations can meet your service search requirements, such as: "The following service combinations can meet your needs:" or "A set of services has been found for you; using them together can cover all your specified conditions." This approach addresses the challenge of fulfilling user needs through a combination of services when no single service perfectly matches them. Through an iterative algorithm, the platform prioritizes services with the strongest coverage or highest overall score, ensuring coverage of all tags while minimizing the number of services or overall cost / latency in the combination. This avoids the tedious process of returning numerous fragmented services to users for them to piece together, improving search efficiency and user experience. Simultaneously, the comprehensive scoring mechanism allows the platform to balance coverage, cost, and latency, adapting to the needs of different business scenarios.
[0128] (6) If the second iteration termination condition is met, determine the most difficult label to satisfy among the N labels; wherein, in the candidate service set, the number of candidate services that hit the most difficult label to satisfy is less than the number of candidate services that hit the other labels of the N labels; from the label system, obtain at least one candidate sub-label whose semantic similarity with the most difficult label to satisfy is greater than a preset threshold; output the service information of the candidate services in the new coverage set, and output the suggestion information for suggesting that the most difficult label to satisfy be relaxed to at least one candidate sub-label (S314).
[0129] The platform analyzes each of the N tags, counting the number of candidate services that match each tag in the initially formed candidate service set. Specifically, for each tag, it calculates how many candidate services that tag is associated with. Then, the platform selects the tag that minimizes the number of matched services as the most difficult tag to satisfy. If multiple tags have the same minimum number of matches, one can be chosen at random, or further determined based on auxiliary rules such as the tag's hierarchy in the tag system and semantic width; for example, a tag with more specific semantics and greater difficulty in substitution can be selected.
[0130] After identifying the most difficult-to-satisfy tag, the platform retrieves at least one candidate sub-tag from the pre-built tag system whose semantic similarity to the most difficult-to-satisfy tag is greater than a preset threshold. Semantic similarity can be calculated in the following ways: ① Based on textual similarity of tag names, such as comparing the edit distance of tag name strings, the proportion of common characters, or using a thesaurus; ② Based on the co-occurrence frequency of tags in service labeling, such as two tags frequently appearing on the same service, are considered semantically similar; ③ Based on the hierarchical distance of tags in the tag system structure, such as sub-tags sharing the same parent tag are considered semantically similar; ④ Calculate the cosine similarity between the embedding vectors corresponding to the tags using pre-trained word vector models (such as Word2Vec, BERT, etc.).
[0131] The preset threshold can be configured according to actual needs. For example, it can be set to a higher level to ensure that the recommended tags are indeed semantically interchangeable with the original tags. The platform selects all sub-tags that meet the similarity criteria. If there are too many, the top few (e.g., three) with the highest similarity can be selected as candidate suggestions.
[0132] The platform outputs the following information: (1) Service information of candidate services in the current coverage set, displaying the identifier, name, and sub-tags of each service in a list format. (2) A suggestion message to prompt the user to broaden the most difficult tag to satisfy to at least one candidate sub-tag. The text template of the suggestion message can be predefined as: There is currently no service that can satisfy the [most difficult tag to satisfy] condition. It is recommended that you broaden it to [candidate sub-tag 1], [candidate sub-tag 2] or [candidate sub-tag 3] and then search again.
[0133] This approach addresses the problem of platforms failing to find a complete matching combination when a user's needs contain a tag that is extremely difficult to satisfy (i.e., only a very few services possess this tag, or even none at all). By identifying the most difficult-to-satisfy tag and automatically providing semantically similar alternative tags, the platform can guide users to reasonably broaden their needs, thereby expanding the coverage of the candidate service set while maintaining the core direction of the search intent. This avoids simply returning a "no matching service" failure result, improving the fault tolerance of the search system and the user experience. Simultaneously, candidate tag recommendations based on semantic similarity ensure the rationality of the suggestions and avoid introducing irrelevant tags that deviate too much from the user's original intent.
[0134] In another alternative implementation, when determining the most difficult tag to satisfy and needing to recommend alternative sub-tags to the user, in addition to making recommendations based on semantic similarity, the platform can further combine the current user's historical behavior profile with the historical profiles of other users, such as similar groups, to personalize and sort candidate sub-tags, so as to provide more relaxed suggestions that better match user preferences.
[0135] The platform pre-stores each user's search history, service call records, and feedback on various guided questions during interactions, such as when a user actively selected "delay ≤ 3s" or explicitly emphasized "must-verify" services. This historical data can form user profiles, including but not limited to: the user's acceptance level, tolerance range, and preference priority for different tag dimensions.
[0136] Once the platform identifies the most difficult-to-satisfy tags, it further performs the following personalized filtering steps based on the candidate sub-tags with semantic similarity greater than a preset threshold obtained from the tag system: Personalized adaptation for the current user: In one scenario, analyzing the current user's historical profile reveals that if the user's historical behavior shows a high tolerance for a certain attribute dimension, such as frequently accepting more lenient values under that dimension, then lenient options should be prioritized for that dimension. If the user's historical behavior shows a clear preference or mandatory requirement for a certain attribute dimension, such as repeatedly selecting specific values under that dimension, then the original labels should be retained as much as possible for that dimension, while other dimensions should be relaxed.
[0137] For example, if the system finds that a user's past searches consistently resulted in services falling under the "latency ≤ 3s" category, it indicates that the user has a high tolerance or preference for latency. In this case, when recommending alternative sub-tags, the platform can prioritize recommending relaxed options related to "latency," such as relaxing "≤1 second" to "≤3 seconds," rather than recommending relaxed tags for other dimensions. Conversely, if the user's historical profile shows a particular emphasis on "verification" services, such as services where the user has repeatedly and explicitly selected "verification" as the purpose, the platform should prioritize retaining "verification" related tags and suggest relaxing other dimensions.
[0138] In another scenario, the platform can combine user profiles with those of other users. It can also leverage collaborative filtering to identify other user groups with similar historical behavioral patterns. For example, it can analyze which alternative sub-tags these similar users ultimately choose to accept when faced with the most difficult-to-satisfy tags, and their subsequent satisfaction or interaction behavior. Based on this statistical information, the platform can calculate the acceptance probability or preference score for each candidate sub-tag and rank them in descending order, prioritizing the sub-tags with the highest acceptance probability.
[0139] This implementation incorporates historical profiles of individual users and user groups, making the relaxed alternative sub-tags in recommendations more aligned with users' true preferences and tolerance boundaries. This increases the probability of suggestions being adopted and reduces the interaction costs of repeated attempts by users. Simultaneously, collaborative recommendations based on group profiles can effectively cold-start new users and leverage the historical behavior of similar users to enhance the system's intelligence and user experience.
[0140] In one exemplary embodiment, the services in the platform can be divided into published services and unpublished services. See also... Figure 4 After identifying the N tags that the service retrieval request matches, we can first determine whether there is a target service in the platform that can individually satisfy the N tags (S400).
[0141] If the platform determines that there exists a target service that can individually satisfy N tags, it will proceed to the processing flow of branch 1; otherwise, it will proceed to the processing flow of branch 2.
[0142] Branch 1: There exists a target service that can individually satisfy N labels.
[0143] This branch further considers the distinction between published and unpublished services, and performs different operations based on the number of target services and the number of published services. In this branch, it first determines whether the number of target services is within the preset range [1, X] (S402).
[0144] Setting the preset interval [1, X]: The platform presets a positive integer threshold X, where X is greater than 1. The specific value can be configured according to the actual application scenario. For example, X can be set to 5 for a production environment and 10 for a testing environment. The preset interval from 1 to X is used to determine whether the number of target services is within a small or moderate range.
[0145] Case 1.1: The target number of services is within the preset range [1, X].
[0146] When the total number of target services (including published and unpublished services) that can individually satisfy N tags is between 1 and X, it indicates that the candidate service scale is small, and users can browse directly without multiple rounds of interaction. At this time, the platform further checks whether the number of published services among these target services is greater than or equal to 1 (S404): Scenario 1.1.1: If the number of published services is greater than or equal to 1, the platform will directly display the service information (S408) of these published services, such as service name, identifier, sub-tag label, and invocation method, for the user to choose from. Unpublished services will not be displayed, or the user will be only informed in a weak manner that there are unpublished services but they cannot be directly invoked.
[0147] Scenario 1.1.2: If the number of published services is less than 1, meaning there are no published services, the platform cannot provide users with a sufficient number of directly callable services. In this case, the platform guides users to perform a data resource listing operation (S406), for example, prompting "There are currently no directly callable published services. You can apply to list the relevant unpublished services" and providing the corresponding listing entry or application form.
[0148] Case 1.2: The number of target services exceeds X. The platform further checks whether the number of published services is within [1, X] (S410).
[0149] Scenario 1.2.1: When the number of published services is still between 1 and X, it indicates that although there are a large number of candidate services, most are unpublished, but the number of mature services that can be directly invoked is moderate. In this case, to avoid confusing users by displaying a large number of unavailable unpublished services, the platform only displays the service information of published services (S408). Users can choose from a limited number of available services; if users need more options, they can actively choose to view unpublished services.
[0150] Case 1.2.2: If the number of published services exceeds X, the platform will further check whether the N tags include at least two main tags (S412).
[0151] Scenario 1.2.2.1: When the total number of target services exceeds X, and the number of published services also exceeds X, and at least two of the N tags matched by the user's search query include primary tags, it indicates that the set of candidate published services is large and involves multiple attribute dimensions. In this case, the platform triggers the aforementioned evaluation process for each primary tag, calculates the intent segmentation value score for each primary tag, and generates a search intent guidance question (S414) based on the primary tag with the highest score. By guiding the user to further clarify their preferences, the platform can effectively narrow down the range of candidate services and avoid the difficulty of selection when users are faced with a large number of similar services.
[0152] Scenario 1.2.2.2: If the number of primary tags among the N tags matching a user's search query is less than 2, the platform will not trigger the evaluation process. In this case, although there are many published services, the user's query involves a single attribute dimension, making it impossible to generate distinctive guiding questions through comparison of multiple primary tags. To avoid meaningless questions, the platform directly displays information on the top few published services, such as the top X services sorted by service quality rating, number of calls, or relevance, and prompts the user to narrow down the scope by adding more filtering conditions. Simultaneously, the platform provides a "View More" option, allowing users to browse the entire list of published services (S408).
[0153] Branch 1 distinguishes between published and unpublished services and dynamically adjusts its processing strategy based on quantity thresholds. This ensures the platform prioritizes recommending readily available, mature services to users, avoiding invalid interactions caused by displaying a large number of unpublished services. Simultaneously, when the number of published services is sufficient and the demand dimensions are complex, an evaluation process is introduced to generate guiding questions, improving search efficiency.
[0154] Branch 2: There is no target service that can satisfy N labels on its own.
[0155] The platform first follows the aforementioned method, referring to the section on "Case where no single target service can satisfy all N tags," to form a candidate service set. Then, it generates a coverage set through an iterative algorithm, where multiple services in this coverage set collectively cover all N tags (S416). After the iteration terminates, the platform performs different operations based on the number of services in the coverage set and a preset threshold Y, where Y is a positive integer, such as Y equals 3 or Y equals 5. It then determines whether the number of services in the coverage set is less than or equal to Y (S418).
[0156] Case 2.1: The number of services in the coverage set is less than or equal to Y.
[0157] If the number of services in the coverage set obtained through iteration does not exceed a preset threshold Y, and the union of the hit labels of all services in the coverage set is completely consistent with N labels, it indicates that the platform has found a small-scale service combination that can jointly meet all the user's needs. The services in this combination can be published services, unpublished services, or a mixture of both.
[0158] At this point, the platform directly outputs the service information of the services in the coverage set, including the identifier, name, sub-tag, invocation method, and invocation link (for published services) or listing status (for unpublished services) of each service, and outputs service combination prompt information (S420), such as: "The following service combination can meet your needs together." Users can call these services respectively according to the output information to achieve the complete requirements.
[0159] Case 2.2: The number of services in the coverage set is greater than Y.
[0160] If the number of services in the coverage set exceeds a preset threshold Y, it indicates that although a service combination exists that can cover all tags, the combination contains too many services; for example, more than five services are needed to assemble the complete functionality. In practical applications, too many service combinations increase user call costs, integration complexity, and maintenance difficulty, resulting in a poor user experience. Therefore, the platform does not directly recommend this combination but instead suggests that users broaden or remove certain tags to reduce reliance on service combinations.
[0161] For example, the platform analyzes each of the N tags, identifying the most difficult tags to satisfy—those with the fewest services or those that cause excessive scalability in the combination. Then, the platform provides suggestions to the user, such as: "You need to combine multiple services to meet all your requirements. We suggest removing one of the following tags: [Tag A], [Tag B], [Tag C], etc." Simultaneously, the platform can list better service combinations that might result from removing a tag (S422), for example, removing tag X results in a combination containing no more than Y services. Users can adjust their search requirements accordingly and perform a new search.
[0162] In other cases, if the coverage set does not completely cover all N tags and the candidate service set is empty, it can be processed in the manner described above to determine the tag that is most difficult to satisfy, obtain semantically similar sub-tags, and output service information and relaxation suggestions.
[0163] Branch 2 prioritizes finding small-scale service combinations (not exceeding Y in number) and directly recommending them to users when a single service cannot meet their needs, avoiding the tedious process of users piecing together solutions themselves. When the combination size is too large, the platform proactively suggests that users relax their requirements and provides specific tag removal suggestions, guiding users to obtain higher service availability with minimal loss of needs. This mechanism improves the usability of the search system and user satisfaction.
[0164] The various technical features in the above embodiments can be combined arbitrarily, as long as there is no conflict or contradiction between the combinations of features. However, due to space limitations, they are not described one by one. Therefore, the arbitrary combination of various technical features in the above embodiments is also within the scope of this specification.
[0165] Figure 5 This is a schematic structural diagram of a device provided in an exemplary embodiment. For example... Figure 5 As shown, device 500 mainly consists of a communication interface 502, a user interface 504, a processor 506, and a data storage 508. These components are interconnected and communicate with each other via a system bus, network, or other connection mechanism 510. The communication interface 502 enables device 500 to communicate with other devices, access networks, and transmission networks via analog or digital modulation. For example, the communication interface 502 may include an antenna and related processing devices for wireless communication with a radio access network or access point. Furthermore, the communication interface 502 can be a wired interface such as Ethernet, Token Ring, or a USB port, or a wireless interface such as Wi-Fi, Bluetooth, Global Positioning System (GPS), or a wide-area wireless interface (e.g., WiMAX or LTE). Of course, the communication interface 502 can also support other forms of physical layer interfaces and standard or proprietary communication protocols. The communication interface 502 may also include multiple physical communication interfaces, such as Wi-Fi interfaces, Bluetooth interfaces, and wide-area wireless interfaces.
[0166] User interface 504 includes receiving user input and providing output to the user. Therefore, user interface 504 may include input components such as a keypad, keyboard, touch-sensitive or presence-sensitive panel, computer mouse, trackball, joystick, microphone, still camera, and video camera, and output components such as a display screen (which may be combined with a touch-sensitive panel), CRT, LCD, LED, display using DLP technology, printer, and other similar devices known or developed in the future. User interface 504 may also generate auditory output via speakers, speaker jacks, audio output ports, audio output devices, headphones, and other similar devices known or developed in the future. In some embodiments, user interface 504 may include software, circuitry, or other forms of logic capable of transmitting and receiving data from external user input / output devices. Additionally or alternatively, device 500 may support remote access from other devices via communication interface 502 or another physical interface (not shown). User interface 504 may be configured to receive user input, the position and movement of which may be indicated by indicators or cursors described herein. User interface 504 may also be configured as a display device for rendering or displaying text fragments.
[0167] Processor 506 may contain one or more general-purpose processors and / or special-purpose processors.
[0168] Data storage 508 may include one or more volatile and / or non-volatile storage components and may be integrated wholly or partially with processor 506. Data storage 508 may include removable and non-removable components.
[0169] Processor 506 is capable of executing program instructions 518 (e.g., compiled or uncompiled program logic and / or machine code) stored in data storage 508 to perform the various functions described herein. Data storage 508 may contain a non-transitory computer-readable medium on which program instructions are stored, which, when executed by device 500, enable device 500 to perform any methods, processes, or functions disclosed in this specification and / or the accompanying drawings. Execution of program instructions 518 by processor 506 may result in processor 506 using data 512.
[0170] For example, program instructions 518 may include an operating system 522 (e.g., an operating system kernel, device drivers, and / or other modules) installed on device 500 and one or more applications 520 (e.g., a browser, social application, or game application). Similarly, data 512 may include operating system data 516 and application data 514. Operating system data 516 is primarily accessible to the operating system 522, while application data 514 is primarily accessible to one or more applications 520. Application data 514 may reside in a file system visible or hidden from the user of device 500.
[0171] Application 520 can communicate with operating system 522 through one or more application programming interfaces (APIs). These APIs help application 520 read and / or write application data 514, transmit or receive information via communication interface 502, receive or display information on user interface 504, etc.
[0172] In some terminology, application 520 may be simply referred to as "app". Furthermore, application 520 can be downloaded to device 500 through one or more online app stores or app markets. However, applications can also be installed on device 500 in other ways, such as through a web browser or a physical interface on device 500 (e.g., a USB port).
[0173] In some embodiments, the intent to refine the guiding means can be applied to, for example... Figure 5 The device shown is used to implement the technical solution of this specification. The detailed guiding device may include: The retrieval module is used to determine N matching tags from the tag system for service retrieval needs, and to determine M target services that match the N tags; M and N are integers. The tag system includes multiple main tags and sub-tags corresponding to each main tag; each service connected to the data service platform is labeled with at least one sub-tag.
[0174] The evaluation module is used to perform an evaluation process for each main label if M is greater than a preset number and N labels include at least two main labels: obtain the service subsets corresponding to all sub-labels under the main label, and the service set obtained by the union of all service subsets, to calculate the information entropy that characterizes the service distribution balance among service subsets, the diversity index that characterizes the distinctiveness between different service subsets, and / or the subset richness index that characterizes the richness of service subsets under the main label; based on the information entropy, diversity index, and / or subset richness index, obtain the intent segmentation value score that is positively correlated with all three.
[0175] The intent segmentation module is used to generate and output search intent guidance questions based on the sub-tags contained in the main tag with the highest intent segmentation value score.
[0176] For more details on the implementation of the above-mentioned device, please refer to the relevant sections of the above method; they will not be repeated here.
[0177] For ease of description, the above devices are described by dividing them into various modules or units based on their functions. Of course, when implementing one or more of these specifications, the functions of each module or unit can be implemented in the same or different software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; 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.
[0178] Based on the same concept as the methods described above, this specification also provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor performs the steps of the method as described in any of the above embodiments by executing the executable instructions.
[0179] Based on the same concept as the methods described above, this specification also provides a computer-readable storage medium having computer instructions stored thereon that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0180] Based on the same concept as the methods described above, this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0181] What those skilled in the art will understand is: In this specification, the terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, product, or apparatus that includes said elements is not excluded.
[0182] In this specification, “a,” “an,” and “the” do not specifically refer to the singular, but may also include the plural.
[0183] In this specification, ordinal numbers such as "first," "second," etc., do not necessarily indicate order; they are often used to distinguish between objects. For example, "first server" and "second server" usually refer to two servers. To differentiate between these two servers, they are described as "first server" and "second server." Of course, sometimes these two servers may be the same server.
[0184] In this specification, unless explicitly stated otherwise, "receiving and sending data" does not necessarily mean direct receiving and sending; it can also mean indirect receiving and sending. For example, A receiving data sent by B can be understood as A directly receiving the data sent by B, or it can be understood as A indirectly receiving the data sent by B through other entities such as C. Similarly, B sending data to A can be understood as B sending the data directly to A, or it can be understood as B indirectly sending the data to A through other entities such as C. Here, C can be one entity, or it can be two or more entities.
[0185] In this specification, unless explicitly stated otherwise, the relationships between structures can be direct or indirect. For example, when describing "A is connected to B," unless it is explicitly stated that A and B are directly connected, it should be understood that A can be directly connected to B or indirectly connected to B. Similarly, when describing "A is on top of B," unless it is explicitly stated that A is directly above B (AB is adjacent and A is above B), it should be understood that A can be directly above B or indirectly above B (AB is separated by other elements, and A is above B). And so on.
[0186] This specification uses specific terms to describe embodiments thereof. Terms such as "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Furthermore, those skilled in the art can combine and integrate the different embodiments or examples described herein, as well as the features of those different embodiments or examples, without contradiction.
[0187] Although one or more embodiments of this specification provide method steps as described in the embodiments or flowcharts, it is understood that the order of steps listed in the embodiments or flowcharts is only one of many possible execution orders and does not represent the only execution order. Therefore, when the claims involve method steps, any changes or adjustments to the order of such steps, or the parallelism between steps, are also within the scope of protection of the claims.
Claims
1. An intent refinement guidance method, applied to a data service platform configured with a tag system, wherein the tag system includes multiple main tags and sub-tags corresponding to each main tag; Each service provided by the data service platform corresponds to at least one sub-tag; the method includes: For service retrieval needs, N matching tags are determined from the tag system, and M target services that match the N tags are determined; M and N are integers. If M is greater than the preset number, and the N tags include at least two main tags, an evaluation process is performed for each main tag: Obtain the service subsets corresponding to all sub-tags under the main tag, and the service set obtained by the union of all the service subsets, so as to calculate the information entropy that characterizes the service distribution balance among the service subsets, the diversity index that characterizes the distinguishability among different service subsets, and / or the subset richness index that characterizes the richness of the service subsets under the main tag. Based on the information entropy, the diversity index and / or the subset richness index, an intention segmentation value score that is positively correlated with all three is obtained. Based on the sub-tags contained in the main tag with the highest intent value score, generate and output search intent guidance questions.
2. The method according to claim 1, wherein calculating the information entropy comprises: Based on the difference between the number of services in each service subset and the total number of services in the entire service set, calculate the information entropy that characterizes the degree of service distribution balance among the service subsets; Calculating the diversity index includes: Based on the set similarity between each of the service subsets, a diversity index characterizing the distinctiveness between different service subsets is calculated; Calculating the subset richness index includes: The subset richness index is calculated based on the difference between the total number of all said service subsets and the total number of services in the full service set.
3. The method according to claim 1, wherein the service retrieval request is described in natural language; The process of determining N matching tags from the tag system in response to service retrieval needs includes: The service retrieval request is filled into a preset prompt template to obtain intent recognition prompt words; wherein, the prompt template includes the tag system and output rules for constraining the output format of the language model; the output rules include: if the language model recognizes that the service retrieval request matches at least one sub-tag under any main tag, only the at least one sub-tag is output; if the language model recognizes that the service retrieval request matches any main tag but does not match any sub-tag under that main tag, the main tag is output; The intent recognition prompt is input into the language model to obtain N labels output by the language model.
4. The method according to claim 2, wherein the information entropy is obtained by taking the distribution frequency of each service subset as a weight, performing a weighted summation on the logarithm of the distribution frequency, and normalizing the weighted summation result; the distribution frequency of each service subset is the ratio between the number of services in that service subset and the total number of services in the entire service set. And / or, The set similarity between each of the service subsets is the ratio of the intersection to the union of the two service subsets; the diversity index includes: The complement of the average similarity obtained by averaging the set similarities of all service subsets under the main label; And / or, The subset richness index is the ratio between the logarithm of the total number of all service subsets and the logarithm of the total number of services in the entire service set.
5. The method according to any one of claims 1 to 4, further comprising: If M is less than or equal to the preset number, or if the number of main tags included in the N tags is less than two, output the service information of the M target services.
6. The method according to any one of claims 1 to 4, further comprising: If no target service satisfies the N tags, determine candidate services that match at least one of the N tags to form the current candidate service set; Initialize an empty cover set as the current cover set, and perform the following iterative process: In each iteration, candidate services that meet preset conditions are selected from the current candidate service set and added to the current coverage set to obtain a new coverage set; The selected candidate service is removed from the current candidate service set to obtain a new candidate service set; The new coverage set and the new candidate service set are respectively used as the current coverage set and the current candidate service set for the next iteration; If the union of the hit labels of the candidate services in the new coverage set matches the N labels, then the iteration stops; After stopping the iteration, output the service information of the candidate services in the new coverage set, and output the prompt information to indicate that the combination of candidate services can meet the service retrieval requirements.
7. The method according to claim 6, wherein the preset condition is used to indicate that the selected candidate service has the largest number of tag coverage items for the remaining tags among the N tags, and the remaining tags are the difference set between the union of the N tags and the tags of the current coverage set; or, The preset condition is used to indicate that the selected candidate service has the highest comprehensive score. The comprehensive score is related to at least two of the following: the number of label coverage items of the candidate service, the service call cost of the candidate service, and the call latency of the candidate service. The comprehensive score is positively correlated with the number of label coverage items of the candidate service, negatively correlated with the service call cost of the candidate service, and negatively correlated with the call latency of the candidate service.
8. The method according to claim 6, further comprising: If the union of the hit tags corresponding to the candidate services in the new coverage set is less than the N tags, and the new candidate service set is empty, then the iteration stops; After stopping the iteration, the most difficult label to satisfy among the N labels is determined; wherein, in the candidate service set, the number of candidate services that hit the most difficult label to satisfy is less than the number of candidate services that hit the other labels of the N labels; From the tag system, obtain at least one candidate sub-tag whose semantic similarity to the most difficult-to-satisfy tag is greater than a preset threshold; Output service information for all candidate services in the new coverage set, and output suggestion information for suggesting that the most difficult-to-satisfy label be relaxed to the at least one candidate sub-label.
9. An electronic device, comprising: processor; A memory for storing processor-executable instructions; wherein the processor implements the steps of the method as described in any one of claims 1-8 by executing the executable instructions.
10. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-8.
11. A computer program product comprising a computer program / instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-8.