Online search method and system

By introducing directional navigation graphs and machine learning algorithms in high-dimensional and large-scale data scenarios, and using directional pruning technology to optimize neighbor point search, the problem of low retrieval efficiency in existing technologies is solved, and more efficient online retrieval is achieved.

CN113761243BActive Publication Date: 2025-10-03ALIBABA GROUP HOLDING LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202010483924.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-01
Publication Date
2025-10-03
Estimated Expiration
2040-06-01

AI Technical Summary

Technical Problem

Existing nearest neighbor retrieval methods cannot meet the efficiency requirements of online retrieval in high-dimensional and large-scale data scenarios, especially due to the poor retrieval performance caused by the high vertex degree in the graph.

Method used

The concept of directional navigation graph is introduced, and the neighbor point search is optimized through directional pruning technology. The low-dimensional spatial directional navigation graph is trained with machine learning algorithm for online retrieval pruning optimization.

Benefits of technology

It greatly improves the efficiency of graph retrieval, making it suitable for online retrieval application scenarios with larger data scales and higher data dimensions, and improves retrieval performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113761243B_ABST
    Figure CN113761243B_ABST
Patent Text Reader

Abstract

Disclosed are an online search method and system. The method includes: constructing a query point based on a query operation; searching for neighbor points closest to the query point in a directional navigation graph; and determining at least one return point closest to the query point based on the search for neighbor points closest to the query point. The present invention introduces the concept of a directional navigation graph based on directional vectors and utilizes the properties of the directional navigation graph to perform directional pruning on neighbors, significantly improving graph search efficiency and adapting it to online search application scenarios with larger data scales and higher data dimensions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of retrieval and recommendation, and in particular to an online retrieval method and system. Background Art

[0002] In recent years, vector retrieval has become increasingly widespread in search and recommendation-related fields. A key research area in vector retrieval is the nearest neighbor search problem in the approximate k-nearest neighbor graph (kNN graph), also known as the approximate nearest neighbor search (ANNS). Improving graph retrieval efficiency, particularly in high-dimensional and large-scale data scenarios, has long been a research hotspot in graph retrieval.

[0003] Existing optimizations for nearest neighbor retrieval often focus on the original kNN construction. However, in conventional kNN, the higher the degree of the vertex in the graph, the worse the retrieval performance. Therefore, it cannot meet the needs of large-scale efficient retrieval, especially online retrieval.

[0004] Therefore, an improved search, especially an online search solution, is needed. Summary of the Invention

[0005] One of the technical problems to be solved by the present disclosure is to provide an online retrieval solution. The solution introduces the concept of a directional navigation graph based on a directional vector. The directional navigation graph can be used to perform directional pruning on neighbors, thereby greatly improving the efficiency of graph retrieval and enabling it to adapt to online retrieval application scenarios with larger data scales and higher data dimensions.

[0006] According to a first aspect of the present disclosure, an online retrieval method is provided, comprising: constructing a query point based on a query operation; searching for a neighbor point closest to the query point in a direction navigation map; and determining at least one return point closest to the query point based on the operation of searching for the neighbor point closest to the query point.

[0007] According to a second aspect of the present disclosure, a retrieval system is provided, comprising a plurality of clients and an online retrieval server, wherein the clients are used to: send a query operation; obtain the return content of the query operation; and the online retrieval server is used to: construct a query point based on the query operation sent by the client; based on the query point, determine at least one return point closest to the query point by searching for a neighbor point whose direction is closest to the query point in a loaded direction navigation map; based on the at least one return point, query corresponding return information; and return the return information to the client as a result of the query operation.

[0008] According to a third aspect of the present disclosure, a content recommendation method is proposed, comprising: constructing a query point based on a recommendation operation; searching for a neighbor point whose direction is closest to the query point in a direction navigation map; and determining at least one return point closest to the query point based on the operation of searching for the neighbor point whose direction is closest to the query point.

[0009] According to a fourth aspect of the present disclosure, a search method is provided, comprising: constructing a query point based on a query operation; searching a directionally closest neighbor point to the query point in a direction navigation map; and determining at least one return point closest to the query point based on searching for the directionally closest neighbor point to the query point. The search method may include an offline search method.

[0010] According to a fifth aspect of the present disclosure, a retrieval method is proposed, comprising: the client obtaining the return content of a query operation, wherein the return content is determined by searching a neighbor point whose direction is closest to a query point constructed based on the query operation through a directional navigation graph model; and sending feedback on the return content to a server, wherein the feedback is used to optimize the directional navigation graph model.

[0011] Therefore, this paper, through in-depth analysis of the characteristics of graph structures, combines machine learning algorithms with graph index structures to train a new low-dimensional spatial directional navigation graph for online search pruning optimization. This paper uses a neural network model for dimensionality reduction and combines it with the directional navigation graph to perform directional pruning of neighbors, significantly improving graph retrieval efficiency and adapting it to online search applications with larger data scales and higher data dimensions. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings, wherein like reference numerals generally represent like components in the exemplary embodiments of the present disclosure.

[0013] Figure 1 An example of a nearest neighbor graph search is shown.

[0014] Figure 2 An example of an HNSW search is shown.

[0015] Figure 3A -C shows an example of an NSG search.

[0016] Figure 4 A schematic flow chart of an online search method according to an embodiment of the present invention is shown.

[0017] Figure 5A flowchart of training a low-dimensional directional navigation graph according to an embodiment of the present invention is shown.

[0018] Figure 6 The model network structure diagram for training the low-dimensional directional navigation graph is shown.

[0019] Figure 7 An example of an online retrieval process using a low-dimensional directional navigation graph is shown.

[0020] Figure 8 A schematic diagram showing the composition of a retrieval system according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0021] The preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although preferred embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. Rather, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.

[0022] In recent years, vector retrieval has become increasingly widespread in search and recommendation-related fields. A key research area in vector retrieval is the nearest neighbor search problem in the approximate k-nearest neighbor graph (kNN graph), also known as the approximate nearest neighbor search (ANNS). Improving graph retrieval efficiency, particularly in high-dimensional and large-scale data scenarios, has long been a research hotspot in graph retrieval.

[0023] Existing optimizations for nearest neighbor retrieval often focus on the original kNN construction. However, in conventional kNN, the higher the degree of the vertex in the graph, the worse the retrieval performance, making it unable to meet the needs of large-scale efficient retrieval, especially online retrieval.

[0024] To this end, the inventors have deeply understood the characteristics of graph structures in high-dimensional space, analyzed the factors that affect retrieval in the graph structure, and extracted directional vector features to understand the basic graph structure from multiple feature dimensions. Specifically, the present invention introduces the concept of directional navigation graph based on the directional vector, and can preferably use machine learning methods to learn the directional navigation graph in low-dimensional space to facilitate the use of online search. When applying the directional navigation graph to online graph retrieval, it can be combined with heuristic online retrieval strategies, and the directional navigation graph can be used to effectively perform pruning operations on neighbors, greatly improving the efficiency of graph retrieval. The present invention combines machine learning with basic data structures, and attempts to use artificial intelligence to improve the performance of basic retrieval models and achieve good search results.

[0025] In order to enhance understanding of the present invention, some basic concepts involved in the present invention are first explained here.

[0026] 1. Approximate Nearest Neighbor Search (ANN)

[0027] With the continuous development of machine learning and deep neural networks, data vectorization is becoming ubiquitous. Both industry and academia have conducted extensive research on searching massive vector data.

[0028] Commonly used index types today have inherent limitations when searching massive amounts of vector data. First, tree-based algorithms, such as the classic KD-tree, experience a sharp decline in performance when the vector dimension is slightly larger (d > 10), even failing to match brute-force search. Secondly, for indexes based on LSH (locality-sensitive hashing), achieving high recall requires the creation of numerous hash tables, which can significantly increase the index size. Furthermore, both tree and LSH algorithms are spatial slicing and sorting algorithms, which suffer from the unavoidable drawback that increasing the search space is the only way to improve search accuracy. In the worst case, spatial slicing and sorting algorithms require scanning nearly the entire dataset, which is clearly unacceptable in many scenarios.

[0029] To this end, we have the term Approximate Nearest Neighbor Search (ANNS). Approximate nearest neighbor search is used because exact nearest neighbor search is too difficult. Consequently, research has shifted to a trade-off between accuracy and search time. Because exact vector search takes too long in scenarios with massive amounts of data, a common approach is to build an approximate search index on vectors.

[0030] Since graph data structures have the inherent characteristic of nearest neighbor relationships, nearest neighbor search on graphs has also been a research hotspot in recent years.

[0031] 1. Proximity Graph: The simplest graph algorithm

[0032] The characteristics of the nearest neighbor graph can be roughly understood as: constructing a graph where each vertex is connected to the nearest N vertices. Its search process can be seen Figure 1 . Figure 1Figure 1 shows an example of a nearest neighbor graph search. As shown in the figure, the target is the query vector. Since we don't know where to start the search in the graph, we choose an arbitrary vertex S as the starting point. We first traverse S's neighbors to find the node A closest to the target. We set A as the starting node and continue traversing from A, iterating repeatedly to continuously approach the target. The search ends when we find the node A`` closest to the target.

[0033] Basic neighbor graphs have numerous problems, most notably the uncertainty of search complexity, the difficulty in resolving the island effect, and the exponentially high cost of graph construction. For these reasons, recent improvements have been made to neighbor graphs in areas such as graph construction, degree constraints, edge selection, graph connectivity, and node orientation. Here is a brief introduction to the more popular algorithms of recent years: HNSW and NSG.

[0034] 2. HNSW (Hierarchical Navigable Small World Graph)

[0035] HNSW's predecessor is NSW (Navigable-Small-World-Graph). NSW solves the problem of divergent searches in neighbor graphs by designing a navigable graph, but its search complexity remains excessively high, reaching the multi-logarithmic level, and its overall performance is easily affected by the size of the graph. HNSW proposes the concept of Hierarchical-NSW to address this issue of excessive search complexity. Simply put, a graph is divided into multiple parts according to certain rules. Graphs closer to the upper layer have a lower average degree and greater distances between nodes; graphs closer to the lower layer have a higher average degree and closer distances between nodes. Figure 2 An example of an HNSW search is shown.

[0036] The search starts from the top layer (layer = 2), and after finding the closest node in this layer, it enters the next layer. The starting node of the search in the next layer (layer = 1) is the closest node in the previous layer, and the cycle repeats until the result is found, such as the black node in layer 0. Since the upper the graph, the fewer nodes, the lower the average degree, and the farther the distance, it can provide a good search direction at a very low cost. In this way, a large amount of worthless calculations can be reduced, reducing the complexity of the search algorithm. Furthermore, if the maximum degree of the nodes in HNSW is set to a constant, a graph with a search complexity of only log(n) can be obtained.

[0037] HNSW leverages the advantages of multi-layer graphs to inherently guarantee graph connectivity. Furthermore, since each new node is randomly assigned to a layer, this prevents the order of data input from altering the graph distribution and ultimately affecting the search path.

[0038] 3.NSG (Navigation Explosion Chart)

[0039] NSG, short for Navigating Spreading-out Graph, aims to improve graph connectivity, reduce out-degrees, shorten search paths, and reduce graph size. Specifically, NSG achieves this through methods such as establishing navigation points, special edge selection strategies, and deep traversal to retrieve discrete nodes.

[0040] First, consider the navigation point. When building a graph, a pre-built K-nearest-neighbor graph (KNNG) is required as a construction baseline. A point is randomly selected as the navigation point. All newly inserted nodes will then consider the navigation point as a candidate for edge selection. During the graph construction process, subgraphs are gradually connected to the navigation point, so that other nodes only need to maintain a small number of edges, reducing the size of the graph. Each search starting from the navigation point can point to a specific subgraph, reducing invalid searches and achieving better search performance.

[0041] The edge selection strategy used by NSG is similar to that of HNSW, but unlike HNSW which only selects the shortest edge as the valid edge, the edge selection strategy used by NSG is as follows: Figure 3A -C shown. Figure 3A Figure 3-C shows an example of an NSG search. For example, when connecting point r to point p, a circle is constructed with r and p as the center and the distance between them as the radius. If no other point connected to point p exists within the intersection of the two circles, then r is connected to p (see Figure 3-B). When connecting point s, since point r is already connected to p within the intersection circle with the distance between them as the radius, s and p are disconnected (see Figure 3-C). In the figure below, the only points ultimately connected to point p are r, t, and q (see Figure 3-A).

[0042] NSG does this because a large number of edges would make the entire graph denser, ultimately wasting significant computing power during searches. However, reducing the number of edges also has significant drawbacks: the resulting graph becomes sparse, making some nodes difficult to search. Furthermore, NSG's edges are unidirectional. Such an aggressive strategy can lead to problems with graph connectivity. Therefore, NSG uses a deep traversal to bring outlier nodes back into the graph. With these steps, the graph is constructed.

[0043] As mentioned above, HNSW starts with a structural approach, utilizing a layered graph to improve navigability and reduce inefficient computation, thereby reducing search time and achieving optimization. NSG, on the other hand, minimizes the overall degree of the graph, improving navigability and shortening search paths to increase search efficiency.

[0044] Due to its multi-layered graph structure and edge connection strategy, HNSW uses more memory than NSG during searches, making NSG a better choice in memory-constrained scenarios. However, NSG uses more memory and takes longer to build the graph than HNSW. Furthermore, HNSW offers a feature not currently supported by NSG, namely incremental indexing, although this is time-consuming. Compared to other existing index types, both NSG and HNSW offer significant advantages in search time and accuracy. Although HNSW and NSG significantly improve the efficiency and accuracy of nearest neighbor searches compared to existing technologies, searches using HNSW and NSG still cannot meet the needs of online searches in high-dimensional and large-scale data scenarios.

[0045] Therefore, a more efficient online retrieval method is needed.

[0046] 2. Direction Navigation Map of the Present Invention

[0047] The present invention proposes an online retrieval method. This scheme introduces the concept of a directional navigation graph based on the direction vector. The directional navigation graph can be used to perform directional pruning on neighbors, which greatly improves the efficiency of graph retrieval and enables it to adapt to online retrieval application scenarios with larger data scales and higher data dimensions.

[0048] Specifically, in the present invention, the original kNN (k-nearest neighbor search graph) can be constructed based on the HNSW graph and NSG graph described above, or other methods can be selected to construct the original kNN. Subsequently, based on the constructed original kNN, a directional navigation graph can be constructed by changing the direction vector. In other words, in the present invention, the construction method of the original kNN does not affect the subsequent implementation of the invention. For example, the method used to construct the kNN does not affect the subsequent construction of the directional navigation graph.

[0049] Specifically, in the directional navigation map of the present invention, the orientation of any two neighbor points of any starting point relative to the target point is positively correlated with the distance between the two neighbor points and the target point in the kNN. For example, in the directional navigation map, in order to find point q, when starting the search from any point v, the smaller the orientation of any neighbor of point v relative to the line connecting v and q, the closer the neighbor is to point q in the kNN with a high probability. In other words, given a vertex v, v to q forms a direction vector, that is, an edge, and v's two neighbor nodes v1 and v2 to v each form an edge. The angle θ1 between the edge of v1 and v and the edge of v and q is compared with the angle θ2 between the edge of v2 and v and the edge of v and q. The smaller the angle is, which means that in the original kNN, the neighbor node v1 is closer to q than v2.

[0050] To this end, in the constructed directional navigation map, when a query point q is given, by continuously performing direction pruning from the initial point (i.e., selecting one or more neighbor points whose directions are most consistent with the direction of the query point), it is possible to continuously select the neighbor points closest to q in the kNN and quickly reach the return point closest to point q.

[0051] Based on the principle of the above-mentioned directional navigation map, the present invention can be implemented as an online retrieval method, which utilizes the fast positioning characteristics of directional pruning of the constructed directional navigation map and can meet the real-time retrieval requirements under large data volumes.

[0052] Figure 4 A schematic flow chart of an online search method according to an embodiment of the present invention is shown. The method can be implemented by a search service provider, for example, an online search server directly or indirectly connected to a client.

[0053] In step S410, a query point is constructed based on a query operation. Here, the query operation may be an operation obtained by the client. In some embodiments, such as in a search scenario, the operation obtained from the client may be an operation input by the user, such as a user entering a search term in a search box and clicking search. In other embodiments, such as in a recommendation scenario, the operation obtained from the client may be automatically triggered by the client when predetermined conditions are met, such as automatically recommending information to the user based on the collection of existing information. The recommendation scenario may also be triggered by the user himself, such as the user clicking on a recommended channel, etc. In another embodiment, the server may also perform recommendations for each client in batches. In this case, the query operation may be initiated by the server, such as an information push server for the client.

[0054] Specifically, constructing a query point based on a query operation may include constructing multidimensional data corresponding to multiple features based on relevant multi-feature information of the query operation, for example, constructing M-dimensional data corresponding to M features as an M-dimensional query point in an M-dimensional space.

[0055] For example, in a search scenario, user A enters the search term "XXX". The above user action corresponds to a query operation. When triggering an online search, in addition to the search term "XXX" itself, it is also necessary to consider factors such as user A's user profile or historical operation information for online retrieval. The information related to the above user actions includes multiple features, such as search term features, user profile features, etc., and these features can be further divided according to different search models. In order to facilitate graph search, the above multiple features (for example, text features "XXX", gender "female", age "27", etc.) will be converted into corresponding numbers on the corresponding dimensions (usually normalized), thereby obtaining a multidimensional data, such as q = (x0, x1,…, x 99 In the recommendation scenario, similar vectorization operations can be performed based on the user's previous operations, tags, etc. to obtain similar multi-dimensional data. This 100-dimensional data can correspond to a query point in the 100-dimensional space, and the directional pruning operation based on the directional navigation graph of the present invention can quickly find the nearest return points nearby, for example, the top k nearest points.

[0056] In step S420, an initial point is selected in the directional navigation map, and a neighbor point closest to the query point is searched among the neighbor points of the initial point, and the neighbor point found is used as the search point, and the neighbor point closest to the query point is continued to be searched among the neighbor points of the search point. Here, the "directional navigation map" is a map constructed based on the approximate kNN to characterize the original distance based on direction as described above. The directional navigation map is pre-constructed based on the approximate k-nearest neighbor retrieval map (kNN), and in the directional navigation map, the orientation of any two neighbor points of any starting point relative to the target point is positively correlated with the distance between the two neighbor points and the target point in the kNN.

[0057] In some embodiments, the directional navigation graph may be a trained machine learning model, such as a directional navigation graph model obtained by training with positive and negative neighbor points. Since machine learning models are typically probabilistic models, the angle θ1 of v1 is smaller than the angle θ2 of v2, and it cannot be fully determined that the actual distance q between v1 and v2 in the original kNN is closer, but it can only be inferred with a high probability that the actual distance between v1 and v2 in the kNN space is closer. In other embodiments, the model may be a low-dimensional directional navigation graph model combined with the dimensionality reduction operation described below, for example, a joint model trained based on machine learning.

[0058] In step S430, based on the operation of searching for the neighboring point closest to the query point, at least one return point closest to the query point is determined. Thus, by continuously searching for the point closest to the query point among the neighboring points, the point closest to the query point is quickly found through iteration as the return point.

[0059] The obtained return point is a point in the direction navigation map, and it needs to be restored to specific information to provide to the client. To this end, the online retrieval method of the present invention may also include: querying the corresponding return information based on the at least one return point; and returning the return information to the client as the result of the query operation. For example, in a search scenario, the search results corresponding to the return point (for example, a list of k articles corresponding to the top k return points) can be returned to the client. In a recommendation scenario, the recommended articles can be presented in a fixed location or information stream, for example, in an APP.

[0060] As mentioned above, the construction of the query point may include constructing M-dimensional data corresponding to M features based on the relevant multi-feature information of the query operation, as an M-dimensional query point in the M-dimensional space. When the M value is large, for example, when M=100 in the above example, directional navigation in the high-dimensional space will cause unnecessary query complexity. To improve the search efficiency, the present invention may also include a dimensionality reduction step. To this end, the method may also include performing a dimensionality reduction operation on the M-dimensional query point to obtain an N-dimensional query point, where M is greater than N. The directional navigation map is a directional navigation map for N-dimensional data points. In other words, the query point can be fed into the directional navigation map after the dimensionality reduction. For example, the 100-dimensional query point is reduced to 10 dimensions, and then fed into the directional navigation map for the 10-dimensional data for query.

[0061] Furthermore, the dimensionality reduction operation can be implemented via a machine learning model. To this end, performing the dimensionality reduction operation on the M-dimensional query point to obtain an N-dimensional query point includes: feeding the M-dimensional query point into a trained dimensionality reduction model to obtain an N-dimensional query point.

[0062] The trained dimensionality reduction model and the directional navigation graph can be trained in the same joint model, and during online retrieval, the query point is fed into the trained joint model to perform dimensionality reduction and find the direction of the nearest neighbor point. Furthermore, the joint model can be trained by simultaneously inputting the current vertex, neighbor positive examples, neighbor negative examples, and a training query point.

[0063] Figure 5 A flowchart of training a low-dimensional directional navigation graph according to an embodiment of the present invention is shown.

[0064] like Figure 5As shown, in step S510, first, an original kNN graph may be constructed using an approximate kNN graph construction method such as an HNSW graph and an NSG graph.

[0065] Next, in step S520, a sampling operation is performed. Specifically, a set of nodes can be randomly selected from the constructed original kNN graph to construct positive and negative examples. For a given q and an arbitrary fixed point v in the graph, assuming that v has n neighbors, the actual distances of the n neighbors to q are sorted from near to far. The head neighbors (for example, the 5 neighbors closest to q) are selected and randomly combined to construct sample pairs. The ones closer to q are positive examples, and the ones farther from q are negative examples. Then all neighbors are selected and the same number of sample pairs are randomly selected.

[0066] Because the model requires dimensionality reduction of the original vector, it must ensure that the reduced vector has similar properties to the original vector. For example, the current node has 10 neighbors: 1 / 2 / 3 / 4…10. Calculating the direction based on the original vector, the direction of node 1 is closest to the target query point (q), followed by node 2, and the direction of node 10 is the furthest away. Therefore, the vector obtained through dimensionality reduction must also maintain similar properties. Therefore, it is necessary to introduce positive and negative examples to guide the model's convergence.

[0067] Random point selection is used to generate samples for model training. Continuing with the example of a current node with 10 neighbors, the positive and negative sample pairs used for training are selected from these 10 neighboring nodes. For example, if we randomly select neighbors 1 and 5, we will use 1 as the positive sample and 5 as the negative sample (because 1 is closer to the target and 5 is farther away). If we randomly select neighbors 5 and 9, then 5 will be the positive sample and 9 will be the negative sample. This allows the model to converge to the desired goal.

[0068] In addition to random point selection, we can introduce head node selection (such as 1, 2, and 3) based on the statistical properties of the model. This increases the number of head nodes and makes the vectors after dimensionality reduction more accurate. Furthermore, if the selection strategy is to have more sample pairs consisting of head nodes (1, 2), (1, 3), and (3, 4) and fewer sample pairs consisting of tail nodes (9, 10), the point selection can accelerate model convergence and improve model training speed.

[0069] In step S530, training is performed. During the training process, the PairWise (training by sample pairs) method is preferably used to train the model, mapping the vertices in the high-dimensional original graph to a low-dimensional vector space to form a low-dimensional directional navigation graph. As an alternative, the ListWise (training by sample list) method can also be tried in model training. Compared with PairWise, the ListWise method can learn more information during training, but the computational overhead is greater. Therefore, the PairWise method is preferred in scenarios where speed is required. In this way, a low-dimensional directional navigation graph is constructed.

[0070] Figure 6 The model network structure diagram for training the low-dimensional directional navigation graph is shown. As described above, after constructing the kNN, the query point for training, the current vertex (starting point), and the positive and negative neighbor sample pairs constructed as above are fed into the model. Each sample when fed into the model is a high-dimensional raw vector, such as a vector with an input size of 100 dimensions. Subsequently, each is passed through a neural network including a ReLU (linear rectification) function, such as a DNN (deep neural network), which can include multiple hidden layers of a specific size, to learn dimensionality reduction to a vector with an output size for DNG (Direction Navigating Graphs), such as a 10-dimensional vector.

[0071] The query point and positive and negative sample vectors converted to low dimensions can be subtracted from the low-dimensional vector of the current vertex to obtain their respective angle representation values, such as the cosine value shown in the figure, and the positive and negative probabilities of the cosine value are obtained (the positive probability is the direction close to the query, and the negative probability is the direction away from the query).

[0072] After the above model is trained, it can be used as a low-dimensional directional navigation map for online retrieval. Figure 7 An example of an online retrieval process using a low-dimensional directional navigation graph is shown.

[0073] In step S710, the query is obtained, and in step S720, a query vector (high-dimensional query point) is constructed. Then, in step S730, the heuristic retrieval algorithm of the present invention is applied. The algorithm sends the high-dimensional query vector to the trained low-dimensional directional navigation map, performs a dimensionality reduction operation therein, and takes the direction (s, q) from a random initial point (or a specified initial point) s to the reduced-dimensional query point q as a reference, and selects the neighbor set closest to the query point direction for priority exploration. This set is ordered by direction, and one or more can be selected according to the recall rate requirement. Generally, the more sets are selected, the better the recall rate is, but the efficiency is reduced. Repeat the above process until the top k results closest to q are finally found, i.e., the top k sets.

[0074] Compared with conventional kNN retrieval, the directional navigation graph retrieval solution of the present invention can achieve significant retrieval performance improvement, and the performance improvement is further enhanced as the vector dimension and data scale increase.

[0075] As previously mentioned, the query operation involved in the present invention can also be a query operation caused by a recommendation operation. To this end, the present invention can also be implemented as a content recommendation method, including: constructing a query point based on the recommendation operation; searching for a neighbor point closest to the query point in a directional navigation map; and determining at least one return point closest to the query point based on the search for the neighbor point closest to the query point.

[0076] The recommendation operation may be caused by the client or the server, and may include: a recommendation operation triggered by the user operation; and an automatic recommendation operation performed by the server.

[0077] It should be understood that the various preferred embodiments described above for the online retrieval solution, such as dimensionality reduction search, joint model search, etc., can all be used in the above content recommendation method of the present invention.

[0078] Furthermore, while the present invention utilizes a directional navigation graph and an optimized dimensionality reduction and model training scheme to achieve retrieval that meets the timeliness and accuracy requirements of online retrieval, the above-mentioned scheme of the present invention can also be used in offline retrieval scenarios. To this end, the present invention can also be implemented as a retrieval method, comprising: constructing a query point based on a query operation; searching for a neighbor point closest to the query point in the directional navigation graph; and determining at least one return point closest to the query point based on the search for the neighbor point closest to the query point.

[0079] The retrieval method may of course include the online retrieval method as described above, and may also include an offline retrieval method.

[0080] The present invention can also be implemented as a retrieval system. Figure 8 FIG. 8 is a schematic diagram showing the composition of a retrieval system according to an embodiment of the present invention. As shown in the figure, the system 800 may include multiple clients 810 and an online retrieval server 820 .

[0081] The client 810 can be various terminal devices such as smart phones, desktops, laptops, tablets, etc. For example, it can be a client with different versions of the same App or application software installed. The above-mentioned client 810 can be used to: send a query operation; obtain the return content of the query operation. The online retrieval server 820 can be used to: construct a query point based on the query operation sent by the client 810; based on the query point, determine at least one return point closest to the query point by searching for the neighbor point closest to the query point in the loaded direction navigation map; based on the at least one return point, query the corresponding return information; and return the return information to the client 810 as the result of the query operation.

[0082] Specifically, the online search server 820 may perform a dimensionality reduction operation on the M-dimensional query point to obtain an N-dimensional query point; and send the N-dimensional query point to the direction navigation map to search for a return point.

[0083] Furthermore, the client 810 may receive and send the query operation input by the user; and / or send the query operation itself based on the satisfaction of the start condition. The associated information of the query operation may include: the query words in the query operation; and user associated information related to the query operation.

[0084] The online search server 820 may search for associated information of the query operation based on the query operation sent by the client; and construct the query point based on the associated information.

[0085] Preferably, the system 800 may further include a directional navigation graph construction server 830 for: constructing an original k-nearest neighbor retrieval graph; performing model training via sampling; and obtaining a trained directional navigation graph model.

[0086] The model training via sampling includes: selecting neighbors from a current vertex to construct positive examples and negative examples; and training a directional navigation graph model based on the positive examples and negative examples. The selecting neighbors from the current vertex to construct positive examples and negative examples includes: selecting head neighbors to construct positive examples and negative examples; and / or randomly selecting neighbors to construct positive examples and negative examples.

[0087] As a supplement, performing model training via sampling may further include: performing neural network dimensionality reduction model training via sampling, and the acquired trained directional navigation map model is a low-dimensional directional navigation map model.

[0088] Furthermore, the system may also include a feedback function. To this end, the client 810 may be used to send feedback on the returned content. The directional navigation graph construction server 830 may collect the feedback and optimize the directional navigation graph model based on multiple feedbacks from multiple clients.

[0089] Accordingly, on the client side, the present invention can be implemented as a client-implemented feedback scheme, and the retrieval method includes: the client obtains the return content of the query operation, wherein the return content is determined by searching the neighbor point whose direction is closest to the query point constructed based on the query operation through a directional navigation graph model; and sending feedback on the return content to the server, wherein the feedback is used to optimize the directional navigation graph model.

[0090] The online search solution according to the present invention has been described in detail above with reference to the accompanying drawings. By deeply analyzing the characteristics of graph structures and combining machine learning algorithms with graph index structures, the present invention trains a novel low-dimensional spatial directional navigation graph for online search pruning optimization. By using a neural network model for dimensionality reduction and combining it with the directional navigation graph to perform directional pruning of neighbors, the present invention significantly improves graph search efficiency, making it suitable for online search applications with larger data scales and higher data dimensions.

[0091] In addition, the method according to the present invention may also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing the above steps defined in the above method of the present invention.

[0092] Alternatively, the present invention can also be implemented as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) on which executable code (or computer program, or computer instruction code) is stored. When the executable code (or computer program, or computer instruction code) is executed by a processor of an electronic device (or computing device, server, etc.), the processor executes the various steps of the above-mentioned method according to the present invention.

[0093] Those skilled in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both.

[0094] The flowcharts and block diagrams in the accompanying drawings show the possible implementation architecture, functions and operations of the systems and methods according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of code, and the part of the module, program segment or code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0095] While various embodiments of the present invention have been described above, the foregoing description is intended to be illustrative, non-exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. An online search method comprising: constructing a query point based on a query operation, wherein the query operation is a user action of a user inputting a search term; Finding a neighbor point in the direction navigation map that is closest to the query point; and Based on the operation of finding the neighbor point closest to the query point, determining at least one return point closest to the query point, The query point construction based on the query operation includes: Based on the relevant multi-feature information of the query operation, M-dimensional data corresponding to M features is constructed as an M-dimensional query point in the M-dimensional space, wherein the relevant multi-feature information includes search term features and user portrait features, In which, the directional navigation map is pre-constructed based on an approximate k-nearest neighbor retrieval map, and in the directional navigation map, the orientations of any two neighbor points of any starting point relative to the target point are positively correlated with the distances between the two neighbor points and the target point in the approximate k-nearest neighbor retrieval map.

2. The method according to claim 1, wherein Finding the neighbor point closest to the query point in the direction navigation map includes: An initial point is selected in the direction navigation map, and a neighbor point closest to the query point is found among the neighbor points of the initial point. The found neighbor point is used as the search point, and the neighbor point closest to the query point is continued to be found among the neighbor points of the search point.

3. The method according to claim 1, wherein The query operation includes: User input query operation; Recommended action for the system.

4. The method of claim 1 , further comprising: Based on the at least one return point, query corresponding return information; as well as The returned information is returned to the client as a result of the query operation.

5. The method of claim 1 , further comprising: Perform a dimensionality reduction operation on the M-dimensional query point to obtain an N-dimensional query point, where M is greater than N. Furthermore, the directional navigation map is a directional navigation map for N-dimensional data points.

6. The method according to claim 5, wherein: Performing a dimensionality reduction operation on the M-dimensional query point to obtain an N-dimensional query point includes: The M-dimensional query point is fed into a trained dimensionality reduction model to obtain an N-dimensional query point.

7. The method according to claim 6, wherein: The trained dimensionality reduction model and the directional navigation map are trained in the same joint model, and when performing online retrieval, the query point is fed into the trained joint model to complete dimensionality reduction and direction lookup operations for the nearest neighbor point.

8. The method of claim 7, wherein: The joint model is trained by simultaneously inputting the current vertex, neighbor positive examples, neighbor negative examples, and a training query point.

9. The method of claim 1, wherein: The directional navigation graph is a directional navigation graph model obtained by training positive and negative neighbor points.

10. A retrieval system comprising a plurality of clients and an online retrieval server, The client is used to: Send a query operation, where The query operation is a user action of inputting a search term; Get the return content of the query operation, The online search server is used for: constructing a query point based on the query operation sent by the client; Based on the query point, determining at least one return point closest to the query point by searching for a neighbor point closest in direction to the query point in the loaded direction navigation map; Based on the at least one return point, query corresponding return information; as well as Returning the returned information to the client as the result of the query operation, The step of constructing a query point based on the query operation sent by the client includes: Based on the relevant multi-feature information of the query operation, M-dimensional data corresponding to M features is constructed as an M-dimensional query point in the M-dimensional space, wherein the relevant multi-feature information includes search term features and user portrait features, In which, the directional navigation map is pre-constructed based on an approximate k-nearest neighbor retrieval map, and in the directional navigation map, the orientations of any two neighbor points of any starting point relative to the target point are positively correlated with the distances between the two neighbor points and the target point in the approximate k-nearest neighbor retrieval map.

11. The system of claim 10, wherein: The online search server is used for: Performing a dimensionality reduction operation on the M-dimensional query point to obtain an N-dimensional query point; and The N-dimensional query point is sent to the direction navigation map to search for a return point.

12. The system of claim 10, wherein: The client is used to: Receive and send the query operation input by the user; and / or Based on the satisfaction of the start condition, the query operation is automatically sent.

13. The system of claim 10, wherein: The online search server is used for: Based on the query operation sent by the client, searching for associated information of the query operation; and Based on the association information, the query point is constructed.

14. The system of claim 13, wherein: The associated information of the query operation includes: query words in the query operation; User association information related to the query operation.

15. The system of claim 10, further comprising: Direction navigation map construction server, used for: Construct the original k-nearest neighbor retrieval graph; Model training through sampling; as well as Get the trained directional navigation graph model.

16. The system of claim 15, wherein: Model training via sampling includes: Select neighbors from the current vertex to construct positive and negative examples; and Directional navigation graph model training is performed based on the positive examples and negative examples.

17. The system of claim 15, wherein: Selecting neighbors from the current vertex to construct positive and negative examples involves: Select head neighbors to construct positive and negative examples; and / or Neighbors are randomly selected to construct positive and negative examples.

18. The system of claim 15, wherein: Model training via sampling includes: Through sampling, neural network dimensionality reduction model training is carried out. And the obtained trained directional navigation graph model is a low-dimensional directional navigation graph model.

19. The system of claim 15, wherein: The client is used to: sending feedback regarding the returned content; The direction navigation map construction server is used to: The directional navigation graph model is optimized based on a plurality of feedbacks from a plurality of clients.

20. A content recommendation method, comprising: Constructing a query point based on recommended operations, wherein the recommended operations include recommended operations triggered by user operations or automatically recommended operations performed by a server; Finding a neighbor point closest to the query point in the direction navigation map; as well as Based on the operation of finding the neighbor point closest to the query point, determining at least one return point closest to the query point, The query points constructed based on the recommended operations include: Based on the relevant multi-feature information of the recommended operation, construct M-dimensional data corresponding to M features as an M-dimensional query point in the M-dimensional space, wherein the relevant multi-feature information includes the user's previous operation and label, In which, the directional navigation map is pre-constructed based on an approximate k-nearest neighbor retrieval map, and in the directional navigation map, the orientations of any two neighbor points of any starting point relative to the target point are positively correlated with the distances between the two neighbor points and the target point in the approximate k-nearest neighbor retrieval map.

21. A retrieval method comprising: constructing a query point based on a query operation, wherein the query operation is a user action of a user inputting a search term; Finding a neighbor point in the direction navigation map that is closest to the query point; and Based on the operation of finding the neighbor point closest to the query point, determining at least one return point closest to the query point, The query point construction based on the query operation includes: Based on the relevant multi-feature information of the query operation, M-dimensional data corresponding to M features is constructed as an M-dimensional query point in the M-dimensional space, wherein the relevant multi-feature information includes search term features and user portrait features, In which, the directional navigation map is pre-constructed based on an approximate k-nearest neighbor retrieval map, and in the directional navigation map, the orientations of any two neighbor points of any starting point relative to the target point are positively correlated with the distances between the two neighbor points and the target point in the approximate k-nearest neighbor retrieval map.

22. The method of claim 21, wherein: The retrieval method includes an offline retrieval method.

23. A retrieval method comprising: The client obtains the return content of the query operation, wherein the query operation is a user action of the user inputting a search term, and determines the return content by searching the neighbor point closest to the query point constructed based on the query operation through the directional navigation graph model; and Sending feedback on the returned content to the server, wherein the feedback is used to optimize the directional navigation graph model, The query point construction based on the query operation includes: Based on the relevant multi-feature information of the query operation, M-dimensional data corresponding to M features is constructed as an M-dimensional query point in the M-dimensional space, wherein the relevant multi-feature information includes search term features and user portrait features, In which, the directional navigation map is pre-constructed based on an approximate k-nearest neighbor retrieval map, and in the directional navigation map, the orientations of any two neighbor points of any starting point relative to the target point are positively correlated with the distances between the two neighbor points and the target point in the approximate k-nearest neighbor retrieval map.