Knowledge graph-based search method and device, computer device, and storage medium
By encoding query text and candidate entities in a knowledge graph and using a self-attention layer for interaction, the problem of inaccurate search result ranking in existing technologies is solved, and more accurate search result ranking is achieved.
Patent Information
- Application Number
- CN202210223234.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-09
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2042-03-09
AI Technical Summary
Existing knowledge graph-based search methods rely solely on literal matching of query text and candidate entities, resulting in inaccurate search result ranking and failing to incorporate context to obtain the most relevant results.
By identifying a list of candidate entities in a knowledge graph, encoding information about the query text and candidate entities, using a self-attention layer for interaction, and calculating vector similarity to determine relevance scoring and ranking.
It improves the accuracy of search results by enhancing the relevance and accuracy of search results through semantic information matching.
Smart Images

Figure CN114637855B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information retrieval technology, and in particular to a search method, apparatus, computer device and storage medium based on knowledge graphs. Background Technology
[0002] Search is a frequently used function for users. For example, in a common account search scenario, users search for an account to obtain information related to that account; or conversely, they search for information related to an account to find that account. In account search scenarios, a knowledge graph with multi-dimensional attributes and information can be constructed centered on the account. This knowledge graph includes the organization or brand to which the account belongs, the organization's superiors and subordinates, and so on. Users hope to obtain the most relevant information about the account through knowledge graph-based searches.
[0003] Related technologies rank candidate entities based on their matching degree with the query text. In this case, the search results may only be the most similar results in terms of literal meaning, rather than the best matching results obtained by combining the context.
[0004] Improving the accuracy of search ranking based on knowledge graphs is an urgent problem to be solved. Summary of the Invention
[0005] This application provides a knowledge graph-based search method, apparatus, computer device, and storage medium. It enables interaction between the query text and candidate entities in a candidate entity list through a self-attention layer, and then performs relevance scoring and optimized ranking based on the interacting query text and candidate entities. The technical solution is as follows:
[0006] According to one aspect of this application, a knowledge graph-based search method is provided. The method includes:
[0007] In a knowledge graph, a list of candidate entities corresponding to the query text is determined, wherein the list of candidate entities includes at least one candidate entity;
[0008] The query text is encoded to obtain a first query vector, and the knowledge graph information of the candidate entities is encoded to obtain a first candidate vector;
[0009] The first query vector and the first candidate vector are input into the attention layer to obtain the second query vector and the second candidate vector.
[0010] Based on the vector similarity between the second query vector and the second candidate vector, a relevance score is determined between the query text and the candidate entity;
[0011] The candidate entities are ranked according to the relevance score, and search results are output based on the ranking results.
[0012] According to another aspect of this application, a knowledge graph-based search apparatus is provided, the apparatus comprising:
[0013] The determination module is used to determine a list of candidate entities corresponding to the query text in the knowledge graph, wherein the list of candidate entities includes at least one candidate entity;
[0014] The encoding module is used to encode the query text to obtain a first query vector, and to encode the knowledge graph information of the candidate entities to obtain a first candidate vector;
[0015] The interaction module is used to input the first query vector and the first candidate vector into the attention layer to obtain the second query vector and the second candidate vector;
[0016] The determining module is further configured to determine the relevance score between the query text and the candidate entity based on the vector similarity between the second query vector and the second candidate vector;
[0017] The sorting output module is used to sort the candidate entities according to the relevance score and output search results based on the sorting results.
[0018] According to another aspect of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one instruction, the instruction being loaded and executed by the processor to implement the knowledge graph-based search method as provided in various aspects of this application.
[0019] According to another aspect of this application, a computer-readable storage medium is provided, wherein computer instructions are stored therein, which are loaded and executed by a processor to implement the knowledge graph-based search method as provided in various aspects of this application.
[0020] According to one aspect of this application, a computer program product is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the aforementioned knowledge graph-based search method.
[0021] The embodiments of this application include at least the following beneficial effects:
[0022] Based on the query text, a list of candidate entities is determined. The knowledge graph information of the candidate entities and the query text are encoded to obtain their respective vectors. These encoded vectors are then input into a self-attention layer for interaction, resulting in a vector representing the interaction between the query text and the candidate entities. The similarity between the query text and the candidate entities is compared by using the similarity of these interaction vectors, thus achieving search ranking. The self-attention layer enables interaction between the query text and each candidate entity in the list, allowing each entity to carry information about the other. This indirectly facilitates a comparison between the query text and all candidate entities to distinguish differences in relevance. This semantic information-based search improves search accuracy. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a structural block diagram of a computer system provided in an exemplary embodiment of this application;
[0025] Figure 2 This is a flowchart illustrating a knowledge graph-based search method provided in an exemplary embodiment of this application;
[0026] Figure 3 This is a schematic diagram of an account-centric organizational graph provided in an exemplary embodiment of this application;
[0027] Figure 4 This is a flowchart illustrating a knowledge graph-based search method provided in an exemplary embodiment of this application;
[0028] Figure 5 This is a schematic diagram illustrating the process of obtaining a reference relevance score between query text and candidate entities, provided in an exemplary embodiment of this application.
[0029] Figure 6 This is a schematic diagram illustrating the combination of query text and information from the input self-attention layer corresponding to candidate entities, provided in an exemplary embodiment of this application.
[0030] Figure 7 This is a schematic diagram illustrating the process of determining the relevance score between query text and candidate entities, provided in an exemplary embodiment of this application.
[0031] Figure 8This is a structural block diagram of a knowledge graph-based search device provided in an exemplary embodiment of this application;
[0032] Figure 9 This is a block diagram of a computer device provided in an exemplary embodiment of this application. Detailed Implementation
[0033] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0034] In the following description, when referring to the accompanying drawings, the same numbers in different drawings denote the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0035] In the description of this application, it should be understood that the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. In the description of this application, it should be noted that, unless otherwise explicitly specified and limited, the terms "connected" and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship.
[0036] To facilitate understanding of the solutions shown in the embodiments of this application, the terms appearing in the embodiments of this application will be introduced below.
[0037] Artificial Intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.
[0038] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0039] Machine Learning (ML) is a multidisciplinary field involving probability theory, statistics, approximation theory, convex analysis, and algorithm complexity theory. It specifically studies how computers can simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to endow computers with intelligence; its applications span all areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and instruction-based learning.
[0040] Deep Learning (DL) is a new research direction in the field of machine learning. By learning the inherent patterns and representation levels of sample data, the information obtained during the learning process can greatly help in the interpretation of data such as text, images, and sound. Ultimately, it enables machines to have analytical and learning capabilities like humans and to recognize data such as text, images, and sound.
[0041] Knowledge Graph (KG): A visualization technique used to describe knowledge resources and their carriers, constructing and displaying the relationships between knowledge resources and their carriers. Common knowledge graphs are represented by lines connecting nodes, where nodes represent entities and lines represent relationships between entities.
[0042] Knowledge graphs typically use triples to describe the relationships between entities. Common triples can represent two entities and their relationship, such as ("Zhang San", "Li Si", "neighbor"); or an entity, an attribute, and an attribute value, such as ("Zhang San", "place of residence", "Beijing").
[0043] Natural Language Processing (NLP) is the study of various theories and methods that enable effective communication between humans and computers using natural language. It is mainly applied to machine translation, opinion extraction, text classification, question answering, text semantic comparison, speech recognition, and so on.
[0044] With the research and advancement of artificial intelligence (AI) technology, AI is being studied and applied in various fields, such as smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, autonomous driving, drones, robots, smart healthcare, and smart customer service. It is believed that with the development of technology, AI will be applied in more fields and play an increasingly important role.
[0045] The solutions provided in this application involve artificial intelligence technologies such as neural networks and deep learning, which will be specifically described in the following embodiments.
[0046] In search scenarios, simply matching the query text and candidate entities word-for-word often leads to inaccurate search result ranking. For example, in the context "In the FIFA World Cup, Country A defeated Country B," the more appropriate candidate entity for the entity "Country A" is "Country A's football team," rather than "Country A (country)." When the positive example "Country A's football team" and the negative example "Country A (country)" are matched individually with the query text, they both appear correct; only by comparing the positive and negative examples together with the query text can we see that the positive example is more relevant. Therefore, ranking search results solely by calculating the similarity between the query text and candidate entities is inaccurate. To address this issue, we need to leverage the interaction between each candidate entity and the query text during the search process to improve search accuracy.
[0047] The knowledge graph-based search method proposed in this application improves the accuracy of search results by interacting candidate entities determined by the knowledge graph with the query text and scoring the relevance between the candidate entities and the query text based on the similarity of the vectors obtained after the interaction.
[0048] Figure 1 This illustration shows a schematic diagram of a computer device provided in an exemplary embodiment of this application. The device includes: a bus 101, a processor 102, and a memory 103.
[0049] The processor 102 includes one or more processing cores. The processor 102 executes various functional applications and information processing by running software programs and modules.
[0050] The memory 103 is connected to the processor 102 via the bus 101.
[0051] The memory 103 may be used to store at least one instruction, which the processor 102 may execute to implement the steps in the following method embodiments.
[0052] Optionally, the memory 103 may also include one or more registers 104. The registers 104 may be used to store query text, candidate entity list, natural language text corresponding to candidate entities, first query vector, first candidate vector, second query vector, second candidate vector, reference relevance score of query text and candidate entities, reference ranking, etc.
[0053] Furthermore, the memory 103 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, including but not limited to: magnetic disks or optical disks, electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), read-only memory (ROM), magnetic storage, flash memory, and programmable read-only memory (PROM).
[0054] Figure 2 This illustration shows a flowchart of a knowledge graph-based search method provided in an exemplary embodiment of this application. For example, this method can be... Figure 1 The computer device shown executes the method. The method includes the following steps:
[0055] Step 210: Determine the list of candidate entities corresponding to the query text in the knowledge graph;
[0056] For example, the query text is the text information to be searched. This could be text information entered by the user in the search area of the user interface; or text information selected by the user by clicking an optional control on the user interface, and so on.
[0057] The candidate entity list includes at least one candidate entity. The candidate entity list is a set of candidate entities in the knowledge graph determined based on the query text.
[0058] For example, a search is performed based on the query text, and the top few candidate entities with the highest similarity to the query text are included in the candidate entity list. This application does not limit the number of candidate entities in the candidate entity list.
[0059] In one possible implementation, several entities with the highest literal similarity to the query text are searched and added to a candidate entity list. For example, if a user queries "In a football match, country A won the championship," the candidate entities in the candidate entity list might include "country A football team," "country A," "football," and so on.
[0060] In one possible implementation, in an account search scenario, several accounts with the highest literal similarity to the query text are retrieved based on the query text information and added to a candidate entity list. For example, if a user queries "football," the candidate entity list might include accounts whose names contain "football," whose author names contain "football," whose profiles contain "football," and so on.
[0061] Step 220: Encode the query text to obtain the first query vector, and encode the knowledge graph information of the candidate entities to obtain the first candidate vector;
[0062] For example, the query text and the natural language text corresponding to the candidate entities are converted into vector form for subsequent similarity calculation.
[0063] For example, the query text is input into a BERT (Bidirectional Encoder Representations from Transformers) layer for encoding to obtain a first query vector; and the natural language text corresponding to the candidate entity is input into a BERT layer for encoding to obtain a first candidate vector.
[0064] For example, the query text and the natural language text corresponding to the candidate entities can be converted into vector form using various methods such as one-hot encoding, matrix-based distributed representation, clustering-based distributed representation, and distributed representation based on other neural networks.
[0065] This application does not impose any restrictions on the methods used to convert the query text and the natural language text corresponding to the candidate entities into vector form.
[0066] Step 230: Input the first candidate vector of the first query vector and the first candidate vector into the attention layer to obtain the second query vector and the second candidate vector;
[0067] For example, the reference relevance score and reference ranking of the candidate entities are obtained. The reference relevance score is used to indicate the relevance between the candidate entity and the query text, and the reference ranking is used to indicate the relevance ranking of the candidate entities in the candidate entity list to the query text. The first information combination corresponding to the query text and the second information combination corresponding to the candidate entities are input into the attention layer to obtain the second query vector and the second candidate vector. The first information combination includes the first query vector and the first identification information, and the second information combination includes the first candidate vector, the second identification information, the reference relevance score, and the reference ranking. The first identification information is used to indicate that the first query vector is the vector corresponding to the query text, and the second identification information is used to indicate that the first candidate vector is the vector corresponding to the candidate entity.
[0068] For example, the vector similarity between the first query vector and the first candidate vector is used as the reference relevance score for the candidate entity; the reference ranking of the candidate entity in the candidate entity list is determined based on the reference relevance score.
[0069] That is, firstly, the reference relevance score of the candidate entity is determined based on the vector similarity between the first query vector corresponding to the query text and the first candidate vector corresponding to the candidate entity; then, the reference relevance scores of all candidate entities in the candidate entity list are sorted to determine the reference ranking of the candidate entities. Next, the first query vector corresponding to the query text, the first identifier information used to indicate the first query vector, the first candidate vector corresponding to the candidate entity, the second identifier information used to indicate the first candidate vector, the reference relevance score, and the reference ranking are input into the self-attention layer to obtain the second query vector corresponding to the query text and the second candidate vector corresponding to the candidate entity.
[0070] Step 240: Determine the relevance score between the query text and the candidate entities based on the vector similarity between the second query vector and the second candidate vector;
[0071] For example, the vector similarity between the second query vector and the second candidate vector is obtained by calculating the vector dot product, and the relevance score between the query text and the candidate entity is determined; or, the vector similarity between the second query vector and the second candidate vector is obtained by calculating the Euclidean distance, and the relevance score between the query text and the candidate entity is determined; or, the vector similarity between the second query vector and the second candidate vector is obtained by calculating the vector cosine, and the relevance score between the query text and the candidate entity is determined.
[0072] This application does not impose any restrictions on the method for calculating the vector similarity between the second query vector and the second candidate vector.
[0073] Step 250: Sort the candidate entities according to their relevance scores, and output the search results based on the sorting results.
[0074] For example, the candidate entities in the candidate entity list are sorted in descending order of their relevance scores to the query text, and the search results are output in that order. For instance, the top ten candidate entities with the highest relevance to the query text are output to the user interface in descending order of their relevance scores.
[0075] In summary, the knowledge graph-based search method provided in this application, after determining a candidate entity list based on the query text, inputs the vectors encoded from the query text and candidate entities into a self-attention layer for interaction. Then, based on the vectors corresponding to the query text and candidate entities obtained after the interaction, it calculates the vector similarity to determine the relevance score between the query text and candidate entities, thereby ranking the search results. This method uses a self-attention layer to interact with the query text and each candidate entity, ensuring that both the query text and each candidate entity carry information about each other. The resulting relevance score is based on the overall semantic information and represents the best match, thus improving search accuracy.
[0076] The following examples use a knowledge graph as an account-centric organizational graph to demonstrate a knowledge graph-based search method in an account search scenario.
[0077] Figure 3 An account-centric organizational map is shown as an exemplary embodiment. Figure 3 The organization diagram shown centers on account 50. Account 50 has three attributes: the attributes of account 50 itself, the organization 51 to which account 50 belongs, and the brand 52 to which account 50 belongs. Specifically, the attributes of account 50 itself include account type 63 and account synonyms 64; the attributes of organization 51 include organization synonyms 53, superior organization 55 and its superior organization synonyms 56, subordinate organization 57 and its subordinate organization synonyms 58; and the attributes of brand 52 include brand synonyms 54, superior brand 59 and its superior brand synonyms 60, and subordinate brand 61 and its subordinate brand synonyms 62.
[0078] Figure 4 A flowchart illustrating a knowledge graph-based search method provided in an exemplary embodiment of this application is shown. Exemplarily, this method can be... Figure 1 The computer device shown executes the method. The method includes the following steps:
[0079] Step 310: Determine the list of candidate entities corresponding to the query text in the knowledge graph;
[0080] For example, the query text is the text information to be searched. This could be text information entered by the user in the search area of the user interface; or text information selected by the user by clicking a control on the user interface, and so on.
[0081] The candidate entity list includes at least one candidate account. The candidate entity list is a set of candidate accounts in the knowledge graph determined based on the query text.
[0082] For example, a search is performed based on the query text, and the top few candidate accounts with the highest similarity to the query text are included in the candidate entity list. This application does not limit the number of candidate accounts in the candidate entity list.
[0083] For example, in an account search scenario, the system retrieves several accounts with the highest literal similarity to the query text and adds them to a candidate entity list. For instance, if a user searches for "patent," the candidate entity list includes accounts whose names contain "patent," accounts whose author names contain "patent," accounts whose profiles contain "patent," accounts whose published content contains "patent," and so on.
[0084] Step 322: Encode the query text to obtain the first query vector;
[0085] For example, the query text can be converted into vector form for subsequent information interaction and similarity calculation.
[0086] For example, the query text is input into the BERT layer for encoding to obtain the first query vector.
[0087] For example, converting query text into vectors can also be achieved using one-hot encoding, matrix-based distributed representation, clustering-based distributed representation, or distributed representation based on other neural networks, among other methods.
[0088] This application does not impose any restrictions on the method of encoding the query text into a first query vector.
[0089] Step 324: Obtain the knowledge graph text corresponding to the candidate entities;
[0090] Knowledge graph text is natural language text derived from the graph information of candidate entities within the knowledge graph. In the account search scenario, knowledge graph text is natural language text derived from the information of accounts in the candidate entity list within the organization graph.
[0091] For example, query the knowledge graph text corresponding to the candidate entity in the corpus corresponding to the knowledge graph; wherein, the corpus includes the knowledge graph text corresponding to each entity in the knowledge graph, and the knowledge graph text corresponding to each entity is natural language text obtained in advance based on the graph information of the entity in the knowledge graph.
[0092] In the account search scenario, the knowledge graph text corresponding to the account in the candidate entity list is queried in the corpus corresponding to the organization graph. The corpus includes the knowledge graph text corresponding to each account in the organization graph. The knowledge graph text corresponding to each account is obtained in advance based on the graph information of the account in the organization graph.
[0093] For example, graph information in a knowledge graph can be represented as triple information. Triple information includes a first entity, a second entity, and the relationship between the first and second entities. For example, triples are (person A, person B, colleague), (person A, founded, company C), etc.; or, triple information includes an entity, the entity's attribute, and the attribute value. For example, triples are (person A, year of birth, 2000), (school D, geographical location, Beijing), etc.
[0094] In account search scenarios, the graph information of an account in the institutional graph can be represented as attribute triples. Attribute triples include the account, the account's attribute, and the attribute value; that is, an attribute triple can be represented as (account name, attribute name, attribute value).
[0095] In one possible implementation, the account attributes include information about the account itself, the organization, and the brand. The account information includes the account name, account type, account description, synonyms for the account name, etc.; the organization includes the organization to which the account belongs, synonyms for the organization, the superior organization of the organization, synonyms for the superior organization, subordinate organizations, synonyms for the subordinate organizations, etc.; the brand includes the brand to which the account belongs, the superior brand of the brand, synonyms for the superior brand, subordinate brands, synonyms for the subordinate brands, etc. For example, an attribute triple of (Account A, Organization, University B) indicates that account A belongs to University B; an attribute triple of (Account C, Brand, Brand D) indicates that account C belongs to Brand D.
[0096] For example, the graph information of an entity in the knowledge graph is represented as triple information; the triple information corresponding to the entity is converted into the knowledge graph text corresponding to the entity.
[0097] In the account search scenario, the graph information of an account in the institutional graph is represented as attribute triples, which include the account, the account's attributes, and the attribute values of the attributes. The attribute triples corresponding to the account are concatenated to form the knowledge graph text.
[0098] For example, all the triple information corresponding to an entity can be converted into the corresponding knowledge graph text; or, a portion of the triple information corresponding to an entity can be converted into the corresponding knowledge graph text. For instance, in a corpus used to represent relationships between entities, only the triples representing the relationship between two entities, i.e., (first entity, second entity, relationship), are converted into the corresponding knowledge graph text; in a corpus used to represent entity attributes, only the triples representing the attribute of that entity, i.e., (entity, attribute name, attribute value), are converted into the corresponding knowledge graph text.
[0099] In account search scenarios, all attribute triples associated with an account are converted into corresponding knowledge graph text; alternatively, only a subset of attribute triples associated with an account are converted into corresponding knowledge graph text. For instance, in a corpus representing the brand of an account, only attribute triples where the account's attribute is "brand" need to be converted into knowledge graph text; similarly, in a corpus representing the organization of an account, only attribute triples where the account's attribute is "organization" need to be converted into knowledge graph text.
[0100] This application does not limit the scope of graph information converted into knowledge graph text.
[0101] For example, a first semantic symbol is added to the end of each triplet information corresponding to the entity, and at least two processed triplet information are concatenated end to end to obtain the first knowledge graph text. The first semantic symbol is used to indicate the separation between the triplet information. A second semantic symbol is added to the beginning of the first knowledge graph text to obtain the knowledge graph text corresponding to the entity. The second semantic symbol is used to indicate the beginning of the knowledge graph text corresponding to the entity.
[0102] In the account search scenario, a first semantic symbol is added to the end of each attribute triple corresponding to the account, and at least two processed attribute triples are concatenated to obtain the first knowledge graph text. The first semantic symbol is used to indicate the separation between attribute triples. A second semantic symbol is added to the beginning of the first knowledge graph text to obtain the knowledge graph text corresponding to the account. The second semantic symbol is used to indicate the beginning of the knowledge graph text corresponding to the account.
[0103] For example, at least two processed triplet information can be concatenated end to end in any order; or, they can be concatenated end to end in a pre-defined order, such as sorting by attribute priority or by the alphabetical order of attributes, etc.
[0104] In one possible implementation, account attributes are prioritized, for example, account information > organization > brand, superior organization > subordinate organization, superior brand > subordinate brand, etc.; attribute triples are then arranged according to the priority of the attributes within them. Another example is that for attribute triples with the same attribute, they are arranged according to the alphabetical order of the attribute values. The arranged attribute triples are then concatenated.
[0105] This application does not restrict the order in which triplet information is concatenated.
[0106] In one possible implementation, the first semantic symbol is [SEP] and the second semantic symbol is [CLS].
[0107] In one possible implementation, the attribute triple is represented as (account name, attribute name, attribute value). At least two attribute triples corresponding to an account are concatenated to form the knowledge graph text. A first semantic symbol [SEP] is added to the end of the attribute triple information to convert the attribute triple into natural language text "account name attribute name: attribute value [SEP]". Then, at least two attribute triples with the first semantic symbol added are concatenated to obtain the first knowledge graph text, such as "account name attribute name 1 attribute value 1 [SEP] account name attribute name 2 attribute value 2 [SEP] ... account name attribute name n attribute value n [SEP]". A second semantic symbol [CLS] is added to the beginning of the first knowledge graph text to obtain the knowledge graph text corresponding to the account, such as "[CLS] account name attribute name 1 attribute value 1 [SEP] account name attribute name 2 attribute value 2 [SEP] ... account name attribute name n attribute value n [SEP]". Taking the account of College A as an example, its corresponding knowledge graph text can be "[CLS] College A Account Type: Service Account [SEP] College A Institution: University B [SEP] College A Sub-institution: Department C [SEP]".
[0108] Step 326: Encode the knowledge graph text corresponding to the candidate entity to obtain the first candidate vector;
[0109] The knowledge graph text corresponding to the candidate entity is input into the BERT layer for encoding to obtain the first candidate vector; that is, the knowledge graph text corresponding to the account in the candidate entity list is input into the BERT layer for encoding to obtain the first candidate vector.
[0110] For example, the knowledge graph text corresponding to the candidate entity can be converted into vector form using various methods such as one-hot encoding, matrix-based distributed representation, clustering-based distributed representation, and distributed representation based on other neural networks.
[0111] This application does not impose any restrictions on the method for converting the knowledge graph text corresponding to the candidate entity into vector form.
[0112] Step 330: Input the first query vector and the first candidate vector into the self-attention layer to obtain the second query vector and the second candidate vector;
[0113] For example, the reference relevance score and reference ranking of the candidate entities are obtained. The reference relevance score is used to indicate the relevance between the candidate entity and the query text, and the reference ranking is used to indicate the relevance ranking of the candidate entities in the candidate entity list to the query text. The first information combination corresponding to the query text and the second information combination corresponding to the candidate entities are input into the attention layer to obtain the second query vector and the second candidate vector. The first information combination includes the first query vector and the first identification information, and the second information combination includes the first candidate vector, the second identification information, the reference relevance score, and the reference ranking. The first identification information is used to indicate that the first query vector is the vector corresponding to the query text, and the second identification information is used to indicate that the first candidate vector is the vector corresponding to the candidate entity.
[0114] For example, the vector similarity between the first query vector and the first candidate vector is used as the reference relevance score for the candidate entity; the reference ranking of the candidate entity in the candidate entity list is determined based on the reference relevance score.
[0115] That is, firstly, based on the vector similarity between the first candidate vector corresponding to the account in the candidate entity list and the first query vector corresponding to the query text, the reference relevance score of the account in the candidate entity list is determined; the reference relevance scores of the accounts in the candidate entity list are arranged from high to low to determine the reference ranking of the accounts; the first information combination corresponding to the query text and the second information combination corresponding to the account in the candidate entity list are input into the attention layer to obtain the second query vector and the second candidate vector; wherein, the first information combination includes the first query vector corresponding to the query text and the first identifier information, and the second information combination includes the first candidate vector corresponding to the account, the second identifier information, the reference relevance score, and the reference ranking, the first identifier information is used to indicate that the first query vector is the vector corresponding to the query text, and the second identifier information is used to indicate that the first candidate vector is the vector corresponding to the account in the candidate entity list.
[0116] In one possible implementation, the process of obtaining the reference relevance score of the candidate entity is as follows: Figure 5 As shown, the query text 21 is encoded through a shared BERT layer 23 to obtain the first query vector r. q 24. Candidate entity 22 is encoded through a shared BERT layer 23 to obtain the first candidate vector r. e 25; Set the first query vector r q 24 and the first candidate vector r eThe vector similarity of 25 is determined as the reference relevance score of 26. After obtaining the reference relevance scores of k candidate entities in the candidate entity list, they are sorted from high to low to determine the reference ranking of the k candidate entities.
[0117] In one possible approach, the process of inputting the first combination of information corresponding to the query text and the second combination of information corresponding to the candidate entities into the self-attention layer is as follows: Figure 6 As shown. The information input from attention layer 27 includes a first query vector / first candidate vector (query / entity mapping) 31, identification information (segmentation mapping) 32, reference ranking (sorting position mapping) 33, and reference relevance score (point method mapping) 34; the information output from attention layer 27 is a second query vector / second candidate vector 35. The first information combination corresponding to the first query vector includes the first query vector (e.g., Figure 6 The first identifier (cls, q) used to indicate that the first query vector is the vector corresponding to the query text. Figure 6 The first identifier information in the first part is represented as 0); the second information combination corresponding to the candidate entity includes the first candidate vector (such as...). Figure 6 (d1, d2, d3, d4) and second identifier information ( Figure 6 The second identifier information is represented as 1) reference relevance score and reference ranking.
[0118] Step 340: Determine the relevance score between the query text and the candidate entities based on the vector similarity between the second query vector and the second candidate vector;
[0119] For example, the vector similarity between the second query vector and the second candidate vector is obtained by calculating the vector dot product, and the relevance score between the query text and the account in the candidate entity list is determined; or, the vector similarity between the second query vector and the second candidate vector is obtained by calculating the Euclidean distance, and the relevance score between the query text and the account in the candidate entity list is determined; or, the vector similarity between the second query vector and the second candidate vector is obtained by calculating the vector cosine, and the relevance score between the query text and the account in the candidate entity list is determined.
[0120] Step 350: Sort the candidate entities according to their relevance scores, and output the search results based on the sorting results.
[0121] For example, the relevance scores of the accounts in the candidate entity list to the query text are sorted from highest to lowest, and the search results are output in that order. For instance, the top ten accounts in the candidate entity list with the highest relevance to the query text are displayed to the user interface.
[0122] Figure 7The implementation process of steps 310 to 350 above is illustrated. First, a candidate entity list corresponding to the query text 21 is determined based on the query text 21. The candidate entity list includes k candidate entities 22, where k is a positive integer. After obtaining the natural language text corresponding to the candidate entities 22, the query text 21 is input into the shared BERT layer 23 for encoding to obtain the first query vector r. q 24. Input the natural language text corresponding to candidate entity 22 into the shared BERT layer 23 for encoding to obtain the first candidate vector r. e 25; Set the first query vector r q 24 and the first candidate vector r e Inputting 25 into the self-attention layer 27 yields the second query vector r. q 28 and the second candidate vector r e 29; Based on the second query vector r q 28 and the second candidate vector r e The vector similarity score of 29 determines the relevance between the query text and the candidate entities, with a score of 30.
[0123] In summary, the knowledge graph-based search method provided in this application inputs the first query vector corresponding to the query text and the first candidate vector corresponding to the candidate entity into a self-attention layer to obtain a second query vector and a second candidate vector. This allows the first query vector and the first candidate vector to interact through the self-attention layer, carrying each other's information. This indirectly enables the comparison between the query text and all candidate entities to distinguish the relevance differences of the candidate entities. As a result, the search matching process includes not only literal matching but also semantic matching, thus improving the accuracy of the search.
[0124] Furthermore, the knowledge graph-based search method provided in this application converts candidate entities into knowledge graph text based on the graph information in the knowledge graph, and then performs subsequent encoding, interaction, and relevance scoring on the knowledge graph text and the query text. By converting the graph information in the knowledge graph into knowledge graph text, the search based on "query text and candidate entities" is transformed into a search based on "query text and the knowledge graph text corresponding to the candidate entities." This incorporates the graph information from the knowledge graph into the knowledge graph text corresponding to the candidate entities, enriching the information of the candidate entities and further improving the accuracy of the search.
[0125] In social media and messaging apps, users often need to use account search functions to quickly find specific accounts. For example, users might find an account by searching for its notes, or they might find an account belonging to a brand by searching for its name, and so on.
[0126] Taking WeChat as an example, based on such Figure 3The organization graph shown enables account search functionality; the organization graph includes account attributes and attribute values, such as information about the account itself, information about the brand to which the account belongs, information about the organization to which the account belongs, and so on.
[0127] After a user enters a query, a list of candidate accounts corresponding to that query is determined in the organization graph. For example, if a user wants to find game-related accounts using the account search function, they would enter the query "popular game subscription accounts". Based on the user's query, a list of candidate accounts corresponding to that query is determined. The candidate accounts in the list may have characteristics such as: the account name contains "game", the account description contains "game", the content posted by the account contains "popular", the account type is subscription account, etc.
[0128] After determining the candidate account list, the query text is encoded to obtain the first query vector, and the organizational graph information of the candidate accounts is encoded to obtain the first candidate vector. Specifically, the query text "popular game subscription accounts" is encoded to obtain the first candidate vector; the organizational graph text corresponding to the candidate accounts is obtained, and this text is encoded into the first candidate vector. The organizational graph text of the candidate accounts can be obtained from a pre-built corpus, which is derived from the organizational graph information corresponding to the accounts.
[0129] After obtaining the first query vector corresponding to the query text and the first candidate vector corresponding to the candidate account, the first query vector and the first candidate vector are input into the self-attention layer for interaction to obtain the second query vector corresponding to the query text and the second candidate vector corresponding to the candidate account. The self-attention layer enables the second query vector and the second candidate vector to carry mutual information.
[0130] Based on the second query vector and the second candidate vector output by the self-attention layer, the relevance score between the query text and the candidate accounts is determined. Since the second query vector and the second candidate vector can carry mutual information, this indirectly enables a comparison between the query text and all candidate accounts to distinguish the differences in relevance among the candidate accounts.
[0131] Finally, by comparing the relevance scores of the candidate accounts, the candidate accounts are sorted, and the top few accounts with the highest relevance scores are output to the user interface. The user then obtains the sorted accounts that best match the query text.
[0132] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.
[0133] Figure 8This is a structural block diagram of a knowledge graph-based search device provided in an exemplary embodiment of this application. The device includes:
[0134] The determination module 410 is used to determine a list of candidate entities corresponding to the query text in the knowledge graph, wherein the list of candidate entities includes at least one candidate entity;
[0135] The encoding module 420 is used to encode the query text to obtain a first query vector, and to encode the knowledge graph information of the candidate entities to obtain a first candidate vector;
[0136] Interaction module 430 is used to input the first query vector and the first candidate vector into the attention layer to obtain the second query vector and the second candidate vector;
[0137] The determining module 410 is used to determine the relevance score between the query text and the candidate entity based on the vector similarity between the second query vector and the second candidate vector;
[0138] The sorting output module 440 is used to sort the candidate entities according to the relevance score and output search results based on the sorting results.
[0139] In one possible design, the interaction module 430 is used to obtain a reference relevance score and a reference ranking for the candidate entities. The reference relevance score indicates the relevance between the candidate entity and the query text, and the reference ranking indicates the relevance ranking of the candidate entities in the candidate entity list to the query text. It also inputs a first information combination corresponding to the query text and a second information combination corresponding to the candidate entities into the attention layer to obtain a second query vector and a second candidate vector. The first information combination includes the first query vector and first identification information, and the second information combination includes the first candidate vector, second identification information, the reference relevance score, and the reference ranking. The first identification information indicates that the first query vector is a vector corresponding to the query text, and the second identification information indicates that the first candidate vector is a vector corresponding to the candidate entity.
[0140] In one possible design, the interaction module 430 is configured to determine the vector similarity between the first query vector and the first candidate vector as the reference relevance score of the candidate entity; and to determine the reference ranking of the candidate entity in the candidate entity list based on the reference relevance score.
[0141] In one possible design, the encoding module 420 is used to obtain the knowledge graph text corresponding to the candidate entity, the knowledge graph text being natural language text converted based on the graph information of the candidate entity in the knowledge graph; and to encode the knowledge graph text corresponding to the candidate entity to obtain the first candidate vector.
[0142] In one possible design, the encoding module 420 is used to query the knowledge graph text corresponding to the candidate entity in the corpus corresponding to the knowledge graph; wherein, the corpus includes the knowledge graph text corresponding to each entity in the knowledge graph, and the knowledge graph text corresponding to each entity is natural language text obtained in advance based on the graph information of the entity in the knowledge graph.
[0143] In one possible design, the device further includes a representation module 460 and a conversion module 470. The representation module 460 is used to represent the entity's graph information in the knowledge graph as triple information; the conversion module 470 is used to convert the triple information corresponding to the entity into the knowledge graph text corresponding to the entity.
[0144] In one possible design, the knowledge graph is an account-centric organizational graph, which includes the account's attributes and the attribute values. The representation module 460 is used to represent the account's graph information in the organizational graph as attribute triples, each attribute triple including the account, the account's attributes, and the attribute values. The conversion module 470 is used to concatenate the attribute triples corresponding to the account into knowledge graph text.
[0145] In one possible design, the entity corresponds to at least two triples. The conversion module 470 is used to add a first semantic symbol to the end of each triple corresponding to the entity, and concatenate the at least two processed triples to obtain a first knowledge graph text, where the first semantic symbol indicates the separation between the triples; and to add a second semantic symbol to the beginning of the first knowledge graph text to obtain the knowledge graph text corresponding to the entity, where the second semantic symbol indicates the beginning of the knowledge graph text corresponding to the entity.
[0146] In one possible design, the determining module 410 is used to determine the relevance score between the query text and the candidate entity by calculating the vector similarity between the second query vector and the second candidate vector through vector dot product; or, by calculating the vector similarity between the second query vector and the second candidate vector through Euclidean distance; or, by calculating the vector similarity between the second query vector and the second candidate vector through vector cosine; or, by calculating the vector similarity between the second query vector and the second candidate vector through vector cosine.
[0147] In one possible design, the encoding module 420 is used to encode the query text into a pre-trained BERT layer (a bidirectional encoder representation technique based on transformers) to obtain the first query vector; and to encode the natural language text corresponding to the candidate entity into the BERT layer to obtain the first candidate vector.
[0148] Figure 9 This is a schematic diagram of a terminal structure according to an exemplary embodiment of this application. The terminal 1000 includes a Central Processing Unit (CPU) 1001, a system memory 1004 including Random Access Memory (RAM) 1002 and Read-Only Memory (ROM) 1003, and a system bus 1005 connecting the system memory 1004 and the CPU 1001. The computer device 1000 also includes a basic input / output system (I / O system) 1006 to facilitate information transmission between various devices within the computer device, and a mass storage device 1007 for storing the operating system 1013, application programs 1014, and other program modules 1015.
[0149] The basic input / output system 1006 includes a display 1008 for displaying information and an input device 1009 for user input, such as a mouse or keyboard. Both the display 1008 and the input device 1009 are connected to the central processing unit 1001 via an input / output controller 1010 connected to the system bus 1005. The basic input / output system 1006 may also include the input / output controller 1010 for receiving and processing input from multiple other devices such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1010 also provides output to a display screen, printer, or other types of output devices.
[0150] The mass storage device 1007 is connected to the central processing unit 1001 via a mass storage controller (not shown) connected to the system bus 1005. The mass storage device 1007 and its associated computer device-readable media provide non-volatile storage for the computer device 1000. That is, the mass storage device 1007 may include computer device-readable media (not shown), such as a hard disk or a compact disc read-only memory (CD-ROM) drive.
[0151] Without loss of generality, the computer device readable medium may include computer device storage media and communication media. Computer device storage media include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer device readable instructions, data structures, program modules, or other data. Computer device storage media include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM, digital video disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer device storage media are not limited to the above-mentioned types. The system memory 1004 and mass storage device 1007 described above can be collectively referred to as memory.
[0152] According to various embodiments of this disclosure, the computer device 1000 can also be connected to a remote computer device on a network, such as the Internet. That is, the computer device 1000 can be connected to the network 1011 via a network interface unit 1012 connected to the system bus 1005, or the network interface unit 1012 can be used to connect to other types of networks or remote computer device systems (not shown).
[0153] The memory also includes one or more programs stored in the memory, and the central processing unit 1001 executes the one or more programs to implement all or part of the steps of the knowledge graph-based search method described above.
[0154] In an exemplary embodiment, a computer-readable storage medium is also provided, which stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the knowledge graph-based search method provided in the above-described method embodiments.
[0155] In an exemplary embodiment, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a communication device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the communication device to perform the knowledge graph-based search method described above.
[0156] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
Claims
1. A knowledge graph-based search method, characterized in that, The method includes: In a knowledge graph, a list of candidate entities corresponding to the query text is determined, wherein the list of candidate entities includes at least one candidate entity; The query text is encoded to obtain a first query vector, and the knowledge graph information of the candidate entities is encoded to obtain a first candidate vector; Obtain the reference relevance score and reference ranking of the candidate entities. The reference relevance score is used to indicate the relevance between the candidate entity and the query text, and the reference ranking is used to indicate the relevance ranking of the candidate entities in the candidate entity list to the query text. The first information combination corresponding to the query text and the second information combination corresponding to the candidate entity are input into the self-attention layer to obtain the second query vector and the second candidate vector. The first information combination includes the first query vector and the first identifier information. The second information combination includes the first candidate vector, the second identifier information, the reference relevance score, and the reference ranking. The first identifier information is used to indicate that the first query vector is the vector corresponding to the query text, and the second identifier information is used to indicate that the first candidate vector is the vector corresponding to the candidate entity. The first query vector and the first candidate vector input into the self-attention layer are processed through query and entity mapping. The first identifier information and the second identifier information are processed through segmentation mapping. The reference relevance score is processed through point method mapping, and the reference ranking is processed through sorting position mapping. Based on the vector similarity between the second query vector and the second candidate vector, a relevance score is determined between the query text and the candidate entity; The candidate entities are ranked according to the relevance score, and search results are output based on the ranking results.
2. The method according to claim 1, characterized in that, The step of obtaining the reference relevance score and reference ranking of the candidate entities includes: The vector similarity between the first query vector and the first candidate vector is used as the reference relevance score for the candidate entity. The reference ranking of the candidate entities in the candidate entity list is determined based on the reference relevance score.
3. The method according to claim 1, characterized in that, The candidate entities are entities in the knowledge graph; The process of encoding the knowledge graph information of the candidate entities to obtain the first candidate vector includes: Obtain the knowledge graph text corresponding to the candidate entity, wherein the knowledge graph text is natural language text converted based on the graph information of the candidate entity in the knowledge graph; The first candidate vector is obtained by encoding the knowledge graph text corresponding to the candidate entity.
4. The method according to claim 3, characterized in that, The step of obtaining the knowledge graph text corresponding to the candidate entity includes: Search the corpus corresponding to the knowledge graph for the candidate entity. The corpus includes knowledge graph text corresponding to each entity in the knowledge graph, and the knowledge graph text corresponding to each entity is natural language text obtained in advance by converting the entity based on the graph information of the entity in the knowledge graph.
5. The method according to claim 4, characterized in that, The method further includes: The entity's graph information in the knowledge graph is represented as triplet information; The triple information corresponding to the entity is converted into the knowledge graph text corresponding to the entity.
6. The method according to claim 5, characterized in that, The knowledge graph is an account-centric organizational graph, which includes the attributes of the account and the attribute values of the attributes; The step of representing the entity's graph information in the knowledge graph as triple information, and converting the triple information corresponding to the entity into the knowledge graph text corresponding to the entity, includes: The account information in the organization graph is represented as an attribute triple, which includes the account, the account's attribute, and the attribute value of the attribute. The attribute triples corresponding to the account are concatenated to form the knowledge graph text.
7. The method according to claim 5, characterized in that, The triplet information corresponding to the entity is at least two; The step of converting the triple information corresponding to the entity into the knowledge graph text corresponding to the entity includes: A first semantic character is added to the end of each triplet information corresponding to the entity, and the first and last of the at least two processed triplet information are concatenated to obtain the first knowledge graph text. The first semantic character is used to indicate the separation between the triplet information. A second semantic symbol is added to the beginning of the first knowledge graph text to obtain the knowledge graph text corresponding to the entity. The second semantic symbol is used to indicate the beginning of the knowledge graph text corresponding to the entity.
8. The method according to any one of claims 1 to 7, characterized in that, The step of determining the relevance score between the query text and the candidate entity based on the vector similarity between the second query vector and the second candidate vector includes: The vector similarity between the second query vector and the second candidate vector is obtained by calculating the vector dot product, and the relevance score between the query text and the candidate entity is determined. or, The vector similarity between the second query vector and the second candidate vector is obtained by calculating the Euclidean distance, and the relevance score between the query text and the candidate entity is determined. or, The vector similarity between the second query vector and the second candidate vector is obtained by calculating the vector cosine, and the relevance score between the query text and the candidate entity is determined.
9. The method according to any one of claims 1 to 7, characterized in that, The steps of encoding the query text to obtain a first query vector and encoding the candidate entities to obtain a first candidate vector include: The query text is input into a pre-trained BERT layer (a bidirectional encoder representation technique based on transformers) to encode the query text, resulting in the first query vector; and the candidate entity is input into the BERT layer to encode the candidate entity, resulting in the first candidate vector.
10. A knowledge graph-based search device, characterized in that, The device includes: The determination module is used to determine a list of candidate entities corresponding to the query text in the knowledge graph, wherein the list of candidate entities includes at least one candidate entity; The encoding module is used to encode the query text to obtain a first query vector, and to encode the knowledge graph information of the candidate entities to obtain a first candidate vector; An interaction module is used to obtain the reference relevance score and reference ranking of the candidate entities. The reference relevance score is used to indicate the relevance between the candidate entity and the query text, and the reference ranking is used to indicate the relevance ranking of the candidate entities in the candidate entity list to the query text. The first information combination corresponding to the query text and the second information combination corresponding to the candidate entity are input into the self-attention layer to obtain the second query vector and the second candidate vector. The first information combination includes the first query vector and the first identifier information. The second information combination includes the first candidate vector, the second identifier information, the reference relevance score, and the reference ranking. The first identifier information is used to indicate that the first query vector is the vector corresponding to the query text, and the second identifier information is used to indicate that the first candidate vector is the vector corresponding to the candidate entity. The first query vector and the first candidate vector input into the self-attention layer are processed through query and entity mapping. The first identifier information and the second identifier information are processed through segmentation mapping. The reference relevance score is processed through point method mapping, and the reference ranking is processed through sorting position mapping. The determining module is further configured to determine the relevance score between the query text and the candidate entity based on the vector similarity between the second query vector and the second candidate vector; The sorting output module is used to sort the candidate entities according to the relevance score and output search results based on the sorting results.
11. A computer device, characterized in that, The device includes a processor, a memory connected to the processor, and program instructions stored in the memory, wherein the program instructions executed by the processor implement the knowledge graph-based search method as described in any one of claims 1 to 9.
12. A computer-readable storage medium storing program instructions, characterized in that, When the program instructions are executed by the processor, they implement the knowledge graph-based search method as described in any one of claims 1 to 9.
13. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the knowledge graph-based search method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Semantic retrieval method and device, equipment and storage medium
CN112860866A
Medical literature retrieval method and apparatus, electronic device, and storage medium
WO2021179688A1