An enhanced search engine through hybrid semantic and non-semantic techniques

The hybrid search engine addresses the limitations of existing search engines by integrating NER and multiple search logics to accurately handle long text queries and semantic complexities, improving result relevance and reducing costs.

WO2025207085A1PCT designated stage Publication Date: 2025-10-02HITACHI AMERICA LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/021634
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-27
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing search engines struggle with long text queries, failing to accurately match keywords and handle semantic similarities, leading to inaccurate or irrelevant results, especially when queries are rearranged or contain synonyms, and often require costly and unreliable large language models.

Method used

A hybrid semantic and non-semantic search engine that uses Named Entity Recognition (NER) to generate labels and keywords, combines Trie-tree-index-based and BERT-Embedding-similarity calculation search logics, and applies classification logic to rank results, integrating both mechanisms for optimal search outcomes.

Benefits of technology

The hybrid approach enhances search accuracy by leveraging both keyword matching and semantic understanding, providing reliable and relevant results for complex queries, while reducing reliance on costly deep learning models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000058_0000
    Figure 00000058_0000
  • Figure 00000059_0000
    Figure 00000059_0000
  • Figure 00000060_0000
    Figure 00000060_0000
Patent Text Reader

Abstract

Systems and methods for search execution, which can involve generating labels and keywords from a search query with a Named Entity Recognition (NER) model; executing classification logic on the labels and keywords from the search query to determine a corresponding search logic; executing the corresponding search logic to generate search results associated with scores; combining the scores of the search results for each of the labels to generate a ranking of the search results; and providing the ranked search results in response to the search query.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No.120179-0544WO01 AN ENHANCED SEARCH ENGINE THROUGH HYBRID SEMANTIC AND NON-SEMANTIC TECHNIQUES BACKGROUND Field

[0001] The present disclosure is directed to search engines, and more specifically, to enhancements of search engines through use of a hybrid semantic and non-semantic technique. Related Art

[0002] Search engine is a key part of the modern information system. A variety of application software including online stores, e-commerce platforms, corporate information storage and retrieval, and so on. Search engines facilitate the users to get the information that they want by conducting analysis on the original query, extracting conditions and requirements, and retrieving information in the system both swiftly and accurately.

[0003] Technologies in the realm of search engines grew rapidly. For instance, early-stage search engine simply utilized Structured Query Language (SQL)-based commands for searching. It supports limited fuzzy search ability such as conditional matching with placeholders and regular expressions. However, when facing queries with a long text, such design usually fails, as long text is too complicated for a regular expression match. Further, the Input / Output (I / O) bound and limited scalability of prevented it from meeting the needs of expanding user groups.

[0004] To address the problem above, based on emerging database technologies such as NoSQL databases in recent years, variations of search engine designs were introduced. To name a few, indexes are included in most of the search engines to speed up retrieval process. Such indexes include Trie-tree based and Syntax-parse-tree based, and so on. These structures reduce the time complexity for a query result retrieval, and minimize the extra storage space complexity. Further, a series of ranking functions are designed to enhance the similarity between retrieved candidate results and the target result. Others utilized contemporary development of deep learning and leveraged embedding tools such as word2vec and Sentence- BERT, to map a query to a high-dimensional vector space, where locations stand for different - 1 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 semantics. Therefore, distances in such spaces are used to measure the semantic similarities between statements.

[0005] Further, large language models (LLMs) and generative artificial intelligence (AI) are taking more and more market share from traditional search engines, as such implementations behave like humans, and give clearer and summarized answers to the questions that the user raised. But these models are highly costly to train (both time and money), and sometimes their returned results are not as reliable as expected. Hallucination is a key problem in applying LLMs to accuracy-oriented use cases such as corporate information retrieval. The returned results are often make-ups by the model, and it is usually hard to identify hallucination in a production level environment.

[0006] In the related art implementations, there is a search that combines Trie-tree structure and forward indexing, which allows for fast retrieval and low index storage cost. However, such related art designs do not solve the problem of long text search, as synonyms are usual in this case, and searching word by word will only return results with queries including the exact words, even in an edit-distance based fuzzy search as they described.

[0007] In the related art implementations, there is a search that utilizes syntax parse trees with indexes that consist of processed parse trees of the results. Fundamentally, this design is new by its architecture, with the help of parse tree. It solves the problem of the keyword match and partially solves the problem of semantic searching. However, such related art implementations can only deal with the queries that the system has seen before. For words or structures that such implementations have not been trained on, it cannot yield a satisfactory result.

[0008] In related art implementations, there is a search engine on law field data. Such a related art implementation trains multiple deep learning (DL) models at the same time, use the models to embed both the user query and the candidate results, use the similarity measures to calculate scores, and add up scores from different fields to have a final score. However, such related art implementations fail to filter the results based on keywords matching, and just take the ensembled learning of different DL models as results, which may not work well if different models are highly correlated with each other. Further, their design is limited in a law context database. - 2 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0009] In related art implementations, there is a system that provides additional information for keywords came up in a chat. Apart from the Named Entity Recognition (NER) model, it is used to extract keywords, and the model used for information retrieval is n-grams with statistical probability calculations. Also, the use case is limited to a chat room situation.

[0010] In the related art implementations, there are vector-based embeddings and similarity measures for searching. However, such related art implementations focus on how to build up vectors: they have two embedding systems for both sentence-level and word-level embedding and combine two kinds of embeddings together. Still, their problem is the same as other semantic search systems: lack of handling on keywords matching.

[0011] Related art implementations further use a parse tree comparison for search engine. In another related art implementation, n-grams and semantic embedded-mappings are utilized to retrieve results, and such related art implementations filter on pre-set filtering conditions. It solves keyword matching problem in the traditional semantic search. However, such a design still has the problem of return results with irrelevant information, as rearranged query may have different meaning, but the system is going to return similar results.

[0012] Other related art implementations involve a design that incorporated both keywords matching and partially semantic searching. They train a model to convert sentences in different languages into a single parse tree structure and build an index using such structures. In the end, keywords are filtered. However, such a related art design is still stuck in a pre-set training set, and may suffer from poor performance on new information.

[0013] In a related art implementation there is an architecture, with NER models as first layer, to extract labels and keywords, and embedding models as a second layer, with two layers of comparing and clustering for semantic search. Such a related art design is efficient, but the problem is that the results are returned only by semantic searching. Sometimes the accuracy will be affected by irrelevant candidates with similar semantic embedding. SUMMARY

[0014] Without the loss of generality, a search could be classified into two categories: semantic search and non-semantic search. - 3 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0015] Semantic searching solves the problem of long text query searching, but lacks the ability to return results with real keywords. Sometimes queries are misunderstood, and seemingly relevant results are returned, but they are not what user is asking (for instance, “parts of a car and a car”). Further, for some special categories (such as parse tree matching), the search engine can only handle queries that are similar to the training data.

[0016] Non-semantic searching is good at matching keywords with fuzziness, but it lacks the ability to process long texts that come with a complicated and specific meaning, and often fail with phrases rearranged with the same meaning.

[0017] All related art implementations are concentrated in some single search mechanism, (e.g., either semantic search or non-semantic search) but none of them combine the strength of both search mechanisms.

[0018] Example implementations described herein facilitate a one-stand solution for all the problems above, as it implements both mechanisms, and trigger different search mechanisms for different situations.

[0019] Aspects of the present disclosure can involve a method for search execution, which can include generating labels and keywords from a search query with a Named Entity Recognition (NER) model; executing classification logic on the labels and keywords from the search query to determine a corresponding search logic; executing the corresponding search logic to generate search results associated with scores; combining the scores of the search results for each of the labels to generate a ranking of the search results; and providing the ranked search results in response to the search query.

[0020] Aspects of the present disclosure can involve a computer program for search execution, which can include instructions involving generating labels and keywords from a search query with a Named Entity Recognition (NER) model; executing classification logic on the labels and keywords from the search query to determine a corresponding search logic; executing the corresponding search logic to generate search results associated with scores; combining the scores of the search results for each of the labels to generate a ranking of the search results; and providing the ranked search results in response to the search query. The computer program and instructions can be stored on a non-transitory computer readable medium and executed by one or more processors. - 4 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0021] Aspects of the present disclosure can involve a system for search execution, which can include means for generating labels and keywords from a search query with a Named Entity Recognition (NER) model; means for executing classification logic on the labels and keywords from the search query to determine a corresponding search logic; means for executing the corresponding search logic to generate search results associated with scores; means for combining the scores of the search results for each of the labels to generate a ranking of the search results; and means for providing the ranked search results in response to the search query.

[0022] Aspects of the present disclosure can involve an apparatus for search execution, which can include a processor, configured to generate labels and keywords from a search query with a Named Entity Recognition (NER) model; execute classification logic on the labels and keywords from the search query to determine a corresponding search logic; execute the corresponding search logic to generate search results associated with scores; combine the scores of the search results for each of the labels to generate a ranking of the search results; and provide the ranked search results in response to the search query.

[0023] Aspects of the present disclosure can involve a system for search execution, involving a series of server groups, configured to, generate labels and keywords from a search query with a Named Entity Recognition (NER) model; execute classification logic on the labels and keywords from the search query to determine one or multiple corresponding search logics; execute the corresponding search logics to generate search results associated with scores; combine the scores of the search results for each of the labels to generate a ranking of the search results; and provide the ranked search results in response to the search query. Such a series of server groups can involve a web server group, a NER server group, a services group, and / or a database group. BRIEF DESCRIPTION OF DRAWINGS

[0024] FIG. 1A illustrates a system design overview for the example implementations described herein.

[0025] FIG. 1B illustrates an example of the embedded-vector-based semantic index that can be stored in the database, in accordance with an example implementation. - 5 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0026] FIG. 2 is a summarized flow chart of how the search engine works, in accordance with an example implementation.

[0027] FIG.3 illustrates a flow of the NER worker to extract the labels, in accordance with an example implementation.

[0028] FIG.4A illustrates a flow for how the classification logic determines which search logic(s) to be triggered, in accordance with an example implementation.

[0029] FIG.4B illustrates a routing table, in accordance with an example implementation.

[0030] FIG. 5 illustrates the index search logic, in accordance with an example implementation.

[0031] FIG. 6 illustrates the embedding search logic, in accordance with an example implementation.

[0032] FIG.7 illustrates an example flow for combining and synthesizing the results to the user, in accordance with an example implementation.

[0033] FIG.8 illustrates a first example for when a user types a query “Find me a company named Hitachi” in a search bar in the front-end, in accordance with an example implementation.

[0034] FIG. 9 illustrates a second example for when the user types a query “Find me a company produces cocoa” in a search bar in the front-end, in accordance with an example implementation.

[0035] FIG. 10A illustrates a third example for when a user types the query “Find me a company named Hitachi that produces cocoa” in a search bar in the front-end, in accordance with an example implementation.

[0036] FIG. 10B illustrates an example of the name entity recognition and keyword elicitation.

[0037] FIG. 11 illustrates an example computing environment with an example computer device suitable for use in some example implementations. DETAILED DESCRIPTION - 6 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0038] The following detailed description provides details of the figures and example implementations of the present application. Reference numerals and descriptions of redundant elements between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the term “automatic” may involve fully automatic or semi-automatic implementations involving user or administrator control over certain aspects of the implementation, depending on the desired implementation of one of the ordinary skills in the art practicing implementations of the present application. Selection can be conducted by a user through a user interface or other input means, or can be implemented through a desired algorithm. Example implementations as described herein can be utilized either singularly or in combination and the functionality of the example implementations can be implemented through any means according to the desired implementations.

[0039] FIG. 1 illustrates a system design overview for the example implementations described herein. The system design involves four components, each of which contains one or multiple microservices. The web server group and the NER server group follow a distributed system pattern for high throughput and availability considerations, including a master node that functions as a Gateway / Load Balancer to manage the server group and route inbound traffics, and one or more worker nodes which executes the pre-defined tasks.

[0040] Web servers command the executions of all procedures in a query’s life cycle within the system. They determine the execution flow of a query search instance process and route the execution flow process to corresponding components.

[0041] NER servers extract keywords / sub-queries and labels in a given query and check pre-defined classification rules to determine which search logic to send a specific label- keyword / sub-query pair.

[0042] Services contain search logics. Search logics are single structured but accept multi- processed parallel visits. There are two kinds of search logic: a Trie-tree-index-based one and a BERT-Embedding-similarity calculation based one. Each of them handles some specific categories of search queries, indicated by the label.

[0043] Databases maintain all the data stored for other components, and their interaction interfaces (such as database engine, file system, application processing interface), including NER corpuses, trie-tree index, business logic data, and so on. All databases support - 7 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 synchronized concurrent reads and writes. Tables 1 to 4 illustrate examples of database tables as inputs, in accordance with an example implementation. Table 1 Company Table company_id company_name … bcc2e675-c2e2-4d24-8290-f0ad12e768b5 Anglaterre Real Estate … 3ea61cdf-78e5-4e70-bdce-2ffa4c5dde6b Bensen Energy … … … … d64e9a9f-7578-43cb-af29-dc23320946f4 Zen Taichi Health … Table 2 Non-semantic Index record_id record_text record_type record_score bcc2e675-c2e2-4d24- Anglaterre Real 8290-f0ad12e768b5EstateCompany 103ea61cdf-78e5-4e70- bdce-2ffa4c5dde6bRed Fuji Apple Product 3… … … d64e9a9f-7578-43cb- af29-dc23320946f4X-ray Scanner Product 5Table 3 Semantic Index record_id record_text record_type record_vector bcc2e675-c2e2- Electric 4d24-8290- Vehicle, Product [-3.67, 1.49, 2.99, ..., 1.36] f0ad12e768b5 E-class Sedan 3ea61cdf-78e5-4e70- bdce-2ffa4c5dde6bRed Fuji Apple Product [-6.35, -4.13, -1.36, ..., 4.39]… … … - 8 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 d64e9a9f-7578-43cb- af29-dc23320946f4X-ray Scanner Product [ 3.11, 5.21, -1.21, ..., -6.97]Table 4 Company Product Table product_id product_name company_id company_name bcc2e675-c2e2- Electric 162fc439-ed14- 4d24-8290- Vehicle, 42c9-91a2- Descartes f0ad12e768b5 E-class Sedan 3556742c2c72 3ea61cdf-78e5- 801cfe3f-d986- 4e70-bdce- Red Fuji Apple 4dc2-87ef- Fujiyama Agriculture 2ffa4c5dde6b a9167f97ebf0 … … … … d64e9a9f-7578- X-ray Scan 8b59f841-6cc3- 43cb-af29- ner 3320946f4 for 4000-8ff3- X1 Facility dc2 Securities b72cce79fb6d

[0044] The communications between the external system, such as a web page, and the internal system, use hypertext transfer protocol (HTTP) requests and responses. The communications between components within the system are using message queues.

[0045] FIG. 1B illustrates an example of the embedded-vector-based semantic index that can be stored in the database, in accordance with an example implementation.

[0046] FIG. 2 is a summarized flow chart of how the search engine works, in accordance with an example implementation. Based on the summarized flow chart, a series of specifications are extended.

[0047] At S101 the user provides or types in a query. At S102, the front-end logic wraps the query in a request and sends it to the gateway. At S103, the gateway routes the query to a web server worker and the web server worker forwards the query to NER component.

[0048] At S104, the NER Load Balancer routes the query to an NER worker. The load balancer receives the query from the assigned web server worker and routes the query to a NER worker that has the least workload. If all NER workers are busy, the load balancer will wait for the first NER worker that complete its task and assign the new query to the NER worker. - 9 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0049] An example input for a processed query for a query of “Find me a company named Hitachi.” can be as follows:

[0050] Input:

[0051] {

[0052] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0053] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0054] ‘query_text’: ‘Find me a company named Hitachi.’

[0055] }

[0056] For processing the queries into tokens, an algorithm can have a predefined splitting set that includes characters such as white spaces, tabs, carriage returns, and so on. Such an algorithm can then look for characters in the splitting set and split the query into individual tokens, each of which contains one or more characters. When a character such as punctuation or special characters such as a $ symbol are encountered, such characters can also be a separate token. However, the actual algorithm may vary based on the desired implementation, and the present disclosure is not limited thereto.

[0057] Accordingly, the output tokens for the above query can be:

[0058] Output:

[0059] {

[0060] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0061] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0062] ‘token_list’: [‘Find’, ‘me’, ‘a’, ‘company’, ‘named’, ‘Hitachi’, ‘.’]

[0063] }

[0064] At S105, the NER worker extracts the labels. In an embodiment, the flow at S105 can be executed as described in the flow of FIG.3. - 10 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0065] FIG.3 illustrates a flow of the NER worker to extract the labels, in accordance with an example implementation. The NER worker receives the query from load balancer at S1501 and splits the query into tokens using a tokenizer at S1502. Here, the kind of tokenizer is not defined. The tokenizer receives the query and splits the query based on given rules and sends the tokens to the NER model at S1503. The NER model receives the tokens and executes the pretrained procedures in the model to produce a set of label-keyword / subquery pairs at S1504.

[0066] At S106, the NER worker transfers the set of label-keyword / subquery pairs to the classification logic.

[0067] In some example implementations, the NER model structure is a neural-network- based structure. In such cases, an embedding layer, that maps words to vectors, may be incorporated as part of the NER model. As noted, the embedding here is different from the embedding in the search logic.

[0068] In some example implementations, the neural-network-based NER model is learnable by adding an extended program that records the queries generated from the users into the corpus and lets real human taggers tag on the query to generate a real set of label- keyword / subquery pairs. The model used the difference between set of label- keyword / subquery pairs returned by the NER model and that from the human tagger, described by a loss function, to tune its parameters for enhanced performance. The training process takes another extended program to update the parameters of such NER models. The extended program involves a backward propagation process. Details vary on the types of the specific NER model.

[0069] At S107, the classification logic determines search logic(s) to be triggered. In an example implementation, step S107 is described as follows with respect to FIG. 4A. FIG.4A illustrates a flow for how the classification logic determines which search logic(s) to be triggered, in accordance with an example implementation. The classification logic receives the set of label-keyword / subquery pairs at S1701, and checks the labels except for ‘TYPE’ label, that stands for returned type of results to the user query, in a routing table at S1702. FIG. 4B illustrates a routing table, in accordance with an example implementation. In some example implementations, the routing table is subject to changes based on business requirements.

[0070] The classification logic adds the destination to each of the pair in the set of label- keyword / subquery pairs, making each pair a triplet. Then it sends the set of triplets back to the - 11 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 corresponding web server worker at S1703. Based on the destination field, the web server worker sends the label-keyword / subquery pair in the triplet with the ‘TYPE’ label and its value to the corresponding search logic.

[0071] At S108, the flow uses the assigned search logic(s) to search, rank, and filter results. In an example implementation, step S108 can proceed in accordance with the flow of FIG. 5 as follows.

[0072] FIG. 5 illustrates the non-semantic index search logic, in accordance with an example implementation. When the search logic receives a label keyword / subquery pair and the ‘TYPE’ label value, it compares the query with using a data structure or model at S1811. By the comparison rules, some of the candidate results related to the ‘TYPE’ label value, along with a pre-assigned score, are chosen at S1812. The pre-assigned score is calculated via a scoring algorithm, such as TF-IDF or BM-25, or other choices of scoring algorithms in accordance with the desired implementation, and the present disclosure is not particularly limited thereto.

[0073] Then the corresponding Z-Score of the scores mentioned above, are calculated, as the standardized scores for the candidate results at S1813 using the calculation formula as described herein.

[0074] The index search logic then returns the results with the standardized scores to the rank logic in the web server worker at S1814. The index search logic could manage multiple parallel search requests from different workers at the same time, using multi-threading techniques.

[0075] At S108, the flow combines and synthesizes the results to the user. The flow for step S108 is also described with respect to FIG.6 as follows.

[0076] FIG. 6 illustrates the embedding semantic search logic, in accordance with an example implementation. When the embedding semantic search logic receives a label keyword / subquery pair and the ‘TYPE’ label value, it first embeds the keyword / query using an embedding model at S1821, which can be Sentence-BERT-based. Sentence-BERT is a type of neural-network that can convert a query (which contains one or multiple tokens) into a vector that represent the semantic meaning of the query. However, other models can also be used, and the present disclosure is not limited thereto with regards to the choice of an embedding model. - 12 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0077] All of the candidate results related to the ‘TYPE’ label value are embedded and each one attached with a vector. The query goes through the embedding model as well and is attached with a vector.

[0078] The Embedding search logic compares the vector of the query with the vectors of the candidate results, using a comparison algorithm, such as cosine-similarity, KNN or K- means clustering to determine the candidate results with the highest similarity scores at S1822. The present disclosure is not particular limited with regards to the specific types of comparison algorithms. A list of candidate results is chosen, based on the similarity measures that the comparison algorithm returns, and such candidate results are collected by the ‘TYPE’ label and their corresponding scores at S1823. Then the corresponding Z-Score of the scores mentioned above, are calculated, as the standardized scores for the candidate results at S1824.

[0079] The Embedding search logic then returns the results with the standardized scores to the rank logic in the web server worker at S1825.

[0080] The Embedding search logic can manage multiple parallel search requests from different workers at the same time, using multi-threading techniques.

[0081] In both FIG. 5 and FIG. 6, Z-Score is calculated by:^^ = ^^^ − ^^^ / ^^where ^^ is the original score, ^^ is the recorded mean of all scores, ^^ is the recorded standard deviation of all the scores, ^^ is the standardized score.

[0082] At S109, the flow combines and synthesizes the results to the user. FIG.7 illustrates an example flow for combining and synthesizing the results to the user, in accordance with an example implementation.

[0083] The rank logic receives results of either the index search logic, or the embedding search logic, or both of them, for a single label-key query pair at S1901. The rank logic calculates the combined score for a given label on a given candidate result, using the formula specified in S1902, where ^^^_୧and ^^^_୧stands for standardized scores from the two search components for a given label L_i on a given candidate result, w1and w2stand for weights give on the scores of the two search logics, ^^^_୧stand for the combined score for a result candidate with a given label L_i. Also, assign ^^^_୧or ^^^_୧to 0 if any of them is missing. i ranges from 1 - 13 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 to n, n is the total number of labels in the routing table. z is the final score for a given candidate result.

[0084] Then, it calculates a final score z for a given candidate result by the formula specified in S1903 over all the labels in the query, from L_1 to L_n, and return the top-k candidate results ranked by their final scores in a descending order to the web server worker at S1904.

[0085] FIG.8 illustrates a first example for when a user types a query “Find me a company named Hitachi” in a search bar in the front-end, in accordance with an example implementation, using the flows illustrated in FIG. 2. At first, at S2101, the user types in the query “Find me a company named Hitachi”. At S2102, the NER component extracts type “company” and company “Hitachi”. At S2103, the NER component transfers the query to Trie- tree index search component. At S2104, using ED metrics, fuzzy search on the Trie-tree is conducted to find hit nodes. At S2105, the flow retrieves the records from company table based on the nodes’ company ID, subsidiary ID, or group ID. At S2106, the flow ranks the records by weight such as ED or TF-IDF metrics. At S2107, the flow returns the top-k results to the user.

[0086] In reference to FIG. 2, when a user is typing a query “Find me a company named Hitachi” in a search bar in the front-end, the inputs and outputs of the system are as follows:

[0087] For S101 to S104:

[0088] Input:

[0089] {

[0090] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0091] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0092] ‘query_text’: ‘Find me a company named Hitachi.’

[0093] }

[0094] Output:

[0095] { - 14 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0096] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0097] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0098] ‘query_text’: ‘Find me a company named Hitachi.’

[0099] }

[0100] For S105:

[0101] Input:

[0102] {

[0103] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0104] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0105] ‘query_text’: ‘Find me a company named Hitachi.’

[0106] }

[0107] Output:

[0108] {

[0109] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0110] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0111] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0112] ‘COMPANY’: ‘Hitachi’}

[0113] }

[0114] For S106:

[0115] Input:

[0116] { - 15 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0117] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0118] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0119] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0120] ‘COMPANY’: ‘Hitachi’}

[0121] }

[0122] Output:

[0123] {

[0124] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0125] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0126] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0127] ‘COMPANY’: ‘Hitachi’}

[0128] }

[0129] For S107:

[0130] Input:

[0131] {

[0132] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0133] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0134] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0135] ‘COMPANY’: ‘Hitachi’}

[0136] }

[0137] Routing table is described herein. - 16 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0138] Output:

[0139] {

[0140] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0141] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0142] ‘sub-query_id’: ‘4e215f28-c398-4217-8b4e-69664937e42b’,

[0143] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’},

[0144] ‘result_type’: {‘TYPE’: ‘company’}

[0145] }

[0146] For S108:

[0147] The non-semantic search logic extract label-keyword pair and search the keyword in the Trie-tree non-semantic index as described herein. The leaf nodes at the bottom of the Trie-tree consist of one or more lines of record_id-record_type pairs described in Table 1, each attached with a score. The non-semantic search logic retrieves the record_ids that has their record_type field matching the label in the label-keyword pair. The search logic retrieves company information from the company table through those record_ids as company_ids and return the results with corresponding standardized scores.

[0148] The non-semantic search logic works in the same way in other embodiments as introduced below.

[0149] Input:

[0150] {

[0151] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0152] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0153] ‘sub-query_id’: ‘4e215f28-c398-4217-8b4e-69664937e42b’,

[0154] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’}, - 17 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0155] ‘result_type’: {‘TYPE’: ‘company’}

[0156] }

[0157] Output:

[0158] {

[0159] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0160] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0161] ‘sub-query_id’: ‘4e215f28-c398-4217-8b4e-69664937e42b’,

[0162] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’},

[0163] ‘result_type’: {‘TYPE’: ‘company’},

[0164] ‘results_with_scores’: {

[0165] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0166]

[0167] ‘standardized_score’: 1.57],

[0168] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0169]

[0170] ‘standardized_score’: 0.95],

[0171] ….

[0172] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0173]

[0174] ‘standardized_score’: 0.32]

[0175] } - 18 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0176] }

[0177] For S109:

[0178] Input:

[0179] {

[0180] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0181] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0182] ‘sub-query_id’: ‘4e215f28-c398-4217-8b4e-69664937e42b’,

[0183] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’},

[0184] ‘result_type’: {‘TYPE’: ‘company’},

[0185] ‘results_with_scores’: {

[0186] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0187]

[0188] ‘standardized_score’: 1.57],

[0189] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0190]

[0191] ‘standardized_score’: 0.95],

[0192] ….

[0193] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0194]

[0195] ‘standardized_score’: 0.32]

[0196] } - 19 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0197] }

[0198] Output:

[0199] {

[0200] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0201] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0202] ‘results’: [

[0203] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0204] …],

[0205] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0206] …],

[0207]

[0208] ]

[0209] }

[0210] For S110:

[0211] Input:

[0212] {

[0213] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0214] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0215] ‘results’: [

[0216] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0217] …], - 20 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0218] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0219] …],

[0220]

[0221] ]

[0222] }

[0223] Output:

[0224] {

[0225] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0226] ‘query_id’: ‘6a968f77-98b7-4d31-9a5c-4d682e43cd32’,

[0227] ‘results’: [

[0228] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0229] …],

[0230] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0231] …],

[0232]

[0233] ]

[0234] }

[0235] FIG. 9 illustrates a second example for when the user types a query “Find me a company produces cocoa” in a search bar in the front-end, in accordance with an example implementation, using the flow illustrated in FIG. 2. At S3101, the user types in the query “Find me a company that produces cocoa”. At S3102, the NER component extract type “company” and product “cocoa”. At S3103, NER component transfers the query to both the non-semantic search logic and semantic-search logic. At S3104, the flow executes steps from S2104 to S2106, to yield the results from non-semantic logic. At S3105, the flow embeds the - 21 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 results by the embedding model, and calculates the similarity between results and candidate embedding vectors. At S3106, the flow searches the product ID in the company-product joined table. At S3107, the flow takes the top-k results’ product IDs. At S3108, the flow retrieves company IDs for hit entries. At S3109, the flow retrieves the company information from the company table by company ID. At S3110 the flow ranks the results by similarities, and synthesizes the results with those from non-semantic search logic. At S3111, the flow returns the top-k results to user.

[0236] When a user is typing a query “Find me a company that produces cocoa.” in a search bar in the front-end, the inputs and outputs of the system are as follows in reference to FIG.2:

[0237] For S101 to S104:

[0238] Input:

[0239] {

[0240] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0241] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0242] ‘query_text’: ‘Find me a company that produces cocoa.’

[0243] }

[0244] Output:

[0245] {

[0246] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0247] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0248] ‘query_text’: ‘Find me a company that produces cocoa.’

[0249] }

[0250] For S105:

[0251] Input: - 22 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0252] {

[0253] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0254] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0255] ‘query_text’: ‘Find me a company that produces cocoa.’

[0256] }

[0257] Output:

[0258] {

[0259] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0260] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0261] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0262] ‘PRODUCT’: ‘cocoa’}

[0263] }

[0264] For S106:

[0265] Input:

[0266] {

[0267] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0268] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0269] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0270] ‘PRODUCT’: ‘cocoa’}

[0271] }

[0272] Output: - 23 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0273] {

[0274] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0275] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0276] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0277] ‘PRODUCT’: ‘cocoa’}

[0278] }

[0279] For S107:

[0280] Input:

[0281] {

[0282] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0283] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0284] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0285] ‘PRODUCT’: ‘cocoa’}

[0286] }

[0287] And routing table in the information disclosure.

[0288] Output1 (To non-semantic search logic):

[0289] {

[0290] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0291] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0292] ‘sub-query_id’: ‘e51c429f-8da5-4942-be47-2206c7db863f’,

[0293] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’}, - 24 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0294] ‘result_type’: {‘TYPE’: ‘company’}

[0295] }

[0296] Output2 (To semantic search logic):

[0297] {

[0298] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0299] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0300] ‘sub-query_id’: ‘121416e6-820c-4bb6-b759-64c2e0705a65’,

[0301] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0302] ‘result_type’: {‘TYPE’: ‘company’}

[0303] }

[0304] For S108:

[0305] In non-semantic search logic:

[0306] Input:

[0307] {

[0308] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0309] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0310] ‘sub-query_id’: ‘e51c429f-8da5-4942-be47-2206c7db863f’,

[0311] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0312] ‘result_type’: {‘TYPE’: ‘company’}

[0313] }

[0314] Output: - 25 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0315] {

[0316] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0317] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0318] ‘sub-query_id’: ‘e51c429f-8da5-4942-be47-2206c7db863f’,

[0319] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0320] ‘result_type’: {‘TYPE’: ‘company’},

[0321] ‘results_with_scores’: {

[0322] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0323]

[0324] ‘standardized_score’: 1.92],

[0325] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0326]

[0327] ‘standardized_score’: 1.16],

[0328] ….

[0329] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0330]

[0331] ‘standardized_score’: 0.43]

[0332] }

[0333] }

[0334] In semantic search logic: - 26 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0335] The semantic search logic extract label-keyword pair and embed the keyword using a Sentence-BERT embedding model into a vector. By predefined similarity metric, the search logic search for k vectors with the highest similarity metrics in the semantic search index described herein, where each point refers to a record_id-record_type pair. Through the record_ids of the k vectors, the semantic search logic chooses the record_ids that has their record_type field matching the label in the label-keyword pair. The search logic then retrieves related company_ids from the company-product table (Table 4) by the record_ids as product_ids and retrieves the company information through the company_ids from company table (Table 1). Then it returns the results with corresponding standardized similarity metrics as standardized scores.

[0336] The semantic search logic works in the same way in other embodiments as introduced below.

[0337] Input:

[0338] {

[0339] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0340] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0341] ‘sub-query_id’: ‘121416e6-820c-4bb6-b759-64c2e0705a65’,

[0342] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0343] ‘result_type’: {‘TYPE’: ‘company’}

[0344] }

[0345] Output:

[0346] {

[0347] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0348] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0349] ‘sub-query_id’: ‘121416e6-820c-4bb6-b759-64c2e0705a65’, - 27 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0350] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0351] ‘result_type’: {‘TYPE’: ‘company’},

[0352] ‘results_with_scores’: {

[0353] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0354]

[0355] ‘standardized_score’: 2.42],

[0356] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0357]

[0358] ‘standardized_score’: 1.67],

[0359] ….

[0360] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0361]

[0362] ‘standardized_score’: 0.84]

[0363] }

[0364] }

[0365] For S109:

[0366] From non-semantic search logic:

[0367] Input:

[0368] {

[0369] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0370] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’, - 28 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0371] ‘sub-query_id’: ‘e51c429f-8da5-4942-be47-2206c7db863f’,

[0372] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0373] ‘result_type’: {‘TYPE’: ‘company’},

[0374] ‘results_with_scores’: {

[0375] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0376]

[0377] ‘standardized_score’: 1.92],

[0378] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0379]

[0380] ‘standardized_score’: 1.16],

[0381] ….

[0382] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0383]

[0384] ‘standardized_score’: 0.43]

[0385] }

[0386] }

[0387]

[0388] From semantic search logic:

[0389] Input:

[0390] {

[0391] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’, - 29 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0392] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0393] ‘sub-query_id’: ‘121416e6-820c-4bb6-b759-64c2e0705a65’,

[0394] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0395] ‘result_type’: {‘TYPE’: ‘company’},

[0396] ‘results_with_scores’: {

[0397] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0398]

[0399] ‘standardized_score’: 2.42],

[0400] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0401]

[0402] ‘standardized_score’: 1.67],

[0403] ….

[0404] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0405]

[0406] ‘standardized_score’: 0.84]

[0407] }

[0408] }

[0409]

[0410] Output:

[0411] {

[0412] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’, - 30 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0413] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0414] ‘results’: [

[0415] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0416] …],

[0417] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0418] …],

[0419]

[0420] ]

[0421] }

[0422] For S110:

[0423] Input:

[0424] {

[0425] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0426] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0427] ‘results’: [

[0428] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0429] …],

[0430] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0431] …],

[0432]

[0433] ] - 31 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0434] }

[0435] Output:

[0436] {

[0437] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0438] ‘query_id’: ‘a8877b4a-569c-4f69-a46f-c15b95fdd32a’,

[0439] ‘results’: [

[0440] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0441] …],

[0442] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0443] …],

[0444]

[0445] ]

[0446] }

[0447] FIG. 10A illustrates a third example for when a user types the query “Find me a company named Hitachi that produces cocoa” in a search bar in the front-end, in accordance with an example implementation, through execution of the flow at FIG.2. At S4101, the flow executes the flow from S101 to S107 from FIG.2. At S4102, the flow executes S1811 to S1814 for “COMPANY:HITACHI” label-keyword pair and both S1811 to S1814, along with S1821 to S1825 for “PRODUCT:COCOA” label-keyword pair. At S4103, the flow executes S109 to S110. FIG.10B illustrates an example of the name entity recognition and keyword elicitation. Given an input query sentence in the search bar of “Find me a company named Hitachi that provides Cocoa.” illustrated in FIG.10B, the label-keyword pair is found as illustrated.

[0448] In reference to FIG. 2, when a user is typing a query “Find me a company named Hitachi that produces cocoa.” in a search bar in the front-end, the inputs and outputs of the system are as follows: - 32 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0449] For S101 to S104:

[0450] Input:

[0451] {

[0452] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0453] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0454] ‘query_text’: ‘Find me a company named Hitachi that produces cocoa.’

[0455] }

[0456] Output:

[0457] {

[0458] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0459] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0460] ‘query_text’: ‘Find me a company named Hitachi that produces cocoa.’

[0461] }

[0462] For S105:

[0463] Input:

[0464] {

[0465] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0466] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0467] ‘query_text’: ‘Find me a company named Hitachi that produces cocoa.’

[0468] }

[0469] Output: - 33 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0470] {

[0471] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0472] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0473] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0474] ‘COMPANY’: ‘Hitachi’,

[0475] ‘PRODUCT’: ‘cocoa’}

[0476] }

[0477] For S106:

[0478] Input:

[0479] {

[0480] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0481] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0482] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0483] ‘COMPANY’: ‘Hitachi’,

[0484] ‘PRODUCT’: ‘cocoa’}

[0485] }

[0486]

[0487] Output:

[0488] {

[0489] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0490] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’, - 34 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0491] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0492] ‘COMPANY’: ‘Hitachi’,

[0493] ‘PRODUCT’: ‘cocoa’}

[0494] }

[0495]

[0496] For S107:

[0497] Input:

[0498] {

[0499] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0500] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0501] ‘label-keyword_pairs’: {‘TYPE’: ‘company’,

[0502] ‘COMPANY’: ‘Hitachi’,

[0503] ‘PRODUCT’: ‘cocoa’}

[0504] }

[0505] And routing table in the information disclosure.

[0506]

[0507] Output1 (To non-semantic search logic, label COMPANY):

[0508] {

[0509] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0510] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0511] ‘sub-query_id’: ‘822d647a-edfe-47a1-8d17-9ffd8f6c5fcb’, - 35 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0512] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’},

[0513] ‘result_type’: {‘TYPE’: ‘company’}

[0514] }

[0515]

[0516] Output2 (To non-semantic search logic, label PRODUCT):

[0517] {

[0518] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0519] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0520] ‘sub-query_id’: ‘95d933be-8bde-498a-b107-22cacef292a9’,

[0521] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0522] ‘result_type’: {‘TYPE’: ‘company’}

[0523] }

[0524]

[0525] Output3 (To semantic search logic, label PRODUCT):

[0526] {

[0527] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0528] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0529] ‘sub-query_id’: ‘64d6f6fb-d9d5-40ce-9e14-505e866b4e14’,

[0530] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0531] ‘result_type’: {‘TYPE’: ‘company’}

[0532] } - 36 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0533]

[0534] For S107:

[0535] In non-semantic search logic:

[0536] Input1 (label COMPANY):

[0537] {

[0538] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0539] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0540] ‘sub-query_id’: ‘822d647a-edfe-47a1-8d17-9ffd8f6c5fcb’,

[0541] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’},

[0542] ‘result_type’: {‘TYPE’: ‘company’}

[0543] }

[0544]

[0545] Input2 (label PRODUCT):

[0546] {

[0547] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0548] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0549] ‘sub-query_id’: ‘95d933be-8bde-498a-b107-22cacef292a9’,

[0550] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0551] ‘result_type’: {‘TYPE’: ‘company’}

[0552] }

[0553] - 37 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0554] Output1 (label COMPANY):

[0555] {

[0556] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0557] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0558] ‘sub-query_id’: ‘822d647a-edfe-47a1-8d17-9ffd8f6c5fcb’,

[0559] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’},

[0560] ‘result_type’: {‘TYPE’: ‘company’},

[0561] ‘results_with_scores’: {

[0562] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0563]

[0564] ‘standardized_score’: 1.57],

[0565] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0566]

[0567] ‘standardized_score’: 0.95],

[0568] ….

[0569] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0570]

[0571] ‘standardized_score’: 0.32]

[0572] }

[0573] }

[0574] - 38 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0575] Output2 (label PRODUCT):

[0576] {

[0577] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0578] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0579] ‘sub-query_id’: ‘95d933be-8bde-498a-b107-22cacef292a9’,

[0580] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0581] ‘result_type’: {‘TYPE’: ‘company’},

[0582] ‘results_with_scores’: {

[0583] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0584]

[0585] ‘standardized_score’: 1.92],

[0586] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0587]

[0588] ‘standardized_score’: 1.16],

[0589] ….

[0590] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0591]

[0592] ‘standardized_score’: 0.43]

[0593] }

[0594] }

[0595] - 39 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0596] In semantic search logic:

[0597] Input:

[0598] {

[0599] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0600] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0601] ‘sub-query_id’: ‘121416e6-820c-4bb6-b759-64c2e0705a65’,

[0602] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0603] ‘result_type’: {‘TYPE’: ‘company’}

[0604] }

[0605] Output:

[0606] {

[0607] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0608] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0609] ‘sub-query_id’: ‘121416e6-820c-4bb6-b759-64c2e0705a65’,

[0610] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0611] ‘result_type’: {‘TYPE’: ‘company’},

[0612] ‘results_with_scores’: {

[0613] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0614]

[0615] ‘standardized_score’: 2.42],

[0616] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’, - 40 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0617]

[0618] ‘standardized_score’: 1.67],

[0619] ….

[0620] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0621]

[0622] ‘standardized_score’: 0.84]

[0623] }

[0624] }

[0625] For S109:

[0626] From non-semantic search logic:

[0627] Input1 (label COMPANY):

[0628] {

[0629] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0630] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0631] ‘sub-query_id’: ‘822d647a-edfe-47a1-8d17-9ffd8f6c5fcb’,

[0632] ‘label-keyword_pair’: {‘COMPANY’: ‘Hitachi’},

[0633] ‘result_type’: {‘TYPE’: ‘company’},

[0634] ‘results_with_scores’: {

[0635] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0636]

[0637] ‘standardized_score’: 1.57], - 41 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0638] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0639]

[0640] ‘standardized_score’: 0.95],

[0641] ….

[0642] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0643]

[0644] ‘standardized_score’: 0.32]

[0645] }

[0646] }

[0647]

[0648] Input2 (label PRODUCT):

[0649] {

[0650] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0651] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0652] ‘sub-query_id’: ‘95d933be-8bde-498a-b107-22cacef292a9’,

[0653] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0654] ‘result_type’: {‘TYPE’: ‘company’},

[0655] ‘results_with_scores’: {

[0656] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0657]

[0658] ‘standardized_score’: 1.92], - 42 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0659] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0660]

[0661] ‘standardized_score’: 1.16],

[0662] ….

[0663] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0664]

[0665] ‘standardized_score’: 0.43]

[0666] }

[0667] }

[0668] From semantic search logic:

[0669] Input3:

[0670] {

[0671] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0672] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0673] ‘sub-query_id’: ‘121416e6-820c-4bb6-b759-64c2e0705a65’,

[0674] ‘label-keyword_pair’: {‘PRODUCT’: ‘cocoa’},

[0675] ‘result_type’: {‘TYPE’: ‘company’},

[0676] ‘results_with_scores’: {

[0677] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0678]

[0679] ‘standardized_score’: 2.42], - 43 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0680] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0681]

[0682] ‘standardized_score’: 1.67],

[0683] ….

[0684] ‘9dc1e747-213e-4e43-b676-d159a214b9ef’: [‘company_name’: ‘Hitachi America, Ltd.’,

[0685]

[0686] ‘standardized_score’: 0.84]

[0687] }

[0688] }

[0689]

[0690] Output:

[0691] {

[0692] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0693] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0694] ‘results’: [

[0695] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0696] …],

[0697] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0698] …],

[0699]

[0700] ] - 44 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0701] }

[0702] For S110:

[0703] Input:

[0704] {

[0705] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0706] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0707] ‘results’: [

[0708] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0709] …],

[0710] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0711] …],

[0712]

[0713] ]

[0714] }

[0715] Output:

[0716] {

[0717] ‘user_id’: ‘f9eba29e-6f80-42d8-ae2b-f6b93f770753’,

[0718] ‘query_id’: ‘c0e72922-cece-4649-ba4e-83b60611f02d’,

[0719] ‘results’: [

[0720] ‘6888530a-878f-4293-aa9b-6e31e9f1eee7’: [‘company_name’: ‘Hitachi, Ltd.’,

[0721] …], - 45 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0722] ‘d24c08b6-a4f0-4d0f-8945-abcbbec6be62’: [‘company_name’: ‘Hitachi Co. Ltd.’,

[0723] …],

[0724]

[0725] ]

[0726] }

[0727]

[0728] Through the example implementations described above, the combination of two kinds of searching mechanisms together can be facilitated, such that corresponding queries can be assigned to the best search mechanisms to do its job. It classifies user queries using two categories: semantic-queries and non-semantic-queries. For semantic queries, there is a Sentence-BERT-embedding-similarity-measure-based search logic which takes the whole query for recalled results. For non-semantic-queries, the search engine conducts a fuzzy search on the Trie-tree-based search logic and returns the result more accurately and swiftly.

[0729] In some cases, both structures are used to match keywords with fuzziness and retrieve results with close semantic meaning. This solves the problem in most of the related art implementations that lack one of the two functionalities.

[0730] Further, since the system is using a pre-trained semantic embedding model on a large corpus, the new queries will perform better in comparison with a parse-tree-based search engine.

[0731] Through referencing two different categories of search logics, example implementations can enhance the robustness and accuracy by tailoring the detailed algorithms and procedures for a search.

[0732] In example implementations, learnable weights can also be used. Such an example implementation can add additional logic for S1902, by incorporating a loss function, a forward propagation logic, and a backward propagation logic to learn and tune the set of parameters (^^_1 and ^^_2) to determine the best values for user queries. - 46 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0733] In example implementations, there can also be an attention-based synthesizing logic. For S109, an alternative and potentially better solution might be realized through using attention-based logic for synthesizing the scores returned from both search logics.

[0734] In example implementations, there can also be a LLM-based NER, classification, and rank logic, which can involve using a large language model to do the NER, Classification, and Rank tasks, based on the results return from other models in search logic in S108. For S105-S106, such an example implementation trains the LLM to extract labels- keywords / subqueries pairs. For S107, the example implementations can guide LLM to select the most fitted search logics for a given pair. For S109, the example implementations can train the LLM to choose the final results, given a set of candidate results with standardized scores.

[0735] FIG. 11 illustrates an example computing environment with an example computer device suitable for use in some example implementations, such as the hardware platform to facilitate servers in series of service groups illustrated in FIG.1A, such as the web server group, the NER server group, the services group, and / or the database group. Computer device 1105 in computing environment 1100 can include one or more processing units, cores, or processors 1110, memory 1115 (e.g., RAM, ROM, and / or the like), internal storage 1120 (e.g., magnetic, optical, solid state storage, and / or organic), and / or I / O interface 1125, any of which can be coupled on a communication mechanism or bus 1130 for communicating information or embedded in the computer device 1105. I / O interface 1125 is also configured to receive images from cameras or provide images to projectors or displays, depending on the desired implementation.

[0736] Computer device 1105 can be communicatively coupled to input / user interface 1135 and output device / interface 1140. Either one or both of input / user interface 1135 and output device / interface 1140 can be a wired or wireless interface and can be detachable. Input / user interface 1135 may include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing / cursor control, microphone, camera, braille, motion sensor, optical reader, and / or the like). Output device / interface 1140 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input / user interface 1135 and output device / interface 1140 can be embedded with or physically coupled to the computer device 1105. In other example implementations, other computer devices may function as or provide - 47 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 the functions of input / user interface 1135 and output device / interface 1140 for a computer device 1105.

[0737] Examples of computer device 1105 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and / or coupled thereto, radios, and the like).

[0738] Computer device 1105 can be communicatively coupled (e.g., via I / O interface 1125) to external storage 1145 and network 1150 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration. Computer device 1105 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.

[0739] I / O interface 1125 can include, but is not limited to, wired and / or wireless interfaces using any communication or I / O protocols or standards (e.g., Ethernet, 802.11x, Universal System Bus, WiMAX, modem, a cellular network protocol, and the like) for communicating information to and / or from at least all the connected components, devices, and network in computing environment 1100. Network 1150 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).

[0740] Computer device 1105 can use and / or communicate using computer-usable or computer-readable media, including transitory media and non-transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.

[0741] Computer device 1105 can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some example computing environments. Computer-executable instructions can be retrieved from transitory media, and stored on and retrieved from non-transitory media. The executable instructions can originate from one or - 48 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 more of any programming, scripting, and machine languages (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).

[0742] Processor(s) 1110 can execute under any operating system (OS) (not shown), in a native or virtual environment. One or more applications can be deployed that include logic unit 1160, application programming interface (API) unit 1165, input unit 1170, output unit 1175, and inter-unit communication mechanism 1195 for the different units to communicate with each other, with the OS, and with other applications (not shown). The described units and elements can be varied in design, function, configuration, or implementation and are not limited to the descriptions provided. Processor(s) 1110 can be in the form of hardware processors such as central processing units (CPUs) or in a combination of hardware and software units.

[0743] In some example implementations, when information or an execution instruction is received by API unit 1165, it may be communicated to one or more other units (e.g., logic unit 1160, input unit 1170, output unit 1175). In some instances, logic unit 1160 may be configured to control the information flow among the units and direct the services provided by API unit 1165, input unit 1170, output unit 1175, in some example implementations described above. For example, the flow of one or more processes or implementations may be controlled by logic unit 1160 alone or in conjunction with API unit 1165. The input unit 1170 may be configured to obtain input for the calculations described in the example implementations, and the output unit 1175 may be configured to provide output based on the calculations described in example implementations.

[0744] Processor(s) 1110 can be configured to execute a method or computer instructions for search execution, which can involve generating labels and keywords from a search query with a Named Entity Recognition (NER) model as shown at S105 or S1503; executing classification logic on the labels and keywords from the search query to determine a corresponding search logic as shown at S107; executing the corresponding search logic to generate search results associated with scores as shown at S108; combining the scores of the search results for each of the labels to generate a ranking of the search results as shown at S109; and providing the ranked search results in response to the search query as shown at S110.

[0745] Processor(s) 1110 can be configured to execute the method or instructions described above, wherein the generating the labels and keywords from the search query with the NER model involve utilizing a load balancer to assign the search query to a NER worker, the NER - 49 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 worker configured to split the query into tokens as shown at S1502; providing the tokens to the NER model, the NER model configured to generate label and keyword pairs from the tokens as the labels and keywords as shown at S1503 and S1504.

[0746] Processor(s) 1110 can be configured to execute the method or instructions as described above, wherein the executing classification logic on the labels and keywords from the search query to determine a corresponding search logic can include referencing routing information for each label and keyword pair from the labels and keywords to determine a destination for the each label and keyword pair as shown at S1702; and forwarding each sub- query composed from the return type and the each label and keyword pair to a web server worker configured to forward the each triplet to the corresponding search logic according to the destination as shown at S1703.

[0747] Processor(s) 1110 can be configured to execute the method or instructions as described above, wherein the executing the corresponding search logic to generate the search results associated with the scores comprises searching the each sub-query and collecting the search results by a corresponding one of the labels and the score; and standardizing the scores for each of the labels as illustrated in FIG.5.

[0748] Processor(s) 1110 can be configured to execute the method or instructions as described above, wherein the executing the corresponding search logic to generate search results associated with scores can include embedding the each sub-query into vectors through an embedding model; calculating candidate ones of the search results having a highest similarity scores; collecting the candidate ones of the search results by a corresponding one of the labels and the score; and standardizing the scores for each of the labels as illustrated in FIG. 6.

[0749] Depending on the desired implementation, the NER model can be a neuron-network based model that is configured to learn from tags of label and keyword pairs responsive to historical queries.

[0750] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the essence of their innovations to others skilled in the art. An algorithm is a series of - 50 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 defined steps leading to a desired end state or result. In example implementations, the steps carried out require physical manipulations of tangible quantities for achieving a tangible result.

[0751] Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system’s registers and memories into other data similarly represented as physical quantities within the computer system’s memories or registers or other information storage, transmission or display devices.

[0752] Example implementations may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer readable medium, such as a computer readable storage medium or a computer readable signal medium. A computer readable storage medium may involve tangible mediums such as, but not limited to optical disks, magnetic disks, read-only memories, random access memories, solid- state devices, and drives, or any other types of tangible or non-transitory media suitable for storing electronic information. A computer readable signal medium may include mediums such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Computer programs can involve pure software implementations that involve instructions that perform the operations of the desired implementation.

[0753] Various general-purpose systems may be used with programs and modules in accordance with the examples herein, or it may prove convenient to construct a more specialized apparatus to perform desired method steps. In addition, the example implementations are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the example implementations as described herein. The instructions of the programming language(s) may be executed by one or more processing devices, e.g., central processing units (CPUs), processors, or controllers. - 51 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01

[0754] As is known in the art, the operations described above can be performed by hardware, software, or some combination of software and hardware. Various aspects of the example implementations may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out implementations of the present application. Further, some example implementations of the present application may be performed solely in hardware, whereas other example implementations may be performed solely in software. Moreover, the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways. When performed by software, the methods may be executed by a processor, such as a general-purpose computer, based on instructions stored on a computer readable medium. If desired, the instructions can be stored on the medium in a compressed and / or encrypted format.

[0755] Moreover, other implementations of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the teachings of the present application. Various aspects and / or components of the described example implementations may be used singly or in any combination. It is intended that the specification and example implementations be considered as examples only, with the true scope and spirit of the present application being indicated by the following claims. - 52 - 120179-0544WO01 / 7840262.1

Claims

Attorney Docket No.120179-0544WO01 CLAIMS What is claimed is:

1. A method for search execution, comprising: generating labels and keywords from a search query with a Named Entity Recognition (NER) model; executing classification logic on the labels and keywords from the search query to determine one or more corresponding search logics; executing the one or more corresponding search logics to generate search results associated with scores; combining the scores of the search results for each of the labels to generate a ranking of the search results; and providing the ranked search results in response to the search query.

2. The method of claim 1, wherein the generating the labels and keywords from the search query with the NER model comprises: utilizing a load balancer to assign the search query to a NER worker, the NER worker configured to split the query into tokens; providing the tokens to the NER model, the NER model configured to generate label and keyword pairs from the tokens as the labels and keywords. - 53 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 3. The method of claim 1, wherein the executing classification logic on the labels and keywords from the search query to determine the one or more corresponding search logics comprises: referencing routing information for each label and keyword pair from the labels and keywords to determine one or more destinations for the each label and keyword pair; and forwarding each sub-query composed of a return type and the label and keyword pair to a web server worker configured to forward each triplet as the sub-query to the corresponding search logics according to a destination.

4. The method of claim 3, wherein the executing the one or more corresponding search logics to generate the search results associated with the scores comprises: searching the each sub-query through a structured index and collecting the search results by a corresponding one of the labels and the score; and standardizing the scores for each of the labels.

5. The method of claim 3, wherein the executing the corresponding search logic to generate search results associated with scores comprises: embedding the each sub-query into vectors through an embedding model; calculating candidate ones of the search results having a highest similarity scores; collecting the candidate ones of the search results by a corresponding one of the labels and the score; and - 54 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 standardizing the scores for each of the labels.

6. The method of claim 1, wherein the NER model is a statistical or neuron-network based model that is configured to learn from tags of label and keyword pairs responsive to historical queries.

7. A system for search execution, comprising: a series of server groups, configured to: generate labels and keywords from a search query with a Named Entity Recognition (NER) model; execute classification logic on the labels and keywords from the search query to determine one or more corresponding search logics; execute the one or more corresponding search logics to generate search results associated with scores; combine the scores of the search results for each of the labels to generate a ranking of the search results; and provide the ranked search results in response to the search query.

8. The system of claim 7, wherein the series of server groups is configured to generate the labels and keywords from the search query with the NER model by: - 55 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 utilizing a load balancer to assign the search query to a NER worker, the NER worker configured to split the query into tokens; providing the tokens to the NER model, the NER model configured to generate label and keyword pairs from the tokens as the labels and keywords.

9. The system of claim 7, wherein the series of server groups is configured to execute classification logic on the labels and keywords from the search query to determine the one or more corresponding search logics by: referencing routing information for each label and keyword pair from the labels and keywords to determine a destination for the each label and keyword pair; and forwarding each sub-query composed of a return type and the each label and keyword pair to a web server worker configured to forward the each triplet as the sub- query to the corresponding search logic according to a destination.

10. The system of claim 7, wherein the series of server groups is configured to execute the corresponding search logic to generate the search results associated with the scores by: searching the each sub-query and collecting the search results by a corresponding one of the labels and the score; and standardizing the scores for each of the labels. - 56 - 120179-0544WO01 / 7840262.1Attorney Docket No.120179-0544WO01 11. The system of claim 7, wherein the series of server groups is configured to execute the one or more corresponding search logics to generate search results associated with scores by: embedding the each sub-query into vectors through an embedding model; calculating candidate ones of the search results having a highest similarity scores; collecting the candidate ones of the search results by a corresponding one of the labels and the score; and standardizing the scores for each of the labels.

12. The system of claim 7, wherein the NER model is a statistical or neuron-network based model that is configured to learn from tags of label and keyword pairs responsive to historical queries.

13. The system of claim 7, wherein execution of the classification logic and execution of the corresponding search logics is conducted in parallel. - 57 - 120179-0544WO01 / 7840262.1

Citation Information

Patent Citations

  • Question Answering Framework for Structured Query Languages

    US20140149446A1

  • Personalizing a search query using social media

    US20200401639A1

  • Bridge from natural language processing engine to database engine

    US20220035799A1

  • System and method for natural language processing for document sequences

    US20220300711A1