Insurance Matching Method and System Based on Intelligent Analysis and Dynamic Comparison
By dynamically collecting data from insurance companies and establishing a versioned product database, and using LLM and RAG technologies to analyze policy terms and generate visual comparison views, the problem of information asymmetry in insurance product selection is solved, and efficient and accurate matching of insurance products is achieved.
Patent Information
- Application Number
- CN202511278661.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-09
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2045-09-09
AI Technical Summary
Existing technologies lack objective and intelligent system-assisted decision-making mechanisms, resulting in inefficient insurance product selection, difficulty for users to conduct multi-dimensional dynamic comparisons, serious information asymmetry problems, and policy information relying on flawed information provided by users, leading to misleading information.
By dynamically collecting data from insurance companies, a versioned product database is established. The policy terms are analyzed using Large Language Modeling (LLM) and Retrieval Enhancement Generation (RAG) technologies to generate a visual comparison view. Combined with intelligent question answering and product rescreening, real-time updates and multi-dimensional visual comparisons of insurance products are achieved.
It improves the efficiency and accuracy of insurance product matching, reduces information asymmetry and decision-making bias, provides personalized decision support, and ensures real-time data updates and compliance security.
Smart Images

Figure CN120763304B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and in particular to an insurance matching method and system based on intelligent analysis and dynamic comparison. Background Technology
[0002] Currently, the selection of insurance products suffers from a lack of objective and intelligent system-assisted decision-making mechanisms due to existing technology. This leads to users relying excessively on the subjective experience of sales personnel for their decisions. Furthermore, existing tools lack structured data support and cannot generate multi-dimensional dynamic comparative views such as differences in cash value and deductibles, failing to meet users' needs for horizontal product comparisons. For example, in comparing income-generating products such as participating insurance and annuities, users cannot intuitively grasp the differences between different products in dimensions such as IRR, simple interest rate, and the scope of exclusions, resulting in low decision-making efficiency and a high risk of information bias. In response, existing technologies have disclosed, for example, the invention patent with patent number 201910606135.5, entitled "Insurance Product Data Push Method, System, and Computer Equipment Based on Big Data." The method includes: acquiring user information of potential users; extracting multiple feature data based on the user information; obtaining an anomaly coefficient of the potential user based on the multiple feature data; determining whether the anomaly coefficient is greater than a preset value; if the anomaly coefficient is greater than the preset value, establishing a session window between the user terminal and the expert agent terminal; if the anomaly coefficient is not greater than the preset value, obtaining a feature combination based on the multiple feature data; inputting the feature combination into a product push model to obtain the confidence level of the potential user and each category label; generating an insurance product data form based on the confidence level of each category label; and sending the insurance product data form to the user terminal. This solution can intelligently select between machine service and human service and effectively improve the accuracy of pushing insurance product data.
[0003] However, even with such a technical solution, a technical problem remains: a large amount of information in the policy relies on information provided by the user for judgment. If the information provided by the user is flawed, it can be highly misleading and even cause losses to the insured. Therefore, there is an urgent need for a technical solution that can intelligently parse policy terms, dynamically update data, and provide multi-dimensional visual comparisons to improve user decision-making efficiency, solve the information asymmetry problem in the matching process of insurance benefit products, and reduce the risks for both the insured and the policyholder. Summary of the Invention
[0004] To address the shortcomings of existing technologies, such as flawed information interaction, delayed data updates, and a lack of intelligent comparison tools, this invention provides an insurance matching method and system based on intelligent parsing and dynamic comparison. By dynamically collecting and updating data, parsing insurance policies using LLM+RAG, generating visual comparison views, and combining intelligent question answering and product rescreening, it solves the problem of information asymmetry and improves the accuracy of user information interaction and decision-making efficiency.
[0005] The following is the technical solution of the present invention.
[0006] Insurance matching methods based on intelligent analysis and dynamic comparison include:
[0007] Dynamically collect insurance company operating data and policy terms documents, parse key policy fields, and establish a versioned product database; generate user demand profile templates based on the versioned product database, and obtain user demand profiles based on the interaction between users and user demand profile templates;
[0008] Products are filtered from the versioned product database based on user demand profiles, and interactive dialogues with users are re-established during the filtering process.
[0009] In response to user questions, the system uses a pre-defined large language model and RAG knowledge base to provide answers based on the content of each question. During the answering process, the system modifies the user demand profile and then re-selects products from the versioned product database based on the modified user demand profile.
[0010] This invention achieves real-time updates of insurance product data through dynamic data collection and versioned database construction, solving the data lag problem of traditional solutions. It utilizes large language models and RAG technology to intelligently parse policy terms, improving the accuracy of unstructured text processing. Based on user profiles, it generates benefit matrices and visualizes the differences in exclusion clauses, helping users shorten decision-making time. It integrates intelligent question-and-answer and dynamic filtering mechanisms, supporting user-triggered knowledge retrieval and product re-screening, enhancing interactivity and decision objectivity, and effectively solving the problems of low user decision-making efficiency caused by information asymmetry and information overload of insurance products.
[0011] Optionally, the dynamic collection of insurance company operating data and policy terms documents, parsing of key policy fields, and establishment of a versioned product database includes:
[0012] Based on the user interface permissions enabled by the user, the insurance company's authorization is obtained, and the corresponding insurance company's operating data and policy terms documents are obtained. The validity of the terms is verified by the unique product identifier and version number.
[0013] A large language model is used to parse the policy terms document, extract key fields, and create versioned product description documents.
[0014] Optionally, the construction of the user demand profile includes:
[0015] Based on a standard risk assessment questionnaire, users' risk preferences are quantified.
[0016] Confirm the user's and the insured's identity information and insurance needs;
[0017] User profiles are built based on users' risk preferences, identity information, and insurance needs.
[0018] Optionally, the step of filtering products from a versioned product database based on user demand profiles, re-establishing interactive dialogue with users during the filtering process, and generating a visual comparison view of the differences between the revenue matrix and the disclaimer terms includes:
[0019] Based on the user risk preferences, identity information, and insurance needs in the user demand profile, determine the product screening scope of the versioned product database, and sort and recommend products within the scope;
[0020] Construct a return matrix based on different insurance products and different comparison dimensions;
[0021] Retrieve insurance policies obtained from different insurance products, analyze the exclusion clauses from these policies, and mark the differences in the exclusion clauses between different policies;
[0022] Based on user choices and feedback, analyze the differences between the initial user needs profile and the actual user profile.
[0023] Optionally, the construction of the RAG knowledge base includes:
[0024] Compile common terms and questions about insurance products to form an initial question-and-answer pair;
[0025] By combining the finely tuned large language model with the RAG architecture, the content of the initial question-answer pairs is validated and supplemented.
[0026] The verified and supplemented question-and-answer pairs are converted into vector form, stored in RAG knowledge base units, and a retrieval index is created.
[0027] By combining the updated information from the versioned product database, the time-sensitive content of the RAG knowledge base is dynamically revised.
[0028] Optionally, the response to user questions involves answering them using a pre-defined large language model and RAG knowledge base, based on the content of each question. During the answering process, the user demand profile is revised, and products are re-selected from the versioned product database based on the revised user demand profile. This includes:
[0029] Obtain the user's input question text, convert the user's question into a vector, input it into the RAG knowledge base, and retrieve matching relevant fragments;
[0030] The fine-tuned large language model generates structured answers based on knowledge fragments retrieved from RAG and general knowledge. After verifying the accuracy of the answers, the model is returned to the user in natural language.
[0031] If a user's question involves a change in requirements, the product filtering criteria will be automatically updated, and products will be re-filtered from the versioned product database based on the updated filtering criteria.
[0032] Optionally, the step of re-filtering products from the versioned product database includes:
[0033] Analyze the changes in user requests;
[0034] Update product selection criteria based on extracted demand elements;
[0035] Based on the adjusted conditions, retrieve matching products from the versioned product database.
[0036] This invention also provides an insurance matching system based on intelligent parsing and dynamic comparison, used to execute the insurance matching method based on intelligent parsing and dynamic comparison of any of the foregoing embodiments, including:
[0037] The dynamic policy data collection and update module is used to dynamically collect insurance company operating data and policy terms documents, parse key policy fields, and establish a versioned product database; it generates user demand profile templates based on the versioned product database, and obtains user demand profiles based on the interaction between users and user demand profile templates.
[0038] The interactive recommendation and comparison module is used to filter products from a versioned product database based on user needs profiles, and to re-establish interactive dialogue with users during the filtering process.
[0039] The intelligent question-answering engine responds to user questions. Based on the content of each question, it uses a pre-set large language model and RAG knowledge base to answer the question. During the answering process, it corrects the user demand profile and re-selects products from the versioned product database based on the corrected user demand profile.
[0040] The present invention also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor, when calling the computer program in the memory, implements the steps of the insurance matching method based on intelligent parsing and dynamic comparison as described in any one of the present invention.
[0041] The present invention also provides a storage medium storing computer-executable instructions, which, when loaded and executed by a processor, implement the steps of the insurance matching method based on intelligent parsing and dynamic comparison as described in any one of the inventions.
[0042] The substantial effects of this invention include:
[0043] Compared to existing technologies, this solution dynamically collects data from insurance companies and establishes a versioned product database, enabling real-time updates and version tracking of insurance product information, thus solving the problem of information lag in traditional static databases. By deeply integrating a fine-tuned large language model with the RAG knowledge base, it accurately parses the semantics of policy terms and constructs a dynamic knowledge base, improving the efficiency of term understanding and ensuring timely responses to user questions. Through dynamic modification of user profiles based on user interaction, combined with active and passive screening mechanisms, it achieves real-time product re-screening, overcoming the limitations of static recommendations in adapting to changing needs. Furthermore, it integrates functions such as visualization of term differences and comparison of benefit matrices, and ensures compliance and security through access management and source tracing, forming a complete closed loop from data collection, intelligent analysis, interactive decision-making to accurate recommendations, effectively improving the efficiency and accuracy of insurance product matching and the user's decision-making experience.
[0044] Specifically, it achieves real-time updates and high-precision processing of insurance product information through dynamic data collection and intelligent analysis technologies. It automatically captures data from public channels and establishes a versioned database, solving the problem of data update lag in traditional solutions and ensuring the timeliness of product information. Based on an LLM+RAG architecture, it performs structured analysis of policy terms, covering more than 90% of market products, transforming unstructured text into computable structured data, significantly improving information processing efficiency.
[0045] Multi-dimensional visualization and comparison technology effectively shortens users' decision-making time. The system generates a benefit difference matrix and an exclusion clause difference matrix based on user needs, which can support horizontal comparison with historical policies and time deposits. Through indicators such as IRR and simple interest rate, as well as highlighting exclusion clauses, it helps users intuitively understand product differences, avoid decision-making biases caused by information asymmetry and information overload, and achieve objective and efficient product matching.
[0046] Integrating intelligent question answering and dynamic filtering mechanisms enhances the interactive experience and decision-making flexibility. The LLM+RAG engine provides real-time answers to questions about professional terminology, dynamically adjusts product filtering criteria based on user queries, and supports the regeneration of comparison views as needed. This forms a closed loop of "user questioning - knowledge retrieval - optimized questioning - updated retrieval - decision support," comprehensively addressing the issue of two-way information asymmetry in insurance products and providing users with intelligent and personalized decision support. Attached Figure Description
[0047] Figure 1 This is a flowchart of an embodiment of the present invention. Detailed Implementation
[0048] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions will be clearly and completely described below in conjunction with the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0049] It should be understood that in the various embodiments of the present invention, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0050] It should be understood that in this invention, "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or device.
[0051] It should be understood that in this invention, "multiple" refers to two or more. "And / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "Contains A, B, and C", "Contains A, B, and C" means that all three A, B, and C are contained; "Contains A, B, or C" means that one of A, B, and C is contained; "Contains A, B, and / or C" means that any one, two, or three of A, B, and C are contained.
[0052] In this invention, LLM refers to Large Language Model. It is a type of artificial intelligence model based on deep learning architecture and trained on massive amounts of text data. These models capture language patterns through self-supervised learning, and their parameter scale typically reaches billions or even hundreds of billions. They are capable of understanding and generating human language and exhibit complex reasoning abilities.
[0053] The RAG described in this invention refers to Retrieval-Augmented Generation, a technical framework that enhances the language model's generation capabilities by dynamically retrieving external knowledge bases. Its core idea is to enable the model to not only rely on its own pre-trained knowledge when generating content, but also to acquire the latest or domain-specific information in real time, thereby improving the accuracy, timeliness, and interpretability of the responses.
[0054] It should be noted that while existing technologies already employ numerous intelligent analysis methods combining LLM and RAG for insurance matching, the accuracy of information and potential misunderstandings during communication make it difficult to provide truly suitable policies, and this can negatively impact both parties. This invention aims to address these issues.
[0055] The technical solution of the present invention will be described in detail below with reference to specific embodiments. Embodiments may be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0056] Example:
[0057] Insurance matching methods based on intelligent analysis and dynamic comparison, such as Figure 1 As shown, steps A, B, and C are included, wherein:
[0058] Step A: Dynamically collect insurance company operating data and policy terms documents, parse key policy fields, and establish a versioned product database; generate user demand profile templates based on the versioned product database, and obtain user demand profiles based on the interaction between users and user demand profile templates.
[0059] In some embodiments, step A includes:
[0060] Based on the user interface permissions enabled by the user, the insurance company's authorization is obtained, and the corresponding insurance company's operating data and policy terms documents are obtained. The validity of the terms is verified by the unique product identifier and version number.
[0061] A large language model is used to parse the policy terms document, extract key fields, and create versioned product description documents.
[0062] For example, operational data such as solvency and dividend realization rates can be obtained periodically through the API interface of an insurance company's official website, or authorized policy terms PDFs can be obtained from public channels, such as the policy terms download page on an insurance company's official website. Compared to traditional manual compilation, automated data collection can monitor market product dynamics in real time. For example, when a participating insurance policy term is revised due to regulatory requirements, a scheduled task can detect the PDF update and trigger incremental data collection, avoiding the waste of resources from a full update.
[0063] A unique product identifier can be generated as a unique ID for each insurance product, with version numbers encoded according to the revision time. When new terms are released, the system compares the version numbers and only updates the changed parts. Version control enables data traceability and validity management, avoiding information discrepancies caused by terms revisions.
[0064] In some embodiments, supervised instruction is used to fine-tune the LLM training. The input sample is a participating insurance PDF, and the output sample is manually annotated JSON structured data, such as the death benefit ratio "18-40 years old 160% of the sum insured" and exclusion clauses. The model parameters are optimized using a masked cross-entropy loss function. This transforms unstructured clauses into computable structured data, supporting subsequent benefit comparisons.
[0065] For example, the fine-tuning process may include:
[0066] Regularly obtain the latest business data and policy terms PDFs;
[0067] Input and output samples were constructed using original policy PDF text and manually annotated structured data;
[0068] Initialize based on an open-source large language model, input includes prompts containing instructions, and require the model to output a structured response;
[0069] Using masked cross-entropy loss, for example ;in This is a manually labeled, correct token. Predict probabilities for the model;
[0070] Iterative adjustment: Compare the structured data output by LLM with manually labeled samples, calculate the parsing accuracy of simple interest / IRR for each time period, and adjust the model parameters based on backpropagation of the loss value;
[0071] Finally, the parsing accuracy is calculated for different types of fields. When new product terms are released or the parsing error rate increases, training data is collected again, and the process of "data annotation → model fine-tuning → parameter optimization" is repeated to ensure the model's generalization ability.
[0072] In some embodiments, ElasticSearch is used to store data, such as the structured information of a participating insurance policy, which includes "product ID, version number, death compensation rules, benefit illustration table, and average dividend realization rate over the past two years", and each version record is saved in chronological order.
[0073] In some embodiments, the construction of a user demand profile includes:
[0074] Based on a standard risk assessment questionnaire, users' risk preferences are quantified.
[0075] Confirm the user's and the insured's identity information and insurance needs;
[0076] User profiles are built based on users' risk preferences, identity information, and insurance needs.
[0077] For example, the questionnaire includes multiple-choice questions such as "If your investment principal may be lost by 20%, how accepting would you be?" and "What is your expected investment period of 5 years / 10 years / 20 years or more?" After the user answers, the system quantifies the risk score according to preset rules.
[0078] For example, identity information may include age, gender, etc., and death benefit ratios are usually related to age groups. Insurance needs may include expected investment periods, expected returns, asset size, etc.
[0079] In some embodiments, in practical applications, if the "cash flow requirement" in the profile is "need to use money in the middle", the system automatically filters out products of the "paid-up and increase" type; if the "risk preference" is aggressive and the "investment period ≥ 20 years", then the system will give priority to recommending participating insurance with a higher IRR, such as products with "investment return rate > 4% in the past three years".
[0080] Step B: Filter products from the versioned product database based on user needs profiles, and re-establish interactive dialogue with users during the filtering process.
[0081] In some embodiments, step B includes:
[0082] Based on the user risk preferences, identity information, and insurance needs in the user demand profile, determine the product screening scope of the versioned product database, and sort and recommend products within the scope;
[0083] Construct a return matrix based on different insurance products and different comparison dimensions;
[0084] Retrieve insurance policies obtained from different insurance products, analyze the exclusion clauses from these policies, and mark the differences in the exclusion clauses between different policies;
[0085] Based on user choices and feedback, analyze the differences between the initial user needs profile and the actual user profile.
[0086] For example, if the user profile is "35-year-old male, balanced risk appetite, investment expectation of 10 years, investment capacity of 500,000 yuan, preference for insurance from Company X", then:
[0087] Insurance company screening: Only search for products from X Insurance; if the user has no preference, filter by "solvency ratio > 200% and average investment return rate over the past three years > 4%".
[0088] Age matching: Filter products with a return range of "10 years ± 5 years". For example, a certain participating insurance has an IRR of 2.686% in the 10th year and 2.862% in the 15th year.
[0089] In some embodiments, the sorting is typically done in descending order of "IRR over a specified period". For example, if one product has an IRR of 2.686% in year 10 and another product has an IRR of 2.312%, the former is recommended first. If the user is concerned about death benefits, the sorting is done by "Max(Death Benefit, Cash Value)". If no products meet the criteria after screening, the insurance company filter is removed, and products are recommended in descending order of IRR across the entire market.
[0090] In some embodiments, the payoff matrix may consist of the following:
[0091] Horizontal axis: different product names;
[0092] Vertical axis: Age / Year;
[0093] Indicators include: Total death benefit, cash value, dividend illustration, IRR, and simple interest rate.
[0094] For detailed data analysis like the bonus presentation table, targeted parsing using OCR recognition is necessary. The upload process has been optimized; when the presentation table is recognized, the interface allows users to manually select appropriate data columns and crop the image, reducing the amount of data to be recognized.
[0095] Cross-recognition verification is performed using two OCR models. When significant discrepancies are found in the verification data, the interface highlights the data in red to prompt the user to manually adjust it.
[0096] Spatial matching is a core technique for solving the result alignment problem. By calculating the overlap area and center distance of the bounding boxes, PaddleOCR's global recognition results are precisely matched spatially with the cells defined by PP-Structure.
[0097] Fuzzy string matching is used. It calculates the similarity between the text strings recognized by the two engines, combining the overlap ratio and the distance score, and determines the actual matching result by weighted summation.
[0098] Coordinate normalization was used to process bounding boxes of different formats, converting them into standard rectangular coordinates (x1, y1, x2, y2), which improved the compatibility and robustness of the code.
[0099] Finally, a result fusion strategy is used to dynamically determine the final output by setting multiple thresholds based on text similarity (sim) and matching score (match_score).
[0100] Since the demo table is a standard table image, the table lines are first located using Canny edge detection, then the horizontal and vertical lines are separated, and then the structure is reconstructed to generate a complete table frame grid. The area is cut by intersection detection, and each rectangular area is a cell.
[0101] # Assuming self.text_ocr uses the PP-Structure table recognition model
[0102] def parse_table_cells(self, table_img):
[0103] "Dual-engine OCR verification"
[0104] # 1. Obtaining structured results using PP-Structure
[0105] structure_result = self.text_ocr.ocr(table_img, use_structure=True)
[0106] # Case where the processing result may be empty
[0107] if not structure_result:
[0108] return []
[0109] # Handling differences in output between different versions of PP-Structure
[0110] cells_bbox = structure_result.get('cells', [])
[0111] paddle_ocr_results = structure_result.get('ocr_result', [])
[0112] # 2. Directly use cells_bbox to crop cells (avoid re-splitting)
[0113] validated_data = []
[0114] skipped_cells = [] # Save the indexes of cells that were not processed
[0115] # 3. Cross-validation: Find matching PaddleOCR results for each cell.
[0116] for i, cell_bbox in enumerate(cells_bbox):
[0117] try:
[0118] # Crop cell image
[0119] x1, y1, x2, y2 = self.get_bbox_coordinates(cell_bbox)
[0120] cell_img = table_img.crop((x1, y1, x2, y2))
[0121] # TrOCR recognition
[0122] t_text = self.cell_ocr.predict(cell_img)
[0123] # Find the text that matches the current cell_bbox in paddle_ocr_results
[0124] best_match = self.find_best_matching_text(cell_bbox, paddle_ocr_results)
[0125] if best_match:
[0126] p_text, match_score = best_match
[0127] # Verification Strategy
[0128] if p_text == t_text:
[0129] # Exact Match
[0130] validated_data.append(p_text)
[0131] else:
[0132] # Calculate similarity using fuzzy matching
[0133] sim = fuzz.ratio(p_text, t_text)
[0134] # Comprehensive Assessment Strategy
[0135] threshold = 80 # Similarity threshold (configurable)
[0136] if sim > threshold and match_score > 0.5:
[0137] validated_data.append(p_text) # PaddleOCR is preferred
[0138] else:
[0139] # The difference is too large and requires manual review.
[0140] validated_data.append(None)
[0141] else:
[0142] # No match found, manual review required.
[0143] validated_data.append(None)
[0144] except Exception as e:
[0145] # Log errors and skip the current cell
[0146] print(f"Error processing cell {i}: {str(e)}")
[0147] skipped_cells.append(i)
[0148] validated_data.append(None)
[0149] # Output statistics
[0150] print(f"Processing complete: {len(validated_data)-len(skipped_cells)} cells succeeded, {len(skipped_cells)} cells failed")
[0151] return validated_data
[0152] def get_bbox_coordinates(self, bbox):
[0153] if len(bbox) >= 8:
[0154] # Extract all X and Y coordinates
[0155] all_x = [bbox[i] for i in range(0, len(bbox), 2)]
[0156] all_y = [bbox[i+1] for i in range(0, len(bbox), 2)]
[0157] return min(all_x), min(all_y), max(all_x), max(all_y)
[0158] elif len(bbox) >= 4: # Rectangle [x1, y1, x2, y2]
[0159] return bbox[0], bbox[1], bbox[2], bbox[3]
[0160] else:
[0161] raise ValueError(f"Invalid bounding box format: {bbox}")
[0162] def find_best_matching_text(self, cell_bbox, ocr_results):
[0163] Find the best matching text in the OCR results (considering overlap and center position).
[0164] best_match = None
[0165] max_score = 0
[0166] # Get the bounding rectangle of the cell
[0167] x1, y1, x2, y2 = self.get_bbox_coordinates(cell_bbox)
[0168] cell_area = (x2 - x1) (y2 - y1)
[0169] cell_center = ((x1+x2) / 2, (y1+y2) / 2)
[0170] for item in ocr_results:
[0171] # Compatible with multiple OCR output formats
[0172] ocr_box = item.get('bbox', item.get('boxes', []))
[0173] if not ocr_box:
[0174] continue
[0175] try:
[0176] # Standardized bounding box coordinate processing
[0177] ox1, oy1, ox2, oy2 = self.get_bbox_coordinates(ocr_box)
[0178] # Calculate the overlapping area
[0179] overlap_area = self.calculate_overlap(
[0180] [x1, y1, x2, y2],
[0181] [ox1, oy1, ox2, oy2] )
[0183] # Calculate overlap rate
[0184] ocr_area = (ox2 - ox1) (oy2 - oy1)
[0185] union_area = cell_area + ocr_area - overlap_area
[0186] overlap_ratio = overlap_area / union_area
[0187] # Calculate the center point distance score (normalized to 0-1)
[0188] ocr_center = ((ox1+ox2) / 2, (oy1+oy2) / 2)
[0189] distance = ((cell_center[0]-ocr_center[0]) 2 + (cell_center[1]-ocr_center[1]) 2) 0.5
[0190] # Diagonal length as the maximum distance
[0191] diagonal = ((x2-x1) 2 + (y2-y1) 2) 0.5
[0192] distance_score = 1 - min(1, distance / diagonal) ifdiagonal > 0 else 0
[0193] # Overall Score (Overlap + Center Distance)
[0194] match_score = 0.7 overlap_ratio + 0.3 distance_score
[0195] if match_score > max_score:
[0196] best_match = (item.get('rec_res', ''), match_score)
[0197] max_score = match_score
[0198] except Exception:
[0199] continue
[0200] return best_match if max_score > 0.2 else None # Minimum matching threshold
[0201] def calculate_overlap(self, rect1, rect2):
[0202] Calculate the overlapping area between two rectangles.
[0203] # rect format [x1, y1, x2, y2]
[0204] x_left = max(rect1[0], rect2[0])
[0205] y_top = max(rect1[1], rect2[1])
[0206] x_right = min(rect1[2], rect2[2])
[0207] y_bottom = min(rect1[3], rect2[3])
[0208] if x_right < x_left or y_bottom < y_top:
[0209] return 0.0
[0210] return (x_right - x_left) (y_bottom - y_top)
[0211] In some embodiments, to highlight differences in the exclusions of different products, an LLM (Local Level Management) can be used to parse the exclusions in the terms, generate a structured list, use a text comparison algorithm to mark the differences, and link the original terms PDF to the location for user verification. Differences are distinguished by color, and users can click to view screenshots of the original terms. Alternatively, users can upload historical policy PDFs, which the system will parse and add to the return matrix for comparison; or users can manually set fixed deposit interest rates to generate return curves for insurance and deposits for comparison.
[0212] Step C: Respond to user questions. Based on the content of each question, answer it using a pre-set large language model and RAG knowledge base. In the process of answering, revise the user demand profile and re-select products from the versioned product database based on the revised user demand profile.
[0213] In some embodiments, the construction of the RAG knowledge base includes:
[0214] Compile common terms and questions about insurance products to form an initial question-and-answer pair;
[0215] By combining the finely tuned large language model with the RAG architecture, the content of the initial question-answer pairs is validated and supplemented.
[0216] The verified and supplemented question-and-answer pairs are converted into vector form, stored in RAG knowledge base units, and a retrieval index is created.
[0217] By combining the updated information from the versioned product database, the time-sensitive content of the RAG knowledge base is dynamically revised.
[0218] The initial Q&A pairs typically originate from industry-wide knowledge and frequently asked user questions, covering dimensions such as benefit rules and policy terminology, providing foundational content support for the RAG knowledge base. For example: Q: "What is a paid-up additional policy?" Initial answer: "After the policy dividends are received each year, the insurance company uses the dividends as a lump-sum premium to purchase insurance of the same type as the original policy, directly increasing the main insurance coverage amount, based on the insured's current age."
[0219] Conversely, the RAG knowledge base needs to obtain basic information about users, such as age, gender, education level, marital status, and employment status, through questioning. Existing technologies typically use direct questions. However, users may question the database's motives, sometimes failing to provide accurate information. This lack of transparency leads to ineffective communication and hinders the insurance application process. The technical solution adopted in this invention, however, designs everyday behavioral scenarios to determine potential economic situations and personality traits, for example:
[0220] Normal transportation: driving / public transportation / walking.
[0221] Normal eating habits: eating at home / at the office / takeout / nearby restaurants.
[0222] My usual forms of entertainment include: online games, offline board games, watching live performances and movies, and outdoor activities.
[0223] This interactive process of demand profiling allows for a more user-friendly understanding, enabling the creation of appropriate questions and options to help users answer policy-related inquiries. It also helps users better understand the policy content. Based on the above, this invention compiles a list of commonly used fields in the insurance industry. For some common colloquialisms mapped to standard insurance terminology, these can be saved to a vector database, such as Table 1.
[0224] Table 1: Mapping of Commonly Used Insurance Terms and Insurance Terminology
[0225] .
[0226] Since the policy has already been parsed, providing specific formatted data, this data can be re-annotated using insurance terminology. This allows users to directly connect to the data during communication, solving a crucial semantic segmentation step in RAG. Furthermore, because a basic user profile exists initially, when using LLM, in addition to user questions and reference content found in the vector library, the basic user profile data can be supplemented to help the answers better meet user expectations. Moreover, we can use LLM for question augmentation to process knowledge base documents, improving the descriptive scenarios of existing documents and increasing the matching success rate. Finally, combining user evaluation scores and periodically analyzing low-scoring answer cases, we can continuously improve the existing user profile and the matching accuracy of the knowledge base.
[0227] # Initialize the DashScope client
[0228] client = OpenAI(
[0229] api_key=os.getenv("DASHSCOPE_API_KEY"), # Ensure environment variables are set beforehand
[0230] base_url="https: / / dashscope.aliyuncs.com / compatible-mode / v1" )
[0232] # Setting System Prompts
[0233] SYSTEM_PROMPT = (
[0234] "You are an AI assistant and must answer strictly according to the provided context."
[0235] If you cannot directly derive the answer from the provided context, please reply with: 'I cannot answer this question based on the information available.' )
[0237] def generate_response(system_prompt, user_message,user_portrait,model="qwen-max"):
[0238] """
[0239] parameter:
[0240] system_prompt (str): System commands to control the behavior of the AI.
[0241] user_message (str): The user-input question and its context.
[0242] user_portrait (str): User profile description
[0243] model (str): The name of the model used, which defaults to qwen-plus.
[0244] return:
[0245] str: The answer content generated by the model
[0246] """
[0247] response = client.chat.completions.create(
[0248] model=model,
[0249] temperature=0.0, # Setting the temperature to 0 ensures deterministic output.
[0250] max_tokens=512, # The maximum output length can be adjusted as needed.
[0251] messages=[
[0252] {"role": "system", "content": system_prompt},
[0253] {"role": "user", "content": user_portrait},
[0254] {"role": "user", "content": user_message} ] )
[0257] return response.choices[0].message.content.strip()
[0258] # Example top_chunks (assuming this is the result returned by semantic_search)
[0259] top_chunks = [
[0260] "Flexible investment account, insurance current account."
[0261] "Guaranteed minimum return plus variable return; you can deposit or withdraw money at any time." ]
[0263] user_portrait = "I am a 50-year-old male who has never used financial products before. I currently have some savings and hope to obtain some low-risk investment returns."
[0264] query = "What is a universal account?"
[0265] # Build the user prompt (including context and questions)
[0266] user_prompt = "\n".join([f"context{i + 1}:\n{chunk}"for i, chunk inenumerate(top_chunks)])
[0267] user_prompt += f"\n\nUser issue: {query}"
[0268] # Generate AI answers
[0269] answer = generate_response(SYSTEM_PROMPT, user_prompt, user_portrait)
[0270] # Output Results
[0271] print("AI answered:")
[0272] print(answer)
[0273] In some embodiments, verification and supplementation refer to the LLM understanding the semantics of the question based on a fine-tuning model, and the RAG retrieving corresponding fragments from a local knowledge base and integrating them with the content generated by the LLM to supplement professional conclusions and avoid information bias from a single LLM. For example, regarding the question "Is paid-up supplementary insurance suitable for mid-term cash needs?", the initial answer only describes the definition. After processing with LLM+RAG, it is supplemented with: "Depending on the actual dividend situation, and because it is used to purchase insurance coverage, it cannot provide a continuous cash flow, so it is not suitable for those with mid-term cash needs."
[0274] In some embodiments, the time-sensitive content of the RAG knowledge base is dynamically revised, and the revision time is marked.
[0275] This can be understood as follows: when the product database is updated, the system automatically triggers RAG knowledge base verification; by parsing the timely everyday terms in the new terms through LLM, the corresponding question-and-answer pairs are updated synchronously to ensure that the knowledge is consistent with market dynamics.
[0276] In some embodiments, step C includes:
[0277] Obtain the user's input question text, convert the user's question into a vector, input it into the RAG knowledge base, and retrieve matching relevant fragments;
[0278] The fine-tuned large language model generates structured answers based on knowledge fragments retrieved from RAG and general knowledge. After verifying the accuracy of the answers, the model is returned to the user in natural language.
[0279] If a user's question involves a change in requirements, the product filtering criteria will be automatically updated:
[0280] Analyze the changes in user requests;
[0281] Update product selection criteria based on extracted demand elements;
[0282] Based on the adjusted conditions, retrieve matching products from the versioned product database.
[0283] For example, if a user asks, "Does paying off the premium affect the benefits of early surrender?", the process first involves vector transformation: the question text is input into a model such as Sentence-BERT to generate a 1536-dimensional vector embedding. Then, a RAG retrieval is performed: the RAG architecture searches the knowledge base for segments semantically matching "paying off the premium" and "surrender benefits," such as the question-answer pair in the document "Paying off the premium cannot provide a continuous cash flow and is not suitable for mid-term cash needs." Vector similarity calculations (such as cosine similarity) ensure a high degree of semantic match between the search results and the question, avoiding the ambiguity problems of traditional keyword searches.
[0284] Furthermore, in some embodiments, in response to the above question, RAG retrieves the knowledge fragment "Paid-up increase uses dividends to purchase the sum assured, but cash cannot be withdrawn," and LLM supplements it with general knowledge: "Paid-up increase will convert dividends into the sum assured, therefore, when surrendering the policy midway, the cash value growth depends on the actual dividend situation. If this method is chosen, the surrender amount may be lower than that of products that do not use paid-up increase; it is recommended to prioritize the cash dividend withdrawal method." It is evident that after LLM generates the answer, the system compares the original text in the knowledge base with the policy terms data (such as the "Paid-up Increase Surrender Rules" in a certain participating insurance policy clause) to ensure the accuracy of professional expressions such as "cash value calculation method."
[0285] In some embodiments, if a user's question involves a change in needs, the product filtering criteria are automatically updated. For example, if a user asks, "I need to receive a fixed amount every year after age 60, are there any products like this?", the requirement of "fixed payment after age 60" is extracted, corresponding to the insurance type "annuity insurance," and the payment method is "periodic survival benefit payments." Then, the criteria are updated: if the original filtering criterion was "participating insurance," it is now adjusted to "annuity insurance with survival benefit payment start age ≤ 60 years old." Finally, a database search is performed: "annuity insurance" products are searched in the versioned database, sorted in descending order by "survival benefit payment amount at age 60."
[0286] Compared to the common "user question - knowledge retrieval - decision support" approach in existing technologies, the above mechanism achieves a closed loop of "user question - knowledge retrieval - optimized question - updated retrieval - decision support." This not only addresses the need for professional Q&A regarding insurance terms but also dynamically adjusts and optimizes product recommendations based on demand, significantly improving interaction efficiency and decision accuracy. Furthermore, the processes of optimizing questions and updating retrieval are based on underlying needs, directly reflecting the customer's insurance objectives and playing a beneficial role in defining the needs of both the insured and the policyholder, as well as in risk control.
[0287] In this embodiment, real-time updates of insurance product data are achieved through dynamic data collection and versioned database construction, solving the data lag problem of traditional solutions. Intelligent parsing of policy terms is performed using large language models and RAG technology, improving the accuracy of unstructured text processing. A benefit matrix and a visual view of the differences in exclusion clauses are generated based on user profiles, helping users shorten decision-making time. An integrated intelligent question-and-answer and dynamic filtering mechanism supports user questions triggering knowledge retrieval and product re-screening, enhancing interactivity and decision objectivity, and effectively solving the problem of low user decision-making efficiency caused by information asymmetry and information overload in insurance products.
[0288] This embodiment also provides an insurance matching system based on intelligent parsing and dynamic comparison, used to execute any of the aforementioned insurance matching methods based on intelligent parsing and dynamic comparison, including:
[0289] The dynamic policy data collection and update module is used to dynamically collect insurance company operating data and policy terms documents, parse key policy fields, and establish a versioned product database; it generates user demand profile templates based on the versioned product database, and obtains user demand profiles based on the interaction between users and user demand profile templates.
[0290] The interactive recommendation and comparison module is used to filter products from a versioned product database based on user needs profiles, and to re-establish interactive dialogue with users during the filtering process.
[0291] The intelligent question-answering engine responds to user questions. Based on the content of each question, it uses a pre-set large language model and RAG knowledge base to answer the question. During the answering process, it corrects the user demand profile and re-selects products from the versioned product database based on the corrected user demand profile.
[0292] This embodiment also provides an electronic device, including a memory and a processor. The memory stores a computer program, and when the processor calls the computer program in the memory, it implements the steps of any of the insurance matching methods based on intelligent parsing and dynamic comparison described in the present invention.
[0293] This embodiment also provides a storage medium storing computer-executable instructions. When the computer-executable instructions are loaded and executed by a processor, they implement the steps of the insurance matching method based on intelligent parsing and dynamic comparison as described in any one of the embodiments.
[0294] The substantial effects of this embodiment include:
[0295] By employing dynamic data acquisition and intelligent analysis technologies, real-time updates and high-precision processing of insurance product information are achieved. Data is automatically captured from public channels and a versioned database is established, resolving the data update lag issue in traditional solutions and ensuring the timeliness of product information. Based on an LLM+RAG architecture, policy terms are structured and analyzed, covering over 90% of market products, transforming unstructured text into computable structured data, significantly improving information processing efficiency.
[0296] Multi-dimensional visualization and comparison technology effectively shortens users' decision-making time. The system generates a benefit difference matrix and an exclusion clause difference matrix based on user needs, which can support horizontal comparison with historical policies and time deposits. Through indicators such as IRR and simple interest rate, as well as highlighting exclusion clauses, it helps users intuitively understand product differences, avoid decision-making biases caused by information asymmetry and information overload, and achieve objective and efficient product matching.
[0297] Integrating intelligent question-and-answer and dynamic filtering mechanisms enhances the interactive experience and decision-making flexibility. The LLM+RAG engine provides real-time answers to questions about technical terms, dynamically adjusts product filtering criteria based on user queries, and supports the regeneration of comparison views as needed, forming a closed loop of "demand collection - intelligent recommendation - interaction optimization." This comprehensively addresses the information asymmetry problem in insurance products, providing users with intelligent and personalized decision support.
[0298] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the specific device can be divided into different functional modules to complete all or part of the functions described above.
[0299] In the embodiments provided in this application, it should be understood that the disclosed structures and methods can be implemented in other ways. For example, the structural embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another structure, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between structures or units, and may be electrical, mechanical, or other forms.
[0300] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0301] Furthermore, in the embodiments of this application, the functional units can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0302] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0303] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. An insurance matching method based on intelligent analysis and dynamic comparison, characterized in that, The application relates to an insurance product recommendation method and system. The method comprises the following steps: Collecting insurance company operation data and policy clause documents, analyzing key fields of the policy, and establishing a versioned product database; Generating a user demand portrait template according to the versioned product database, and obtaining a user demand portrait according to the interaction between the user and the user demand portrait template; The construction of the user demand portrait comprises the following steps: quantifying the user's risk preference based on a standard risk assessment questionnaire; confirming the user's and the insured's identity information and insurance demand; and constructing the user demand portrait based on the user's risk preference, identity information and insurance demand; According to the user demand portrait, products are screened from the versioned product database, and an interactive dialogue is re-established with the user in the screening process. In the process, the product screening range of the versioned product database is determined according to the user's risk preference, identity information and insurance demand in the user demand portrait, and the products in the range are sorted and recommended. An income matrix is constructed according to different insurance products and different comparison dimensions. The policy is obtained from different insurance products, and the exemption clauses are parsed from the policy to mark the differences in the exemption clauses between different policies. According to the user's selection and feedback, the difference between the initial user demand portrait is analyzed; 2. The insurance matching method based on intelligent analysis and dynamic comparison according to claim 1, characterized in that, In response to the user's question, the preset large language model and RAG knowledge base are used to answer the question based on the content of each question, and the user demand portrait is corrected in the answering process. The products are re-screened from the versioned product database based on the corrected user demand portrait. The construction of the RAG knowledge base comprises the following steps: sorting common terms and questions of insurance products to form an initial question and answer pair; checking and supplementing the content of the initial question and answer pair through the fine-tuned large language model combined with the RAG architecture; converting the checked and supplemented question and answer pair into a vector form and storing it in the RAG knowledge base unit, and establishing a retrieval index; dynamically revising the time-sensitive content involved in the RAG knowledge base in combination with the update information of the versioned product database. The method comprises the following steps: The user input question text is converted into a vector, and the user question is input into the RAG knowledge base to retrieve the matching related fragments; The fine-tuned large language model generates a structured answer based on the RAG-retrieved knowledge base fragments and general knowledge, and returns the answer to the user in natural language form after checking the accuracy of the answer; If the user's question involves demand change, the product screening condition is automatically updated, and the products are re-screened from the versioned product database based on the updated screening condition. 3.The insurance matching method based on intelligent analysis and dynamic comparison according to claim 1 or 2, characterized in that, The re-screening of products from the versioned product database includes active screening and passive screening: wherein the active screening is to analyze the demand change content in the user's question, update the product screening conditions based on the extracted demand elements, and retrieve the matched products in the versioned product database based on the adjusted conditions; the specific way of passive screening is to set a new question based on the adjusted conditions, to re-portrait the user's demand based on the user's answers to the new question, and to provide products again according to the updated user demand portrait.
4. The insurance matching system based on intelligent analysis and dynamic comparison, used for executing the insurance matching method based on intelligent analysis and dynamic comparison as claimed in any one of claims 1 to 3, characterized in that, It comprises: a policy data dynamic acquisition and update module for dynamically acquiring insurance company operation data and policy clause documents, analyzing key fields of the policy, and establishing a versioned product database; generating a user demand portrait template according to the versioned product database, and obtaining a user demand portrait according to the interaction between the user and the user demand portrait template; an interactive recommendation and comparison module for screening products from the versioned product database according to the user demand portrait, and re-establishing an interactive dialogue with the user during the screening process; an intelligent question and answer engine for responding to user questions, answering based on the content of each question using a pre-set large language model and a RAG knowledge base, and correcting the user demand portrait during the answering process, and re-screening products from the versioned product database based on the corrected user demand portrait.
5. An electronic device, comprising: It comprises a memory and a processor, the memory stores a computer program, and the processor calls the computer program in the memory to realize the steps of the insurance matching method based on intelligent analysis and dynamic comparison according to any one of claims 1 to 4.
6. A storage medium, characterized by The storage medium stores computer executable instructions, which are loaded and executed by the processor to realize the steps of the insurance matching method based on intelligent analysis and dynamic comparison according to any one of claims 1 to 4.
Citation Information
Patent Citations
Data push methods, systems, and computer equipment for insurance products based on big data
CN110503507B
Insurance recommendation method and device, computer device and computer readable storage medium
CN108961087A
Multi-modal large language model dialogue generation method based on natural language understanding
CN119989268A