Data retrieval methods and devices

By receiving and analyzing the client's data retrieval requests, determining the retrieval intent, and obtaining access information from historical retrieval data sources, the problem of unrelated search results before and after is solved. This enables further related searches based on existing search results, improving user experience and efficiency.

CN116304116BActive Publication Date: 2026-06-30LIANREN HEALTHCARE BIG DATA TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LIANREN HEALTHCARE BIG DATA TECH CO LTD
Filing Date
2023-03-03
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In existing search methods, there is no connection between search results, resulting in a poor user experience. Users cannot view previous search results when conducting further searches.

Method used

By receiving data retrieval requests sent by clients, the system determines the retrieval intent, obtains access information corresponding to historical retrieval text, determines the current retrieval results based on the data source configuration table and historical retrieval data sources, displays the target updated data, and realizes the association between previous and subsequent retrieval results.

Benefits of technology

It enables further searches based on existing search results to obtain related search results, thus improving user experience and data retrieval efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116304116B_ABST
    Figure CN116304116B_ABST
Patent Text Reader

Abstract

This invention discloses a data retrieval method and apparatus. It receives a data retrieval request from a client targeting existing search results and determines the retrieval intent corresponding to the request. The data retrieval request carries the current search text and historical search text corresponding to the existing search results. It obtains access information corresponding to historical search data sources corresponding to the historical search text. Based on the retrieval intent, a data source configuration table, and the access information corresponding to the historical search data sources, it determines the current search result. The data source configuration table stores access information for each search data source. Based on the current search result and the existing search results corresponding to the historical search text, it determines the target updated data corresponding to the data retrieval request and displays the target updated data. This method enables further searching based on existing search results, obtaining and displaying related search results, improving data retrieval efficiency, and enhancing the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data retrieval technology, and in particular to a data retrieval method and apparatus. Background Technology

[0002] With the rapid development of society, users' search needs are gradually increasing.

[0003] With existing search methods, when users retrieve search results and then need to search for more refined results, if the search terms they re-enter do not contain the previous search terms, the current search results are unrelated to the previous ones. Furthermore, users can only view the results of the current search and cannot view previous search results, resulting in a poor user experience. Summary of the Invention

[0004] This invention provides a data retrieval method and apparatus to solve the technical problem of poor user experience due to the lack of correlation between search results.

[0005] According to one aspect of the present invention, a data retrieval method is provided, the method comprising:

[0006] The system receives a data retrieval request from a client for existing search results and determines the retrieval intent corresponding to the data retrieval request, wherein the data retrieval request carries the current search text and the historical search text corresponding to the existing search results;

[0007] Obtain access information corresponding to the historical search data source corresponding to the historical search text, and determine the current search result based on the search intent, the data source configuration table and the access information corresponding to the historical search data source. The data source configuration table is used to store the access information of each search data source.

[0008] Based on the current search results and the existing search results corresponding to the historical search text, the target updated data corresponding to the data retrieval request is determined and the target updated data is displayed.

[0009] According to another aspect of the present invention, a data retrieval apparatus is provided, the apparatus comprising:

[0010] The retrieval request module is used to receive a data retrieval request sent by the client for existing retrieval results, and to determine the retrieval intent corresponding to the data retrieval request, wherein the data retrieval request carries the current retrieval text and the historical retrieval text corresponding to the existing retrieval results;

[0011] The data retrieval module is used to obtain access information corresponding to the historical retrieval data source corresponding to the historical retrieval text, and to determine the current retrieval result based on the retrieval intent, the data source configuration table and the access information corresponding to the historical retrieval data source. The data source configuration table is used to store the access information of each retrieval data source.

[0012] The update display module is used to determine the target update data corresponding to the data retrieval request based on the current search results and the existing search results corresponding to the historical search text, and to display the target update data.

[0013] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0014] At least one processor; and

[0015] A memory communicatively connected to the at least one processor; wherein,

[0016] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the data retrieval method according to any embodiment of the present invention.

[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the data retrieval method according to any embodiment of the present invention.

[0018] The technical solution of this invention addresses the technical problem of poor user experience due to the lack of correlation between search results. It involves receiving a data retrieval request from a client targeting existing search results and determining the retrieval intent corresponding to the request. The data retrieval request carries the current search text and historical search text corresponding to the existing search results. Access information corresponding to historical search data sources corresponding to the historical search text is obtained. Based on the retrieval intent, a data source configuration table, and the access information corresponding to the historical search data sources, the current search result is determined. The data source configuration table stores access information for each search data source. Based on the current search result and the existing search results corresponding to the historical search text, target updated data corresponding to the data retrieval request is determined and displayed. This solution solves the technical problem of poor user experience due to the lack of correlation between search results. It enables further searching based on existing search results, obtaining related search results, and displaying these related search results, thus improving data retrieval efficiency and enhancing the user experience.

[0019] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

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

[0021] Figure 1 This is a flowchart of a data retrieval method provided according to Embodiment 1 of the present invention;

[0022] Figure 2 This is a flowchart of a data retrieval method provided according to Embodiment 2 of the present invention;

[0023] Figure 3 This is a flowchart of a data retrieval method provided according to Embodiment 3 of the present invention;

[0024] Figure 4 This is a schematic diagram of the structure of a data retrieval device according to Embodiment 4 of the present invention;

[0025] Figure 5 This is a schematic diagram of the structure of an electronic device that implements the data retrieval method of this invention. Detailed Implementation

[0026] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0028] Example 1

[0029] Figure 1 This is a flowchart illustrating a data retrieval method according to Embodiment 1 of the present invention. This embodiment is applicable to data retrieval situations. The method can be executed by a data retrieval device, which can be implemented in hardware and / or software and can be configured in an electronic device. For example... Figure 1 As shown, the method includes:

[0030] S110. Receive a data retrieval request sent by the client for existing search results, and determine the retrieval intent corresponding to the data retrieval request, wherein the data retrieval request carries the current search text and the historical search text corresponding to the existing search results.

[0031] In this context, a data retrieval request with existing search results can be understood as a data retrieval request based on previous search results. Search intent can be understood as the intention to search for a specific data type. For example, the search intent could be medical data types, game data types, or food data types. Current search text can be understood as the text currently entered for the search. Historical search text can be understood as the text entered during previous searches. Historical search text can be determined based on historical search operations within a preset time period. The preset time period can be pre-set based on experience, and this embodiment does not limit it. Historical search operations can include one or more, and correspondingly, historical search text can include one or more.

[0032] Specifically, the system receives data retrieval requests from clients based on search results from historical search operations. It generates target search information based on historical and current search text, and determines the search intent corresponding to the target search information. The search intent corresponding to the target search information is the search intent corresponding to the data retrieval request.

[0033] Optionally, determining the search intent corresponding to the data retrieval request includes:

[0034] The pre-trained Rasa_NLU module determines the retrieval intent corresponding to the data retrieval request.

[0035] The Rasa_NLU module can be understood as a language model.

[0036] Specifically, the data retrieval request is input into the pre-trained Rasa_NLU module. Based on the output of the Rasa_NLU module, the retrieval intent corresponding to the retrieval request is determined. The initial training data for the training server is obtained through legitimate methods of collecting training data, including but not limited to manual collection, input, and batch crawling. The training corpus data can include relevant field information and thesaurus from existing disease databases, treatment databases, drug databases, medical institution databases, and doctor databases. The collected training corpus data undergoes preprocessing. Preprocessing may include cleaning the free data corpus and removing noisy data. Cleaning methods include, but are not limited to, manual deduplication, alignment, deletion, and annotation combined with rule-based content extraction, rule-based content extraction, regular expression content extraction, script or code batch processing, etc. Jieba segmentation is introduced to preprocess the corpus, transforming it into segmented data based on string matching, understanding, statistics, and rules. Part-of-speech tagging is performed using statistical methods, and the training data is integrated with the city-level data from the free data. Generate feature vectors corresponding to each segmented word, organize and represent the segmented word data, and construct a lexicon. The training server can use Rasa, an open-source machine learning framework for automatic text and voice-based dialogue, to build a context-based chat management system. When a data retrieval request arrives, the Rasa_NLU module is used to identify the retrieval intent and entity recognition corresponding to the request. The current retrieval text input by the user is converted into structured data. The retrieval intent and entity recognition are extracted and passed to the Tracker object. The policy records the current state of the Tracker object and selects the appropriate action to execute.

[0037] S120. Obtain access information corresponding to the historical search data source corresponding to the historical search text, and determine the current search result based on the search intent, the data source configuration table and the access information corresponding to the historical search data source, wherein the data source configuration table is used to store the access information of each search data source.

[0038] Here, the data source can be understood as a database. The historical search data source can be understood as the database used for historical searches. The data source configuration table can be understood as a data resource information configuration table. The data source configuration table and the historical search data source can be used in conjunction with the search intent to perform searches.

[0039] Specifically, it retrieves access information for the database corresponding to the historical search text. The current detection result is determined based on the search intent, the historical search results stored in the data source configuration table, and the data stored in the historical search database.

[0040] S130. Based on the current search results and the existing search results corresponding to the historical search text, determine the target updated data corresponding to the data retrieval request and display the target updated data.

[0041] The target update data can be understood as data that is not repeated in the current search results and existing search results.

[0042] Specifically, based on the data in the current search results and the existing search results corresponding to the historical search text, the data in the current search results that are duplicated with the existing search results is identified, and the remaining data is determined as the target update data corresponding to the data retrieval request.

[0043] Optionally, displaying the target update data includes:

[0044] In the case of multiple other search data sources to be searched, the other search data sources can be switched by creating a new dynamic data source class.

[0045] Specifically, you can switch to different search data sources by creating a new DynamicDataSource class.

[0046] Optionally, the method further includes: clearing the local database identifier variable inside the thread using Spring's AOP.

[0047] Specifically, DynamicDataSource dynamically adds data sources and uses Spring's AOP to clear the dbName local database identifier variable of the thread's ThreadLocal to prevent it from affecting the next database access.

[0048] Optionally, displaying the target update data includes:

[0049] The target update data is rendered into the existing search results based on the interface display method of the existing search results.

[0050] Specifically, the client receives the target update data from the server, formats and processes it into the data structure required for chart creation, and adds relevant configuration information such as colors, sizes, and structures before drawing the chart. The completed target update data is then added to the existing result data chart. This links the existing result data and the target update data for display, enabling multiple related searches and differentiated rendering.

[0051] The technical solution of this embodiment receives a data retrieval request sent by a client for existing search results and determines the retrieval intent corresponding to the data retrieval request. The data retrieval request carries the current search text and historical search text corresponding to the existing search results. Access information corresponding to the historical search data source corresponding to the historical search text is obtained. Based on the retrieval intent, the data source configuration table, and the access information corresponding to the historical search data source, the current search result is determined. The data source configuration table stores access information for each search data source. Based on the current search result and the existing search results corresponding to the historical search text, target updated data corresponding to the data retrieval request is determined and displayed. This solves the technical problem of poor user experience due to the lack of correlation between previous and subsequent search results. It achieves the beneficial effect of enabling further retrieval based on existing search results, obtaining related search results, and displaying the related search results, thus improving the user experience.

[0052] Example 2

[0053] Figure 2 This is a flowchart of a data retrieval method provided in Embodiment 2 of the present invention. This embodiment further refines how to determine the retrieval intent corresponding to the data retrieval request in the above embodiments. Optionally, determining the retrieval intent corresponding to the data retrieval request includes: determining the current search term corresponding to the current search text; constructing target search terms based on the current search term and historical search terms corresponding to the historical search text, wherein the target search terms include multiple feature words to be identified; and determining the retrieval intent corresponding to the data retrieval request based on the multiple feature words to be identified and the intent feature words corresponding to each preset retrieval intent.

[0054] like Figure 2 As shown, the method includes:

[0055] S210. Receive a data retrieval request sent by the client for existing search results, and determine the current search term corresponding to the current search text.

[0056] Here, "search term" can be understood as the search keywords. "Current search term" can be understood as the keywords extracted from the current search text.

[0057] S220. Construct target search terms based on the current search term and the historical search terms corresponding to the historical search text, wherein the target search terms include multiple feature words to be identified.

[0058] Historical search terms are understood as keywords extracted from historical search text. Target search terms may include one or more. Feature words to be identified can be understood as word groups. For example, in a medical context, "common disease types in City A" can be divided into feature words to be identified as "City A," "common," and "disease types." In a gaming context, "game skill types" can be divided into feature words to be identified as "game," "skill," and "types," etc.

[0059] Specifically, a deep learning-based text feature extraction model can be used. The current search text is input into the model, and the current search term corresponding to the current search text is determined based on the model's output. Based on the current search term and historical search terms corresponding to historical search texts, the current search term and historical search terms are matched and deduplicated. The unidentified feature terms in the current search term that do not match historical search terms are retained, while the unidentified feature terms in the current search term that match historical search terms are deleted. The unidentified feature terms in the current search term that do not match historical search terms and the unidentified feature terms contained in historical search terms are determined as the target search term. For example, if the current search term contains the unidentified feature terms "Province C", "City A", "Common", and "Disease Types", and the historical search terms contain the unidentified feature terms "Query", "City A", "Common", and "Disease Types", then the unidentified feature terms "City A", "Common", and "Disease Types" in the current search term are deleted. By combining the remaining unidentified feature words "C province" in the current search term with the unidentified feature words "query", "A city", "common" and "disease type" contained in the historical search terms, the target search terms are determined to be: "query", "C province", "A city", "common" and "disease type".

[0060] S230. Based on the multiple identified feature words and the intent feature words corresponding to each preset search intent, determine the search intent corresponding to the data search request.

[0061] The data retrieval request carries the current search text and historical search text corresponding to the existing search results. Intent feature words can be understood as keywords included in a preset search intent.

[0062] Specifically, multiple target feature words are matched with intent feature words corresponding to each preset search intent. Based on the similarity matching results, the matched search intent is determined, thereby obtaining the data type the user wants to retrieve.

[0063] Optionally, determining the search intent corresponding to the data retrieval request based on multiple identified feature words and intent feature words corresponding to each preset search intent includes:

[0064] For each preset search intent, the intent weight corresponding to each of the feature words to be identified is determined, and the score of the target search word relative to the search intent is determined based on the intent weight;

[0065] The search intent corresponding to the highest score is determined as the search intent corresponding to the data search request.

[0066] Intent weight can be understood as the importance of intent feature words relative to the search intent. Alternatively, it can be understood as the relevance of intent feature words to the search intent, or the degree to which intent feature words characterize the user's search intent. The intent weight corresponding to each feature word to be identified can be pre-calculated.

[0067] It is worth noting that the intent weights corresponding to the same feature term to be identified may be the same or different under different search intents. For example, in a medical scenario, the same feature term "disease type" has a weight of 1 in the preset search intent "disease" and a weight of 0.5 in the preset search intent "medical structure".

[0068] Specifically, for each preset search intent, the intent weight corresponding to each of the target feature words is pre-calculated and stored. Based on the intent weights, a pre-trained model calculates the scores of multiple target feature words in the target search term relative to the search intent. According to the comprehensive score of each target feature word matched with the preset search intent, the search intent corresponding to the highest score is determined as the search intent corresponding to the data retrieval request.

[0069] For example, in a medical scenario, the data retrieval request is "disease types in City A". After segmentation, the feature words to be identified are "City A" and "disease types". The preset search intents include: search for diseases, search for medical institutions, and search for drugs. For the intent to search for diseases, the preset search intent and intent weights matching the keywords "City A" and "Disease Type" are ("City A": 1.0, "Disease Type": 1.0), and the score for the intent to search for diseases is 1.0 + 1.0 = 2.0. For the intent to search for medical institutions, the preset search intent and intent weights matching the keywords "City A" and "Disease Type" are ("City A": 1.0, "Disease Type": 0.0), and the score for the intent to search for medical institutions is 1.0 + 0 = 1.0. For the intent to search for drugs, the preset search intent and intent weights matching the keywords "City A" and "Disease Type" are ("City A": 1.0, "Disease Type": 0.0), and the score for the intent to search for medical institutions is 1.0 + 0 = 1.0. Therefore, the search intent for diseases corresponding to the highest score of 2.0 is adopted as the search intent for the data retrieval request "City A Disease Type".

[0070] In this embodiment of the invention, a preset search intent and intent weight are calculated for each feature word to be identified included in the target search term. Based on the intent weight, the score of the target search term relative to the search intent is determined. According to the search intent score, the search intent corresponding to the highest score is determined as the search intent corresponding to the data retrieval request. This improves the accuracy of search intent determination.

[0071] S240. Obtain access information corresponding to the historical search data source corresponding to the historical search text, and determine the current search result based on the search intent, the data source configuration table and the access information corresponding to the historical search data source, wherein the data source configuration table is used to store the access information of each search data source;

[0072] S250. Based on the current search results and the existing search results corresponding to the historical search text, determine the target updated data corresponding to the data retrieval request and display the target updated data.

[0073] The technical solution of this embodiment involves receiving a data retrieval request from a client for existing search results, determining the current search term corresponding to the current search text, constructing a target search term based on the current search term and historical search terms corresponding to the historical search text, wherein the target search term includes multiple unidentified feature words, and determining the search intent corresponding to the data retrieval request based on the multiple unidentified feature words and intent feature words corresponding to each preset search intent. The data retrieval request carries the current search text and historical search text corresponding to the existing search results; obtaining access information corresponding to the historical search data source corresponding to the historical search text, determining the current search result based on the search intent, the data source configuration table, and the access information corresponding to the historical search data source, wherein the data source configuration table stores access information for each search data source; and determining the target updated data corresponding to the data retrieval request based on the current search result and the existing search results corresponding to the historical search text, and displaying the target updated data. This solves the technical problem of a lack of correlation between search results and a poor user experience, achieving the beneficial effect of enabling further retrieval based on existing search results to obtain related search results, displaying the related search results, and improving the user experience.

[0074] Example 3

[0075] Figure 3 This is a flowchart of a data retrieval method provided in Embodiment 3 of the present invention. This embodiment further refines how the current retrieval result is determined based on the retrieval intent, the data source configuration table, and the access information corresponding to the historical retrieval data sources in the above embodiments. Optionally, determining the current retrieval result based on the retrieval intent, the data source configuration table, and the access information corresponding to the historical retrieval data sources includes: determining the data source to be retrieved corresponding to the retrieval intent, wherein the data source to be retrieved includes the historical retrieval data source and / or other retrieval data sources; if the data source to be retrieved is the historical retrieval data source, accessing the historical retrieval data source based on the obtained access information corresponding to the historical retrieval data source to obtain the retrieval result corresponding to the data source to be retrieved; if the data source to be retrieved is another retrieval data source, obtaining the access information of the other retrieval data source based on the data source configuration table, accessing the other retrieval data source to obtain the retrieval result corresponding to the data source to be retrieved; integrating the retrieval results of each data source to be retrieved based on the retrieval intent to obtain the current retrieval result.

[0076] like Figure 3 As shown, the method includes:

[0077] S310. Receive a data retrieval request sent by the client for existing search results, and determine the retrieval intent corresponding to the data retrieval request, wherein the data retrieval request carries the current search text and the historical search text corresponding to the existing search results;

[0078] S320. Obtain access information corresponding to the historical search data source corresponding to the historical search text, and determine the search data source to be searched corresponding to the search intent, wherein the search data source to be searched includes the historical search data source and / or other search data sources.

[0079] Here, the data source to be retrieved can be understood as the database to be retrieved, and the data source to be retrieved can include one or more. Other data sources can be understood as all data sources other than historical data sources.

[0080] Specifically, obtain access information for the historical search databases corresponding to the historical search text (e.g., links to historical databases, identifiers of historical databases, etc.). Based on the access information, determine the historical search database and / or other search databases corresponding to the data type currently being queried.

[0081] S330. If the data source to be retrieved is the historical data source, access the historical data source based on the access information obtained from the historical data source to obtain the retrieval result corresponding to the data source to be retrieved.

[0082] Specifically, if the database to be searched is the historical search database, access is performed based on the access information corresponding to the historical search data source (e.g., links to historical databases, identifiers of historical databases) to obtain the search results for the database to be searched. The search results may include data that matches the search intent; for example, if the search intent is to query data from the medical database of City A, the search results will include medical data from City A.

[0083] For example, if the data retrieval request is "search for common disease types in City A", the corresponding search intent is determined to be "search for common disease types", the database to be searched is the historical search database, the access information of the historical search database is obtained as "disease database", then the disease database is queried based on the access information, and then the filter is performed according to the feature word "City A" to be identified in the search intent, and finally the disease type data of City A is obtained.

[0084] S340. If the data source to be retrieved is another data source, obtain the access information of the other data source based on the data source configuration table, access the other data source, and obtain the retrieval result corresponding to the data source to be retrieved.

[0085] The data source configuration table is used to store access information for each retrieved data source.

[0086] Specifically, if the database to be retrieved is one of the other databases to be retrieved, access information for one or more other databases to be retrieved is determined from the data source configuration table. Based on the access information of one or more other databases to be retrieved, the database to be retrieved is accessed to obtain data in the other databases to be retrieved that matches the retrieval intent.

[0087] Optionally, the access information includes a data source identifier and an access link; correspondingly, obtaining access information for other retrieval data sources based on the data source configuration table includes:

[0088] Based on the data source identifier of the other search data source, search the target data source hash table to see if there is an access link corresponding to the other search data source;

[0089] If it exists, then invoke the access link;

[0090] If it does not exist, an access link corresponding to the other retrieval data source is created, and the access link is cached in the target data source hash table.

[0091] The data source identifier may include information such as the data source name and data source account.

[0092] Specifically, dynamic data source association retrieval queries are performed through the association service layer. Based on the names, accounts, and other identifiers of other retrieval data sources, while creating a new access link corresponding to the other retrieval data source for each association retrieval query, the system first checks the target data source hash table to see if an access link corresponding to the other retrieval data source already exists. If it exists, the access link is directly invoked, and the creation of a new access link corresponding to the other retrieval data source is cancelled. If it does not exist, a link corresponding to the other retrieval data source is directly created, and the first created access link corresponding to the other retrieval data source is cached in the target data source hash table for multiple invocations.

[0093] S350. Based on the search intent, the search results of each of the data sources to be searched are integrated to obtain the current search results.

[0094] Specifically, the search results are based on those retrieved from historical search databases and / or other search databases. After being organized by search database, if there is only one search database, the organized search data is directly used as the current search result. If there are two or more search databases, the organized search data from both databases is merged and used as the current search result.

[0095] S360. Based on the current search results and the existing search results corresponding to the historical search text, determine the target updated data corresponding to the data retrieval request and display the target updated data.

[0096] The technical solution of this embodiment involves receiving a data retrieval request from a client targeting existing search results, and determining the retrieval intent corresponding to the data retrieval request. The data retrieval request carries the current search text and historical search text corresponding to the existing search results. Access information corresponding to historical search data sources corresponding to the historical search text is obtained, and a search data source to be retrieved corresponding to the retrieval intent is determined. The search data source to be retrieved includes the historical search data source and / or other search data sources. If the search data source to be retrieved is the historical search data source, the historical search data source is accessed based on the obtained access information to obtain the search results corresponding to the search data source to be retrieved. If the search data source to be retrieved is another search data source, access information of the other search data source is obtained based on the data source configuration table, and the other search data source is accessed to obtain the search results corresponding to the search data source to be retrieved. The search results of each search data source to be retrieved are integrated based on the retrieval intent to obtain the current search result. Based on the current search result and the existing search results corresponding to the historical search text, target updated data corresponding to the data retrieval request is determined and displayed. This solves the technical problem of poor user experience due to the lack of connection between search results. It enables users to perform further searches based on existing search results, obtain related search results, and display these related search results, thereby improving the user experience.

[0097] As an optional example of Embodiment 1 of the present invention, the data retrieval method of this embodiment can be implemented based on a data retrieval system, which may include: a client, a server, a data processing server, and a hierarchical association integration service module. The data retrieval method based on this data retrieval system may specifically include the following steps:

[0098] 1. Upon receiving a data retrieval request from a user, the client checks if this is the user's first retrieval. If so, a new data retrieval record is generated. If not, a new retrieval record is added to the historical retrieval text. When a user performs a retrieval, the client simultaneously sends the user's "historical retrieval text" to the server for combined retrieval.

[0099] 2. After receiving the data retrieval request from the client, the server checks whether the current data retrieval request contains historical search text.

[0100] a) If not found, the current search text is directly passed to the data processing server for search intent recognition.

[0101] If the historical search data is included, the access information corresponding to the historical search data source is obtained and sent to the data processing server for processing.

[0102] 3. Determine the current search term corresponding to the current search text, construct the target search term and identify the search intent based on the current search term and the historical search terms corresponding to the historical search text, and provide feedback on the search intent and other relevant information of the user on the server side.

[0103] 4. After receiving the information from the data processing server, the server will perform initial processing, retrieve the corresponding database information from the data source configuration table, and then pass it to the hierarchical association integration service module.

[0104] 5. The hierarchical association integration service module retrieves data sources from the business platform. This service has a default data source as the association service layer, while the rest are dynamic data sources. The core implementation principle is:

[0105] a) Switching between different data sources can be achieved by creating a new DynamicDataSource class. DynamicDataSource can dynamically add data sources, and Spring's AOP can be used to clear the dbName variable of the thread's ThreadLocal to prevent it from affecting the next database access.

[0106] b) Each business platform data source corresponds to a different database dbName and dbId. Based on the data returned by the data processing server, the association service layer performs related retrieval queries on other data sources.

[0107] c) When creating a new data source link for each associated retrieval query, the system first checks the target data source hash table to see if another retrieval data source already exists. If not, the link is created. The data source created for the first time is cached in the target data source hash table for multiple calls.

[0108] 6. After the hierarchical association integration service module finishes processing, it will combine the data retrieved from the business platform with the data returned by the data processing server, and then return the data to the server.

[0109] For example, the hierarchical association integration service module may include, but is not limited to:

[0110] a) Regional coordination layer, including but not limited to the record layer related to data sources such as medical institutions within the designated area.

[0111] b) Knowledge Q&A layer, including but not limited to the record layer related to data sources such as Q&A on common diseases of users.

[0112] c) Disease data layer, including but not limited to the record layer related to data sources such as the sorting of common diseases in the region.

[0113] d) Associated data layer, which is the operation layer for multi-level data association, integration and identification.

[0114] 7. The server receives data from the hierarchical association integration service module and makes a final judgment to determine whether the user's current search contains historical search records:

[0115] a) If it contains: then retrieve the existing search results corresponding to the user's historical search text from the cache and combine them with the current search results, and then feed them back to the client.

[0116] b) If not found: the current search result will be directly returned to the client.

[0117] 8. The client receives the target update data from the server, processes it into the data structure required for chart drawing, adds relevant configuration information such as colors, sizes, and structures, and then draws the chart. The completed target update data is then added to the existing chart of result data.

[0118] The technical solution of this embodiment combines the current search query and historical search queries for retrieval, identifies the user's search intent, and determines the current search result based on the search intent, the data source configuration table, and the access information corresponding to the historical search data sources. This enables the multi-layered data system to provide search results corresponding to the search query. Based on the current search result and the existing search results corresponding to the historical search text, the target updated data corresponding to the data retrieval request is determined, rendered, and then displayed in association with the existing search results corresponding to the historical search text. This solves the technical problem of a lack of association between search results and a poor user experience. It achieves the beneficial effect of enabling further retrieval based on existing search results to obtain related search results, which are then displayed, thus improving the user experience.

[0119] Example 4

[0120] Figure 4 This is a schematic diagram of the structure of a data retrieval device provided in Embodiment 4 of the present invention. Figure 4 As shown, the data retrieval device includes: a retrieval request module 410, a data retrieval module 420, and a display update module 430.

[0121] The system includes a retrieval request module 410, which receives a data retrieval request from a client for existing retrieval results and determines the retrieval intent corresponding to the data retrieval request. The data retrieval request carries the current retrieval text and historical retrieval text corresponding to the existing retrieval results. A data retrieval module 420 is used to obtain access information corresponding to historical retrieval data sources corresponding to the historical retrieval text, and determines the current retrieval result based on the retrieval intent, the data source configuration table, and the access information corresponding to the historical retrieval data sources. The data source configuration table stores access information for each retrieval data source. A display update module 430 is used to determine the target update data corresponding to the data retrieval request based on the current retrieval result and the existing retrieval results corresponding to the historical retrieval text, and displays the target update data.

[0122] The technical solution of this invention, through a retrieval request module, receives a data retrieval request from a client for existing retrieval results and determines the retrieval intent corresponding to the data retrieval request. The data retrieval request carries the current retrieval text and historical retrieval text corresponding to the existing retrieval results. The data retrieval module obtains access information corresponding to historical retrieval data sources corresponding to the historical retrieval text. Based on the retrieval intent, a data source configuration table, and the access information corresponding to the historical retrieval data sources, the current retrieval result is determined. The data source configuration table stores access information for each retrieval data source. Through a display update module, based on the current retrieval result and the existing retrieval results corresponding to the historical retrieval text, the target update data corresponding to the data retrieval request is determined, and the target update data is displayed. This solves the technical problem of a lack of correlation between previous and subsequent retrieval results, resulting in a poor user experience. It achieves the beneficial effect of enabling further retrieval based on existing retrieval results, obtaining related retrieval results, and displaying these related retrieval results, thereby improving the efficiency of data retrieval and enhancing the user experience.

[0123] Optionally, the retrieval request module is used for:

[0124] The pre-trained Rasa_NLU module determines the retrieval intent corresponding to the data retrieval request.

[0125] Optionally, the retrieval request module includes:

[0126] A search term determination unit is used to determine the current search term corresponding to the current search text;

[0127] The target search term construction unit is used to construct target search terms based on the current search term and the historical search terms corresponding to the historical search text, wherein the target search term includes multiple feature words to be identified;

[0128] The retrieval intent determination unit is used to determine the retrieval intent corresponding to the data retrieval request based on multiple identified feature words and intent feature words corresponding to each preset retrieval intent.

[0129] Optionally, the retrieval intent determination unit includes:

[0130] The scoring calculation subunit is used to determine the intent weight corresponding to each of the target feature words to be identified for each preset search intent, and to determine the score of the target search word relative to the search intent based on the intent weight;

[0131] The retrieval intent determination subunit is used to determine the retrieval intent corresponding to the highest score as the retrieval intent corresponding to the data retrieval request.

[0132] Optionally, the data retrieval module includes:

[0133] The data source to be retrieved unit is used to determine the data source to be retrieved corresponding to the retrieval intent, wherein the data source to be retrieved includes the historical retrieval data source and / or other retrieval data sources;

[0134] The first search result determination unit is used to access the historical search data source based on the access information corresponding to the historical search data source obtained if the data source to be searched is the historical search data source, so as to obtain the search result corresponding to the data source to be searched;

[0135] The second search result determination unit is used to, if the data source to be searched is another search data source, obtain access information of the other search data source based on the data source configuration table, access the other search data source, and obtain search results corresponding to the data source to be searched.

[0136] The search result integration unit is used to integrate the search results of each of the data sources to be searched based on the search intent to obtain the current search result.

[0137] Optionally, the access information includes a data source identifier and an access link; correspondingly, the second retrieval result determination unit includes:

[0138] The access link lookup subunit is used to search the target data source hash table for an access link corresponding to the other retrieval data source based on the data source identifier of the other retrieval data source.

[0139] The access link invocation subunit is used to invoke the access link if it exists.

[0140] An access link creation sub-unit is used to create an access link corresponding to the other retrieval data source if it does not exist, and to cache the access link in the target data source hash table.

[0141] Optionally, the display update module is used for:

[0142] In the case of multiple other search data sources to be searched, the other search data sources can be switched by creating a new dynamic data source class.

[0143] Optionally, the device further includes:

[0144] The variable clearing module is used to clear local database identifier variables within a thread using Spring's AOP.

[0145] Optionally, the display update module is specifically used for:

[0146] The target update data is rendered into the existing search results based on the interface display method of the existing search results.

[0147] The data retrieval device provided in the embodiments of the present invention can execute the data retrieval method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the method.

[0148] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of the present invention.

[0149] Example 5

[0150] Figure 5 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0151] like Figure 5As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0152] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0153] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as method data retrieval.

[0154] In some embodiments, method data retrieval may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the method data retrieval described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform method data retrieval by any other suitable means (e.g., by means of firmware).

[0155] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0156] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0157] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0158] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0159] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0160] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0161] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0162] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A data retrieval method, characterized in that, include: The system receives a data retrieval request from a client for existing search results and determines the retrieval intent corresponding to the data retrieval request, wherein the data retrieval request carries the current search text and the historical search text corresponding to the existing search results; Obtain access information corresponding to the historical search data source corresponding to the historical search text, and determine the current search result based on the search intent, the data source configuration table and the access information corresponding to the historical search data source. The data source configuration table is used to store the access information of each search data source. Based on the current search results and the existing search results corresponding to the historical search text, the target updated data corresponding to the data retrieval request is determined and displayed; wherein, the target updated data is data that is not repeated between the current search results and the existing search results.

2. The method according to claim 1, characterized in that, Determining the search intent corresponding to the data retrieval request includes: The pre-trained Rasa_NLU module determines the retrieval intent corresponding to the data retrieval request.

3. The method according to claim 1, characterized in that, Determining the search intent corresponding to the data retrieval request includes: Determine the current search term corresponding to the current search text; Target search terms are constructed based on the current search terms and the historical search terms corresponding to the historical search text, wherein the target search terms include multiple feature words to be identified; Based on the multiple target feature words and the intent feature words corresponding to each preset search intent, the search intent corresponding to the data search request is determined.

4. The method according to claim 3, characterized in that, The step of determining the search intent corresponding to the data retrieval request based on multiple identified feature words and intent feature words corresponding to each preset search intent includes: For each preset search intent, the intent weight corresponding to each of the feature words to be identified is determined, and the score of the target search word relative to the search intent is determined based on the intent weight; The search intent corresponding to the highest score is determined as the search intent corresponding to the data search request.

5. The method according to claim 1, characterized in that, The process of determining the current search result based on the search intent, the data source configuration table, and the access information corresponding to the historical search data sources includes: Determine the data source to be retrieved corresponding to the search intent, wherein the data source to be retrieved includes the historical search data source and / or other search data sources; If the data source to be retrieved is the historical data source, the historical data source is accessed based on the access information obtained from the historical data source to obtain the search results corresponding to the data source to be retrieved; If the data source to be retrieved is another data source, the access information of the other data source is obtained based on the data source configuration table, and the other data source is accessed to obtain the search results corresponding to the data source to be retrieved; Based on the search intent, the search results of each of the data sources to be searched are integrated to obtain the current search result.

6. The method according to claim 5, characterized in that, The access information includes the data source identifier and the access link; The step of obtaining access information for other retrieval data sources based on the data source configuration table includes: Based on the data source identifier of the other search data source, search the target data source hash table to see if there is an access link corresponding to the other search data source; If it exists, then invoke the access link; If it does not exist, an access link corresponding to the other retrieval data source is created, and the access link is cached in the target data source hash table.

7. The method according to claim 1, characterized in that, The display of the target update data includes: When there are multiple other search data sources to be searched, the other search data sources can be switched by creating a new dynamic data source class.

8. The method according to claim 7, characterized in that, Also includes: Spring's AOP can be used to clear the local database identifier variable inside the thread.

9. The method according to claim 1, characterized in that, The display of the target update data includes: The target update data is rendered into the existing search results based on the interface display method of the existing search results.

10. A data retrieval device, characterized in that, include: The retrieval request module is used to receive a data retrieval request sent by the client for existing retrieval results, and to determine the retrieval intent corresponding to the data retrieval request, wherein the data retrieval request carries the current retrieval text and the historical retrieval text corresponding to the existing retrieval results; The data retrieval module is used to obtain access information corresponding to the historical retrieval data source corresponding to the historical retrieval text, and to determine the current retrieval result based on the retrieval intent, the data source configuration table and the access information corresponding to the historical retrieval data source. The data source configuration table is used to store the access information of each retrieval data source. The display update module is used to determine the target update data corresponding to the data retrieval request based on the current search result and the existing search results corresponding to the historical search text, and to display the target update data; wherein, the target update data is data that is not repeated between the current search result and the existing search results.