Computer-implemented method for searching a data set corresponding to a search data set in a database
The method uses vector embeddings and semantic similarity searches to efficiently identify and merge high-relevance records in large datasets, addressing the inefficiencies of existing search methods by reducing computing time and resource use.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ABP SERVICES GMBH
- Filing Date
- 2025-10-28
- Publication Date
- 2026-05-07
AI Technical Summary
Existing methods for searching complex datasets such as long texts, images, videos, or engineering drawings are time-consuming and resource-intensive due to excessive hits and infrastructure load, with relevant data often hidden within vast amounts of data.
A computer-implemented method involving vector embeddings and semantic similarity searches to identify and merge records with the highest content similarity, reducing the number of records requiring further processing and optimizing computing power.
This approach significantly reduces computing time and resource consumption by focusing on high-relevance records, improving hit rates and search efficiency in large datasets.
Smart Images

Figure AT2025060396_07052026_PF_FP_ABST
Abstract
Description
[0001] Computer-implemented method for searching a database for a record corresponding to a search record.
[0002] The invention relates to a computer-implemented method for searching for a data set corresponding to a search data set in a database.
[0003] Comparing complex datasets such as long texts, images, videos, or engineering drawings with a search record or source document is very time-consuming. The problem lies in the fact that too many documents are identified as relevant by the search engine or artificial intelligence, resulting in an excessive number of hits. This also leads to excessive processing time and infrastructure load. Consequently, the relevant dataset often remains hidden within the vast amount of data.
[0004] There have been numerous attempts in the prior art to classify and tag long and complex texts using computer-implemented methods to make them comparable. The main problem is that a revelation can be contained in different places within a dataset. These individual revelation locations within a dataset can have varying degrees of relevance for the search.
[0005] The object of the present invention is to overcome the disadvantages of the prior art and to provide a method by which a data set can be compared with a search data set using low computing power and simple infrastructure, as well as in a resource-efficient manner.
[0006] This problem is solved by a method according to the claims.
[0007] According to the invention, a computer-implemented method for searching a database for a data record corresponding to a search record is provided. The method comprises the following steps:
[0008] - Providing the search data set in digital form;
[0009] - Creating an initial vector embedding and / or a direct representation of the search dataset;
[0010] - Providing at least one vector embedding per record for each record in the dataset; - Comparing the first vector embedding of the search record with the vector embedding of the records in the dataset;
[0011] - Automated selection from a predetermined number of data records for which the comparison of the vector embedding of the search data record with the vector embedding of the data records in the database shows the highest match, as a first intermediate result;
[0012] - Searching for records in the database that have a content similarity to the search record;
[0013] - Automated selection of a predetermined number of data records that show the highest degree of content similarity to the search data record, as a second intermediate result;
[0014] - Automated merging of the data sets of the first intermediate result and the data sets of the second intermediate result into a first result;
[0015] - Further processing of the initial result using data technology.
[0016] An advantage of this approach, according to the above characteristics, is that the process can be divided into several steps, thus saving computing time. This is because the multi-step approach can achieve a better hit rate for relevant data records when dealing with a large dataset, thereby avoiding the need for a complete reprocessing of all data records.
[0017] Providing the search data set in digital form has the technical effect that it can be easily processed in a computing unit and its content can therefore be easily and efficiently compared with a large number of data sets in the database.
[0018] Creating an initial vector embedding for the search dataset has the technical effect of transforming the search dataset into a format that allows for efficient comparison—that is, with minimal effort and time—with a very large number of complex documents that also have vector embeddings. Specifically, the initial vector embedding is intended to be in digital form.
[0019] Providing at least one vector embedding per record for every record in the dataset has the technical effect of ensuring that the dataset, consisting of complex documents, is in a format that allows for easy and large-scale comparison with the search record. The dataset can thus contain, for example, over 100 million complex documents. Having at least one vector embedding per record offers the advantage that every record in the dataset can be compared with the search record. The dataset does not need to include all globally available records; it can be pre-selected.
[0020] For example, the search function might be designed to locate patent literature documents. Theoretically, the globally available database could, for instance, comprise all patent literature publications.
[0021] Comparing the first vector embedding of the search record with the vector embedding of the records in the dataset has the technical effect of enabling the comparison of complex texts and thus allowing searching within complex texts. By comparing the first vector embedding of the search record with the vector embedding of the records in the dataset, the "approximate nearest neighbors" vector embeddings of the records in the dataset with respect to the first vector embedding of the search record can be identified.
[0022] Vector embeddings are numerical values in an n-dimensional vector space used to describe the content of a dataset. Thus, a vector embedding represents the content of a dataset in the form of numerical values. LLM models can be used to create vector embeddings. In particular, it can be intended that the vector embeddings are linked to the respective dataset.
[0023] The automated selection of a predetermined number of records, for which the comparison of the vector embedding of the search record with the vector embedding of the records in the database shows the highest match, as a first intermediate result, has the technical effect of reducing the number of records for further processing, thereby saving computing power. No user interaction is required for the automated selection of a predetermined number of records. The predetermined number can be set or adjusted by the developer, a system administrator, and / or a user.
[0024] Searching for records within the dataset that exhibit a content similarity to the search record offers the advantage of performing a second search of the dataset using a different approach than vector search. This allows for the discovery of records that were not found in the vector search. In particular, it can be specified that vectors are explicitly excluded from the content similarity comparison.
[0025] A semantic similarity can be detected using a semantic data model. A semantic similarity can also be textual or keyword-based. A semantic similarity can also be found using a graph of a graph neural network (GNN) created for the search data. In particular, a direct representation of the search data can be provided, whereby a semantic similarity between the search data and the corresponding data records in the database can be found using this direct representation.
[0026] The automated selection of a predetermined number of records that exhibit the highest degree of content similarity to the search record, as a second intermediate result, offers the technical advantage of reducing the number of records required for further processing, thereby saving computing power. No user interaction is necessary for the automated selection of a predetermined number of records. The predetermined number can be set or adjusted by the developer, a system administrator, and / or a user.
[0027] The automated merging of the data records from the first intermediate result and the data records from the second intermediate result into a single initial result offers the technical advantage that the result comprises a limited number of data records, representing the best search matches in the database. This results in several energy savings. For example, further data processing only needs to be performed on a limited number of documents, thus saving computing power. Furthermore, the resulting set of matching documents eliminates the need for computationally intensive search adjustments or researches.
[0028] Furthermore, the invention relates to a processor configured to execute the method. This ensures efficient processing of the method steps. Additionally, the invention relates to a computer program comprising instructions that, when executed by a computer, cause the computer to perform the method. This allows all method steps to be controlled or imitated from a single program code.
[0029] Furthermore, the invention relates to a computer-readable storage medium containing instructions which, when executed by a computer, cause the computer to perform the method. This advantageously allows the instructions to be shared.
[0030] The invention also relates to an interface which is configured to be able to access the computer program and to transfer results, search records, search record parts, data records and data record parts to a second computer program product for further processing.
[0031] Furthermore, it may be useful if the procedure includes the following procedural steps:
[0032] - Providing a second result, the second result being calculated by the following procedural steps:
[0033] + Creating an intermediate data set, whereby the records of the first result are excluded from the data set to create the intermediate data set;
[0034] + further comparison
[0035] - the first vector embedding of the search data set with the vector embedding of the data sets in the intermediate data set or
[0036] - by creating a second vector embedding for the search record and comparing the second vector embedding of the search record with the vector embedding of the records in the intermediate data set;
[0037] + Selecting a predetermined number of data records for which the comparison of the vector embedding of the search data record with the vector embedding of the data records in the intermediate data set shows the highest match, as a second result; and in a further procedural step, merging the data records of the first result and the data records of the second result into a merged result.
[0038] These procedural steps offer the advantage that the hits from the previously performed comparison are no longer present in subsequent comparisons. This reduces the required computing power and processing time. Furthermore, it can improve the overall quality of the results.
[0039] In particular, it may be provided that two different LLM models are used to create the first vector embedding and to create the second vector embedding.
[0040] Furthermore, it is possible for the first vector embedding and the second vector embedding to be based on different parts of the respective datasets. For example, the first vector embedding can be created for the text of a dataset, and the second vector embedding can be created for the images of a dataset. It is also conceivable that the first vector embedding and the second vector embedding are created for different text parts or image parts of a dataset.
[0041] Furthermore, it can be provided that the individual data records of the merged result are displayed unsorted according to their merge order using an output device. This has the advantage that no computing power is required for further processing, thus saving energy.
[0042] Furthermore, it may be stipulated that, in order to create the intermediate dataset, not only the data records of the first intermediate result are excluded from the dataset, but also data records linked to the data records of the first intermediate result, in particular further patent documents that are linked to patent documents constituting the first intermediate result by at least one identical priority claim. This has the advantage that this measure further reduces the number of documents to be processed, thereby saving further computing power.
[0043] Another advantageous configuration is one in which the search for records in the database that have a semantic similarity to the search record is carried out on the basis of a "More Like This Query" from the search engine provider Elasticsearch.
[0044] A "More Like This Query" is a query from the search engine provider Elasticsearch. The "More Like This" query works by searching for a set of words from the "like" text or search dataset. These words are selected based on their TF-IDF score. The TF-IDF score is a statistical measure used to assess how important a word is to a document within a collection or corpus. Importance increases proportionally to the frequency with which a word appears in the document but is also influenced by the word's frequency in the corpus. Once the words are selected, the More_Like_This query creates a disjoint query (a Boolean "should" query) using these terms. Documents containing more of these terms are ranked higher.
[0045] According to further training, it is possible for the database to encompass all available patent documents, or to include only a selected patent document for each simple patent family across all available patent families. This offers the technical advantage that patent documents have a structured format and represent the majority of humankind's technical knowledge. Therefore, searching patent documents can save computing power, as this data space allows for efficient searching.
[0046] Furthermore, it can be advantageous to limit the search data set from a theoretically available global database. This has the advantage of reducing the computing power required for the search.
[0047] An illustrative example is again provided using patent literature. To save storage space and increase search speed, it can be advantageous for the search database to not include all theoretically available patent documents globally, but rather to contain a selected number of them. For example, the search database could include only publications from a specific CPC class, IPC class, F-Term classification, ECLA (European Patent Classification), DEKLA (German Classification), or other classification. Furthermore, the search database could be pre-filtered using Boolean operations.Furthermore, it may be stipulated that the database used for the search only includes publications with a specific publication language.
[0048] Furthermore, it can be stipulated that the database used for the search excludes certain publications based on specific criteria. For example, the database used for the search can exclude documents with a specific document type code, such as B-type publications.
[0049] Furthermore, it can be provided that the vector embeddings are generated based on a large language model. This has the advantage that a large number of vector embeddings can be created in an energy-efficient manner.
[0050] Furthermore, it may be useful to provide at least one first vector embedding and a different second vector embedding for each data record in the data set, whereby the following procedural steps are carried out for the second vector embedding:
[0051] - Comparison of a second vector embedding of the search data set with the second vector embedding of the data sets in the database;
[0052] - Selecting a predetermined number of data records for which the comparison of the second vector embedding of the search data record with the second vector embedding of the data records in the data set shows the highest match, as an additional vector intermediate result;
[0053] - Combining the additional vector intermediate result with the first intermediate result, with the first result, or with the combined result.
[0054] These measures offer the advantage of further improving search results, eliminating the need for computationally intensive search adjustments or a new search.
[0055] Furthermore, it may be possible to create the first and second vector embeddings for different parts of the dataset. Specifically, the first vector embedding could represent only the text or text parts of the dataset, while the second vector embedding could represent a formula, a structural formula, a video, a drawing, a CAD file, an image, or an audio file, or parts thereof. These measures offer the advantage of further improving search results, eliminating the need for computationally intensive search adjustments or re-searches. In particular, it may be possible to create a textual description from the formula, structural formula, video, drawing, CAD file, image, or audio file, or parts thereof, using an LLM model, and then to create the second vector embedding based on this textual description.In particular, it may be provided that, for example, a separate vector embedding is created for the drawings appearing in the patent application.
[0056] Furthermore, it can be provided that the first vector embedding is generated based on a first large language model and that the second vector embedding is generated based on a second large language model, where the first and second large language models are different. This has the advantage that the search result can be further improved, thereby eliminating the need for computationally intensive search adjustments or a complete search.
[0057] According to further training, the following procedural steps may be planned:
[0058] - Assignment of a sorting vector embedding to search record parts;
[0059] - Providing a sort vector embedding to data records and / or data record parts of the first result or the merge result;
[0060] - Determining an initial match and rating with an initial match score for each data set part of each data set of the initial result or the merge result based on comparison with the search data set parts of the search data set;
[0061] - Ranking of the individual data set parts and data processing depending on the first match value as a result.
[0062] This has the advantage of improving the display of data records in the correct order. This saves energy, as unnecessary further searches are eliminated. Furthermore, the reordering process itself is also energy-efficient.
[0063] Furthermore, it may be useful if the procedure additionally includes the following procedural steps:
[0064] - Determining a second match and evaluating it with a second match score for the dataset, which is based on a weighted calculation of the first match scores of the individual dataset parts of this one dataset; and
[0065] - Storing and evaluating search results for data records and their associated data record components based on the second match value, and processing the data based on the second match value, or displaying the results in a user interface in a ranked format based on the second match value. Such a method can be highly energy efficient.
[0066] Furthermore, the search record can be configured to comprise multiple search record parts, each containing a text passage. Text-based searches, in particular, can be designed to be energy-efficient, as they allow for a clear description of a technical issue or object.
[0067] The input of user commands into an input element can, for example, be text input into a text window. The input can also be speech input, which is converted into text using "speech-to-text".
[0068] In particular, it may be provided that an editing function is provided for the search record or the individual parts of the search record, so that its content and / or the division of the search record parts can be adjusted by the user.
[0069] Furthermore, it may be useful to generate the search record and the search record components using the following procedural steps:
[0070] - Input of user commands into an input element and thereby obtaining input text, or extraction of an existing text and thereby obtaining the input text;
[0071] - Processing the input text using a large language model and generating a search record text from it, which differs from the input text and forms the search record;
[0072] - Splitting the search data set into individual search data set parts.
[0073] This is an energy-efficient way to generate the search data set.
[0074] Furthermore, it may be provided that the search record and the search record components are generated by the following procedural steps:
[0075] - Analysis of a file using a large language model and automated generation of a description of the file's contents as input text; - Processing of the input text using a large language model and generation of a search record text that differs from the input text and forms the search record;
[0076] - Splitting the search data set into individual search data set parts.
[0077] This is an energy-efficient way to generate the search data set.
[0078] In particular, the file may be a digital image file. Furthermore, the file may be a video file. Furthermore, the file may be a CAD file. Furthermore, the file may be an audio file.
[0079] In particular, it may be provided that an editing function is provided for the search record or the individual parts of the search record, so that its content and / or the division of the search record parts can be adjusted by the user.
[0080] Furthermore, it may be provided that the large language model for analyzing the file and the large language model for processing the input text are two different language models.
[0081] Furthermore, the file may contain a CAD model, specifically in STEP format. Such files, in particular, can be processed easily and energy-efficiently from a data processing perspective.
[0082] Another advantageous implementation involves generating the vector embedding of the data records in a preprocessing stage, with the vector embedding then being stored and assigned to the respective data record. This offers the advantage of making the vector embedding available for fast and energy-efficient searches.
[0083] In a first implementation variant, it can be provided that only one vector embedding is stored for each data record.
[0084] In another implementation variant, it can be provided that several vector embeddings are stored for each data set.
[0085] According to a training course, it is possible to analyze the data age of records in the database during an update process. For those records that have been updated or newly added to the database, a vector embedding is generated and stored, assigned to the respective data record. This has the advantage of minimizing the number of vectors to be processed. This saves storage space and also reduces processing power consumption, thus conserving energy.
[0086] Furthermore, it can be advantageous to store the data records in indexes grouped together. This has the benefit of minimizing the computing power required for searches.
[0087] Furthermore, it can be provided that the data records of the database are stored completely in the respective index, and that the data records of the database are partially stored as duplicates in different indexes. This has the advantage that each index contains a complete copy of the data records of the database belonging to that index. Thus, the respective index can, for example, be implemented "on-premises" at a party's site.
[0088] For the purposes of this document, a simple patent family is a group of patent documents relating to a single invention. The technical content of the patent documents is considered identical. All individual patent documents within a simple patent family have exactly the same priority claims.
[0089] The following will be taken into account:
[0090] • First-time registrations
[0091] A first filing is a patent application or utility model application whose priority is claimed in accordance with the Paris Convention.
[0092] • Preliminary initial registrations
[0093] A preliminary initial filing is a preliminary US filing, a preliminary AT filing, or a preliminary filing in any other country where such a system exists. • Initial filings corresponding filings
[0094] A US continuation-in-part filing is equivalent to an initial filing.
[0095] Not included in the automatic creation
[0096] • Continuation applications to an existing parent application
[0097] • Sub-registrations to an existing parent registration
[0098] Continuation applications and divisional applications have the same technical content as the parent application. Regardless of priority claims, continuation applications and divisional applications always belong to the patent family of the parent application.
[0099] For the purposes of this document, a patent document may be, for example, a patent application, a utility model application, a granted patent, etc.
[0100] The entire database can, for example, include all available patent applications ever filed. The entire database can also include all other documents ever published.
[0101] Furthermore, it is also conceivable that the database includes legal cases. In particular, it may be intended that the database includes decisions from already decided legal cases. This can also be referred to as case law. Specifically, it may be intended that the database is limited to decisions from already decided legal cases in a selected state.
[0102] Determining an initial relevance score for each data record, based on a comparison with the search dataset, can serve the purpose of narrowing down the entire database of all ever-published documents for subsequent processing steps. This allows further processing steps to consider only those documents with an initial relevance score above a predefined threshold. Within this narrowed dataset, further searching, sorting, and ranking of the records can then be performed.
[0103] Furthermore, a procedure may include the following steps: searching from the search record, which comprises search record components, where each search record component is semantically, graphically, or technically related; assigning a vector embedding to the search record and / or to the search record components; assigning a vector embedding in the dataset to data records and / or data record components stored therein; determining an initial relevance and evaluation with an initial relevance value for each data record based on a comparison with the search record; comparing the individual data record components with an initial relevance value above an initial relevance threshold, where the comparison is performed individually with the semantically or technically related search record components of the search record.Determining a second relevance and evaluation using the second relevance value for each data set component of a data set based on a comparison with the search data set components of the search data set; and ranking the individual data set components and processing them according to the second relevance value as a single result.
[0104] The advantage of this approach in the first embodiment is that the process can be divided into several steps, saving computing time by performing more computationally intensive steps or comparisons only after an initial relevance assessment and the elimination of data records that can no longer be processed. Additionally, it is advantageous that the search result accuracy in the details of the data record can be significantly improved by ranking the results based on a second relevance value.
[0105] Those data records that exhibit an initial relevance value above a certain threshold can also be referred to as hit records. A data record or hit record can be, for example, a single document such as a patent application or patent specification, an operating manual, a CAD drawing or CAD model, a scientific article, a book or online book, a photograph, a series of photographs, or a video of a physical object, or even the object itself, or any other digital description or image of the object, or any other document.
[0106] A data record part or a hit data record part can be a partial excerpt of a data record or a hit data record, in particular from one of the above documents.
[0107] The search process begins with a search record that includes parts of the search record, each of which has its own semantically, graphically, or technically related components. This search can be performed across an entire dataset. For example, the entire dataset could include all patent applications ever filed. It could also include all other documents ever published.
[0108] Furthermore, it is also conceivable that the database includes legal cases. In particular, it may be intended that the database includes decisions from already decided legal cases. This can also be referred to as case law. Specifically, it may be intended that the database is limited to decisions from already decided legal cases in a selected state.
[0109] Determining an initial relevance score for each data record, based on a comparison with the search dataset, can serve the purpose of narrowing down the entire database of all ever-published documents for subsequent processing steps. This allows further processing steps to consider only those documents with an initial relevance score above a predefined threshold. Within this narrowed dataset, further searching, sorting, and ranking of the records can then be performed.
[0110] In the process step of comparing the individual data set components of the data sets with an initial relevance value above a first relevance threshold, whereby the comparison is performed individually with the semantically or technically related search data set components of the search data set, only those data sets with an initial relevance value above a first relevance threshold can be considered, as already described in the previous paragraph and again here. This process step can therefore be performed within the already narrowed data set. The individual data set components of those data sets that exhibit an initial relevance value above a first relevance threshold can thus be compared with the semantically or technically related search data set components of the search data set.
[0111] From this comparison of the individual data set components with the semantically or technically related search data set components, a second relevance can be determined, and an evaluation with this second relevance value can be performed for each data set component. Each of the individual data set components of all pre-selected data sets can be assigned a second relevance value with regard to its correspondence with each of the search data set components. The ranking of the individual data set components and their data processing, depending on the second relevance value, can be performed for each of the search data set components.
[0112] In a further optional variant, the procedure also includes the following steps: determining a third relevance and evaluation with a third relevance value for the data set, which is based on a weighted calculation of the second relevance values of the individual data set parts of this one data set; and storing a search and evaluation result of data sets and the associated data set parts depending on the third relevance value and data processing depending on the third relevance value or display in a user interface in ranked form depending on the third relevance value.
[0113] Another advantage of this method variant is that the search results can be significantly improved, and further computationally intensive data processing steps, such as storage or display, can be limited to those data records that are of particular relevance after a new ranking with a third relevance value.
[0114] Furthermore, it can be advantageous if the vector embedding is a numerical representation of text, words, phrases, images, or documents. This allows searching not only for exact matches but also for similar datasets.
[0115] Another advantageous approach is to generate the vector embedding for search data set components and / or data set components using a machine learning process or a large language model. This allows a search to find results that only have an indirect linguistic, graphical, or technical match.
[0116] Another optional approach involves embedding the vector dataset components in a preparatory process, independent of any search. This allows computationally intensive steps to be performed upstream, independent of search queries. As a result, the search becomes faster and more efficient in terms of infrastructure and processor utilization.
[0117] It can also be advantageous if, in relation to the vector embedding for the data set part, further information about the origin and the reference of the data set part from the data set or neighboring data set parts is stored in order to make relationships processable for the software or to achieve better search results.
[0118] For example, it is conceivable that the data records or hit records have a predefined structure. This can be the case, for instance, with a patent application or a patent itself. Such a document might contain, for example, an abstract, a descriptive introduction, a figure description, a list of reference numerals, patent claims, and drawings. The vector embedding for the data record segment could, for example, include information about the part of the document, such as a patent application, in which the data record segment was found. Furthermore, it is also conceivable that the vector embedding for the data record segment could store an exact source reference, such as the paragraph, page, and line number, or the patent claim number.In particular, it may be provided that the search takes into account when two data set parts are very close to each other around the origin, for example in the same paragraph or in the same patent claim.
[0119] A further advantageous development of the method is when vector embedding takes the form of sentence embedding or word embedding. Sentence embedding can be understood as the embedding of grammatically complete sentences, containing all necessary sentence elements from a grammatical perspective. However, sentence embedding can also be understood as the embedding of word groups that, strictly speaking, do not constitute a complete sentence. These word groups can also be words that, from a grammatical perspective, do not form sentence fragments, but rather words that are randomly grouped together, yet efficiently convey information without filler words such as adjectives, adverbs, or particles. This can particularly improve the processing of coherent information in textual form.
[0120] It is particularly efficient if the vector embedding includes a context to make the data set being searched smaller and therefore more efficiently processable.
[0121] Another advantageous approach is to use a formula, a structural formula, text, a video, a drawing, a CAD file, an image, an audio file, or parts thereof as the search record and / or the search record part. This allows the software to separately recognize and process a formula within a text. With text, the entire text, as well as parts of it, can be processed directly, making processing faster and more efficient for the software. The same applies to drawings, CAD files, images, and audio files. This also optimizes the use of computing and / or storage resources.
[0122] It can be particularly advantageous if the search is a hybrid search using keyword and vector searches, as this allows different search methods to be used simultaneously or the more resource-efficient method to be executed first. A keyword search can be a Boolean search in which, in addition to the keywords themselves, other search operators can also be entered.
[0123] The process can be further improved by allowing a sub-document pool to be selected for data searches via a prompt-based search function on the user interface. This also helps to keep the number of documents to be processed low while maintaining the same relevance of the results.
[0124] Further efficient development of the process can be advantageous if the data set and vector embeddings are stored in one or more distributed databases. This approach ensures easy and orderly processing by the software, even with distributed data locations.
[0125] It is also advantageous if tokens are created from search record parts and record parts or hit record parts, and if the search record parts and record parts are indexed using an inference engine. This enables energy-efficient, software-based searching in very large datasets.
[0126] It can be particularly advantageous to asynchronously load additional search and evaluation results for the datasets or dataset parts after a time limit for displaying initial hits on the user interface has been exceeded. This allows the processor's computing capacity to be distributed over a longer period.
[0127] Furthermore, it is also conceivable that an asynchronous reloading of additional search and evaluation results of the data records or data record parts occurs during certain user actions, for example scrolling with a mouse wheel to a predetermined point or moving a scroll bar to a predetermined point.
[0128] Another advantageous approach is to display a multidimensional matrix in two dimensions on the user interface in such a way that individual search data elements are shown in a single row of the matrix, alongside several different data elements. This allows complex relationships to be displayed with fewer screen refreshes, thus using computing power efficiently. This also significantly improves the user's ability to grasp multidimensional relationships, leading to energy savings.
[0129] This can be further improved by displaying multiple data set components in the column of the respective data set's matrix, optionally individually, side-by-side, or overlapping on the user interface, but always in the same row of the matrix as the first search data set component being compared. This also allows for efficient processor utilization when processing the displayed information.
[0130] It is particularly advantageous if a change to a part of the search data record triggers a new relevance value determination with regard to the second and / or third relevance value, thus making it easier to calculate a new ranking without having to start a completely new calculation run.
[0131] It can also be advantageous if a manual change to the second relevance value, via user interaction on the user interface, triggers a new relevance value calculation for the third relevance value. Here, too, a completely new search can be avoided, and the calculation steps already performed can be retained or only partially modified.
[0132] To make the search more computationally efficient and faster, changes to the search data set part or data set part can be saved and used for further machine learning or fine-tuning of a search model.
[0133] It can be advantageous to store and / or display datasets and / or dataset parts in several different languages for a dataset and vector embedding in order to process more related information in one calculation run.
[0134] It can also be an advantage if the search data set is a patent claim, since the standardized language structure enables efficient and repeatable calculation of the search results.
[0135] It is also highly advantageous if the search data set component and the data set component can each be individual features within a patent claim, a patent description, or a patent drawing. This allows for a more granular and computationally intensive search to be limited to sub-areas of a larger data set.
[0136] Furthermore, it can be provided that the vector embedding is performed using a graphics processing unit (GPU). This has the advantage that, due to their design, GPUs are particularly well suited for calculating vector embedding.
[0137] Furthermore, the search record can be configured to describe the context of a legal case. This description can then provide a comprehensive overview of the case. When searching an entire database of previously decided legal cases from a selected country, the system can identify individual cases that closely match the description of the legal case in the search record. This can be particularly helpful for legal work in countries with a common law system.
[0138] In particular, it is conceivable that individual features of the legal case could be divided into individual search data set components.
[0139] Furthermore, it may be possible to formulate an argumentative text based on at least some of the data records found in the search, using a large language model. This has the advantage that the data records found in the search can be automatically incorporated into the argumentative text.
[0140] In particular, it can be provided that only those data records selected from the search results in a preliminary selection step via user input are included in and cited in the argumentation text. In a first embodiment, the argumentation text can be a decision of a patent office, wherein the search data record is an independent patent claim of a patent application and the data records are relevant prior art documents cited in the decision. In particular, the decision can argue a lack of inventive step or novelty compared to the prior art, and the individual references to the search data record parts can be cited. In particular, it can be provided that the search data record is copied verbatim into the argumentation text and provided with corresponding references to the references.
[0141] In a further embodiment, it may be provided that the argumentation text is a statement of grounds for an opposition to a patent or a document in opposition proceedings or forms the basis for it, wherein the search data set is an independent patent claim of a patent application and the data sets are relevant prior art documents cited in the opposition.
[0142] In another embodiment, the argumentative text may be a pleading of a party or form the basis for one, with the search data set being a description of the context of a legal case and the data sets being relevant precedents cited in the pleading. In particular, it may be provided that the case numbers of the relevant precedents are cited according to the citation style customary in the respective legal system.
[0143] In another embodiment, the argumentative text may be a court decision or form the basis for one, with the search data set being a description of the context of a legal case and the data sets being relevant precedents cited in the decision.
[0144] Furthermore, it may be provided that a legal database is accessed when creating the argumentative text, whereby laws are also cited in the argumentative text in addition to the data records.
[0145] With regard to patents, the legal database could, for example, contain a patent law, articles and rules of a patent convention, guidelines for the examination of a patent office, a collection of decisions of chambers of a patent office, a collection of decisions of national courts, and the like.
[0146] In legal terms, a legal database can be a database of national laws and also a commentary on the interpretation of national laws.
[0147] Furthermore, it can be provided that the data records are divided into groups, whereby those records in which none of the second relevance values for any of the search data elements exceeds a certain second relevance threshold are assigned to a corresponding group. This has the advantage of achieving a clear structuring of the search results. For example, this measure can ensure that those records which have a data element with a second relevance value above a certain second relevance threshold for each of the search data elements are listed in a first group, and those records which do not have a data element with a second relevance value above a certain second relevance threshold for any of the search data elements are listed in a second group.
[0148] Within the group, the data records can be displayed in ranked form depending on the third relevance value, whereby within the respective group those data record parts for which none of the second relevance values exceeds a certain second relevance threshold for individual parts of the search data record can be disregarded in the weighted calculation of the second relevance values of the individual data record parts of this one data record.
[0149] Furthermore, it can be provided that, for sorting the groups, those search data elements are selected by user input for which it is permissible that none of the second relevance values exceed a specific second relevance threshold. This has the advantage that, through this measure, it can be specified by user input which features do not need to be found. This can be relevant, for example, if, for assessing the inventive step, a document relating to the closest prior art is known that contains certain search data elements, and these already known search data elements are no longer relevant for a further search for a second document to combine with the closest prior art.Furthermore, it can be provided that if none of the records has a second relevance value for all parts of the search record that exceeds a certain second relevance threshold, those records with the highest number of second relevance values or with the highest third relevance value are assigned to a first group, and those records in which the missing search record parts of the records in the first group are present are assigned to a second group. This has the advantage that, if no novelty-destroying document exists that exhibits all characteristics, for example, the closest possible prior art can be listed in the first group, and the possible complementary documents can be listed in the second group.
[0150] Furthermore, it may be possible to pre-select a database for searches within a globally available database. This offers the advantage of saving both processing time and computing power. For example, such pre-selection could be achieved using Boolean operators. For instance, the search could be limited to specific classes within a patent classification, such as IPC classes. Alternatively, it could be limited to other bibliographic data from patent literature, such as a specific filing or publication date, specific countries, specific applicants, and so on.
[0151] A large language model (LLM) is a comprehensive language model based on machine learning that is capable of understanding, generating, and responding to natural language. Models such as GPT-3 (Generative Pretrained Transformer or LLaMA) are examples of LLMs.
[0152] In the context of artificial intelligence (AI) – as with this application – the term "token" often refers to the basic units of text processed by AI models. Here are two common meanings in the context of AI:
[0153] A token is a unit such as a word or a subunit of a word. For example, the sentence "The cat runs fast" is broken down into tokens, where each token is a single word: "The," "cat," "runs," "fast." This tokenization allows AI models to understand and analyze texts. Different language models can only work with a limited number of tokens. The Llama 2 language model, for example, can work with up to 4096 tokens, and the CodeLlama language model with up to 16384 tokens.
[0154] In the field of artificial intelligence (AI) – as is the case here – the term "prompts" describes short instructions or text fragments given to an AI model to obtain a desired answer or output. Prompts are like tasks that ask the model to generate or understand specific information.
[0155] Features are technically and / or functionally related parts of a larger combination of features, for example in a patent claim, an invention, a technical description or a product, which may also be composed of individual words, sentence parts, conjunctions or connectors, which, however, cannot be further subdivided without losing the technical context or the meaning of the word - taken on their own.
[0156] Graphics processing unit (GPU) is a specialized hardware component optimized for processing graphics and parallel calculations - especially for applications in the field of machine learning and artificial intelligence.
[0157] Vector embeddings are numerical representations of words, phrases, or documents that help learning management systems (LLMs) understand the meaning of words and their relationships. These embeddings improve the speed and scope of AI model output. Vector embeddings are a way to convert words, sentences, and other data into numbers that capture their meaning and relationships. They represent different data types as points in a multidimensional space, with data points that are similar to each other located closer together. These numerical representations help machines understand and process this data more effectively.
[0158] Word embeddings represent individual words as vectors. Models learn word embeddings by capturing semantic relationships and contextual information from large texts. Sentence embeddings represent entire sentences or groups of words as vectors. Models like Universal Sentence Encoder (USE) and SkipThought generate embeddings that capture the meaning and context of the sentences in their entirety.
[0159] Vector search is the basis for semantic or similarity search experiences. Because meaning and context are captured in the embedding, vector search understands user intent even without exact keyword matches. This solution works with text data, documents, images, videos, graphics, and audio data.
[0160] Furthermore, a computer-implemented method for ranking search results can be provided, which yields a plurality of results corresponding to a search record in a dataset. The method comprises the following steps:
[0161] - Performing a search in the database using an artificial intelligence algorithm, starting from the search data set, to find matching data sets;
[0162] - Calculating and assigning a match value to each of the hit records based on the search data set;
[0163] - Series of hit records based on the match values;
[0164] - On an expenditure device
[0165] Displaying the search record, wherein the search record is separated into at least a first search record part and a second search record part, wherein the first search record part and the second search record part are displayed separately in a visually distinguishable manner.
[0166] Displaying a first-ranked hit record with a first hit record part and a second hit record part, wherein the first hit record part is graphically assigned to the first search record part during display, and wherein the second hit record part is graphically assigned to the second search record part during display, and wherein a first match value of the first-ranked hit record with the search record is displayed.
[0167] Displaying a second-ranked hit record with a first hit record part and a second hit record part, wherein the first hit record part is graphically mapped to the first search record part during display, and wherein the second hit record part is graphically mapped to the second search record part during display, and wherein a second match value of the second-ranked hit record with the search record is displayed.
[0168] - Providing an input element for user input to customize the search record or for user input to customize at least one of the match values;
[0169] - Reordering of the hit records taking into account the user input entered in the input element.
[0170] The method offers the advantage that by reordering the hit records based on user input, the search results can be easily adjusted without necessarily requiring a computationally intensive new search. This avoids multiple computationally intensive search runs for minor adjustments to the search data or the evaluation of hit records. Furthermore, the method according to the invention reduces the time required for the search. This measure thus saves computing power and consequently reduces the energy consumption of the computer on which the method is executed.
[0171] Furthermore, it can be provided that the individual search record components are marked. This marking can be, for example, a numbering such as 1, 2, 3 or I, II, III. The marking can also be an alphabetical assignment such as A, B, C or a, b, c. Of course, any other conceivable marking can also be used, for example, symbols such as + - etc., or marking in different languages.
[0172] Furthermore, it may be provided that the location of the find in the respective hit data record is displayed for the respective hit data record parts.
[0173] Furthermore, it can be provided that the input element for user input includes a rating element, whereby the rating element for user input is assigned to at least one of the hit records, and that a recalculation of the match value, taking into account user input into the rating element, takes place at least for that hit record to which the rating element is assigned, and that the hit records are re-ranked according to the newly calculated match values. This has the advantage that by re-ranking the hit records based on the recalculated match value, which is entered into the rating element by the user input, an adjustment of the search result can be achieved without requiring a computationally intensive new search.This measure thus saves computing capacity and consequently reduces the energy consumption of the computer on which the method is executed. Furthermore, this measure reduces user interaction time with the computer on which the method is executed, as user actions such as manually moving or deleting hit records are unnecessary with the method according to the invention. It is also advantageous for further data processing, such as storing the hit records.Consequently, less computing power is required if the match value is recalculated upon user input into the rating element, at least for the hit record to which the rating element is assigned, since all relevant data can be taken into account and thus reproducibility can be achieved without excessive use of computing power.
[0174] The evaluation element used to influence the match score can, for example, be a ranking element that places a match record to which the evaluation element is assigned ahead of a match record with a higher match score. The match score of the match record to which the evaluation element is assigned can be adjusted automatically.
[0175] The evaluation element used to influence the match score can, for example, be a ranking element that ranks a match record to which the evaluation element is assigned after a match record with a lower match score. The match score of the match record to which the evaluation element is assigned can be adjusted automatically in this process.
[0176] The rating element for influencing the match score can, for example, be a deletion element by means of which a hit record to which the rating element is assigned can be deleted from the list of displayed hit records.
[0177] Furthermore, the input element for user input can include an input field through which the search record can be supplemented with an additional search record component. This offers the advantage that the search record can be expanded to include further attributes. It is not necessary to perform a complete re-search of the database using an artificial intelligence algorithm; instead, only the calculation and assignment of a match value to the search record for each of the hit records is updated, and the hit records are re-ordered taking the supplemented search record component into account. This can result in significant computing power savings.
[0178] Furthermore, the input element for user input can include a separator that allows one of the search record components to be split into further search record components. This has the advantage of improving the ranking of hit records without requiring a complete re-search, thus saving computing power.
[0179] Furthermore, the input element for user input can include an adjustment field, allowing the content of one of the search record components to be modified. This has the advantage of improving the ranking of hit records without requiring a complete re-search, thus saving computing power. In a more advanced implementation, however, it can be stipulated that if one of the search record components is modified beyond a certain extent, the search of the database using the artificial intelligence algorithm and all subsequent process steps are re-executed based on the modified search record.
[0180] Furthermore, the input element for user input can include a delete element, which allows one of the search record components to be deleted. This measure allows the search to be easily adjusted. In particular, it can be provided that the search in the database using the artificial intelligence algorithm and all subsequent process steps are re-executed based on the modified search record.
[0181] Furthermore, it can be advantageous to automatically adapt the artificial intelligence algorithm for future searches in the database based on user input. This has the advantage that future searches can deliver better results and thus require less computing power. Additionally, the calculation of the match value with the search record for each of the hit records can be automatically adapted for future searches in the database based on user input. This has the advantage that future searches can deliver better results and thus require less computing power.
[0182] Furthermore, the reordering of the search results can be subjected to data processing. This data processing could, for example, involve storing the search results on a storage medium for later output. It could also involve transmitting the search results to another computer for display on an output device. Or it could involve transmitting the search results to a printer for printing the search results. These features offer the advantage that the data processing can handle correctly ordered search results, eliminating the need for further adjustments during processing and resulting in energy savings.Furthermore, these measures can improve the quality of the data structure for data processing, which can improve the repeatability of the results.
[0183] Another advantageous implementation involves using a matching algorithm to calculate the matching value for each hit record. This calculation is based on at least one first matching value component of the first hit record component with the first search record component, and another second matching value component of the second hit record component with the second search record component. This allows the individual matching value components to be considered in the calculation of the matching value for each hit record. This results in improved search results and ultimately saves processing time.
[0184] Furthermore, the matching algorithm can be configured to calculate an average of the individual matching value components, listing only those match records where the individual matching value components exceed a specified threshold. This avoids the unnecessary display of irrelevant match records, thus saving computing power. Moreover, this measure can reduce the overall search time.
[0185] An alternative implementation variant could also provide for a match value calculation algorithm that calculates the match value based on the individual match value components, assigning a weight to each component. Here, too, it could be provided that only those match records are listed in the match record display where the individual match value components exceed a match value component threshold.
[0186] In particular, it may be provided that the weighting of the individual match value components takes into account the search record level of the corresponding search record component. For example, a search record component at a lower search record level may have a lower weighting.
[0187] Another advantageous implementation is one in which at least the first part of the second-ranked hit record is assigned a first rating element for user input, and the second part of the second-ranked hit record is assigned a second rating element for user input. In this case, the match score is recalculated for at least the hit record to which the first rating element or the second rating element is assigned by user input. This has the advantage that the individual match score components can be considered in the calculation of the match score for each hit record. This leads to improved search results and ultimately saves processing time.
[0188] According to further training, it is possible for at least one of the search record segments to contain at least one first and one second search record instance. The first and second search record instances are visually distinguished and displayed separately. Each search record instance is assigned a match value, and the search record instances are displayed in order of their respective match values. This offers the advantage that a search record segment can be associated with not just one search record segment, but with multiple search record instances within that segment. This measure can significantly improve search results and thus save overall search time.The search result can therefore correspond to a multidimensional matrix.
[0189] Furthermore, it can be advantageous for each match value component to be assigned the match value of the corresponding match record with the highest match value. This has the advantage that, for the evaluation of each match record component, the match record with the highest match value is used. This measure can significantly improve the search results and thus save overall search time.
[0190] Furthermore, it can be provided that the input element for user input includes a rating element, whereby the rating element for the user input is assigned to at least one of the hit record locations, and that a recalculation of the match score, taking into account user input into the rating element, is performed at least for that hit record location to which the rating element is assigned. This has the advantage that by re-ordering the hit records based on the recalculated match score, which is entered into the rating element by the user input, the search result can be adjusted without requiring a computationally intensive new search. Thus, this measure saves computing power and therefore also reduces the energy consumption of the computer on which the process is executed.Furthermore, this measure can reduce the user's interaction time with the computer on which the method is executed, since user actions such as manually moving or deleting search record entries are unnecessary with the method according to the invention. It can also be advantageous if the individual search record components can be assigned to different search record levels, with the assignment of the search record components to the respective search record levels being visually distinguishable and clearly displayed. This has the advantage of improving the accuracy of the search, thereby saving computing time. For example, it can be provided that a feature A forms a search record component belonging to a first search record component level.For example, a feature Al and a feature A2 can be functions of feature A, each forming a search record part that belongs to a second search record part level.
[0191] The individual levels can be identified, for example, by numbering, such as 1, 1.1, 1.2, 1.1.1, 1.1.2, 2, 3 or 1, 1-1, l-II, lII, lI-II, 2, 3 or I, II, I-II, II, III or 1, 1-1, 1-2, II, III. The individual levels can also be identified alphabetically, such as A, Aa, Ab, B, C or a, aA, aB, b, c. The individual levels can also be identified by a combination of alphabetical and numbering, such as A, Al, A2, B or 1, 1A, 1B, 2. Of course, any other combination of numbering and alphabetical assignment is also possible. Naturally, any other conceivable method of identification, such as using symbols like + - etc., or using different languages, can also be employed.
[0192] Furthermore, it may be provided that when one of the hit records is selected, the display is updated, and the following is shown on the output device:
[0193] Displaying the search record, wherein the search record is separated into at least a first search record part and a second search record part, wherein the first search record part and the second search record part are displayed separately in a visually distinguishable manner.
[0194] Displaying the selected hit record with a first hit record part and a second hit record part, wherein the first hit record part is graphically assigned to the first search record part during display, and wherein the second hit record part is graphically assigned to the second search record part during display.
[0195] Displaying the complete text, a text excerpt, or a graphic from the selected search result, with the relevant parts of the result highlighted. This allows for a detailed analysis of a particularly interesting search result, significantly reducing the overall search time.
[0196] In a first embodiment, the complete text may be the entire written part of a patent application. Furthermore, the text excerpt may be the description of a patent application. It may also be the claims of a patent application. Finally, a text excerpt may be only a part of the description or the claims of a patent application.
[0197] Furthermore, it may be possible to display multiple text excerpts. For example, it is conceivable that the patent claims and the description of a patent application are displayed separately.
[0198] Furthermore, it is also conceivable that graphics are displayed separately.
[0199] Furthermore, it may be possible to select text segments from the complete text or text excerpt that can be assigned to one of the search record components and thus become a hit record component, with a match value component also being assignable to the hit record component. This has the advantage of improving the search results.
[0200] In particular, it may be intended that the selection of text segments and the assignment of a matching value segment can be used to train the artificial intelligence algorithm.
[0201] The agreement value, or components thereof, can be a numerical percentage or any other numerical expression of agreement. The agreement value can also be a vector value, a matrix, or a matrix-vector product of the agreement.
[0202] The agreement value can be represented by specifying a numerical value, in particular a percentage.
[0203] The agreement value can be displayed using a scale. This can be represented by a color gradient, such as green, yellow, and red, where each color can correspond to a range of agreement values. For example, the color green could be assigned an agreement value range of 100% to 80%.
[0204] The representation of the agreement value can be achieved through a graphical gradation, such as the characters "j"', ,4”, where each character can be assigned a range of match values. For example, the character “j”’ can be assigned a range of match values from 100% to 80%.
[0205] Furthermore, it is conceivable that the representation of the agreement value is achieved through a color gradient, such as a transition from green to red.
[0206] Furthermore, it is also conceivable that the agreement value is represented by a graphic gradient, such as a bar that has a darkening up to an area corresponding to the agreement value or a marker.
[0207] Another advantageous configuration is one in which the output device displays a two-dimensional representation of a multidimensional matrix, with individual search data elements from the search record appearing in a single row of the matrix alongside multiple different hit data elements from various hit records. This approach allows for a clear presentation of the search results, thereby reducing the time required for the search. Complex relationships can thus be displayed with fewer screen refreshes, resulting in efficient use of computing power. This also significantly improves the user's ability to grasp multidimensional relationships, leading to energy savings.
[0208] According to further training, it is possible to display individual search data components within a single row of the matrix, along with multiple different hit data components and the various hit data references associated with each hit data component across different hit data sets. This allows for a clear presentation of the search results, thereby reducing the time required for the search. It also enables efficient processor utilization for processing the displayed information, resulting in energy savings.
[0209] The search record results can be displayed side-by-side in a single row, clearly distinguishable from one another, with a scroll bar or by scrolling between them. Alternatively, the search record results can be displayed one below the other in a single row, again with a scroll bar or by scrolling, allowing navigation between them. In particular, it is possible for each search record result to be arranged in its own window, with scrolling or scrolling initially affecting the window of the current result result and then moving to the next result result at the end of the current window.
[0210] Furthermore, it can be useful to select one of the hit records as the closest prior art, whereby matching values with individual search record components may be below a threshold or may not be present at all. In this case, other hit records are prioritized in the ranking, those with high matching values between their hit record components and the search record components selected as the closest prior art, which may have little or no matching. This offers the advantage of defining the closest prior art and searching for relevant related documents. This can be particularly advantageous if only hit records with low matching are found for the search record.
[0211] To better understand the invention, it is explained in more detail with reference to the following figures.
[0212] They each show, in a highly simplified, schematic representation:
[0213] Fig. 1 shows a schematic representation of an infrastructure for carrying out the method according to embodiment 1; Fig. 2 shows a schematic representation of a first embodiment of a multidimensional matrix in a two-dimensional display;
[0214] Fig. 3 shows a schematic representation of a second embodiment of a multidimensional matrix in a two-dimensional display;
[0215] Fig. 4 shows a schematic representation of a third embodiment of a multidimensional matrix in a two-dimensional display;
[0216] Fig. 5 shows a schematic flowchart of a first embodiment of a process flow for searching for a data record corresponding to a search data record in a database;
[0217] Fig. 6 shows a schematic flowchart of a second embodiment of a process flow for searching for a data record corresponding to a search data record in a database.
[0218] It should be noted at the outset that in the differently described embodiments, identical parts are provided with the same reference numerals or component designations, and the disclosures contained in the entire description can be applied analogously to identical parts with the same reference numerals or component designations. Furthermore, the positional designations chosen in the description, such as top, bottom, side, etc., refer to the figure directly described and illustrated, and these positional designations must be applied analogously to the new position if the position changes.
[0219] Figure 1 shows a schematic representation of a first embodiment of an infrastructure for carrying out the method, based on which the method steps are explained.
[0220] For the execution of the procedure, a system 1 can be provided within a hardware and software infrastructure 9. The system can have one or more processors 2, which may include at least one central processing unit 3 and / or one graphics processing unit 4.
[0221] System 1 can be operated using an administration program 6, which can access information in a data set 14 stored in a database 7. The information can be displayed via a user interface 5 using the administration program 6. In particular, the user interface 5 can be displayed on an output device 101, such as a screen. Information in the data set 14 can include, for example, vector embeddings 10, a search record 12, a search record part 13, a record 15, a record part 16, a hit record 113, or a hit record part 114, 115, or 116. A search result 21 can be displayed on the user interface 5.A search record 12, a search record part 13, a record 15, a record part 16, a hit record 113 or a hit record part 114, 115, 116 can be a text 22, a video 23, a drawing 24, a CAD file 25, an image 26, an audio file 27, a structural formula 32 or parts thereof.
[0222] The computer-implemented method for searching for a data record 15 corresponding to a search record 12 in a data set 14 can, in a first embodiment, comprise the following method steps: searching from the search record 12, which preferably comprises at least two or more search record parts 13, wherein the search record parts 13 are each semantically, graphically, or technically related; assigning a vector embedding 10 to the search record 12 and / or to the search record parts 13; assigning a vector embedding 10 in the data set 14 to data records 15 and / or data record parts 16 stored therein; determining an initial relevance and evaluation with an initial relevance value 17 of the data records 15, each based on a comparison with the search record 12;Comparison of the individual data set parts 16 of the data sets 15 with a first relevance value above a first relevance threshold value 18, wherein the comparison is carried out individually with the semantically or technically related search data set parts 13 of the search data set 12; determination of a second relevance and evaluation with the second relevance value 19 for each data set part 16 of a data set 15 based on the comparison with the search data set parts 13 of the search data set 12; and ranking of the individual data set parts 16 and data processing depending on the second relevance value 19 as a result 21.;
[0223] Furthermore, the procedure can also include the following procedural steps: Determining a third relevance and evaluation with a third relevance value 20 for the data set 15, which is based on a weighted calculation of the second relevance values 19 of the individual data set parts 16 of this one data set 15; and storing a search and evaluation result of data sets 15 and the associated data set parts 16 depending on the third relevance value 20 and data processing depending on the third relevance value 20 or displaying it in a user interface 5 in ranked form depending on the third relevance value 20.
[0224] The vector embedding 10 can be a numerical representation of text 22, words, phrases, images 26 or documents.
[0225] The vector embedding 10 can be generated for search record parts 13 and / or record parts 16 by a machine learning process or using a large language model l.
[0226] The vector embedding 10 for the data set parts 16 can be performed independently of a search in a preparation process. Such a process can run asynchronously and be designed for the efficient utilization of the infrastructure 9 and the processors 2, in particular the graphics processor 4.
[0227] With regard to the vector embedding 10 for the data set part 16, further information on the origin and the reference of the data set part 16 from the data set 15 or neighboring data set parts 16 can be stored.
[0228] Where a vector embedding 10 can be used as a sentence embedding or a word embedding.
[0229] The vector embedding 10 can include a context. This includes, for example, a defined technical area, existing related datasets 15 in the dataset 15, which may be automatically selected by a user or AI, or defined via a search or prompt.
[0230] The search record 12 and / or the search record part 16 and / or the record 15 and / or the record part 16 can be a formula, a text 22, a video 23, a drawing 24, a CAD file 25, an image 26 or an audio file 27 or parts thereof.
[0231] The search can be a hybrid search using keyword and vector search. This combines classic search queries, such as textual or numerical ones, with AI-based search functions. A subset of the document pool from dataset 14 can be selected for searching for records 15 using a prompt-based search on the user interface 5.
[0232] The data set 14 and the vector embeddings 10 can be stored in one or more distributed databases 7.
[0233] Tokens can be created from search record parts 13 and record parts 16, and the search record parts 13 and record parts 16 are indexed using inference engine 29.
[0234] An asynchronous reloading of additional search and evaluation results of the data records 15 or the data record parts 16 can occur after exceeding a time limit for displaying the first hits on the user interface 5.
[0235] Vector embedding 10 can be performed using a graphics processor.
[0236] System 1 can have a processor configured to perform the procedure.
[0237] The computer program 28 may include instructions which, when the program is executed by a computer or by a processor 2 of a system 1 in an infrastructure 9, cause it to execute the procedure.
[0238] The computer-readable storage medium can contain instructions which, when executed by a computer or by a processor 2 of a system 1 in an infrastructure 9, cause it to execute.
[0239] System 1 can also have an interface 31 which can be configured to access computer program 28 and to transfer results 21, search records 12, search record parts 13, records 15 and record parts 16 to a second computer program product for further processing.
[0240] Fig. 2 shows a schematic representation of a first embodiment of a multidimensional matrix 8 in a two-dimensional display, for example on a user interface 5 of an administrative program 6. The user interface 5 can be output to an output device 101 and displayed visually. A two-dimensional display of a multidimensional matrix 8 on the user interface 5 can be such that individual search data parts 13 of the search data record 12 are displayed in a row of the matrix 8 with several different data record parts 16 of the data record 15.
[0241] Multiple data set parts 16 of the data set 15 can also be displayed in the column of the matrix 8 of the respective data set 15, optionally individually, side by side or overlapping, on the user interface 5, but each in the same row of the matrix 8 as the search data set part 13 to be compared.
[0242] A change to a search data set part 13 can trigger a new relevance value determination with regard to the second relevance value 19 and / or third relevance value 20.
[0243] A manual change to the second relevance value 19 through user interaction on the user interface 5 can trigger a new relevance value determination with regard to the third relevance value 20.
[0244] A change to the search data set part 13 or data set part 16 can be saved and used for further machine learning or fine-tuning of a search model, for example in a large language model 11.
[0245] Data records 15 and / or data record parts 16 can be stored in several different languages for a data record 15 and for a vector embedding 10 and / or displayed on the user interface 5.
[0246] The search record 12 may be a patent claim.
[0247] The search data set part 13 and the data set part 16 or hit data set part can each be individual features in a patent claim, a patent description or a patent drawing.
[0248] Fig. 3 shows a schematic representation of a second embodiment of a multidimensional matrix 8 in a two-dimensional display, as it can be visually perceived, where again the same reference numerals or component designations are used for identical parts as in the preceding Figures 1 and 2. To avoid unnecessary repetition, reference is made to the detailed description in the preceding Figures 1 and 2.
[0249] Here too, the display can be shown on a user interface 5 of an administration program 6.
[0250] As can be seen in Fig. 3, the search record 12, 102 can be visually represented as comprising a first search record part 103, a second search record part 104, and a third search record part 105, or, more generally, at least two, but optionally also more search record parts 13. The individual search record parts 13, 103, 104, 105 can be semantically related. The search record 12, 102 can form the basis for a search. In particular, it can be provided that the search record 12, 102 is extracted from a document or created from the information in a document.
[0251] For example, it is conceivable that the individual search data elements 13, 103, 104, 105 constitute an independent claim of a patent application. In other words, the individual search data elements 13, 103, 104, 105 could be taken from the independent claim of a patent application or reproduce its content.
[0252] The first search record part 103 could, for example, be a feature combination A. The second search record part 104 could, for example, be a feature combination B. The third search record part 105 could, for example, be a feature combination C. Of course, it is also conceivable that the search record 102 comprises only the first search record part 103 with a feature combination A and a second search record part 104 with a feature combination B+C, or some other division.
[0253] Furthermore, it is also conceivable that in addition to the third search record part 105, further search record parts exist. The feature combination described above can thus be further subdivided into individual search record parts 13.
[0254] A division of characteristics or combinations of characteristics into search record parts 13 can be carried out by a user or can be automated.
[0255] As can be further seen in Fig. 3, it is possible that the individual search data parts 13, 103, 104, 105 are assigned to a first search data part level 106. The individual search data parts 13, 103, 104, 105 can therefore, in principle, have the same value.
[0256] In particular, it may be provided that the individual search record parts 13, 103, 104, 105 are distinguishably identified from one another by means of a search record part identifier 107. Such a search record part identifier 107 could, for example, be a numbering of the individual search record parts 13, 103, 104, 105.
[0257] In a first implementation variant, the division of search data set 102 can be performed by an artificial intelligence algorithm. For example, the basis for search data set 102 could be an independent patent claim of a selected patent application, which is divided into search data set parts 13, 103, 104, and 105 by the artificial intelligence algorithm. Furthermore, it is also conceivable that additional search data set parts could be formed, for example, by dependent patent claims of the selected patent application.
[0258] Furthermore, an input element 108 may be provided for user input. This input element 108 may, for example, include a separator element 109, which allows a search record 12, 102, or one of the search record parts 13, 103, 104, 105, to be divided into further search record parts 13. The separator element 109 can be implemented, for example, by positioning the cursor within a text segment of one of the search record parts 13.
[0259] The separation itself can be done, for example, by clicking the mouse. Alternatively, it is also conceivable that the separation could be done by pressing a keyboard key, such as the Enter key.
[0260] Furthermore, it is also conceivable that the input element 108 includes an adjustment field 110, by means of which one of the search record parts 13, 103, 104, 105 can be modified in its content. This can be implemented, for example, by making an editing option appear when one of the search record parts 13, 103, 104, 105 is clicked or otherwise selected.
[0261] Furthermore, it is also conceivable that the input element 108 includes a deletion element 111, which serves to delete one of the search record parts 13, 103, 104, 105. It is also possible that the input element 108 includes an input field 112, which serves to add another search record part 13.
[0262] Therefore, there are various ways to adapt the search record 12, 102 or its search record parts 13, 103, 104, 105.
[0263] Furthermore, it is also conceivable that the search record 102 or the individual search record parts 12, 103, 104, 105 are not taken from an existing document, but are entered directly by the user.
[0264] The individual search data set parts 13, 103, 104, 105 can form a basis for a search.
[0265] As can be further seen from Fig. 3, it may be provided that the individual search data record parts 13, 103, 104, 105 are displayed one below the other in a column.
[0266] Furthermore, it is conceivable that on output medium 101, different hit records 113, found in a search, are displayed in further columns. The hit records 113 can be a selection of those records 15 that are also displayed.
[0267] In particular, it may be provided that the individual hit data records 113 are displayed side by side in individual columns according to a specific ranking.
[0268] For example, it is conceivable that a first-ranked hit record 113a is displayed directly next to the search record 12, 102. Next to it, a second-ranked hit record 113b can be displayed, and next to that, a third-ranked hit record 113c. Furthermore, it is of course also conceivable that further hit records 113 are displayed. In particular, it can be provided that a scroll bar allows the user to select between the individual hit records 113 that are displayed, or that the display can be moved to view multiple hit records 113 at once.
[0269] As can be further seen from Fig. 3, it may be provided that at least some of the hit data records 113 have a first hit data record part 114, which is assigned to the first search data record part 103.
[0270] Furthermore, at least some of the hit records 113 may have a second hit record part 115, which is assigned to the second search record part 104. Furthermore, at least some of the hit records 113 may have a third hit record part 116, which is assigned to the third search record 105.
[0271] The individual first hit data record parts 114 can be arranged in a row with the first search data record part 103. The individual second hit data record parts 115 can be arranged in a row with the second search data record part 104. The individual third hit data record parts 116 can be arranged in a row with the third search data record part 105.
[0272] Here, a row refers to the row in the matrix or table, not a single line of text. Therefore, it is conceivable that a longer text with multiple lines of text could be displayed in each row of the matrix or table.
[0273] In particular, it is conceivable that scroll bars or a scrolling function are available in the individual search record parts 13, 103, 104, 105 or in the individual hit record parts 114, 115, 116 in order to be able to display longer texts in a clear manner.
[0274] As further shown in Fig. 3, it may be provided that a match value 117 is displayed for each of the hit records 113a, b, c, etc. For example, the first hit record 113a may have a first match value 117a of 98% with the search record 102. Furthermore, for example, the second hit record 113b may have a second match value 117b of 80% with the search record 102. In particular, it may be provided that the ranking of the hit records 103 is based on the match value 117. The match value 117 may correspond to the value that is also referred to in this document as the third relevance value 20 and which can be determined using the described computer-implemented procedure.
[0275] As can be further seen from Fig. 3, it can be provided that the first hit data record part 114a of the first ranked hit data record 113a has a first match value part 118a with the first search data record part 103.
[0276] Furthermore, it may be provided that the second hit data part 115a of the first-ranked hit data record 113a has a second match value part 119a with the second search data part 104. Furthermore, it may be provided that the third hit data part 116a of the first-ranked hit data record 113a has a third match value part 120a with the third search data part 105.
[0277] Furthermore, it can be provided that the first hit record part 114b of the second-ranked hit record 113b has a first match value part 118b with the first search record 103. This can be continued mutatis mutandis for all further hit record parts 114, 115, 116.
[0278] The individual match value components 118, 119, and 120 may also be represented as numerical values, such as percentages. Furthermore, the match value 117a for the first-ranked match record 113a may be calculated using a match value calculation algorithm based on the first match value component 118a, the second match value component 119a, and the third match value component 120a.
[0279] The individual hit record parts 114, 115, 116 can, for example, be text fragments from hit record 113. The individual match value parts 118, 119, 120 can display a match value of the respective hit record or its text fragment with the associated search record part 103, 104, 105 or its text fragments.
[0280] As can be clearly seen from the second hit record part 115a of the first-ranked hit record 113a, this hit record part 115a may contain a first hit record reference 121a and a second hit record reference 122a. Of course, further hit record references may also be present. This can occur, for example, if the first-ranked hit record 113a contains several text fragments that show sufficient similarity with the second search record part 104. The first hit record reference 121a may have a first hit record reference value 123a with the second search record part 104. The second hit record reference 122a may have a second hit record reference value 124a with the second search record part 104.
[0281] These first hit record part match values 123, and second hit record part match values 124, etc., can correspond to the second relevance value 19, as already described, or be derived from it. The second match value part 119a of the first-ranked hit record 113a can be equal to the highest hit record part match value 123a of the hit record occurrences 121 and 122a. This scheme can be applied mutatis mutandis to the remaining hit records 113 and the remaining hit record parts 114, 115, and 116.
[0282] In other words, in each hit record part 114, 115, 116 of a respective hit record 113, the hit record reference 121, 122 can be displayed which has the highest match with the respective search record part 13, 103, 104, 105, where the match is measured on the hit record reference part match value 123, 124.
[0283] As further shown in Fig. 3, the input element 108 for user input can include an evaluation element 126. In particular, it can be provided that each of the hit data records 113 is assigned an evaluation element 126. The evaluation element 126 can be used to influence the match value 117 of the respective hit data record 113.
[0284] Mutatis mutandis, it can be provided that the first hit record part 114b of the second-ranked hit record 113b is assigned a first rating element 127b for user input. Furthermore, it can be provided that the second hit record part 115b of the second-ranked hit record 113b is assigned a second rating element 128b for user input. This can, mutatis mutandis, also be extended to the remaining hit records 113.
[0285] Furthermore, it is also conceivable that evaluation elements are also provided for the individual hit record locations 121, 122.
[0286] In particular, it can be provided that when a user inputs data into one of the input elements 108, the match values of the respective hit data record 113 are recalculated, and if a corresponding result is obtained, the hit data records 113 are reordered taking into account the user input entered in the input element 108. Fig. 4 shows a schematic representation of the third embodiment of a multidimensional matrix 8 in a two-dimensional display, whereby the same reference numerals or component designations are used for identical parts as in the preceding Figures 1 to 3. To avoid unnecessary repetition, reference is made to the detailed description in the preceding Figures 1 to 3.
[0287] As can be seen from Fig. 4, it can be provided that the search data record 102 has a first search data record part 103, which is arranged in the first search data record part level 106.
[0288] The second search record part 104 can be located in a second search record part level 129. The third search record part 105 can also be located in the second search record part level 129. A fourth search record part can again be located in the first search record part level 106. Such a level assignment can be useful, for example, for assemblies and associated components, for assemblies and subassemblies, or for features and their functions.
[0289] This assignment of the individual search record parts 13, 103, 104, 105 to the search record part levels 106, 129 can of course also be done in a different order. Naturally, an assignment to additional search record part levels is also possible.
[0290] Fig. 5 shows a further embodiment of a possible procedure for searching for a data record 15 corresponding to the search data record 12, 102 or displaying it as a hit data record 113.
[0291] In a search record creation step 130, it may be provided that a search record 12, 102 or its search record parts 13, 103, 104, 105 is defined.
[0292] In a first assignment step 131, the vector embedding can then be assigned to the search data set 12, 102 or to the search data set parts 13, 103, 105.
[0293] Furthermore, it can be provided that in a second assignment step 132, a vector embedding in dataset 114 is assigned to the data records 15 or data record parts 16 stored therein. In a first evaluation step 133, the initial relevance can then be determined and evaluated using the first relevance value 17. For this purpose, the vector embedding in dataset 114 to the data records 15 or data record parts 16 stored therein and the assignment of the vector embedding to the search data record 12, 102 or to the search data record parts 13, 103, 105 can be used as a reference or comparison.
[0294] In a first selection step 134, those data records 15 can then be selected for further data processing which have a first relevance value 17 above a first relevance threshold value 18. This thus leads to a selection of the data records 15, so that not all data records 15 in the data set 114 have to be analyzed further.
[0295] In a first comparison step 135, the individual data set parts 16 of the data sets 15 selected in the first selection step 134 can then be compared individually with the semantically or technically related search data set parts 13, 103, 105 of the search data set 12, 102.
[0296] In a second evaluation step 136, based on the comparison of the first comparison step 135, a second relevance for each data set part 16 of a data set 15 can then be determined and this can be assigned as a second relevance value 19 to the respective data set part 16.
[0297] Each of the data record parts 16 can have its own second relevance value 19 in relation to each of the search data record parts 13, 103, 105. To make this understandable as an analogy to a database, this can be a many-to-many relationship.
[0298] In a first ranking step 137, the individual data set parts 16 can then be ranked as a result depending on the second relevance value 19.
[0299] Subsequently, in a third evaluation step 138, a third relevance can be determined for each of the data records 15 selected in the first selection step 134, whereby a third relevance value 20 can be assigned to each of these data records 15. In particular, it can be provided that the third relevance value 20 is based on a weighted calculation of the second relevance values 19 of the individual data record components 16 of the respective data record 15. In a second ranking step 139, the individual data records 15 can then be ranked according to their assigned third relevance value 20.
[0300] In a display step 140, the individual ranked data records 15 can then be displayed as the first-ranked hit record 113a, the second-ranked hit record 113b, the third-ranked hit record 113c, etc., as already described in detail in connection with Fig. 3 and Fig. 4. The displayed match values 117 for the respective displayed hit record 113 can be a representation or corresponding depiction of the third relevance value 20, or they can directly represent the third relevance value 20 as a numerical value. The displayed hit record part match values 123, 124 can be a representation or corresponding depiction of the second relevance value 19 for the respective search record part 13, 103, or they can directly represent the second relevance value 19 for the respective search record part 13, 103 as a numerical value.The match value parts 118, 119, 120 can represent the data set part 16, which was ranked as the most relevant in the first ranking step 137 - displayed as the first hit data set find 121 - with the highest second relevance value 19 according to the above explanations.
[0301] In a minor modification step 141, small changes entered by the user can be taken into account. This may lead to a recalculation or re-execution of the described process steps starting from the first comparison step 135.
[0302] In a major change step 142, large changes entered in a user input can be taken into account. This can lead to a recalculation or re-execution of the described process steps starting from the first assignment step 131.
[0303] For example, if new features are added to search record 12, this can be a minor change step 141. A slight modification to search record 12 can also be a minor change step 141. Similarly, manual entry into one of the rating elements 126, 127, or 128 can be a minor change step 141.
[0304] For example, removing features from search data set 12 can constitute a major change step 142. Similarly, a major modification of search data set 12 can also constitute a major change step 141. Fig. 6 shows another embodiment of a possible process flow for searching for a data set 15 corresponding to search data set 12, 102, and displaying it as a hit data set 113.
[0305] In a search record creation step 130, it may be provided that a search record 12, 102 or its search record parts 13, 103, 104, 105 is defined.
[0306] In a first assignment step 131, the vector embedding can be assigned to the search data set 12, 102 or to the search data set parts 13, 103, 105.
[0307] Furthermore, it may be provided that in a second assignment step 132 an assignment of a vector embedding in the data set 114 to the data records 15 or data set parts 16 stored therein takes place.
[0308] In a first comparison step 143, a comparison can then be made between the first vector embedding for search data set 12, 102 or for search data set parts 13, 103, 105 with the vector embedding of data sets 15 or data set parts 16 in data set 114. This allows nearby vectors to be found.
[0309] In a first selection step 144, those data records 15 can then be selected for further data processing for which the comparison of the vector embedding of the search data record 12, 102 or the search data record parts 13, 103, 105 with the vector embedding of the data records 15 or data record parts 16 in the data set 114 shows the highest match, and are saved as a first intermediate result 145. The number of data records 15 selected in the first selection step 144 can be predefined or entered by the user in an input mask.
[0310] In a second comparison step 146, a comparison of the content similarity of the search record 12, 102 or the search record parts 13, 103, 105 with the records 15 or record parts 16 in the dataset 114 can be carried out. A content similarity can be a semantic comparison that is not based on a vector.
[0311] In a second selection step 147, those data records 15 can then be selected for further data processing which exhibit the highest degree of similarity in content with the search data record 12, 102 or the search data record parts 13, 103, 105, and are stored as a second intermediate result 148. The number of data records 15 selected in the second selection step 147 can be predetermined or entered by the user in an input form.
[0312] In a first merging step 149, the data records 15 of the first intermediate result 145 and the data records 15 of the second intermediate result 148 can then be merged to form a first result 150.
[0313] In an intermediate data set generation 151, the data records 15 of the first result 150 can then be excluded from the data set 114, thereby creating an intermediate data set 152.
[0314] In a third comparison step 153, a comparison can then be made between the first vector embedding of the search data set 12, 102 or the search data set parts 13, 103, 105 and the vector embedding of the data sets 15 or data set parts 16 in the intermediate data set 152. This allows nearby vectors to be found.
[0315] Alternatively, in the third comparison step 153, a comparison of a second vector embedding for search data set 12, 102 or for search data set parts 13, 103, 105 can be performed with the vector embedding of data sets 15 or data set parts 16 in the intermediate data set 152. This allows nearby vectors to be found. The second vector embedding can be based on a different model than the first vector embedding.
[0316] In a third selection step 154, those data records 15 can then be selected for further data processing which exhibit the highest degree of similarity in content with the search data record 12, 102 or the search data record parts 13, 103, 105, and are stored as the second result 155. The number of data records 15 selected in the third selection step 154 can be predetermined or entered by the user in an input form.
[0317] In a second merging step 156, the data records 15 of the first result 150 and the data records 15 of the second result 155 can then be merged to form a merging result 157.
[0318] In a fourth comparison step 158, the individual data set parts 16 of the data sets 15 selected in the merging result 157 can then be compared individually with the semantically or technically related search data set parts 13, 103, 105 of the search data set 12, 102.
[0319] In a first evaluation step 159, based on the comparison of the fourth comparison step 158, a first match can then be determined for each data set part 16 of a data set 15 and this can be assigned as the first match value 160 to the respective data set part 16.
[0320] Each of the data record parts 16 can have its own first match value 160 with respect to each of the search data record parts 13, 103, 105. To make this understandable as an analogy to a database, this can be a many-to-many relationship.
[0321] In a first ranking step 161, the individual data set parts 16 can then be ranked as a result depending on the first match value 160.
[0322] Subsequently, in a second evaluation step 162, a second match can be determined for each data set 15 selected in the merging result 157, whereby a second match value 163 can be assigned to each of these data sets 15. In particular, it can be provided that the second match value 163 is based on a weighted calculation of the first match values 160 of the individual data set parts 16 of the respective data set 15.
[0323] In a second ranking step 164, the individual data records 15 can then be ranked according to their assigned second match value 163.
[0324] In a display step 140, the individual ranked data records 15 can then be displayed as the first-ranked hit record 113a, the second-ranked hit record 113b, the third-ranked hit record 113c, etc., as already described in detail in connection with Fig. 3 and Fig. 4. The match values 117 displayed for each match record 113 can be a representation or corresponding depiction of the first match value 160, or they can directly represent the first match value 160 as a numerical value. The displayed hit record part matching values 123, 124 can be a representation or corresponding depiction of the second matching value 163 for the respective search record part 13, 103, or directly represent the second matching value 163 for the respective search record part 13, 103 as a numerical value.
[0325] In a minor modification step 141, small changes entered by the user can be taken into account. This may lead to a recalculation or re-execution of the described process steps starting from the fourth comparison step 158.
[0326] In a major change step 142, significant changes entered by the user can be taken into account. This may lead to a recalculation or re-execution of the described process steps starting from the first comparison step 143.
[0327] For example, if new features are added to search record 12, this can be a minor change step 141. A slight modification to search record 12 can also be a minor change step 141. Similarly, manual entry into one of the rating elements 126, 127, or 128 can be a minor change step 141.
[0328] For example, removing features from search record 12 can be a major change step 142. Similarly, a major modification of search record 12 can be a major change step 141.
[0329] The exemplary embodiments show possible embodiment variants, whereby it should be noted at this point that the invention is not limited to the specifically illustrated embodiment variants, but rather various combinations of the individual embodiment variants are also possible and this possibility of variation lies within the skill of the person skilled in this technical field due to the teaching on technical action by the present invention.
[0330] The scope of protection is defined by the claims. However, the description and drawings must be consulted for the interpretation of the claims. Individual features or combinations of features from the different embodiments shown and described can, in themselves, represent independent inventive solutions. The problem underlying these independent inventive solutions can be found in the description.
[0331] All references to value ranges in this description are to be understood as encompassing any and all sub-ranges thereof, e.g., the reference 1 to 10 is to be understood as including all sub-ranges, starting from the lower limit 1 and the upper limit 10, i.e., all sub-ranges begin with a lower limit of 1 or greater and end with an upper limit of 10 or less, e.g., 1 to 1.7, or 3.2 to 8.1, or 5.5 to 10.
[0332] Finally, for the sake of clarity, it should be noted that, for a better understanding of the structure, some elements have been shown not to scale and / or enlarged and / or reduced in size.
[0333] Reference sign setup
[0334] System 32 structural formula Processor Central processing unit 101 Output device Graphics processor 102 Search record User interface 103 First part of search record
[0335] Administration program 104 second search record part database 105 third search record part
[0336] Matrix 106 First search record sublevel Infrastructure 107 Search record sub-identification
[0337] Vector embedding 108 Input element large language model 109 Separator search record 110 Adjustment field search record part 111 Deletion element data set 112 Input field record 113 Hit record record record part 114 First hit record record part first relevance value 115 Second hit record record part relevance threshold 116 Third hit record record part second relevance value 117 Match value third relevance value 118 First match value part result 119 Second match value part
[0338] Text 120 third part of the agreement value
[0339] Video 121 First hit record location Drawing 122 Second hit record location CAD file 123 First hit record location - Image match value
[0340] Audio file 124 second hit record finds - Computer program match value inference engine 125 find evaluation element storage medium 126 evaluation element interface 127 first evaluation element second evaluation element 161 first ranking step second search record sublevel 162 second evaluation step search record creation step 163 second match value first assignment step 164 second ranking step second assignment step first evaluation step first selection step first comparison step second evaluation step first ranking step third evaluation step second ranking step display step small change step large change step first comparison step first selection step first intermediate result second comparison step second selection step second intermediate result first merge step first result
[0341] Interim data generation Interim data Third comparison step Third selection step Second result Second merging step Merging result Fourth comparison step First evaluation step First agreement value
Claims
patent claims 1. Computer-implemented method for searching for a data record corresponding to a search record in a data set, the method comprising the following procedural steps: - Providing the search data set in digital form; - Creating an initial vector embedding to the search dataset; - Providing at least one vector embedding per dataset for each dataset in the database; - Comparison of the first vector embedding of the search data set with the vector embedding of the data sets in the database; - Automated selection of a predetermined number of data records for which the comparison of the vector embedding of the search data record with the vector embedding of the data records in the database shows the highest match, as a first intermediate result; - Searching for records in the database that have a content similarity to the search record; - Automated selection of a predetermined number of data records that show the highest degree of content similarity to the search data record, as a second intermediate result; - Automated merging of the data sets of the first intermediate result and the data sets of the second intermediate result into a first result; - Further processing of the initial result using data technology.
2. Computer-implemented method according to claim 1, further comprising the V process steps: - Providing a second result, the second result being calculated by the following procedural steps: + Creating an intermediate data set, whereby the records of the first result are excluded from the data set to create the intermediate data set; + further comparison - the first vector embedding of the search data set with the vector embedding of the data sets in the intermediate data set or - by creating a second vector embedding for the search record and comparing the second vector embedding of the search record with the vector embedding of the records in the intermediate data set; + Selection of a predetermined number of data records for which the comparison of the vector embedding of the search data record with the vector embedding of the data records in the intermediate data set shows the highest similarity, as a second result; and in a further procedural step, merging the data records of the first result and the data records of the second result into a merged result.
3. Computer-implemented method according to claim 2, characterized in that the individual data records of the merging result are displayed unsorted according to their merging order by means of an output device.
4. Computer-implemented method according to claim 2 or 3, characterized in that, in order to create the intermediate data set, not only are the data records of the first intermediate result excluded from the data set, but also data records linked to the data records of the first intermediate result, in particular further patent documents which are linked to patent documents forming the first intermediate result by at least one identical priority claim.
5. Computer-implemented method according to one of the preceding claims, characterized in that the search for data records in the data set which have a semantic similarity to the search data set is carried out on the basis of a “More Like This Query” of the search engine provider Elasticsearch.
6. Computer-implemented method according to one of the preceding claims, characterized in that the database includes all available patent documents or that the database includes only one selected patent document per simple patent family for all available patent families.
7. Computer-implemented method according to one of the preceding claims, characterized in that the data set for the search is already restricted from a globally theoretically available data set.
8. Computer-implemented method according to one of the preceding claims, characterized in that the vector embeddings are generated on the basis of a large language model.
9. Computer-implemented method according to one of the preceding claims, characterized in that for each data record in the data set at least one first vector embedding and a second vector embedding different from it are provided, wherein the following method steps are carried out for the second vector embedding: - Comparison of a second vector embedding of the search data set with the second vector embedding of the data sets in the database; - Selecting a predetermined number of data records for which the comparison of the second vector embedding of the search data record with the second vector embedding of the data records in the data set shows the highest match, as an additional vector intermediate result; - Combining the additional vector intermediate result with the first intermediate result, with the first result, or with the combined result.
10. Computer-implemented method according to claim 9, characterized in that the first vector embedding and the second vector embedding are created for different parts of the data set, in particular that the first vector embedding represents exclusively the text or parts of the text of the data set and that the second vector embedding represents a formula, a structural formula, a video, a drawing, a CAD file, an image or an audio file or parts thereof.
11. Computer-implemented method according to claim 9 or 10, characterized in that the first vector embedding is generated on the basis of a first large language model and that the second vector embedding is generated on the basis of a second large language model, wherein the first large language model and the second large language model are different.
12. Computer-implemented method according to claim 10 or 11, characterized in that a textual description is created from the formula, the structural formula, the video, the drawing, the CAD file, the image or the audio file or parts thereof by means of a large language model and that the second vector embedding is created taking into account this textual description.
13. Computer-implemented method according to any of the preceding claims, further comprising the method steps: - Assignment of a sorting vector embedding to search record parts; - Providing a sort vector embedding to data records and / or data record parts of the first result or the merge result; - Determining an initial match and rating with an initial match score for each data set part of each data set of the initial result or the merge result based on comparison with the search data set parts of the search data set; - Ranking of the individual data set parts and data processing depending on the first match value as a result.
14. Computer-implemented method according to claim 13, further comprising the V process steps: - Determining a second match and evaluating it with a second match score for the dataset, which is based on a weighted calculation of the first match scores of the individual dataset parts of this one dataset; and - Storage of a search and evaluation result of data records and the associated data record parts depending on the second match value and data processing depending on the second match value or display in a user interface in ranked form depending on the second match value.
15. Computer-implemented method according to one of the preceding claims, characterized in that the search data set comprises several search data set parts, wherein the search data set parts each contain a text passage.
16. Computer-implemented method according to claim 15, characterized in that the search data set and the search data set parts are generated by the following method steps: - Input of user commands into an input element and thereby obtaining input text, or extraction of an existing text and thereby obtaining the input text; - Processing the input text using a large language model and generating a search record text from it, which differs from the input text and forms the search record; - Splitting the search data set into individual search data set parts.
17. Computer-implemented method according to claim 15, characterized in that the search data set and the search data set parts are generated by the following method steps: - Analysis of a file using a large language model and automated generation of a description of the file's contents as input text; - Processing the input text using a large language model and generating a search record text from it, which differs from the input text and forms the search record; - Splitting the search data set into individual search data set parts.
18. Computer-implemented method according to claim 17, characterized in that the large language model for analyzing the file and the large language model for processing the input text are two different language models.
19. Computer-implemented method according to claim 18, characterized in that the file contains a CAD model, in particular that the file is in the form of a STEP file.
20. Computer-implemented method according to one of the preceding claims, characterized in that the vector embedding of the data records in the data set is generated in a pre-processing step, wherein the vector embedding is stored assigned to the respective data record.
21. Computer-implemented method according to claim 20, characterized in that in an update process the data age of the data records in the data set is analyzed and a vector embedding is generated and stored assigned to the respective data record for those data records which have been updated or which have been newly added to the data set.
22. Computer-implemented method according to one of the preceding claims, characterized in that the data records of the data set are stored grouped in indexes.
23. Computer-implemented method according to claim 22, characterized in that the data records of the data set are completely stored in the respective index and the data records of the data set are partially stored as duplicates in different indices.
24. System comprising a processor configured to perform the method according to any one of claims 1-23.
25. Computer program comprising instructions which, when the program is executed by a computer, cause it to execute the method according to any one of claims 1-23.
26. Computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to execute the method according to any one of claims 1-23.
27. Interface configured to access the computer program according to claim 26 and to transfer results, search records, search record parts, records and record parts to a second computer program product for further processing.
Citation Information
Patent Citations
RDF graph database sub-graph matching query optimization method based on graph neural network
CN116304213A