Dialogue method, system and equipment for knowledge base retrieval enhancement and medium

By selecting attributes and entity selection for entities in the external knowledge base, and configuring implicit knowledge labels and explicit knowledge texts, the problem of difficulty in distinguishing similar entities is solved in the generative model, and more accurate and high-quality replies are generated.

CN120045661AActive Publication Date: 2025-05-27XIDIAN UNIV +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510094365.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-05-27
Estimated Expiration
2045-01-21

AI Technical Summary

Technical Problem

The current generative model is difficult to effectively distinguish subtle differences between similar entities when processing retrieved knowledge base entities, resulting in poor quality of generated responses.

Method used

By selecting attributes and entity selections for entities in the external knowledge base, configuring implicit knowledge labels and explicit knowledge texts, forming a collection of target entities and generating accurate target responses.

Benefits of technology

It improves the quality and accuracy of generated replies, enhances the recognition between entities, and improves the interactive experience of the dialogue system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120045661A_ABST
    Figure CN120045661A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of dialogue processing, and discloses a knowledge base retrieval enhanced dialogue method, system and device and a medium, and the method comprises the following steps: in response to a dialogue context input by a user, carrying out attribute selection and entity selection on entities in an external knowledge base to obtain a target entity set; configuring corresponding implicit knowledge tags for entities in the target entity set to obtain an implicit knowledge enhanced entity set; wherein the implicit knowledge tags represent tags for distinguishing similar entities in the target entity set; configuring corresponding display knowledge texts for entities in the implicit knowledge enhancement entity set to obtain an explicit knowledge enhancement entity set; wherein the display knowledge text represents descriptive texts of entities in the implicit knowledge enhancement entity set; and generating a target response based on the explicit knowledge enhancement entity set and the dialog context. According to the technical scheme provided by the invention, the generated reply quality and accuracy can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of dialogue processing, and in particular, to a dialogue method, system, device, and medium with enhanced knowledge base retrieval. Background Art

[0002] The task-oriented dialogue system uses modules such as semantic parsing, dialogue state tracking, dialogue strategy learning, and response generation, combined with entity information in an external knowledge base, to meet user needs and complete specific tasks.

[0003] However, current generation models (such as T5, ChatGPT) have difficulty effectively distinguishing the subtle differences between similar entities when processing retrieved knowledge base entities, resulting in poor-quality generated responses. Summary of the Invention

[0004] This application provides a dialogue method, system, device, and medium with enhanced knowledge base retrieval, achieving the technical effects of improving the quality and accuracy of generated responses.

[0005] To achieve the above object, the main technical solutions adopted in this application include: In a first aspect, an embodiment of this application provides a dialogue method with enhanced knowledge base retrieval, and the method includes: In response to the dialogue context input by the user, perform attribute selection and entity selection on entities in the external knowledge base to obtain a set of target entities; Configure corresponding implicit knowledge tags for entities in the set of target entities to obtain a set of implicitly knowledge-enhanced entities; where the implicit knowledge tags are tags that distinguish similar entities in the set of target entities; Configure corresponding explicit knowledge texts for entities in the set of implicitly knowledge-enhanced entities to obtain a set of explicitly knowledge-enhanced entities; where the explicit knowledge texts are descriptive texts of entities in the set of implicitly knowledge-enhanced entities; Generate a target response based on the set of explicitly knowledge-enhanced entities and the dialogue context.

[0006] The dialogue method with enhanced knowledge base retrieval provided in this embodiment can accurately select relevant entities and their attributes from the external knowledge base according to the dialogue context input by the user to form a set of target entities. On this basis, by configuring implicit knowledge tags for entities, similar entities are effectively distinguished, enhancing the distinguishability between entities. Then, by configuring descriptive texts for the set of implicitly knowledge-enhanced entities, implicit knowledge is transformed into explicit knowledge, making the knowledge of entities clearer and easier to understand. Finally, based on the set of explicitly knowledge-enhanced entities and the dialogue context, a target response that is accurate and meets the user's needs can be generated, thereby improving the overall interaction experience.

[0007] In one embodiment, the method of selecting attributes and entities from an external knowledge base in response to the dialogue context of a user input to obtain a target entity set includes: In response to the dialogue context of a user input, determining a dense vector corresponding to the dialogue context and determining dense vectors corresponding to attributes of entities in the external knowledge base; Based on the dense vector of the dialogue context and the dense vectors of the attributes, performing attribute selection on the entities in the external knowledge base to obtain a first entity set including the located entity attributes; wherein the located entity attributes represent the attributes of entities directly located with the dialogue context in the external knowledge base. Determining dense vectors corresponding to entities in the first entity set; Based on the dense vectors of the entities and the dense vector of the dialogue context, performing entity selection on the entities in the first entity set to obtain a second entity set; Configuring non-located entity attributes in the second entity set to obtain the target entity set; wherein the non-located entity attributes represent the attributes of entities not directly located with the dialogue context in the external knowledge base.

[0008] In this embodiment, by responding to the dialogue context of a user input, calculating the dense vector of this context and the dense vectors of attributes of entities in the external knowledge base, basic data is provided for the subsequent entity selection process. Then, based on the dense vector of the dialogue context and the dense vectors of entity attributes, attribute selection is performed on the entities in the external knowledge base to obtain a first entity set including the attributes of entities directly located with the dialogue context. On this basis, the dense vector of each entity in the first entity set is further calculated, and based on these dense vectors of the entities and the dense vector of the dialogue context, entity selection is performed to obtain a second entity set. Finally, according to the relationship between the dialogue context and the non-located entity attributes, the non-located entity attributes in the second entity set are configured to obtain the final target entity set. This embodiment can accurately screen out entities that conform to the intention of the dialogue context, thereby effectively reducing the interference of irrelevant entities and improving the accuracy of semantic understanding and the personalized response ability.

[0009] In one embodiment, the external knowledge base includes multiple entities, and each entity includes multiple attribute-value pairs; the determining of dense vectors corresponding to attributes of entities in the external knowledge base includes: Using an encoder to encode the attribute-value pairs corresponding to entities in the external knowledge base to obtain the dense vectors of the attributes.

[0010] In one embodiment, based on the dialogue context dense vector and the attribute dense vector, performing attribute selection on entities in the external knowledge base to obtain a first entity set containing located entity attributes, including: Determine the dot product between the dialogue context dense vector and the attribute dense vector to obtain an attribute selection score; In the case where the attribute selection score is greater than a preset threshold, retain the entity corresponding to the attribute dense vector to obtain a first entity set containing located entity attributes.

[0011] In this embodiment, by calculating the dot product between the dialogue context dense vector and the attribute dense vector to obtain an attribute selection score, the matching degree between the dialogue context and entity attributes can be quantified. When the attribute selection score exceeds the preset threshold, retain the entities highly relevant to the context, thereby forming a first entity set containing located entity attributes. This embodiment can accurately screen out entities relevant to the dialogue content according to the specific requirements of the dialogue context, improving the accuracy and efficiency of entity screening.

[0012] In one embodiment, based on the entity dense vector and the dialogue context dense vector, performing entity selection on entities in the first entity set to obtain a second entity set, including: Determine the dot product between the entity dense vector and the dialogue context dense vector to obtain an entity selection score; Sort according to the entity selection score from high to low, and obtain the second entity set according to the sorting result.

[0013] In this embodiment, by calculating the dot product between the dialogue context dense vector and the entity dense vector, the similarity between the entity and the dialogue can be measured, thereby improving the accuracy of entity selection. The dot product calculation is efficient and can quickly process and improve the response speed. In addition, this process enhances the system's ability to understand implicit information and helps optimize the dialogue quality. Sort the entities according to the entity selection score to form a second entity set. By screening and sorting, redundant entities are reduced, improving the response efficiency and accuracy.

[0014] In one embodiment, the implicit knowledge tags include text tags, confidence tags, and co-occurrence information tags; configuring corresponding implicit knowledge tags for entities in the target entity set to obtain an implicit knowledge enhanced entity set, including: Based on the entity selection score, determine the sorting information of entities in the first entity set as the text tag; Based on the entity selection score, grade the confidence of entities in the first entity set, and determine the graded result as the confidence tag; Determine the co-occurrence of entities in the first entity set within the dialogue context, and determine the co-occurrence as the co-occurrence information label; Configure the corresponding text label, confidence label, and co-occurrence information label for the entities in the second entity set to obtain the implicit knowledge enhanced entity set.

[0015] In this embodiment, based on the entity selection score, the entities in the first entity set are sorted by priority, and this sorting result is used as the text label to provide an effective reference for subsequent entity selection. Then, the confidence levels of the entities in the first entity set are graded using the entity selection score, and the entities are classified according to their confidence levels, and this grading result is used as the confidence label to provide data support for further screening and optimizing the entities. Next, analyze the co-occurrence of the entities in the first entity set within the dialogue context. Through this co-occurrence analysis, a co-occurrence information label is generated, which helps to capture the semantic associations between entities and improve the coherence and accuracy of the dialogue. Finally, these labels are configured on the entities in the second entity set to obtain the implicit knowledge enhanced entity set. This embodiment further improves the semantic understanding and interactive response quality of the entities through precise label configuration, realizing the deep integration and intelligent enhancement of the dialogue context and the external knowledge base.

[0016] In one implementation, the configuring the corresponding explicit knowledge text for the entities in the implicit knowledge enhanced entity set to obtain the explicit knowledge enhanced entity set includes: Use a large language model to parse the attribute-value pairs corresponding to the entities in the implicit knowledge enhanced entity set to obtain the corresponding descriptive text; Configure the corresponding descriptive text for the entities in the implicit knowledge enhanced entity set to obtain the explicit knowledge enhanced entity set.

[0017] In this embodiment, by using a large language model to parse the entities and their attribute-value pairs in the implicit knowledge enhanced entity set, the relationship between the entities and their attributes can be deeply understood, and the corresponding descriptive text can be generated. This process converts the implicit knowledge information into explicit text descriptions, providing valuable information for subsequent processing. Then, these descriptive texts are configured on the entities to generate the explicit knowledge enhanced entity set, converting the potential knowledge into an explicit knowledge form that can be directly applied. In this way, the knowledge of the entities is clearly identified and can be closely combined with the actual application tasks, improving the semantic understanding and intelligent response capabilities.

[0018] Second aspect, an embodiment of the present application provides a dialogue device with enhanced knowledge base retrieval, and the device includes: an attribute and entity selection unit, configured to perform attribute selection and entity selection on entities in an external knowledge base in response to a dialogue context input by a user, so as to obtain a target entity set; An implicit label configuration unit, configured to configure corresponding implicit knowledge labels for entities in the target entity set to obtain an implicit knowledge enhanced entity set; wherein, the implicit knowledge label represents a label for distinguishing similar entities in the target entity set; a explicit text configuration unit, configured to configure corresponding explicit knowledge texts for entities in the implicit knowledge enhanced entity set to obtain an explicit knowledge enhanced entity set; wherein, the explicit knowledge text represents a descriptive text of an entity in the implicit knowledge enhanced entity set; A target response generation unit, configured to generate a target response based on the explicit knowledge enhanced entity set and the dialogue context.

[0019] Third aspect, an embodiment of the present application provides a computer device, including: A memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to execute the above-mentioned dialogue method with enhanced knowledge base retrieval.

[0020] Fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer instructions are stored, and the computer instructions are used to cause a computer to execute the above-mentioned dialogue method with enhanced knowledge base retrieval. Description of the Drawings

[0021] In order to more clearly illustrate the specific implementation manners of the present application or the technical solutions in the prior art, the following will briefly introduce the drawings required to be used in the specific implementation manners or the description of the prior art. Obviously, the drawings in the following description are some implementation manners of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0022] Figure 1 It is a flowchart of a dialogue method with enhanced knowledge base retrieval provided by an embodiment of the present application; Figure 2 It is a flowchart of step S1 provided by an embodiment of the present application; Figure 3 It is a flowchart of step S13 provided by an embodiment of the present application; Figure 4 It is a flowchart of step S17 provided by an embodiment of the present application; Figure 5It is the flowchart of step S3 provided by the embodiment of this application; Figure 6 It is the flowchart of step S5 provided by the embodiment of this application; Figure 7 It is the block diagram of a dialogue device with enhanced knowledge base retrieval provided by the embodiment of this application; Figure 8 It is the structural schematic diagram of a computer device provided by the embodiment of this application. Detailed implementation manners

[0023] To make the objectives, technical solutions and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Apparently, the described embodiments are some but not all of the embodiments of this application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of this application without creative efforts shall fall within the protection scope of this application.

[0024] A task-oriented dialog system is a dialog system technology aimed at meeting user needs and completing specific tasks, such as restaurant reservation, ticket purchase, weather query, etc. The system generates responses through relevant information provided by an external knowledge base, user requests (queries), and the conversation history. The main tasks of the system include extracting user intentions, slot filling, and combining information with the knowledge base to generate accurate responses.

[0025] A task-oriented dialog system usually adopts the following four main modules: Semantic parsing: Converting the user's natural language input into structured information that can be understood by a computer, and identifying the user's intentions and relevant entities.

[0026] Dialogue state tracking: Recording and updating the current state of the conversation to ensure that the system can accurately understand the context during the conversation and make reasonable responses.

[0027] Dialogue policy learning: Determining the system's response policy based on the current state of the conversation, including selecting appropriate response strategies to guide the user to complete the task.

[0028] Response generation: Converting the structured semantic information into a natural and fluent language response according to the selected policy.

[0029] In a task-oriented dialogue system, the role of the external knowledge base (KB) cannot be ignored. It provides entity information related to the user's request, such as restaurants, movies, weather, etc. When the system attempts to complete tasks such as restaurant reservations or weather queries for the user, it usually needs to retrieve relevant entity information from the knowledge base and then generate an effective system response by combining this information. However, current generation models (such as T5, ChatGPT) often have difficulty distinguishing the subtle differences between the retrieved entities when processing the retrieval results, resulting in poor-quality responses.

[0030] To solve the above technical problems, according to an embodiment of the present application, there is provided an embodiment of a dialogue method with enhanced knowledge base retrieval. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.

[0031] In this embodiment, a dialogue method with enhanced knowledge base retrieval is provided. Figure 1 The flowchart of a dialogue method with enhanced knowledge base retrieval provided by an embodiment of the present application is shown in Figure 1 As shown, the process includes the following steps: Step S1, in response to the dialogue context input by the user, perform attribute selection and entity selection on the entities in the external knowledge base to obtain a set of target entities.

[0032] Specifically, by analyzing the dialogue context input by the user and combining the entities in the external knowledge base, perform intelligent attribute selection and entity selection, and finally extract a set of target entities related to the user's needs. This can ensure accurate screening of the most relevant entities and attributes according to the context, thus providing precise knowledge support for subsequent task processing.

[0033] Step S3, configure corresponding implicit knowledge tags for the entities in the set of target entities to obtain a set of implicitly knowledge-enhanced entities; where the implicit knowledge tags represent tags for distinguishing similar entities in the set of target entities.

[0034] Specifically, configure corresponding implicit knowledge tags for each entity in the set of target entities, and these tags are used to distinguish similar entities in the set. By endowing the entities with these implicit knowledge tags, it is possible to identify and distinguish similar entities during the processing, thus forming a set of implicitly knowledge-enhanced entities and providing a more accurate and targeted knowledge representation for further analysis and application.

[0035] Step S5, configure the corresponding explicit knowledge text for the entities in the implicit knowledge enhanced entity set to obtain an explicit knowledge enhanced entity set; wherein, the explicit knowledge text represents the descriptive text of the entities in the implicit knowledge enhanced entity set.

[0036] Specifically, configure the corresponding explicit knowledge text for each entity in the implicit knowledge enhanced entity set, and these texts are descriptive texts of the entities. By adding explicit knowledge text to the entities, the implicit knowledge is transformed into a clear and understandable knowledge representation, thus forming an explicit knowledge enhanced entity set. This process enhances the semantic comprehensibility of the entities and provides more intuitive and accurate knowledge support for subsequent tasks.

[0037] Step S7, generate a target response based on the explicit knowledge enhanced entity set and the dialogue context.

[0038] Specifically, input the explicit knowledge enhanced entity set and the dialogue context into a generator, and the generator is a large language model such as ChatGPT. The large language model generates an appropriate target response R based on this rich information. The large language model can comprehensively consider the dialogue context, entity information, and various knowledge enhancement information to generate a smooth, natural, accurate, and information-rich response to meet the user's needs.

[0039] A dialogue method with enhanced knowledge base retrieval provided by this embodiment can accurately select relevant entities and their attributes from an external knowledge base according to the dialogue context input by the user to form a target entity set. On this basis, by configuring implicit knowledge tags for the entities, similar entities are effectively distinguished, enhancing the distinguishability between entities. Then, by configuring descriptive text for the implicit knowledge enhanced entity set, the implicit knowledge is transformed into explicit knowledge, making the knowledge of the entities clearer and easier to understand. Finally, based on the explicit knowledge enhanced entity set and the dialogue context, a precise target response that meets the user's needs can be generated, thereby improving the overall interaction experience.

[0040] Figure 2 The flowchart of step S1 provided by an embodiment of this application, this process may include the following steps: Step S11, in response to the dialogue context input by the user, determine the dense vector corresponding to the dialogue context, and determine the dense vector corresponding to the attributes of the entities in the external knowledge base.

[0041] In one implementation, the external knowledge base includes multiple entities, and each entity includes multiple attribute-value pairs; use an encoder to encode the attribute-value pairs corresponding to the entities in the external knowledge base to obtain dense vectors of attributes.

[0042] Specifically, use the context encoder Enc cEncode the dialogue context C. The dialogue context C contains the user's current request and the previous dialogue history, and this information is crucial for understanding the user's intention and generating an appropriate response. The context encoder Enc c is usually a pre-trained language model (such as BERT, T5, etc.) that can convert a text sequence into a fixed-length dense vector. This dense vector can capture the semantic information in the dialogue context, including the user's intention, key information mentioned, etc. For example, if the user's dialogue context is "I want to find a Chinese restaurant with a suitable price in the east of the city.", after being encoded by the context encoder Enc c a dense vector will be obtained, and this vector can represent the overall semantics of this sentence, including the user's intention to find a Chinese restaurant, the location in the east of the city, the suitable price, etc.

[0043] For each entity in the external knowledge base K, each entity contains multiple attribute-value pairs E i ={a 1 , v 1 ,..., a N , v N}. Connect the attributes of each entity with their value sets to form attribute-value pairs, and then use the attribute encoder Enc a to encode each attribute-value pair to generate an attribute dense vector. For example, the attribute-value pairs of a restaurant entity include "Location: East of the city", "Price: 100 yuan", "Type: Chinese cuisine", etc. Input these attribute-value pairs into the attribute encoder Enc a respectively to obtain the dense vectors of each attribute-value pair. These vectors can represent the semantic information of each attribute-value pair.

[0044] Step S13, based on the dialogue context dense vector and the attribute dense vector, perform attribute selection on the entities in the external knowledge base to obtain a first entity set containing the attributes of the located entities; where the located entity attributes characterize the attributes that directly locate the entities in the external knowledge base with the dialogue context.

[0045] Specifically, in the external knowledge base, the attributes that directly locate entities in the dialogue context refer to the key attributes that can quickly filter out the entities most relevant to the user's needs. For example, "location", "price", and "type" are entity location attributes because they directly reflect the user's needs. By calculating the dot product of the dialogue context vector and the attribute dense vector, an attribute selection score is obtained. This score reflects the similarity between the attribute and the dialogue context. If the score is higher than the preset threshold, it indicates that the attribute is highly relevant to the user's needs, so the corresponding entity is retained. After attribute selection, the resulting entity set contains restaurants that match the user's needs in terms of key attributes. These entities are more likely to be of interest to the user because they are highly relevant to the user's request in key attributes such as "location", "price", and "type".

[0046] Step S15: Determine the entity dense vectors corresponding to the entities in the first entity set.

[0047] Specifically, the first entity set retained after attribute selection. These entities are highly relevant to the user's needs in terms of key attributes. Linearize the selected attribute-value pairs in each entity into a sequence. Linearization means connecting multiple attribute-value pairs into a continuous text sequence. Use the entity encoder Enc e to encode the linearized sequence of attribute-value pairs to generate entity dense vectors. The entity encoder Enc e is usually a pre-trained language model (such as BERT, T5, etc.) that can convert a text sequence into a fixed-length dense vector.

[0048] Step S17: Based on the entity dense vectors and the dialogue context dense vector, perform entity selection on the entities in the first entity set to obtain a second entity set.

[0049] Specifically, calculate the dot product between the dialogue context dense vector and each entity dense vector to obtain an entity selection score. Sort the calculated entity selection scores from high to low. The sorted entity selection scores reflect the similarity of each entity to the user's request. Finally, select the top K entities before sorting to obtain the final second entity set. These entities are the most relevant to the user's needs after considering all attributes and can provide the options that best meet the user's needs.

[0050] Step S19: Configure non-locating entity attributes for the entities in the second entity set to obtain a target entity set; where the non-locating entity attributes represent attributes that do not directly locate entities in the external knowledge base in the dialogue context.

[0051] Specifically, after attribute selection and entity selection, non-locating attribute information is added to each selected entity, so that the finally obtained entity contains both key attribute information for location and non-locating attribute information providing detailed information, providing more comprehensive entity content for subsequent response generation. The non-locating attribute information of each entity can be obtained from an external knowledge base. These attributes usually include phone numbers, detailed addresses, business hours, special dishes, etc. For example, the non-locating attribute information is spliced into the selected entity, that is, the non-locating attributes of the entity (phone number, detailed address, business hours, special dishes) are directly spliced into the suffix of the entity to generate the target entity.

[0052] It should be noted that when constructing the external knowledge base, experts familiar with the knowledge of this field pre-define which attributes are used to locate entities and which are non-locating attributes according to the characteristics of the entities and the user query habits. For example, in the restaurant field, experts may, based on years of industry experience and the common needs of users to query restaurants, determine that attributes such as "location", "price range", and "cuisine type" are used to help users quickly locate restaurant entities that meet specific conditions, so they are classified as locating attributes; while attributes such as "phone number", "detailed address", and "business hours" are classified as non-locating attributes because these attributes are more used to obtain detailed information about a specific restaurant after the user has determined which restaurant to learn about.

[0053] It is also possible to assist in determining locating attributes and non-locating attributes through the analysis of a large amount of user query data and behavior data. For example, by counting the most frequently used filtering conditions when users query restaurants, it is found that users often filter restaurants according to conditions such as "location", "price", and "rating", then these attributes can be classified as locating attributes. And for those attributes that users will view only after they have determined the restaurant, such as "interior decoration style of the restaurant" and "pictures of special dishes", they can be classified as non-locating attributes.

[0054] In this embodiment, by responding to the dialogue context input by the user, the dense vector of the context and the dense vectors of the attributes of the entities in the external knowledge base are calculated, providing the basic data for the subsequent entity selection process. Then, based on the dense vector of the dialogue context and the dense vectors of the entity attributes, entity attributes in the external knowledge base are selected to obtain a first entity set containing the attributes of the entities directly located by the dialogue context. On this basis, the dense vectors of each entity in the first entity set are further calculated, and entity selection is performed based on these dense vectors of the entities and the dense vector of the dialogue context to obtain a second entity set. Finally, according to the relationship between the dialogue context and the attributes of the non-located entities, the attributes of the non-located entities in the second entity set are configured to obtain the final target entity set. This embodiment can accurately screen out the entities that meet the intention of the dialogue context, thus effectively reducing the interference of irrelevant entities and improving the accuracy of semantic understanding and the personalized response ability.

[0055] Figure 3 FIG. is a flowchart of step S13 provided by an embodiment of the present application, and this process may include the following steps: Step S131, determine the dot product between the dense vector of the dialogue context and the dense vector of the attribute to obtain an attribute selection score.

[0056] Specifically, calculate the dot product between the dense vector of the dialogue context and the dense vectors of the attributes of each attribute-value pair. The dot product is a commonly used method for calculating vector similarity, which can measure the similarity degree of two vectors in direction. The result of the dot product is a scalar value, and the larger the value, the more similar the two vectors are. The attribute selection score is: where Enc c (C) is the dense vector of the dialogue context, and Enc a (a i ) is the dense vector of the attribute corresponding to the i-th attribute-value pair.

[0057] The main purpose of the attribute selection score is to screen out the attributes that are most relevant to the current dialogue context and are most likely to help locate the entities required by the user from numerous attributes. The "location" here does not directly locate to specific entities, but to those attributes with key features, which can guide to more accurately find relevant entities in subsequent steps.

[0058] Step S133, when the attribute selection score is greater than a preset threshold, retain the entities corresponding to the dense vectors of the attributes to obtain a first entity set containing the attributes of the located entities.

[0059] Specifically, when the attribute selection score is greater than a preset threshold, the entity corresponding to the dense vector of the attribute is retained. Here, the "entity" actually refers to the set of entities having this attribute. This step does not directly determine the final entity result, but determines which attributes are important, and then based on these important attributes, filters out the range of entities that may contain the entities required by the user. In other words, this is a process of indirectly locating entities through attributes. Therefore, the selected attributes are mainly the entity-locating attribute A u . By retaining the entities corresponding to these attributes, the search range is actually narrowed down, focusing on the set of entities that are most likely to meet the user's needs.

[0060] In this embodiment, by calculating the dot product between the dense vector of the dialogue context and the dense vector of the attribute, the attribute selection score is obtained, which can quantify the matching degree between the dialogue context and the entity attribute. When the attribute selection score exceeds the preset threshold, the entities highly relevant to the context are retained, thus forming a first entity set containing the entity-locating attributes. This embodiment can accurately filter out the entities relevant to the dialogue content according to the specific requirements of the dialogue context, improving the accuracy and efficiency of entity filtering.

[0061] Figure 4 FIG. is a flowchart of step S17 provided by an embodiment of the present application. This process may include the following steps: Step S171, determine the dot product between the dense vector of the entity and the dense vector of the dialogue context to obtain the entity selection score.

[0062] Specifically, calculate the dot product between the dense vector of the dialogue context and the dense vector of the entity corresponding to each entity. The dot product is a commonly used method for calculating vector similarity, which can measure the similarity degree of two vectors in direction. The result of the dot product is a scalar value, and the larger the value, the more similar the two vectors are. The entity selection score is: where Enc c (C) is the dense vector of the dialogue context, and Enc e (e i ) is the dense vector of the entity corresponding to the i-th entity.

[0063] Step S173, sort according to the entity selection scores from high to low, and obtain a second entity set according to the sorting result.

[0064] Specifically, according to the entity selection score Sort from high to low. Select the top K entities to obtain the final set of secondary entities. These entities are considered candidate entities that best meet the user's needs. This value of K can be determined through model settings or experiments and is usually within a suitable range to ensure that enough candidate entities are covered while avoiding excessive complexity in subsequent processing due to too many candidate entities.

[0065] In this embodiment, by calculating the dot product between the dense vector of the dialogue context and the dense vector of the entity, the similarity between the entity and the dialogue can be measured, thereby improving the accuracy of entity selection. The dot product calculation is efficient and can quickly process and improve the response speed. In addition, this process enhances the system's ability to understand implicit information and helps optimize the dialogue quality. Entities are sorted according to the entity selection scores to form a set of secondary entities. Redundant entities are reduced through screening and sorting, improving the response efficiency and accuracy.

[0066] Figure 5 It is a flowchart of step S3 provided by an embodiment of this application. The implicit knowledge tags include text tags, confidence tags, and co-occurrence information tags; this process may include the following steps: Step S31, based on the entity selection scores, determine the sorting information of the entities in the first entity set as text tags.

[0067] Specifically, the score sorting information obtained by sorting from high to low according to the entity selection scores is converted into text tags and added to the corresponding entities. For example, the entity with the highest entity selection score is marked as "ranked first", the second highest is marked as "ranked second", and so on. Adding the sorting information to the entities in the form of text tags enables the generator to directly utilize this information when generating a response without having to perform sorting judgments again, reducing the computational burden of the generator when generating a response and improving the generation efficiency and quality.

[0068] In addition, when multiple entities have similar attributes and information, the text tags can help the generator distinguish their relative importance, thereby more accurately selecting and describing the entities. For example, when recommending hotels, if multiple hotels are located in the city center and have similar prices, the text tags can let the generator know which hotel is more favored by the model after considering various factors and is thus more likely to meet the user's needs.

[0069] Step S33, based on the entity selection scores, classify the confidence levels of the entities in the first entity set and determine the classification results as confidence tags.

[0070] Specifically, based on the magnitude of the entity selection score, the confidence of the entity is divided into three levels: low, medium, and high, providing an assessment of the accuracy and reliability of the entity information to the generator. For example, an entity selection score less than 0.25 indicates low confidence, an entity selection score greater than 0.25 and less than 0.75 indicates medium confidence, and an entity selection score greater than 0.75 indicates high confidence. The confidence label is added to the representation of the entity, enabling the generator to determine the degree of reference and the way of expression of the entity information according to the confidence of the entity when generating a response. For example, if the confidence of an entity is low, the generator can appropriately reduce the degree of dependence on this entity, or add some suggestive or guiding statements in the response to let the user know that this is a relatively uncertain recommended option, thereby improving the quality and credibility of the overall response.

[0071] Step S35: Determine the co-occurrence situation of the entities in the first entity set in the dialogue context, and determine the co-occurrence situation as the co-occurrence information label.

[0072] Specifically, analyze the co-occurrence situation of the entities in the dialogue context, and classify it into three situations: co-occurred in the latest round of dialogue, co-occurred before, and never co-occurred. Convert the co-occurrence situation into co-occurrence information labels, such as "co-occurred in the latest round of dialogue", "co-occurred before", "never co-occurred", and add them to the representation of the entity. This allows the generator to consider the relevance between entities and the coherence of the dialogue when generating a response, and generate a more natural and reasonable reply.

[0073] Step S37: Configure the corresponding text label, confidence label, and co-occurrence information label for the entities in the second entity set to obtain the implicit knowledge enhanced entity set.

[0074] Specifically, configuring the corresponding text label, confidence label, and co-occurrence information label for the entities in the second entity set can be directly spliced into the entity to obtain the implicit knowledge enhanced entity set, and these labels provide more context information for the generator.

[0075] Based on the entity selection scores, this embodiment sorts the entities in the first entity set by priority and uses this sorting result as a text label to provide an effective reference for subsequent entity selection. Then, the confidence levels of the entities in the first entity set are graded using the entity selection scores, and the entities are classified according to their confidence levels. This grading result is used as a confidence label to provide data support for further screening and optimizing the entities. Next, the co-occurrence of the entities in the first entity set in the dialogue context is analyzed, and through this co-occurrence analysis, a co-occurrence information label is generated. This information helps to capture the semantic associations between entities and improve the coherence and accuracy of the dialogue. Finally, these labels are configured to the entities in the second entity set, resulting in an implicitly knowledge-enhanced entity set. Through precise label configuration, this embodiment further enhances the semantic understanding and interactive response quality of the entities, achieving a deep integration and intelligent enhancement of the dialogue context and the external knowledge base.

[0076] Figure 6 The flowchart of step S5 provided by the embodiment of the present application may include the following steps: Step S51, using a large language model to parse the attribute-value pairs corresponding to the entities in the implicitly knowledge-enhanced entity set to obtain the corresponding descriptive text.

[0077] Specifically, using a large language model to parse the attribute values corresponding to the entities in the implicitly knowledge-enhanced entity set to generate more accurate descriptive text and obtain the corresponding descriptive text.

[0078] Step S53, configuring the corresponding descriptive text to the entities in the implicitly knowledge-enhanced entity set to obtain an explicitly knowledge-enhanced entity set.

[0079] Specifically, adding the generated descriptive text to the entities in the implicitly knowledge-enhanced entity set to generate an explicitly knowledge-enhanced entity set. Each entity is accompanied by descriptive text, which provides richer and more accurate entity information for the generator to generate more targeted and informative responses. For example, parsing "2-star" as "moderate price, basic services, ordinary decoration" and "4-star" as "expensive price, high-quality services, luxurious decoration". In this way, it is possible to dynamically distinguish attribute-value pairs that seem similar from a text perspective but actually have different meanings, providing richer and more accurate entity information for the generator to generate more targeted and informative responses.

[0080] In this embodiment, by using a large language model to parse entities and their attribute-value pairs in the implicit knowledge-enhanced entity set, the relationship between entities and their attributes can be deeply understood, and corresponding descriptive text can be generated. This process converts implicit knowledge information into explicit text descriptions, providing valuable information for subsequent processing. Then, these descriptive texts are configured onto the entities to generate an explicit knowledge-enhanced entity set, transforming potential knowledge into an explicit knowledge form that can be directly applied. In this way, the knowledge of the entities is clearly identified and can be closely combined with actual application tasks, enhancing semantic understanding and intelligent response capabilities.

[0081] Correspondingly, please refer to Figure 7 The block diagram of a dialogue device with enhanced knowledge base retrieval provided by an embodiment of the present application. The device includes: An attribute and entity selection unit 101, configured to perform attribute selection and entity selection on entities in an external knowledge base in response to the dialogue context input by the user, to obtain a target entity set; A configured implicit label unit 103, configured to configure corresponding implicit knowledge labels for entities in the target entity set to obtain an implicit knowledge-enhanced entity set; wherein, the implicit knowledge label represents a label for distinguishing similar entities in the target entity set; A configured explicit text unit 105, configured to configure corresponding display knowledge texts for entities in the implicit knowledge-enhanced entity set to obtain an explicit knowledge-enhanced entity set; wherein, the display knowledge text represents the descriptive text of the entities in the implicit knowledge-enhanced entity set; A target response generation unit 107, configured to generate a target response based on the explicit knowledge-enhanced entity set and the dialogue context.

[0082] In some optional implementation manners, the attribute and entity selection unit 101 includes: In response to the dialogue context input by the user, determine the dialogue context dense vector corresponding to the dialogue context, and determine the attribute dense vector corresponding to the entities in the external knowledge base; Based on the dialogue context dense vector and the attribute dense vector, perform attribute selection on the entities in the external knowledge base to obtain a first entity set including located entity attributes; wherein, the located entity attribute represents the attribute that directly locates the entity in the external knowledge base with the dialogue context; Determine the entity dense vector corresponding to the entities in the first entity set; Based on the entity dense vector and the dialogue context dense vector, perform entity selection on the entities in the first entity set to obtain a second entity set; Configure non-located entity attributes for the entities in the second entity set to obtain a target entity set; wherein, the non-located entity attribute represents the attribute that does not directly locate the entity in the external knowledge base with the dialogue context.

[0083] In some alternative embodiments, the external knowledge base includes multiple entities, and each entity includes multiple attribute-value pairs; determining the attribute dense vectors corresponding to the entities in the external knowledge base includes: Encoding the attribute-value pairs corresponding to the entities in the external knowledge base by using an encoder to obtain the attribute dense vectors.

[0084] In some alternative embodiments, based on the dialogue context dense vectors and the attribute dense vectors, performing attribute selection on the entities in the external knowledge base to obtain a first entity set including the located entity attributes, including: Determining the dot product between the dialogue context dense vectors and the attribute dense vectors to obtain the attribute selection scores; When the attribute selection scores are greater than a preset threshold, retaining the entities corresponding to the attribute dense vectors to obtain a first entity set including the located entity attributes.

[0085] In some alternative embodiments, based on the entity dense vectors and the dialogue context dense vectors, performing entity selection on the entities in the first entity set to obtain a second entity set, including: Determining the dot product between the entity dense vectors and the dialogue context dense vectors to obtain the entity selection scores; Sorting according to the entity selection scores from high to low, and obtaining the second entity set according to the sorting result.

[0086] In some alternative embodiments, the implicit knowledge tags include text tags, confidence tags, and co-occurrence information tags; configuring the implicit tag unit 103 includes: Based on the entity selection scores, determining the sorting information of the entities in the first entity set as the text tags; Based on the entity selection scores, grading the confidence levels of the entities in the first entity set, and determining the grading results as the confidence tags; Determining the co-occurrence situations of the entities in the first entity set in the dialogue context, and determining the co-occurrence situations as the co-occurrence information tags; configuring the corresponding text tags, confidence tags, and co-occurrence information tags for the entities in the second entity set to obtain an implicit knowledge enhanced entity set.

[0087] In some alternative embodiments, configuring the explicit text unit 105 includes: Using a large language model to parse the attribute-value pairs corresponding to the entities in the implicit knowledge enhanced entity set to obtain the corresponding descriptive texts; Configuring the corresponding descriptive texts for the entities in the implicit knowledge enhanced entity set to obtain an explicit knowledge enhanced entity set.

[0088] The further function descriptions of the above modules and units are the same as those in the corresponding embodiments above, and will not be elaborated here.

[0089] A dialogue device with enhanced knowledge base retrieval in this embodiment is presented in the form of functional units. Here, the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and a memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.

[0090] Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of a computer device provided by an embodiment of the present application. As Figure 8 shown, the computer device includes: one or more processors 10, a memory 20, and an interface for connecting each component, including a high-speed interface and a low-speed interface. Each component communicates with each other using different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed within the computer device, including instructions stored in the memory or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some alternative embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a set of blade servers, or a multi-processor system). Figure 8 In

[0091] which, one processor 10 is taken as an example.

[0092] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiments.

[0093] The memory 20 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some alternative embodiments, the memory 20 may optionally include a memory remotely provided with respect to the processor 10, and these remote memories may be connected to the computer device through a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0094] The memory 20 may include a volatile memory, for example, a random access memory; the memory may also include a non-volatile memory, for example, a flash memory, a hard disk, or a solid-state drive; the memory 20 may further include a combination of the above-mentioned types of memories.

[0095] The computer device further includes a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0096] The embodiments of the present application also provide a computer-readable storage medium. The methods according to the embodiments of the present application can be implemented in hardware, firmware, or be implemented as computer code that can be recorded on a storage medium, or be implemented as computer code originally stored in a remote storage medium or a non-transitory machine-readable storage medium and downloaded through a network and to be stored in a local storage medium, so that the methods described herein can be processed by such software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium may be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, or a solid-state drive, etc.; further, the storage medium may further include a combination of the above-mentioned types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code, and when the software or computer code is accessed and executed by the computer, the processor, or the hardware, the methods shown in the above embodiments are implemented.

[0097] The methods, devices, or units illustrated in the above embodiments may be specifically implemented by a computer chip or an entity, or by a product with a certain function. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.

[0098] For convenience of description, when describing the above device, various units are described separately according to their functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0099] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, or a device. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0100] The present application is described with reference to the flowcharts and / or block diagrams of methods and devices according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram, can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for realizing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0101] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device realizes the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0102] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for realizing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0103] It should also be noted that the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent in such process, method, commodity or device. Without further limitation, an element defined by the statement "comprising one..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising the said element.

[0104] Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other, and the key point of each embodiment is to illustrate the differences from other embodiments. In particular, for the device embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for the relevant parts, reference can be made to the partial description of the method embodiments.

[0105] The above description is only for the embodiments of the present application and is not intended to limit the present application. For those skilled in the art, various modifications and changes can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.

[0106] Although the embodiments of the present application have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the present application, and such modifications and variations fall within the scope defined by the appended claims.

Claims

1. A conversational method for knowledge base retrieval enhancement, characterized in that: The method comprises: In response to the dialogue context input by the user, attribute selection and entity selection are performed on entities in the external knowledge base to obtain a target entity set; Configuring corresponding implicit knowledge labels for entities in the target entity set to obtain an implicit knowledge enhanced entity set; wherein the implicit knowledge labels represent labels for distinguishing similar entities in the target entity set; Configuring corresponding explicit knowledge texts for entities in the implicit knowledge enhanced entity set to obtain an explicit knowledge enhanced entity set; wherein the explicit knowledge texts represent descriptive texts of entities in the implicit knowledge enhanced entity set; A target response is generated based on the explicit knowledge enhanced entity set and the dialog context.

2. The method according to claim 1, characterized in that The method of performing attribute selection and entity selection on entities in an external knowledge base in response to the dialog context input by the user to obtain a target entity set includes: In response to a dialog context input by a user, determining a dialog context dense vector corresponding to the dialog context, and determining an attribute dense vector corresponding to an entity in an external knowledge base; Based on the dialog context dense vector and the attribute dense vector, attribute selection is performed on entities in the external knowledge base to obtain a first entity set including location entity attributes; wherein the location entity attributes represent attributes of the location entity directly located in the external knowledge base with the dialog context; Determine an entity dense vector corresponding to an entity in the first entity set; Based on the entity dense vector and the conversation context dense vector, perform entity selection on entities in the first entity set to obtain a second entity set; The target entity set is obtained by configuring non-located entity attributes in the second entity set, wherein the non-located entity attributes represent attributes of entities that are not directly located in the external knowledge base and the dialog context.

3. The method according to claim 2, characterized in that The external knowledge base includes a plurality of entities, each entity includes a plurality of attribute value pairs; the step of determining the attribute dense vector corresponding to the entity in the external knowledge base includes: The encoder is used to encode the attribute value pairs corresponding to the entities in the external knowledge base to obtain the attribute dense vector.

4. The method according to claim 2, characterized in that: The selecting attributes of entities in the external knowledge base based on the dialog context dense vector and the attribute dense vector to obtain a first entity set containing attributes of located entities includes: Determining a dot product between the conversation context dense vector and the attribute dense vector to obtain an attribute selection score; When the attribute selection score is greater than a preset threshold, the entity corresponding to the attribute dense vector is retained to obtain a first entity set containing the location entity attributes.

5. The method according to claim 2, characterized in that: The performing entity selection on entities in the first entity set based on the entity dense vector and the conversation context dense vector to obtain a second entity set includes: Determining a dot product between the entity dense vector and the conversation context dense vector to obtain an entity selection score; The entities are sorted from high to low according to the entity selection scores, and the second entity set is obtained according to the sorting result.

6. The method according to claim 5, characterized in that The implicit knowledge labels include text labels, confidence labels and co-occurrence information labels; the corresponding implicit knowledge labels are configured for entities in the target entity set to obtain an implicit knowledge enhanced entity set, including: Based on the entity selection score, determining the sorting information of entities in the first entity set as the text label; Based on the entity selection score, grading the confidence of entities in the first entity set, and determining the grading result as the confidence label; Determine the co-occurrence of entities in the first entity set in the conversation context, and determine the co-occurrence as the co-occurrence information label; The entities in the second entity set are configured with the corresponding text labels, the confidence labels and the co-occurrence information labels to obtain the implicit knowledge enhanced entity set.

7. The method according to claim 1, characterized in that The configuring corresponding explicit knowledge texts for entities in the implicit knowledge enhanced entity set to obtain an explicit knowledge enhanced entity set includes: Using a large language model to parse the attribute-value pairs corresponding to the entities in the implicit knowledge enhanced entity set to obtain the corresponding descriptive text; The entities in the implicit knowledge enhanced entity set are configured with the corresponding descriptive texts to obtain the explicit knowledge enhanced entity set.

8. A knowledge base retrieval enhanced dialogue device, characterized in that: The device comprises: An attribute and entity selection unit, for performing attribute selection and entity selection on entities in an external knowledge base in response to a dialog context input by a user, to obtain a target entity set; An implicit label unit is configured to configure corresponding implicit knowledge labels for entities in the target entity set, so as to obtain an implicit knowledge enhanced entity set; wherein the implicit knowledge labels represent labels for distinguishing similar entities in the target entity set; an explicit text unit is configured to configure corresponding explicit knowledge texts for entities in the implicit knowledge enhanced entity set, so as to obtain an explicit knowledge enhanced entity set; wherein the explicit knowledge texts represent descriptive texts of entities in the implicit knowledge enhanced entity set; A target response generation unit is used to generate a target response based on the explicit knowledge enhanced entity set and the dialogue context.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the knowledge base retrieval enhanced dialogue method according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the knowledge base retrieval enhanced dialogue method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Entity label determining method and device

    CN111967262A

  • Method for associating entities in text to knowledge base by using context

    CN115994199A

  • Visual question and answer processing method and system, storage medium and electronic equipment

    CN116401390A

  • Social network powered query refinement and recommendations

    US20090271374A1