Intellectual property entity identification method, apparatus, and computing device
By employing a three-layer architecture of greedy matching, vector semantic recall, and large language model, the problem of insufficient accuracy and efficiency in intellectual property entity recognition in existing technologies is solved, achieving more efficient and accurate intellectual property entity recognition.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI BILIBILI TECH CO LTD
- Filing Date
- 2026-02-28
- Publication Date
- 2026-06-02
AI Technical Summary
In existing technologies, the accuracy and efficiency of intellectual property entity recognition are low, especially when using keyword matching methods, which are prone to misjudgment and low recognition efficiency.
A three-layer architecture approach is adopted, which combines greedy matching with vector semantic correlation and a large language model. First, greedy matching is performed. If it fails, candidate entities are recalled through vector semantics and finally identified using a large language model. Graph structure indexing and dynamic adjustment of the candidate pool size are combined to improve recognition accuracy and efficiency.
By combining greedy matching, vector semantic recall, and large language models, the accuracy and efficiency of intellectual property entity recognition are significantly improved, semantic drift and misjudgment are avoided, and system resource utilization is optimized.
Smart Images

Figure CN122132408A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet technology, specifically to a method, apparatus, computing device, computer storage medium, and computer program product for identifying intellectual property entities. Background Technology
[0002] Intellectual property entities, also known as IP (Intellectual Property) entities, typically include the titles of works such as films, literature, games, comics, and related merchandise. Intellectual property entity identification is the process of extracting intellectual property entities from relevant data, and it is one of the core tasks in business scenarios such as e-commerce platforms, content communities, and copyright tracking.
[0003] In existing technologies, keyword matching is commonly used to identify intellectual property entities. However, this method suffers from low accuracy and insufficient efficiency in identifying intellectual property entities. Summary of the Invention
[0004] In view of the above problems, this application is made in order to provide a method, apparatus, computing device, computer storage medium and computer program product for identifying intellectual property entities that overcomes or at least partially solves the above problems.
[0005] According to a first aspect of this application, a method for identifying intellectual property entities is provided, comprising: Greedy matching is performed between the target product data and standard entities in the intellectual property entity database; If a greedy match is successful, the standard entity in the intellectual property entity database that matches the target product data will be used as the target intellectual property entity. If the greedy matching fails, a preset number of candidate entities are obtained from the intellectual property entity database based on the vector semantic correlation degree with the target product data; A candidate pool is generated based on the candidate entities. The candidate pool and the target product data are input into the large language model to obtain the target intellectual property entity output by the large language model.
[0006] In one optional implementation, the standard entities in the intellectual property entity library are arranged in descending order of string length; The greedy matching of the target product data with standard entities in the intellectual property entity database includes: The target product data is matched with standard entities in the intellectual property entity database in descending order of string length.
[0007] In one alternative implementation, the intellectual property entity library contains standard entity vectors for each standard entity; The step of obtaining a preset number of candidate entities from the intellectual property entity database based on the vector semantic correlation with the target product data includes: Input the target product data into the text vector model and obtain the product data vector output by the text vector model; Based on the similarity between the product data vector and the standard entity vector, a preset number of candidate entities are obtained.
[0008] In one optional implementation, the method further includes: constructing a graph structure index of standard entity vectors in the intellectual property entity library; The step of obtaining a preset number of candidate entities based on the similarity between the product data vector and the standard entity vector includes: obtaining a preset number of candidate entities based on the graph structure index using an approximate nearest neighbor search algorithm.
[0009] In an optional implementation, before obtaining a preset number of candidate entities from the intellectual property entity database based on the vector semantic association degree with the target product data, the method further includes: The preset quantity is dynamically determined based on the data length of the target product data and / or the greedy matching time.
[0010] In one optional implementation, dynamically determining the preset quantity based on the data length of the target product data and / or the greedy matching time includes: The length adjustment item is determined based on the first adjustment coefficient and the difference between the data length and the lower or upper limit of the basic length range; And / or, based on the second adjustment coefficient and the difference between the greedy matching time and the lower or upper limit of the basic time range, a time adjustment item is determined; Based on the base quantity, the preset quantity is determined by combining the length adjustment item and / or the time consumption adjustment item.
[0011] In one optional implementation, the target intellectual property entity for obtaining the output of the large language model includes: Obtain the intellectual property entities output by the large language model; Verify whether the intellectual property entity output by the large language model is within the candidate pool; If so, the intellectual property entity output by the large language model shall be taken as the target intellectual property entity; If not, a verification failure message is generated, and the verification failure message, the candidate pool, and the target product data are input into the large language model, and the step of obtaining the intellectual property entity output by the large language model is executed.
[0012] According to a second aspect of this application, an intellectual property entity identification device is provided, comprising: The greedy matching module is used to greedily match the target product data with standard entities in the intellectual property entity database; if the greedy matching is successful, the standard entity in the intellectual property entity database that matches the target product data is taken as the target intellectual property entity. The vector recall module is used to retrieve a preset number of candidate entities from the intellectual property entity database based on the vector semantic correlation with the target product data if the greedy matching fails. The large model processing module is used to generate a candidate pool based on the candidate entities, input the candidate pool and the target product data into the large language model, and obtain the target intellectual property entity output by the large language model.
[0013] In one optional implementation, the standard entities in the intellectual property entity library are arranged in descending order of string length; The greedy matching module is used to match target product data with standard entities in the intellectual property entity database in descending order of string length.
[0014] In one alternative implementation, the intellectual property entity library contains standard entity vectors for each standard entity; The vector recall module is used to: input the target product data into the text vector model and obtain the product data vector output by the text vector model; Based on the similarity between the product data vector and the standard entity vector, a preset number of candidate entities are obtained.
[0015] In one optional implementation, the vector recall module is used to: construct a graph structure index of standard entity vectors in the intellectual property entity database; Based on the graph structure index, an approximate nearest neighbor search algorithm is used to obtain a preset number of candidate entities.
[0016] In one optional implementation, the device further includes a quantity determination module, configured to dynamically determine the preset quantity based on the data length of the target product data and / or the greedy matching time.
[0017] In one optional implementation, the quantity determination module is used to: determine a length adjustment item based on a first adjustment coefficient and the difference between the data length and the lower or upper limit of the basic length range; And / or, based on the second adjustment coefficient and the difference between the greedy matching time and the lower or upper limit of the basic time range, a time adjustment item is determined; Based on the base quantity, the preset quantity is determined by combining the length adjustment item and / or the time consumption adjustment item.
[0018] In one alternative implementation, the large model processing module is used to: obtain the intellectual property entities output by the large language model; Verify whether the intellectual property entity output by the large language model is within the candidate pool; If so, the intellectual property entity output by the large language model shall be taken as the target intellectual property entity; If not, a verification failure message is generated, and the verification failure message, the candidate pool, and the target product data are input into the large language model, and the step of obtaining the intellectual property entity output by the large language model is executed.
[0019] According to a third aspect of this application, a computing device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other through the communication bus; The memory is used to store at least one executable instruction, which causes the processor to perform the operation corresponding to the above-described intellectual property entity identification method.
[0020] According to a fourth aspect of this application, a computer storage medium is provided, wherein the storage medium stores at least one executable instruction, the executable instruction causing a processor to perform the operation corresponding to the above-described intellectual property entity identification method.
[0021] According to a fifth aspect of this application, a computer program product is provided, comprising at least one executable instruction that causes a processor to perform the operation corresponding to the above-described intellectual property entity identification method.
[0022] This application first performs greedy matching. If the greedy matching is successful, the final target intellectual property entity is directly output, improving the efficiency of intellectual property entity recognition. If the greedy matching fails, vector semantic filtering is performed to obtain candidate entities. The results of the vector semantic filtering are then used as a candidate pool to constrain the large language model, which finally outputs the final target intellectual property entity. This scheme, through a three-layer architecture of greedy matching, vector semantics, and the large language model, can improve the accuracy and efficiency of intellectual property entity recognition.
[0023] In this embodiment of the application, the standard entities in the intellectual property entity library are arranged in descending order of string length. During greedy matching, the standard entities with longer strings are matched first, thereby avoiding mismatches of substrings and improving the accuracy of greedy matching.
[0024] This application embodiment performs vector recall based on vector semantic relevance, which can achieve intelligent recall at the semantic level, break through the limitations of keyword matching, improve the accuracy of the extracted candidate pool, and provide a foundation for the final accurate identification of the target intellectual property entity.
[0025] The embodiments of this application construct a graph structure index of standard entity vectors and perform vector recall based on the graph structure index, which can significantly improve the efficiency of vector recall and the efficiency of candidate entity acquisition.
[0026] The embodiments of this application dynamically determine the preset number of candidates based on the data length of the target product data and / or the greedy matching time, thereby dynamically determining the size of the candidate pool. This enables an adaptive balance between the accuracy and efficiency of intellectual property entity recognition, optimizing system resource utilization.
[0027] Based on the data length of the target product data and the greedy matching time, this application embodiment further combines a first adjustment coefficient, a second adjustment coefficient, as well as a basic length range and a basic time range to dynamically adjust the candidate pool size in a fine-grained manner, thereby achieving fine-grained and refined candidate pool capacity adjustment.
[0028] The embodiments of this application perform verification on the output of the large language model and retry after verification failure, thereby constraining the output range of the large language model and ensuring the legality and accuracy of the results.
[0029] The above description is merely an overview of the technical solutions of the embodiments of this application. In order to better understand the technical means of the embodiments of this application and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of this application more obvious and understandable, specific implementation methods of the embodiments of this application are described below. Attached Figure Description
[0030] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the embodiments of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings: Figure 1 A schematic diagram of an operating environment provided for implementing at least one embodiment of this application is shown; Figure 2 A flowchart illustrating an intellectual property entity identification method provided in Embodiment 1 of this application is shown. Figure 3 A flowchart illustrating a method for constructing an intellectual property entity database according to Embodiment 1 of this application is shown. Figure 4 A flowchart illustrating an intellectual property entity identification method provided in Embodiment 2 of this application is shown. Figure 5 A flowchart illustrating an intellectual property entity identification method provided in Embodiment 3 of this application is shown. Figure 6This paper shows a schematic diagram of the structure of an intellectual property entity identification device provided in Embodiment 4 of this application; Figure 7 A schematic diagram of the structure of a computing device provided in Embodiment 7 of this application is shown. Detailed Implementation
[0031] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0032] First, a brief explanation of the relevant patent terms involved in the embodiments of this application will be provided.
[0033] Intellectual property entities, also known as IP (Intellectual Property) entities, broadly refer to named entities related to intellectual property rights such as patents, trademarks, and copyrights. In this embodiment, intellectual property entities refer to the names of works such as films, literature, games, comics, and related merchandise.
[0034] Semantic drift refers to the phenomenon where vector models map words with different business meanings to similar vectors in a high-dimensional semantic space, leading to misjudgment.
[0035] Large Language Model (LLM) is a deep learning model trained on a large amount of text data, which enables the model to generate natural language text or understand the meaning of language text.
[0036] A text embedding model is a machine learning model that maps natural language text into numerical vectors in a high-dimensional space. It uses deep learning networks to compress the semantic information of text into vectors of appropriate length, making semantically similar texts more geometrically close in that vector space.
[0037] HNSW, Hierarchical Navigable Small World, is a graph-based approximate nearest neighbor search algorithm used to construct high-dimensional vector indexes and supports millisecond-level semantic recall.
[0038] Embedding, or dense vector, is a process that maps text into dense vectors using a pre-trained language model and can be used for semantic similarity calculation.
[0039] It should be noted that the user-related data that may be involved in the embodiments of this application are all information and data that have been authorized or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for choosing to authorize or refuse.
[0040] Figure 1 A schematic diagram of an operating environment provided for implementing at least one embodiment of this application is shown. This application can be applied to application environments including, but not limited to, client 2, server 4, and network 6. Wherein: Server 4 can consist of one or more computing devices. These computing devices may include virtualized computing instances. Virtualized computing instances may include virtual machines, such as emulations of computer systems, operating systems, servers, etc. The computing devices can load virtual machines based on virtual images and / or other data that define specific software used for emulation (e.g., operating systems, dedicated applications, servers). As the demand for different types of processing services changes, different virtual machines can be loaded and / or terminated on one or more computing devices. A hypervisor can be implemented to manage the use of different virtual machines on the same computing device.
[0041] Server 4 can be configured to communicate with client 2, etc., via network 6. Network 6 includes various network devices such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, proxy devices, and / or similar devices. Network 6 may include physical links, such as coaxial cable links, twisted pair cable links, fiber optic links, or combinations thereof, or wireless links, such as cellular links, satellite links, Wi-Fi links, etc.
[0042] Server 4 can provide services such as storage, reading, downloading, writing, querying, and deleting, such as providing static resource download services to clients through multiple domain names.
[0043] Client 2 can be running Windows or Android. TM Electronic devices running operating systems such as iOS, including smartphones, tablets, laptops, virtual reality devices, gaming devices, set-top boxes, in-vehicle terminals, and smart TVs. Based on these operating systems, various applications, such as browsers, can run.
[0044] Example 1 Figure 2 The diagram shows a flowchart of an intellectual property entity identification method provided in Embodiment 1 of this application.
[0045] like Figure 2 As shown, the method specifically includes the following steps: Step S201: Greedily match the target product data with the standard entities in the intellectual property entity database; if the greedy match is successful, proceed to step S202; if the greedy match fails, proceed to step S203.
[0046] Target product data is the foundational data for intellectual property entity identification, and it can include product name, product description, and other product-related data. Optionally, in practice, multi-threaded and batch processing methods can be used to acquire target product data and perform intellectual property entity identification on it. For example, 30 target product data entries can be acquired in batches according to BATCH_SIZE=30, and a ThreadPoolExecutor can be used to process each entry in parallel, thereby improving the efficiency of product data processing. Furthermore, during processing, the previous processing breakpoint can be retrieved, and the target product data can be acquired and intellectual property entity identification performed based on that breakpoint.
[0047] This application embodiment pre-constructs an intellectual property entity database, which contains at least one standard entity. This standard entity is a standardized entity name that has undergone preprocessing. The target product data is then matched against the standard entities in the intellectual property entity database using greedy string matching. Greedy matching is a fast matching method based on string inclusion relationships, capable of quickly identifying whether the intellectual property entity name directly appears in the string of the target product data.
[0048] If the greedy matching is successful, that is, if there is a standard entity in the intellectual property entity database that matches the target product data, then proceed to step S202; if the greedy matching fails, that is, if there is no standard entity in the intellectual property entity database that matches the target product data, then proceed to step S203.
[0049] In one alternative implementation, the intellectual property entity database can be pre-built before formal commodity data processing and can be continuously updated and maintained. Specifically, it can adopt... Figure 3 The steps shown are for constructing an intellectual property entity database: S2011, Get the basic entity name.
[0050] The basic entity name is initially obtained from named entity identification from at least one data source. This basic entity name contains a certain degree of redundant data, which is then converted into a standard entity through subsequent processing.
[0051] S2012 standardizes the basic entity name to obtain the standard entity.
[0052] Standard entities are obtained by standardizing the basic entity names, thereby ensuring the standardization of subsequently identified intellectual property entities, unifying IP representations, reducing redundant IPs in the intellectual property entity database, reducing subsequent data processing volume, and improving the efficiency of intellectual property entity identification.
[0053] The standardization process includes, but is not limited to: alias mapping, cleaning, deduplication, and / or substring filtering.
[0054] The alias mapping process specifically includes: pre-constructing an IP alias mapping table, which contains alias information (such as abbreviations, synonyms, etc.) for each standard entity. Then, the standard entity to which each basic entity name is mapped is determined using the IP alias mapping table.
[0055] The cleaning process specifically includes removing specific redundant information, such as removing redundant suffixes like "series" to reduce interference with subsequent processing.
[0056] Deduplication specifically includes removing identical standard entities from the intellectual property entity database.
[0057] Substring filtering specifically includes: removing entity names from the intellectual property entity database that are substrings of other standard entities.
[0058] S2013 sorts standard entities in descending order of string length.
[0059] To improve the efficiency of intellectual property entity identification, standard entities in the intellectual property entity database are sorted in descending order of string length to facilitate fast and greedy matching in the future.
[0060] Optionally, type labels can be assigned to standard entities in the intellectual property entity database. These type labels can represent type information such as the business type of the standard entity. For example, type labels can include trendy toy labels, anime labels, etc.
[0061] S2014 generates the standard entity vector corresponding to the standard entity.
[0062] For any standard entity, input the standard entity into a pre-built and trained text vector model to obtain the standard entity vector output by the text vector model. The text vector model can convert standard entities in text form into corresponding high-dimensional vectors.
[0063] Among them, text vector models can adopt dense vector models based on dual encoder architecture (such as Text2Vec model based on Transformer architecture, all-MiniLM-L6-v2 model, bge-large-zh model, etc.), sparse vector models based on keyword matching (such as BM25 bag-of-words retrieval model, SPLADE model based on Transformer, etc.), and quantized and binarized vector models (such as scalar quantization model, binarized embedding model, etc.).
[0064] For example, in actual implementation, the CNVectorizer class can be instantiated, and a pre-trained text vector model can be loaded to convert the text into dense vector embeddings.
[0065] S2015, Construct a graph structure index for standard entity vectors.
[0066] A graph structure index for standard entity vectors is constructed to store the standard entity vectors in a graph structure. For example, HNSW can be used to construct the graph structure index, i.e., a multi-level graph structure is constructed, with fewer graph nodes at higher levels; standard entity vectors are inserted into the graph nodes, and connections are established layer by layer from higher to lower levels, specifically bidirectional connections based on the nearest neighbor principle. Furthermore, a corresponding vector database (such as Qdrant) can be used to store the standard entity vectors, thus the intellectual property entity library in this embodiment includes a graph structure index.
[0067] use Figure 3 The intellectual property entity library constructed in this step contains, on the one hand, standard entities that are deduplicated and standardized, reducing the amount of subsequent data processing; on the other hand, it uses a graph structure to store standard entity vectors, which facilitates the rapid retrieval of candidate entities and improves the speed of candidate entity extraction.
[0068] In one optional implementation, during the greedy matching process, the target product data is matched against standard entities in the intellectual property entity database in descending order of string length. Specifically, the longest standard entity that has not yet been traversed is selected from the intellectual property entity database first for string matching with the current target product data. If the currently traversed entity matches the target product data, the greedy matching ends, indicating a successful greedy match, and the successfully matched target intellectual property entity is directly output without further processing. If the currently traversed entity does not match the target product data, the next standard entity is matched against the target product data. This process continues until a greedy match is successful, or all standard entities do not match the target product data, indicating a failed greedy match.
[0069] Alternatively, during the greedy matching process, the product type of the target product data can be obtained, standard entities of type tags that match the product type can be filtered, and the target product data can be matched with the filtered tag entities first.
[0070] This greedy matching step prioritizes identifying standard entities appearing in the target product data through string matching, avoiding semantic drift and reducing the false positive rate.
[0071] Step S202: Select the standard entity in the intellectual property entity database that matches the target product data as the target intellectual property entity.
[0072] The target intellectual property entity is the IP name extracted from the target product data. When a greedy match is successful, the standard entity in the intellectual property entity database that matches the target product data is taken as the target intellectual property entity, and the subsequent vector recall and large language model processing are no longer performed.
[0073] Step S203: Based on the vector semantic correlation with the target product data, obtain a preset number of candidate entities from the intellectual property entity database.
[0074] If the greedy matching fails, it indicates that the target product data does not directly contain a standard entity. In this case, the target intellectual property entity of the target product data will be further identified through steps S203-S204.
[0075] Specifically, based on the vector semantic correlation between standard entities and target product data, a predetermined number of candidate entities are obtained from the intellectual property entity database. Candidate entities are the top K standard entities in terms of vector semantic correlation with the target product data.
[0076] In one optional implementation, target product data is input into a text vector model to obtain product data vectors output by the text vector model. Based on the similarity between the product data vectors and standard entity vectors, a preset number of candidate entities are obtained. Specifically, the vector similarity between the product data vectors and standard entity vectors can be calculated (e.g., calculating the Euclidean distance between vectors), and the top K most similar standard entity vectors are obtained. The standard entities corresponding to these top K standard entity vectors are then used as candidate entities. For example, the TOP_K=40 most similar IPs can be obtained as candidate entities.
[0077] Furthermore, since the standard entity vectors of this application are stored in a graph structure, the first K standard entity vectors can be obtained based on the graph structure index using an approximate nearest neighbor search algorithm, thereby improving the efficiency of candidate entity extraction.
[0078] Specifically, the product data vector is used as the search vector, and a preset number K is obtained. The efSearch parameters (candidate set size during search) are set, the distance metric is set to cosine similarity or Euclidean distance, and a maximum search depth or time limit is set. Further multi-level navigation search is performed: the list of entry points at the highest level is obtained from the graph structure index, and efSearch is used to quickly locate the approximate region at higher levels; this is further refined layer by layer, i.e., a greedy algorithm is used at each level to find local nearest neighbors; and then a precise search is performed at the lower levels. During the search process, a max-heap (with a preset capacity of K) is maintained to store the current nearest neighbors, and the heap is continuously updated during the search. An early stopping condition can be used, i.e., the search stops when the candidate distance no longer significantly improves. Finally, a preset number of candidate standard entity vectors are returned.
[0079] Step S204: Generate a candidate pool based on the candidate entities, input the candidate pool and the target product data into the large language model, and obtain the target intellectual property entity output by the large language model.
[0080] A predetermined number of candidate entities are used as a candidate pool. Based on the candidate pool and the target product data, prompt words are generated to guide the large language model in extracting the target intellectual property entities from the candidate pool. Since the candidate pool consists of standard entities selected through vector semantics, the large language model can significantly reduce model illusions when extracting target intellectual property entities from the target product data, avoiding the output of non-compliant intellectual property entities. Furthermore, the large language model can fully analyze the contextual information of the target product data, avoiding the influence of distractors such as model number, color, and accessories, resulting in more accurate output of target intellectual property entities.
[0081] Furthermore, the intellectual property entity library, text vector model, and large language model in this application embodiment can be updated independently, thereby improving the scalability and stability of the entire system.
[0082] Therefore, the intellectual property entity recognition method provided in this application first performs greedy matching. If the greedy matching is successful, the final target intellectual property entity is directly output, improving the efficiency of intellectual property entity recognition. If the greedy matching fails, vector semantic filtering is performed to obtain candidate entities. The vector semantic filtering results are then used as a candidate pool to constrain the large language model, which finally outputs the final target intellectual property entity. This scheme, through a three-layer architecture of greedy matching, vector semantics, and the large language model, improves the accuracy and efficiency of intellectual property entity recognition.
[0083] Example 2 Figure 4 A flowchart illustrating an intellectual property entity identification method provided in Embodiment 2 of this application is shown.
[0084] like Figure 4 As shown, the method specifically includes the following steps: Step S401: Determine whether a blacklist field exists in the target product data; if yes, proceed to step S402; if no, proceed to step S403.
[0085] A pre-built blacklist is provided, containing at least one blacklist field. Blacklist fields may include invalid fields such as "1-yuan link" and "extra mail". In actual implementation, product data without IP names can be analyzed. For example, this type of product data without IP names can be segmented, and the frequency of each segmented word can be counted. High-frequency segments are added to the blacklist field, thus automatically generating the blacklist. Alternatively, the blacklist can be generated by combining expert experience.
[0086] Step S402: Output the empty entity recognition result.
[0087] If the target product data has a blacklist field, it means that the current target product data does not contain any intellectual property entity name, so the empty entity recognition result is directly output without further recognition process, reducing system load and saving system computing resources.
[0088] Step S403: Perform a greedy match between the target product data and the standard entities in the intellectual property entity database; if the greedy match is successful, proceed to step S404; if the greedy match fails, proceed to step S405.
[0089] If the target product data does not have a blacklist field, it indicates that the current target product data may contain the name of an intellectual property entity, so this step is used for greedy matching.
[0090] Step S404: Select the standard entity in the intellectual property entity database that matches the target product data as the target intellectual property entity.
[0091] Step S405: Dynamically determine the preset quantity, and obtain the preset number of candidate entities from the intellectual property entity database based on the vector semantic correlation degree with the target product data.
[0092] In one implementation, the preset number of candidate entities identified through vector semantic correlation can be a fixed number, specifically the capacity of the subsequent candidate pool. For example, the preset number can be a fixed value of 40.
[0093] In another implementation, to improve the accuracy of intellectual property entity identification and balance identification accuracy with system resources, a preset quantity is dynamically determined. This preset quantity can be dynamically determined based on the data length of the target product data and / or the greedy matching time. The data length can be the string length of the target product data, and the greedy matching time is the time spent on the greedy matching phase of the target product data.
[0094] This involves setting a base quantity and a base length range. The length adjustment item is determined based on the first adjustment coefficient and the difference between the data length and the lower or upper limit of the base length range.
[0095] For example, the length adjustment term can be calculated using the following formula 1: (Formula 1) in, Indicates the length adjustment item; Indicates the first adjustment factor; L represents the data length of the target product data; Indicates the lower limit of the basic length range; Indicates the upper limit of the basic length range; This indicates the lower limit of the set quantity adjustment (which is a negative number). This indicates the upper limit of the set quantity adjustment (a positive number).
[0096] If the data length of the target product data is within the basic length range, the length adjustment item is 0; if the data length of the target product data is less than the lower limit of the basic length range, the length adjustment item is negative and greater than or equal to the lower limit of the quantity adjustment; if the data length of the target product data is greater than the upper limit of the basic length range, the length adjustment item is positive and less than or equal to the upper limit of the quantity adjustment.
[0097] And / or, set the base quantity and base time range. Determine the time adjustment item based on the second adjustment coefficient, the difference between the greedy matching time and the lower or upper limit of the base time range.
[0098] For example, the time adjustment item can be calculated using the following formula 2: (Formula 2) in, This indicates the time-consuming adjustment item; Indicates the second adjustment factor; This indicates the time taken for greedy matching of the target product data; Indicates the lower limit of the basic time consumption range; Indicates the upper limit of the base time range; This indicates the lower limit of the set quantity adjustment (which is a negative number). This indicates the upper limit of the set quantity adjustment (a positive number).
[0099] If the greedy matching time of the target product data is within the basic time range, the time adjustment item is 0; if the time adjustment item of the target product data is less than the lower limit of the basic time range, the time adjustment item is negative and greater than or equal to the lower limit of the quantity adjustment; if the time adjustment item of the target product data is greater than the upper limit of the basic time range, the time adjustment item is positive and less than or equal to the upper limit of the quantity adjustment.
[0100] Further, based on the base quantity, the final preset quantity is obtained by combining the length adjustment item and / or the time consumption adjustment item. For example, preset quantity = base quantity + length adjustment item, or preset quantity = base quantity + time consumption adjustment item, or preset quantity = base quantity + mixed adjustment item, where the mixed adjustment item is the weighted sum of the length adjustment item and the time consumption adjustment item.
[0101] After determining the preset quantity, a preset number of candidate entities are obtained from the intellectual property entity database based on the vector semantic correlation with the target product data.
[0102] Step S406: Generate a candidate pool based on the candidate entities, and input the candidate pool and target product data into the large language model.
[0103] Step S407: Obtain the intellectual property entity output by the large language model.
[0104] Step S408: Verify whether the intellectual property entity output by the large language model is in the candidate pool; if yes, proceed to step S409; if no, proceed to step S410.
[0105] To further improve the accuracy of intellectual property entity recognition, after obtaining the intellectual property entities output by the large language model, it is further verified whether the intellectual property entities output by the large language model are in the candidate pool.
[0106] Step S409: Use the intellectual property entity output by the large language model as the target intellectual property entity.
[0107] If the intellectual property entity output by the large language model is within the candidate pool, the verification is successful, and the intellectual property entity output by the large language model is taken as the target intellectual property entity.
[0108] Step S410: Generate verification failure prompt words, and input the verification failure prompt words, candidate pool and target product data into the large language model.
[0109] If the intellectual property entity output by the large language model is not in the candidate pool, it indicates a verification failure. This suggests that the large language model has produced incorrect results such as self-created IP terms. In this case, a verification failure message is generated, and the verification failure message, the candidate pool, and the target product data are input into the large language model for correction.
[0110] In one optional implementation, if the number of verification failures for the same target product data does not reach the preset number, then step S410 is executed; if the number of verification failures for the same target product data has reached the preset number, then an empty entity recognition result is output, or a manual verification prompt is generated, or the target intellectual property entity is determined based on the vector similarity between the candidate pool and the target product data, etc.
[0111] In one optional implementation, relevant metrics during the statistical data processing, such as the total number of processes processed, the success rate of large language model calls, total processing time, and token usage, can be visualized. This allows users to intuitively understand the data processing status or perform subsequent optimization. For example, if the success rate of large language model calls falls below a preset threshold, a corresponding alarm is generated, facilitating timely optimization of prompt words or large language model call interfaces.
[0112] Therefore, the intellectual property entity recognition method provided in this application directly outputs an empty recognition result when a blacklist field exists in the target product data, thereby saving system resources. Furthermore, after obtaining the intellectual property entities output by the large language model, it further verifies whether the output intellectual property entities are within the candidate pool, further ensuring the recognition accuracy of the target intellectual property entities. Moreover, the candidate pool capacity is dynamically determined based on the data length of the target product data and / or the greedy matching time, thus balancing the intellectual property entity recognition accuracy and system resource consumption.
[0113] Example 3 Figure 5 A flowchart illustrating an intellectual property entity identification method provided in Embodiment 3 of this application is shown.
[0114] like Figure 5 As shown, the method specifically includes the following steps: Step S501, initialization process.
[0115] The initialization process is a preparation process for identifying intellectual property entities.
[0116] Specifically, an intellectual property entity database is pre-built: basic entity names are obtained and mapped using IP aliases (defining synonym and abbreviation mappings for IPs); IP list cleaning is performed (IPs are read from the IP collection.csv, and redundant suffixes such as "Series" are removed to generate a deduplicated IP candidate list); IP deduplication and sorting is performed, and the IP candidate list is sorted in descending order of length after deduplication; an entity database IP table is generated, and candidate IPs that are substrings of other IPs are filtered out; IP vectors are generated, and the cleaned IP list is converted into entity vectors using CNVectorizer.
[0117] Furthermore, during the initialization process, the intellectual property entity database read path, commodity data acquisition path, large language model interface key, and text vector model path are loaded. The large language model calling tool is also initialized to connect to the large language model service. The CNVectorizer class is instantiated, and a pre-trained text vector model (such as Text2Vec) is loaded.
[0118] It can also load progress.json to read the last processing breakpoint and enable resume from where it left off. It also initializes the output CSV file and defines output result fields, such as ip_greedy: greedy matching results; ip_vector: large language output results.
[0119] Step S502: Batch product data acquisition.
[0120] Product data is processed using batch processing and multithreading to improve efficiency. For example, product data is read according to BATCH_SIZE = 30, and ThreadPoolExecutor can be used to process a single product data item in parallel. For each product data item, the subsequent IP extraction process is executed.
[0121] Step S503: Extract the target IP from the product data.
[0122] Specifically, if the product data contains blacklist fields, such as invalid keywords like "1 yuan link" or "postage supplement", then an empty IP result will be output directly, thereby reducing invalid calculations.
[0123] If the product data does not contain a blacklist field, the `greedy_ip_match` function is called to iterate through the preprocessed IP database list and perform a greedy match to check if the product data contains an IP name from the IP database list. During the greedy match process, longer IPs are prioritized to avoid mismatches of substrings.
[0124] If the product data contains IP names from the IP library list, then that IP name is used as the target IP for the product data, and the ip_greedy result is output. This eliminates the need for subsequent vector semantic association retrieval and large language model analysis, thereby improving efficiency.
[0125] If the product data does not contain any IP names in the IP database list, the text vector model is called to convert the product data into product vectors. The similarity between the product vectors and the IP vectors in the IP database is calculated based on Euclidean distance and other methods. Then, K (e.g., 40) IPs with high similarity are selected from the IP database as candidate IPs.
[0126] Using K candidate IPs as a candidate pool, construct a prompt with the message "Product data, K candidate IPs", and limit the business scope of the IPs to categories such as cultural and creative products, and trendy toys. An example can be provided, and the output format can be JSON.
[0127] When calling the large language model, you can set `temperature=0` (i.e., deterministic output) to obtain the output result. Further verification is performed to check if the IP address output by the large language model is in the candidate pool, thus preventing the large language model from fabricating IP addresses. If the large language model call fails, a retry is performed. If the number of retries reaches the retry threshold, such as `MAX_RETRIES=2`, an empty IP address is output.
[0128] Step S504: Results summary and progress update.
[0129] Write the IP results of the current product data to the output CSV file. Update progress.json (e.g., number of processed records, number of large language model calls, token usage, etc.). Then proceed to process the next batch of product data until all data has been processed.
[0130] Finally, a corresponding statistical report is generated, such as api_stats.json, which includes the total number of processes processed, the success rate of large language model calls, the total time consumed, token usage, etc. This statistical report can be output to the console for timely access to product data processing information.
[0131] Therefore, the intellectual property entity recognition method provided in this application adopts a batch acquisition and multi-threaded product data processing method to improve the efficiency of intellectual property entity recognition in product data. Furthermore, it employs multiple recognition methods, including blacklist filtering, greedy matching, vector semantic filtering, and large language models, to improve the accuracy and efficiency of intellectual property entity recognition.
[0132] Example 4 Figure 6 A schematic diagram of the structure of an intellectual property entity identification device provided in Embodiment 4 of this application is shown.
[0133] like Figure 6 As shown, the device 600 includes: a greedy matching module 610, a vector recall module 620, and a large model processing module 630.
[0134] Greedy matching module 610 is used to greedily match the target product data with standard entities in the intellectual property entity database; if the greedy matching is successful, the standard entity in the intellectual property entity database that matches the target product data is taken as the target intellectual property entity; The vector recall module 620 is used to obtain a preset number of candidate entities from the intellectual property entity database based on the vector semantic correlation with the target product data if the greedy matching fails. The large model processing module 630 is used to generate a candidate pool based on the candidate entities, input the candidate pool and the target product data into the large language model, and obtain the target intellectual property entity output by the large language model.
[0135] In one optional implementation, the standard entities in the intellectual property entity library are arranged in descending order of string length; The greedy matching module 610 is used to match the target product data with standard entities in the intellectual property entity database in descending order of string length.
[0136] In one alternative implementation, the intellectual property entity library contains standard entity vectors for each standard entity; The vector recall module 620 is used to: input the target product data into the text vector model and obtain the product data vector output by the text vector model; Based on the similarity between the product data vector and the standard entity vector, a preset number of candidate entities are obtained.
[0137] In one optional implementation, the vector recall module 620 is used to: construct a graph structure index of standard entity vectors in the intellectual property entity database; and, based on the graph structure index, use an approximate nearest neighbor search algorithm to obtain a preset number of candidate entities.
[0138] In one optional implementation, the device further includes a quantity determination module (not shown in the figure), used to dynamically determine the preset quantity based on the data length of the target commodity data and / or the greedy matching time.
[0139] In one optional implementation, the quantity determination module is used to: determine a length adjustment item based on a first adjustment coefficient and the difference between the data length and the lower or upper limit of the basic length range; And / or, based on the second adjustment coefficient and the difference between the greedy matching time and the lower or upper limit of the basic time range, a time adjustment item is determined; Based on the base quantity, the preset quantity is determined by combining the length adjustment item and / or the time consumption adjustment item.
[0140] In one alternative implementation, the large model processing module is used to: obtain the intellectual property entities output by the large language model; Verify whether the intellectual property entity output by the large language model is within the candidate pool; If so, the intellectual property entity output by the large language model shall be taken as the target intellectual property entity; If not, a verification failure message is generated, and the verification failure message, the candidate pool, and the target product data are input into the large language model, and the step of obtaining the intellectual property entity output by the large language model is executed.
[0141] Therefore, the intellectual property entity recognition device provided in this application first performs greedy matching. If the greedy matching is successful, it directly outputs the final target intellectual property entity, improving the efficiency of intellectual property entity recognition. If the greedy matching fails, it performs vector semantic filtering to obtain candidate entities. The vector semantic filtering results are then used as a candidate pool to constrain the large language model, and finally, the large language model outputs the final target intellectual property entity. This solution, through a three-layer architecture of greedy matching, vector semantics, and the large language model, improves the accuracy and efficiency of intellectual property entity recognition.
[0142] Example 5 Embodiment 5 of this application provides a non-volatile computer storage medium storing at least one executable instruction or computer program that enables a processor to perform the operation corresponding to the intellectual property entity identification method in any of the above method embodiments.
[0143] Example 6 Embodiment 6 of this application provides a computer program product, which includes at least one executable instruction or computer program that enables a processor to perform the operation corresponding to the intellectual property entity identification method in any of the above method embodiments.
[0144] Example 7 Figure 7 A schematic diagram of a computing device according to Embodiment Seven of this application is shown. The specific embodiments of this application do not limit the specific implementation of the computing device.
[0145] like Figure 7 As shown, the computing device may include: a processor 702, a communications interface 704, a memory 706, and a communications bus 708.
[0146] The processor 702, communication interface 704, and memory 706 communicate with each other via communication bus 708. Communication interface 704 is used to communicate with other network elements such as clients or other servers. The processor 702 executes program 710, specifically performing the relevant steps in the above-described embodiment of the intellectual property entity identification method for computing devices.
[0147] Specifically, program 710 may include program code that includes computer operation instructions.
[0148] The processor 702 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The computing device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0149] Memory 706 is used to store program 710. Memory 706 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0150] Specifically, program 710 can be used to cause processor 702 to execute the intellectual property entity recognition method in any of the above method embodiments. The specific implementation of each step in program 710 can be found in the corresponding descriptions of the steps and units in the above-described intellectual property entity recognition method embodiments, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0151] The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, the embodiments of this application are not directed to any particular programming language. It should be understood that the contents of the embodiments of this application described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best implementation of the embodiments of this application.
[0152] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0153] Similarly, it should be understood that, in order to streamline this disclosure and aid in understanding one or more of the various inventive aspects, features of the embodiments of this application are sometimes grouped together in a single embodiment, figure, or description thereof in the foregoing description of exemplary embodiments of the present application. However, this approach to disclosure should not be construed as reflecting an intention that the claimed embodiments of the present application require more features than expressly recited in each claim. Rather, as reflected in the claims, inventive aspects lie in fewer than all features of a single foregoing disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of the present application.
[0154] Those skilled in the art will understand that modules in the device of the embodiments can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiments can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components. Except where at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or device so disclosed. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0155] Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of the embodiments of this application and form different embodiments. For example, in the claims, any one of the claimed embodiments can be used in any combination.
[0156] The various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components according to the embodiments of this application. The embodiments of this application can also be implemented as device or apparatus programs (e.g., computer programs and computer program products) for performing part or all of the methods described herein. Such programs implementing the embodiments of this application can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
[0157] It should be noted that the above embodiments are illustrative of the embodiments of this application and not limiting of the embodiments of this application, and those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. Embodiments of this application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.
Claims
1. A method for identifying intellectual property entities, characterized in that, include: Greedy matching is performed between the target product data and standard entities in the intellectual property entity database; If a greedy match is successful, the standard entity in the intellectual property entity database that matches the target product data will be used as the target intellectual property entity. If the greedy matching fails, a preset number of candidate entities are obtained from the intellectual property entity database based on the vector semantic correlation degree with the target product data; A candidate pool is generated based on the candidate entities. The candidate pool and the target product data are input into the large language model to obtain the target intellectual property entity output by the large language model.
2. The method according to claim 1, characterized in that, The standard entities in the intellectual property entity database are arranged in descending order of string length; The greedy matching of the target product data with standard entities in the intellectual property entity database includes: The target product data is matched with standard entities in the intellectual property entity database in descending order of string length.
3. The method according to claim 1, characterized in that, The intellectual property entity database contains standard entity vectors for each standard entity. The step of obtaining a preset number of candidate entities from the intellectual property entity database based on the vector semantic correlation with the target product data includes: Input the target product data into the text vector model and obtain the product data vector output by the text vector model; Based on the similarity between the product data vector and the standard entity vector, a preset number of candidate entities are obtained.
4. The method according to claim 3, characterized in that, The method further includes: constructing a graph structure index for the standard entity vectors in the intellectual property entity database; The step of obtaining a preset number of candidate entities based on the similarity between the product data vector and the standard entity vector includes: obtaining a preset number of candidate entities based on the graph structure index using an approximate nearest neighbor search algorithm.
5. The method according to any one of claims 1-4, characterized in that, Before obtaining a preset number of candidate entities from the intellectual property entity database based on the vector semantic correlation with the target product data, the method further includes: The preset quantity is dynamically determined based on the data length of the target product data and / or the greedy matching time.
6. The method according to claim 5, characterized in that, The step of dynamically determining the preset quantity based on the data length of the target product data and / or the greedy matching time includes: The length adjustment item is determined based on the first adjustment coefficient and the difference between the data length and the lower or upper limit of the basic length range; And / or, based on the second adjustment coefficient and the difference between the greedy matching time and the lower or upper limit of the basic time range, a time adjustment item is determined; Based on the base quantity, the preset quantity is determined by combining the length adjustment item and / or the time consumption adjustment item.
7. The method according to any one of claims 1-6, characterized in that, The target intellectual property entities for obtaining the output of the large language model include: Obtain the intellectual property entities output by the large language model; Verify whether the intellectual property entity output by the large language model is located in the candidate pool; If so, the intellectual property entity output by the large language model shall be taken as the target intellectual property entity; If not, generate a verification failure message, and input the verification failure message, the candidate pool, and the target product data into the large language model, and execute the step of obtaining the intellectual property entity output by the large language model.
8. An intellectual property entity identification device, characterized in that, include: The greedy matching module is used to greedily match the target product data with standard entities in the intellectual property entity database. If a greedy match is successful, the standard entity in the intellectual property entity database that matches the target product data will be used as the target intellectual property entity. The vector recall module is used to retrieve a preset number of candidate entities from the intellectual property entity database based on the vector semantic correlation with the target product data if the greedy matching fails. The large model processing module is used to generate a candidate pool based on the candidate entities, input the candidate pool and the target product data into the large language model, and obtain the target intellectual property entity output by the large language model.
9. A computing device, characterized in that, include: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction, which causes the processor to perform the operation corresponding to the intellectual property entity identification method as described in any one of claims 1-7.
10. A computer storage medium, characterized in that, The storage medium stores at least one executable instruction that causes the processor to perform the operation corresponding to the intellectual property entity identification method as described in any one of claims 1-7.
11. A computer program product, characterized in that, It includes at least one executable instruction that causes the processor to perform the operation corresponding to the intellectual property entity identification method as described in any one of claims 1-7.