Search method and device using dual embedding based on normalization

KR103020857B1Active Publication Date: 2026-09-16LLOYDK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
KR1020250211714
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-12-29
Publication Date
2026-09-16
Estimated Expiration
2045-12-29

Smart Images

  • Figure 112025147789423-PAT00001_ABST
    Figure 112025147789423-PAT00001_ABST
Patent Text Reader

Abstract

The present invention relates to a search method using normalization-based dual embeddings. The search method using normalization-based dual embeddings comprises the steps of: generating a source text vector by performing embedding on source text included in a document; generating a normalized text by performing semantic-based normalization on the source text; generating a normalized vector by performing embedding on the generated normalized text; associating the source text vector and the normalized vector with an identifier of the document and storing them in a vector database; and performing a search for a query based on a plurality of source text vectors and a plurality of normalized vectors stored in the vector database.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to a search method and apparatus using normalization-based dual embeddings. Background Technology

[0003] With the recent advancement of artificial intelligence technology, question-answering systems, document search systems, and knowledge-based generation systems utilizing large language models (LLMs) are being applied across various industries. In particular, the retrieval-augmented generation (RAG) structure, which searches for relevant information from an external set of documents and generates responses based on it, is attracting significant attention.

[0004] Generally, RAG systems utilize vector search technology that converts text at the document or paragraph level into embedding vectors, transforms user queries into vectors, and searches for related documents by calculating similarity between vectors. While this vector search method has the advantage of reflecting semantic similarity compared to existing keyword-based search, it suffers from the problem that search performance is heavily dependent on the embedding method. The problem to be solved

[0006] The present invention provides a search method using normalization-based dual embeddings to solve the above-mentioned problems, a computer program stored on a computer-readable medium, a computer-readable medium storing the computer program, and a device (system). means of solving the problem

[0008] The present invention may be implemented in various ways, including a method, an apparatus (system), a computer program stored on a computer-readable medium, or a computer-readable medium on which a computer program is stored.

[0009] According to one embodiment of the present invention, a search method using normalization-based dual embeddings performed by at least one processor comprises: a step of generating a source text vector by performing embedding on source text included in a document; a step of generating a normalized text by performing semantic-based normalization on source text; a step of generating a normalized vector by performing embedding on the generated normalized text; a step of storing the source text vector and the normalized vector in a vector database by associating them with an identifier of the document; and a step of performing a search for a query based on a plurality of source text vectors and a plurality of normalized vectors stored in the vector database.

[0010] According to one embodiment of the present invention, the step of generating a normalized text by performing semantic-based normalization on a source text includes the step of removing particles, demonstratives, and pronouns included in the source text.

[0011] According to one embodiment of the present invention, the step of generating a normalized text by performing semantic-based normalization on the source text includes the step of removing duplicate words included in the source text.

[0012] According to one embodiment of the present invention, the step of performing a search for a query based on a plurality of original vectors and a plurality of normalized vectors stored in a vector database comprises: a step of generating a query vector by performing embedding for the query; a step of calculating a first set of similarity between the query vector and a plurality of original vectors stored in the vector database; a step of extracting the original vectors of the first set based on the calculated similarity of the first set; a step of calculating a second set of similarity between the query vector and a plurality of normalized vectors stored in the vector database; a step of extracting the normalized vectors of the first set based on the calculated similarity of the second set; and a step of extracting documents associated with the query based on the extracted original vectors of the first set and the normalized vectors of the first set.

[0013] According to one embodiment of the present invention, the step of extracting documents associated with a query based on the extracted original text vectors of the first set and the normalized vectors of the first set includes the step of extracting documents associated with a query based on the ranking of a plurality of documents associated with the extracted original text vectors of the first set and the normalized vectors of the first set.

[0014] According to one embodiment of the present invention, the step of extracting documents associated with a query based on the extracted original vectors of the first set and the normalized vectors of the first set comprises: extracting a first original vector and a first normalized vector having the same first document identifier among the extracted original vectors of the first set and the normalized vectors of the first set; applying a first weight to a first similarity associated with the first original vector; applying a second weight to a second similarity associated with the first normalized vector; and calculating a score of a first document associated with the first document identifier using the first similarity with the first weight applied and the second similarity with the second weight applied.

[0015] According to one embodiment of the present invention, the step of extracting documents associated with a query based on the extracted original text vectors of the first set and the normalized vectors of the first set further comprises: extracting a second original text vector and a second normalized vector having the same second document identifier among the extracted original text vectors of the first set and the normalized vectors of the first set; applying a first weight to a third similarity associated with the second original text vector; applying a second weight to a fourth similarity associated with the second normalized vector; calculating a score of a second document associated with the second document identifier using the third similarity with the first weight and the fourth similarity with the second weight; and determining the ranking of the first document and the second document based on the calculated score of the first document and the score of the second document.

[0016] According to one embodiment of the present invention, the method further includes the step of providing a query to an artificial intelligence model trained to output weights, and generating a first weight and a second weight based on a user intent corresponding to the query.

[0017] According to one embodiment of the present invention, the document is an enterprise document having a hierarchical structure.

[0018] A computer program stored on a computer-readable recording medium is provided to execute the above-described method according to one embodiment of the present invention on a computer.

[0019] A computing device according to one embodiment of the present invention includes a communication module, a memory, and at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory. The at least one program includes instructions for generating a source text vector by performing embedding on source text included in a document, generating a normalized text by performing semantic-based normalization on the source text, generating a normalized vector by performing embedding on the generated normalized text, associating the source text vector and the normalized vector with an identifier of the document and storing them in a vector database, and performing a search for a query based on a plurality of source text vectors and a plurality of normalized vectors stored in the vector database. Effects of the invention

[0021] In various embodiments of the present invention, the computing device can recognize the overall context of a document through original text embeddings while reinforcing the meaning of the document through normalized embeddings, thereby effectively improving search performance.

[0022] In various embodiments of the present invention, the computing device can effectively prevent the vector information dilution problem that may occur when embedding long paragraphs by simultaneously utilizing the original text and the normalized text, and can reduce the hallucination phenomenon of the language model during RAG-based search.

[0023] The effects of the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art to which the present invention pertains (referred to as "person skilled in the art") from the description in the claims. Brief explanation of the drawing

[0025] Embodiments of the present invention will be described with reference to the accompanying drawings described below, wherein similar reference numerals indicate similar elements, but are not limited thereto. FIG. 1 is a functional block diagram showing the internal configuration of a computing device according to one embodiment of the present invention. FIG. 2 is a block diagram showing the process of constructing a vector database according to one embodiment of the present invention. FIG. 3 is a diagram showing an example of a final document being extracted during a search process according to an embodiment of the present invention. FIG. 4 is a block diagram illustrating an example of an artificial intelligence model generating weights according to one embodiment of the present invention. FIG. 5 may show a document having a hierarchical structure according to one embodiment of the present invention. FIG. 6 is a flowchart illustrating an example of a search method using normalization-based dual embeddings according to an embodiment of the present invention. FIG. 7 is a block diagram showing the hardware configuration of a computing device according to one embodiment of the present invention. Specific details for implementing the invention

[0026] Hereinafter, specific details for implementing the present invention will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions regarding widely known functions or configurations will be omitted if there is a risk of unnecessarily obscuring the essence of the present invention.

[0027] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Additionally, in the description of the following embodiments, the description of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.

[0028] The advantages and features of the disclosed embodiments and the methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below but may be implemented in various different forms, and these embodiments are provided merely to make the present invention complete and to fully inform those skilled in the art of the scope of the invention.

[0029] The terms used in this specification will be briefly explained, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected to be as generally used as possible, taking into account their functions in the present invention; however, these terms may vary depending on the intent of those skilled in the relevant field, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this invention should be defined not merely by their names, but based on their meanings and the overall content of the present invention.

[0030] In this specification, singular expressions include plural expressions unless the context clearly specifies them as singular. Additionally, plural expressions include singular expressions unless the context clearly specifies them as plural. Throughout the specification, when a part is described as including a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0031] In the present invention, terms such as “comprising,” “comprising,” etc. may indicate the presence of features, steps, operations, elements, and / or components, but do not exclude the addition of one or more other functions, steps, operations, elements, components, and / or combinations thereof.

[0032] In the present invention, where a specific component is described as being "combined," "combined," "connected," or "reacting" with any other component, the specific component may be directly combined, combined, and / or connected, or react with the other component, but is not limited thereto. For example, one or more intermediate components may exist between the specific component and the other component. Additionally, in the present invention, "and / or" may include each of the one or more listed items or a combination of at least some of the one or more items.

[0033] In the present invention, terms such as "first," "second," etc. are used to distinguish a specific component from another component, and the components described above are not limited by these terms. For example, the "first" component may be an element of the same or similar form as the "second" component.

[0034] In the present invention, "dual embedding" may refer to embedding both the original text and the normalized text transformed from the original text. Additionally, "dual search" may refer to performing a search using both the original vector and the normalized vector.

[0035] FIG. 1 is a functional block diagram showing the internal configuration of a computing device (100) according to one embodiment of the present invention. According to one embodiment, the computing device (100) may refer to any device that performs a retrieval augmented generation (RAG) search using dual embedding. As illustrated, the computing device (100) may include a dual embedding unit (102), a dual search unit (104), a reranker (106), etc.

[0036] According to one embodiment, a computing device (100) may perform embedding on a document to build a vector database for RAG search. For example, the computing device (100) may build a vector database by dividing a document into structural semantic units to generate a plurality of original texts, and performing embedding on the generated plurality of original texts and / or normalized texts obtained by normalizing the original texts. Here, the document may be an enterprise document having a hierarchical structure, and the computing device (100) may divide the document into structural semantic units according to the hierarchical structure of such document.

[0037] According to one embodiment, the dual embedding unit (102) can generate a source text vector by performing embedding on the source text generated by dividing the document. Additionally, the dual embedding unit (102) can generate a normalized text by performing semantic-based normalization on the source text, and generate a normalized vector by performing embedding on the generated normalized text. In this case, the embedding can be performed by an embedding model such as 'bge-m3', 'Qwen Embedding', 'multilingual-e5', etc.

[0038] According to one embodiment, normalization may refer to simplifying text to include only the minimum meaning by removing or transforming unnecessary information, etc., from the original text. The dual embedding unit (102) may perform normalization on the original text using a plurality of predetermined rules. Specifically, the dual embedding unit (102) may perform normalization by removing particles, demonstratives, and pronouns included in the original text, or by removing duplicate words. Additionally or alternatively, the dual embedding unit (102) may perform normalization by resetting numbers, symbols, and / or words. In this way, when a normalized text is generated by performing normalization, the dual embedding unit (102) may generate a normalized vector by performing embedding on the normalized text.

[0039] According to one embodiment, a computing device (100) can store the generated original text vector and normalized vector in a vector database by associating them with a document identifier (e.g., document ID, document name, etc.). For example, the computing device (100) can store the original text, the original text vector, and the document identifier as metadata by associating them. Additionally, the computing device (100) can store the normalized text, the normalized vector, and the document identifier by associating them.

[0040] After the vector database is constructed in this manner, the dual search unit (104) can perform a RAG-based search using both the original text vector and the normalized vector through the constructed vector database. For example, when a query is entered by a user, the dual search unit (104) can perform embedding for the query to generate a query vector, and perform a search by comparing the similarity between the generated query vector and a plurality of original text vectors and a plurality of normalized vectors stored in the vector database.

[0041] According to one embodiment, the dual search unit (104) can calculate the similarity between a query vector and a plurality of source vectors stored in a vector database, and extract a first set of source vectors based on the calculated similarity. For example, the dual search unit (104) can extract the top n source vectors (n is a natural number) with high similarity as the first set of source vectors. In this case, the document corresponding to the first set of source vectors can be extracted as a document associated with the query.

[0042] Additionally, the dual search unit (104) can calculate the similarity between a query vector and a plurality of normalized vectors stored in a vector database, and extract a first set of normalized vectors based on the calculated similarity. For example, the dual search unit (104) can extract the top n normalized vectors (n is a natural number) with high similarity as the first set of normalized vectors. In this case, the document corresponding to the first set of normalized vectors can be extracted as a document associated with the query.

[0043] According to one embodiment, the reranker (106) can determine a final document list for RAG-based search by combining documents extracted based on a first set of original text vectors and documents extracted based on a second set of normalized vectors. For example, the reranker (106) can determine a final document list for RAG-based search by calculating scores for documents extracted based on a first set of original text vectors and documents extracted based on a second set of normalized vectors, and by readjusting the ranking of each document based on the calculated scores.

[0044] According to one embodiment, the reranker (106) can extract a first original vector and a first normalized vector having the same first document identifier among the extracted first set of original vectors and the first set of normalized vectors. In this case, the reranker (106) can apply a first weight to the first similarity associated with the first original vector and apply a second weight to the second similarity associated with the first normalized vector. Then, the reranker (106) can calculate a score of the first document associated with the first document identifier using the first similarity with the first weight and the second similarity with the second weight. Here, the first weight and the second weight may be adaptively changed according to the query.

[0045] Additionally, the reranker (106) can extract a second original text vector and a second normalized vector having the same second document identifier among the extracted original text vectors of the first set and the normalized vectors of the first set. In this case, the reranker (106) can apply a first weight to the third similarity associated with the second original text vector and apply a second weight to the fourth similarity associated with the second normalized vector. Then, the reranker (106) can calculate the score of the second document associated with the second document identifier using the third similarity with the first weight and the fourth similarity with the second weight. The reranker (106) can determine the ranking of the first document and the second document based on the scores of the first document and the second document calculated in this way. For example, the reranker (106) can calculate the score of each document and determine the ranking of the extracted documents through the process described above.

[0046] According to one embodiment, the computing device (100) can perform a RAG-based search based on a final document list determined by a reranker (106). For example, the reranker (106) can generate a final document list by extracting the top n documents (n is a natural number) with high scores, and the computing device (100) can perform a RAG-based search based on the final document list generated in this way.

[0047] In FIG. 1, each functional configuration included in the computing device (100) is described separately, but this is only to aid in understanding the invention, and one computing device may perform two or more functions. With such a configuration, the computing device (100) can recognize the overall context of the document through original text embeddings while reinforcing the meaning of the document through normalized embeddings, thereby effectively improving search performance.

[0048] FIG. 2 is a block diagram illustrating the process of constructing a vector database (210) according to an embodiment of the present invention. As described above, a computing device (100 of FIG. 1) can construct a vector database (210) using both the original text (202) and the normalized text (204).

[0049] According to one embodiment, the computing device may generate a normalized text (204) by performing semantic-based normalization on the source text (202). For example, the computing device may perform normalization by removing particles, demonstratives, and pronouns included in the source text. In another example, the computing device may perform normalization by removing duplicate words included in the source text.

[0050] According to one embodiment, the computing device may generate a source vector (206) by performing embedding on source text (202) included in a document. Additionally, the computing device may generate a normalized vector (208) by performing embedding on normalized text (204). In this case, the computing device may store the source vector (206) and the normalized vector (208) in a vector database (210) by associating them with the identifier of the document. For example, the computing device may store the source text, the source vector, and the identifier of the document, which is metadata, by associating them. Additionally, the computing device may store the normalized text, the normalized vector, and the identifier of the document by associating them.

[0051] FIG. 3 is a diagram illustrating an example in which a final document (330) is extracted during a search process according to an embodiment of the present invention. As described above, a computing device (100 in FIG. 1) can perform a search for a query based on a plurality of original vectors and a plurality of normalized vectors stored in a vector database. As a result of such a RAG-based search, a final document (330) to be used for generating an answer can be determined.

[0052] According to one embodiment, a computing device can extract original text-based documents (310) through similarity comparison. For example, the computing device can generate a query vector by performing embedding on a query and calculate a first set of similarities (e.g., cosine similarity) between the query vector and a plurality of original text vectors stored in a vector database. In this case, the computing device can extract the top n documents (n is a natural number) with the highest calculated similarity as original text-based documents (310). In the illustrated example, the original text-based documents (310) may include a first document (302), a second document (304), a third document (306), etc., in order of highest similarity.

[0053] Additionally, the computing device can extract normalized text-based documents (320) through similarity comparison. For example, it can calculate a second set of similarities between a query vector and a plurality of normalized vectors stored in a vector database. In this case, the computing device can extract the top n documents (n is a natural number) with the highest calculated similarity as normalized text-based documents (320). In the illustrated example, the normalized text-based documents (320) may include the first document (302), the fourth document (308), the third document (306), etc., in order of highest similarity.

[0054] According to one embodiment, the computing device may extract a final document (330) by combining a document based on original text (310) and a document based on normalized text (320) extracted by dual search. For example, the computing device may extract a first original text vector and a first normalized vector having the same first document identifier among a first set of original text vectors and a first set of normalized vectors. Then, the computing device may apply a first weight to a first similarity associated with the first original text vector and apply a second weight to a second similarity associated with the first normalized vector. In this case, the computing device may calculate a score of the first document associated with the first document identifier by adding the first similarity with the first weight and the second similarity with the second weight.

[0055] Likewise, the computing device may extract a second original vector and a second normalized vector having the same second document identifier among the extracted first set of original vectors and the first set of normalized vectors. Then, the computing device may apply a first weight to a third similarity associated with the second original vector and apply a second weight to a fourth similarity associated with the second normalized vector. In this case, the computing device may calculate a score for the second document associated with the second document identifier using the third similarity with the first weight and the fourth similarity with the second weight.

[0056] According to one embodiment, the computing device may calculate a score for each document in this manner and determine the rank of each document based on the calculated score. In the illustrated example, the first document (302) extracted as having the highest similarity in both the original text-based document (310) and the normalized text-based document (320) may be determined to have the highest rank, and the final document (330) may be extracted based on the score of each document. For example, the computing device may extract the top n documents (n is a natural number) with high scores as the final document (330). In another example, the computing device may extract documents with a score above a threshold as the final document (330).

[0057] Additionally or alternatively, for a document included in only one of the original text-based document (310) and the normalized text-based document (320), the value reflecting a weight to the similarity of the vector associated with the document may be determined as the score of the document. For example, if the fifth document is included only in the original text-based document (310), the score of the fifth document may be calculated by reflecting a first weight to the similarity of the vector associated with the fifth document. In another example, if the sixth document is included only in the normalized text-based document (320), the score of the sixth document may be calculated by reflecting a second weight to the similarity of the vector associated with the sixth document.

[0058] With this configuration, the computing device can effectively prevent the vector information dilution problem that may occur when embedding long paragraphs by simultaneously utilizing the original text and normalized text, and can reduce the hallucination phenomenon of the language model during RAG-based search.

[0059] FIG. 4 is a block diagram illustrating an example in which an artificial intelligence model (400) according to an embodiment of the present invention generates weights. As described above, a computing device (100 of FIG. 1) can calculate a document score by reflecting a first weight (404) to the similarity associated with the original text vector and a second weight (406) to the similarity associated with the normalized vector. At this time, the first weight (404) and the second weight (406) can be adaptively calculated by a query (402).

[0060] According to one embodiment, when a query (402) is input, a first weight (404) and a second weight (406) based on the user intent corresponding to the query (402) may be generated. That is, the user intent may be determined based on whether the contextual information of the query (402) is more important or whether the meaning of each word included in the query (402) is more important, and accordingly, the first weight (404) and the second weight (406) may be determined.

[0061] According to one embodiment, there may be an artificial intelligence model (400) trained to output weights. For example, the artificial intelligence model (400) may receive a query (402) as input and output a probability value indicating whether contextual information or the meaning of each word in the query (402) is more important. That is, the first weight (404) may be a probability value indicating the importance of contextual information in the query (402), and the second weight (406) may be a probability value indicating the importance of the meaning unit of the query (402). At this time, the sum of the first weight (404) and the second weight (406) may be determined to be 1.

[0062] FIG. 5 may show a document (500) having a hierarchical structure according to an embodiment of the present invention. As described above, the document (500) may be an enterprise document having a hierarchical structure. That is, the document (500) may be a document having a hierarchical structure such as a chapter, a section, a clause, etc. In the illustrated example, the document (500) may include a structure such as 'Chapter 1', 'Section 1-1', 'Clause 1-1', 'Clause 1-2', 'Section 1-2', etc.

[0063] According to one embodiment, a computing device (100 of FIG. 1) can generate a plurality of source texts corresponding to the document (500) by dividing the input document (500) into structural semantic units based on a chunking algorithm. In the illustrated example, a first source text corresponding to 'Clause 1-1', a second source text corresponding to 'Clause 1-2', a third source text corresponding to 'Section 1-1', a fourth source text corresponding to 'Section 1-2', etc. may be generated. With such a configuration, the computing device can effectively improve search performance by preventing the generation of ambiguous vectors due to semantic fragmentation by dividing into structural semantic units and using a plurality of source texts and a normalized text obtained by normalizing them.

[0064] FIG. 6 is a flowchart illustrating an example of a search method (600) using normalization-based dual embeddings according to an embodiment of the present invention. The search method (600) using normalization-based dual embeddings may be performed by at least one processor (e.g., at least one processor of a computing device). The search method (600) using normalization-based dual embeddings may be initiated by the processor performing embeddings on original text included in a document to generate an original text vector (S610). Here, the document may be an enterprise document having a hierarchical structure.

[0065] According to one embodiment, the processor can generate a normalized text by performing semantic-based normalization on the source text (S620). For example, the processor can remove particles, demonstratives, and pronouns included in the source text. In another example, the processor can remove duplicate words included in the source text.

[0066] According to one embodiment, the processor can generate a normalized vector by performing embedding on the generated normalized text (S630). Additionally, the processor can store the original text vector and the normalized vector in a vector database by associating them with the identifier of the document (S640).

[0067] According to one embodiment, the processor can perform a search for a query based on a plurality of original vectors and a plurality of normalized vectors stored in a vector database (S650). The processor can generate a query vector by performing embedding for the query and calculate a first set of similarity between the query vector and a plurality of original vectors stored in the vector database. Additionally, the processor can extract original vectors of a first set based on the calculated similarity of the first set and calculate a second set of similarity between the query vector and a plurality of normalized vectors stored in the vector database. The processor can extract normalized vectors of a first set based on the calculated similarity of the second set and extract documents associated with the query based on the extracted original vectors of the first set and normalized vectors of the first set.

[0068] According to one embodiment, the processor may extract documents associated with a query based on the ranking of a plurality of documents associated with the extracted first set of original vectors and the first set of normalized vectors. For example, the processor may extract a first original vector and a first normalized vector having the same first document identifier among the extracted first set of original vectors and the first set of normalized vectors, apply a first weight to a first similarity associated with the first original vector, and apply a second weight to a second similarity associated with the first normalized vector. Then, the processor may calculate a score for the first document associated with the first document identifier using the first similarity with the first weight and the second similarity with the second weight. Here, the processor may generate a first weight and a second weight based on user intent corresponding to the query by providing the query to an artificial intelligence model (e.g., a classification model) trained to output weights.

[0069] Additionally, the processor may extract a second original vector and a second normalized vector having the same second document identifier among the extracted first set of original vectors and the first set of normalized vectors, apply a first weight to a third similarity associated with the second original vector, and apply a second weight to a fourth similarity associated with the second normalized vector. Then, the processor may calculate a score for the second document associated with the second document identifier using the third similarity with the first weight and the fourth similarity with the second weight. In this case, the processor may determine the ranking of the first document and the second document based on the calculated scores of the first document and the second document.

[0070] FIG. 7 is a block diagram showing the hardware configuration of a computing device (100) according to an embodiment of the present invention. According to an embodiment, the computing device (100) may include a memory (710), a processor (720), a communication module (730), and an input / output interface (740). As shown in FIG. 7, the computing device (100) may be configured to communicate information and / or data over a network using the communication module (730).

[0071] The memory (710) may include any non-transient computer-readable recording medium. According to one embodiment, the memory (710) may include a permanent mass storage device such as random access memory (RAM), read-only memory (ROM), disk drive, solid state drive (SSD), flash memory, etc. As another example, a permanent mass storage device such as ROM, SSD, flash memory, disk drive, etc. may be included in the computing device (100) as a separate permanent storage device distinct from the memory. Additionally, an operating system and at least one program code may be stored in the memory (710).

[0072] These software components may be loaded from a computer-readable recording medium separate from the memory (710). This separate computer-readable recording medium may include a recording medium that can be directly connected to the computing device (100), for example, a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, or memory card. As another example, the software components may be loaded into the memory (710) via a communication module (730) rather than a computer-readable recording medium. For example, at least one program may be loaded into the memory (710) based on a computer program installed by files provided through the communication module (730) by developers or a file distribution system that distributes installation files for the application.

[0073] The processor (720) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to a user terminal (not shown) or another external system by memory (710) or a communication module (730).

[0074] The communication module (730) may provide a configuration or function for a user terminal (not shown) and a computing device (100) to communicate with each other via a network, and may provide a configuration or function for the computing device (100) to communicate with an external system (e.g., a separate cloud system). For example, control signals, commands, data, etc. provided under the control of the processor (720) of the computing device (100) may be transmitted to the user terminal and / or the external system through the communication module (730) and the network, and through the communication module of the user terminal and / or the external system.

[0075] Additionally, the input / output interface (740) of the computing device (100) may be a means for interfacing with a device (not shown) for input or output that is connected to the computing device (100) or that the computing device (100) may include. In FIG. 7, the input / output interface (740) is shown as an element configured separately from the processor (720), but is not limited thereto, and the input / output interface (740) may be configured to be included in the processor (720). The computing device (100) may include more components than those shown in FIG. 7. However, there is no need to clearly illustrate most of the prior art components.

[0076] The processor (720) of the computing device (100) may be configured to manage, process, and / or store information and / or data received from a plurality of user terminals and / or a plurality of external systems.

[0077] The methods and / or various embodiments described above may be realized in digital electronic circuits, computer hardware, firmware, software, and / or combinations thereof. Various embodiments of the present invention may be executed by a data processing device, for example, one or more programmable processors and / or one or more computing devices, or implemented as a computer program stored on a computer-readable recording medium and / or a computer program stored on a computer-readable recording medium. The computer program described above may be written in any form of programming language, including a compiled language or an interpreted language, and may be distributed in any form, such as a standalone program, a module, a subroutine, etc. The computer program may be distributed through a single computing device, a plurality of computing devices connected through the same network, and / or a plurality of computing devices distributed to be connected through a plurality of different networks.

[0078] The above-described methods and / or various embodiments may be performed by one or more processors configured to execute one or more computer programs that process, store, and / or manage any functions, functions, etc. by operating based on input data or generating output data. For example, the methods and / or various embodiments of the present invention may be performed by special-purpose logic circuits such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and an apparatus and / or system for performing the methods and / or embodiments of the present invention may be implemented as a special-purpose logic circuit such as an FPGA or an ASIC.

[0079] One or more processors executing a computer program may include one or more processors of a general-purpose or special-purpose microprocessor and / or any type of digital computing device. The processor may receive instructions and / or data from each of read-only memory and random access memory, or receive instructions and / or data from read-only memory and random access memory. In the present invention, components of a computing device performing the methods and / or embodiments may include one or more processors for executing instructions and one or more memory devices for storing instructions and / or data.

[0080] According to one embodiment, a computing device may exchange data with one or more mass storage devices for storing data. For example, the computing device may receive and / or receive data from a magnetic disc or an optical disc, and may transfer data to a magnetic disc or an optical disc. A computer-readable storage medium suitable for storing instructions and / or data associated with a computer program may include, but is not limited to, any form of non-volatile memory including semiconductor memory devices such as EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable PROM), and flash memory devices. For example, a computer-readable storage medium may include magnetic discs such as internal hard disks or removable disks, optical magnetic discs, CD-ROMs, and DVD-ROMs.

[0081] To provide interaction with a user, the computing device may include, but is not limited to, a display device for providing or displaying information to the user (e.g., CRT (Cathode Ray Tube), LCD (Liquid Crystal Display), etc.) and a pointing device (e.g., keyboard, mouse, trackball, etc.) on which the user can provide input and / or commands, etc. on the computing device. That is, the computing device may further include any other type of device for providing interaction with the user. For example, the computing device may provide any form of sensory feedback to the user for interaction with the user, including visual feedback, auditory feedback and / or tactile feedback. In this regard, the user may provide input to the computing device through various gestures such as visual, vocal, and motion.

[0082] In the present invention, various embodiments may be implemented in a computing system comprising backend components (e.g., data servers), middleware components (e.g., application servers), and / or frontend components. In this case, the components may be interconnected by any form or medium of digital data communication, such as a communication network. For example, the communication network may include a Local Area Network (LAN), a Wide Area Network (WAN), etc.

[0083] A computing device based on the exemplary embodiments described herein may be implemented using hardware and / or software configured to interact with a user, including a user device, a user interface (UI) device, a user terminal, or a client device. For example, the computing device may include a portable computing device such as a laptop computer. Additionally or alternatively, the computing device may include, but is not limited to, Personal Digital Assistants (PDAs), tablet PCs, game consoles, wearable devices, Internet of Things (IoT) devices, Virtual Reality (VR) devices, Augmented Reality (AR) devices, etc. The computing device may further include other types of devices configured to interact with a user. Additionally, the computing device may include a portable communication device suitable for wireless communication over a network such as a mobile communication network (e.g., a mobile phone, a smartphone, a wireless cellular phone, etc.). A computing device may be configured to communicate wirelessly with a network server using wireless communication technologies and / or protocols such as radio frequency (RF), microwave frequency (MWF) and / or infrared frequency (IRF).

[0084] Various embodiments of the present invention, including specific structural and functional details, are exemplary. Accordingly, the embodiments of the present invention are not limited to those described above and may be implemented in various other forms. Furthermore, the terms used in the present invention are intended to describe some embodiments and are not to be interpreted as limiting the embodiments. For example, singular words and the above may be interpreted to include plural forms unless the context clearly indicates otherwise.

[0085] In this invention, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art to which such concepts belong. Furthermore, commonly used terms, such as those defined in advance, should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology.

[0086] Although the present invention has been described in relation to some embodiments, various modifications and changes may be made without departing from the scope of the invention as understood by a person skilled in the art to which the invention pertains. Furthermore, such modifications and changes should be considered to fall within the scope of the claims appended to this specification. Explanation of the symbols

[0088] 100: Computing device 102: Dual Embedding Unit 104: Dual Search Unit 106: Reranker

Claims

Claim 1 A search method using normalization-based dual embeddings performed by at least one processor, comprising: a step of generating a source text vector by performing embedding on source text included in a document; a step of generating a normalized text by performing semantic-based normalization on the source text; a step of generating a normalized vector by performing embedding on the generated normalized text; and a step of storing the source text vector and the normalized vector in a vector database by associating them with an identifier of the document. The method comprises the step of performing a search for a query based on a plurality of original vectors and a plurality of normalized vectors stored in the vector database; wherein the step of performing a search for a query based on a plurality of original vectors and a plurality of normalized vectors stored in the vector database comprises: a step of generating a query vector by performing embedding for the query; a step of calculating a first set of similarity between the query vector and the plurality of original vectors stored in the vector database; a step of extracting the original vectors of the first set based on the calculated similarity of the first set; a step of calculating a second set of similarity between the query vector and the plurality of normalized vectors stored in the vector database; and a step of extracting the normalized vectors of the first set based on the calculated similarity of the second set. The method comprises the step of extracting documents associated with the query based on the extracted original text vectors of the first set and the normalized vectors of the first set; wherein the step of extracting documents associated with the query based on the extracted original text vectors of the first set and the normalized vectors of the first set comprises: the step of extracting a first original text vector and a first normalized vector having the same first document identifier among the extracted original text vectors of the first set and the normalized vectors of the first set; the step of applying a first weight to a first similarity associated with the first original text vector; and the step of applying a second weight to a second similarity associated with the first normalized vector.A search method using normalization-based dual embedding, comprising: a step of calculating a score of a first document associated with a first document identifier using a first similarity reflecting the first weight and a second similarity reflecting the second weight; and further comprising a step of generating the first weight and the second weight based on a user intent corresponding to the query by providing the query to an artificial intelligence model trained to output weights. Claim 2 A search method using normalization-based dual embeddings according to claim 1, wherein the step of generating a normalized text by performing semantic-based normalization on the original text comprises the step of removing particles, demonstratives, and pronouns included in the original text. Claim 3 A search method using normalization-based dual embeddings according to claim 1, wherein the step of generating a normalized text by performing semantic-based normalization on the original text comprises the step of removing duplicate words included in the original text. Claim 4 delete Claim 5 A search method using normalization-based dual embeddings according to claim 1, wherein the step of extracting documents associated with the query based on the extracted original text vector of the first set and the normalized vector of the first set comprises the step of extracting documents associated with the query based on the ranking of a plurality of documents associated with the extracted original text vector of the first set and the normalized vector of the first set. Claim 6 delete Claim 7 A search method using normalization-based dual embedding according to claim 1, wherein the step of extracting documents associated with the query based on the extracted original text vector of the first set and the normalized vector of the first set further comprises: a step of extracting a second original text vector and a second normalized vector having the same second document identifier among the extracted original text vector of the first set and the normalized vector of the first set; a step of applying a first weight to a third similarity associated with the second original text vector; a step of applying a second weight to a fourth similarity associated with the second normalized vector; a step of calculating a score of a second document associated with the second document identifier using the third similarity with the first weight and the fourth similarity with the second weight; and a step of determining the ranking of the first document and the second document based on the calculated score of the first document and the score of the second document. Claim 8 delete Claim 9 In claim 1, the above document is a search method using normalization-based dual embeddings, which is an enterprise document having a hierarchical structure. Claim 10 A computer program stored on a computer-readable recording medium for executing a method according to any one of paragraphs 1 through 3, 5, 7 and 9 on a computer. Claim 11 As a computing device, communication module; memory; and includes at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory, wherein the at least one program performs embedding on original text included in a document to generate an original text vector, performs semantic-based normalization on the original text to generate a normalized text, performs embedding on the generated normalized text to generate a normalized vector, associates the original text vector and the normalized vector with an identifier of the document and stores them in a vector database, performs a search for a query based on a plurality of original text vectors and a plurality of normalized vectors stored in the vector database, performs embedding on the query to generate a query vector, calculates a first set of similarity between the query vector and the plurality of original text vectors stored in the vector database, extracts the first set of original text vectors based on the calculated first set of similarity, calculates a second set of similarity between the query vector and the plurality of normalized vectors stored in the vector database, and extracts the first set of normalized vectors based on the calculated second set of similarity Extracting a vector, extracting a document associated with the query based on the extracted original vector of the first set and the normalized vector of the first set, extracting a first original vector and a first normalized vector having the same first document identifier among the extracted original vector of the first set and the normalized vector of the first set, applying a first weight to a first similarity associated with the first original vector, applying a second weight to a second similarity associated with the first normalized vector, and calculating a score of a first document associated with the first document identifier using the first similarity with the first weight applied and the second similarity with the second weight applied.A computing device comprising instructions for generating the first weight and the second weight based on a user intent corresponding to the query by providing the above query to an artificial intelligence model trained to output weights.

Citation Information

Patent Citations

  • Method for providing meaning search service through semantic analysis

    KR1020230156242A