Artificial intelligence machine learning based tourism personalization recommendation system

By using Kaplan-Meier survival function estimation and time-segmented modeling, combined with the dynamic risk integral method, the problem of insufficient time dynamic modeling in existing recommendation technologies is solved, realizing an efficient and stable personalized recommendation system that can adapt to complex changes in user behavior.

CN122115075APending Publication Date: 2026-05-29Qinghai Vocational and Technical University

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Qinghai Vocational and Technical University
Filing Date
2026-03-03
Publication Date
2026-05-29

Smart Images

  • Figure CN122115075A_ABST
    Figure CN122115075A_ABST
Patent Text Reader

Abstract

The application discloses a tourism personalized recommendation system based on artificial intelligence machine learning, collects user exposure behavior, result behavior and tourism project attribute and context data, constructs a survival analysis sample set with a unified time starting point, and counts the risk set scale and the event quantity of each time node to generate a continuous time survival function and a sample level survival weight; according to the survival function change node, the time interval is divided, a segmented training matrix containing a time segmentation identifier and a survival weight is constructed, an additive risk model changing with time is established in each time interval, and a continuous time dynamic risk function is formed; the segmented risk score calculation is performed on the candidate tourism project in a preset time window, the recommendation result is generated according to the score result sorting, and the survival function and the risk model are updated incrementally in combination with the newly added exposure and result data, so that the dynamic adjustment and continuous optimization of the recommendation result are realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of computer information processing and data mining technology, and in particular to a personalized tourism recommendation system based on artificial intelligence and machine learning. Background Technology

[0002] With the rapid development of online travel platforms and digital marketing systems, personalized recommendations based on user behavior data have become a core technological means to improve conversion rates and user experience. Currently, mainstream recommendation methods mostly employ collaborative filtering, matrix factorization, or deep learning ranking models to model users' historical clicks, favorites, or order placement behaviors. They predict users' interest in candidate items through static features or short-term behavioral sequences and output ranking results accordingly.

[0003] Existing recommendation technologies still have significant limitations when dealing with the temporal dynamics of user behavior and samples of behaviors that have not yet resulted in an outcome. On the one hand, traditional ranking models typically label exposure samples simply as clicked or not clicked, and uniformly treat samples of behaviors that have not resulted in an outcome as negative samples. They fail to distinguish between genuine lack of interest and behaviors that have not yet occurred, ignore the statistical characteristics of right-truncated data, and are prone to introducing label bias, leading to inaccurate model risk estimation. On the other hand, most methods have not established a unified continuous-time modeling framework, making it difficult to characterize the risk increment relationship of user interests changing over time. They cannot form an integrable dynamic risk function under different time windows, resulting in recommendation results that are sensitive to changes in time windows and lack an interpretable segmented contribution structure. Furthermore, existing models usually require overall retraining when new exposure and outcome data arrive, lacking incremental update mechanisms for risk sets and time segments. Model update costs are high, response is lagging, and it is difficult to meet the dynamic adjustment requirements of real-time recommendation scenarios.

[0004] Therefore, how to provide a personalized travel recommendation system based on artificial intelligence and machine learning is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] One objective of this invention is to propose a personalized tourism recommendation system based on artificial intelligence and machine learning. It comprehensively utilizes continuous-time survival function estimation, time-segmented modeling, and dynamic risk integral methods to construct a risk function model that can change over time. This enables unified modeling and segmented integral ranking output of the entire process from user exposure to outcome behavior. Furthermore, it incorporates an incremental update mechanism to dynamically adjust the model parameters. This system has the advantages of detailed time characterization, continuous risk expression, high update efficiency, and strong stability of recommendation results.

[0006] The personalized tourism recommendation system based on artificial intelligence machine learning according to an embodiment of the present invention includes the following steps:

[0007] The event modeling module collects user exposure and outcome behavior data, as well as tourism project attributes and contextual data, to form a survival analysis sample set containing unified feature coding rules;

[0008] The Kaplan–Meier survival estimation module statistically analyzes the risk set size and number of outcome events at each time point based on the survival analysis sample set, performs Kaplan–Meier estimation to generate a continuous-time survival function, calculates the sample-level survival weights based on the continuous-time survival function, and generates a survival calibration sample set.

[0009] The time segment generation module determines the time segment boundary based on the step change nodes of the continuous time survival function, aligns the time segment boundary with the survival calibration sample set, and generates a segmented training matrix.

[0010] The Aalen additive risk modeling module constructs an Aalen additive risk model based on a piecewise training matrix, generating a continuous-time dynamic additive risk function;

[0011] The risk score and recommendation output module generates candidate tourism project features based on unified feature coding rules, inputs the candidate tourism project features into a continuous-time dynamic additive risk function, and generates recommendation results.

[0012] The online update module writes new exposure and outcome event data into the survival analysis sample set, updates the continuous-time survival function and the time-varying coefficient function, and generates an updated continuous-time dynamic additive hazard function.

[0013] Optionally, the survival analysis sample set for generating uniform feature coding rules includes:

[0014] Establish an exposure event data structure, using user identifiers and tourism project identifiers to form a joint index, generate a unique exposure number for each exposure, and write the exposure timestamp, device type, channel source, search terms, geographical location and request context fields;

[0015] Establish a data structure for outcome behavior, record the behavior type identifier and behavior occurrence timestamp for click, favorite, and order behavior respectively, and match them according to user identifier, tourism project identifier and corresponding exposure number;

[0016] Set a fixed observation window length, retrieve the earliest ending behavior time within the observation window for each exposure number, write an ending mark for those with ending behavior and record the duration from exposure to ending, write a right-truncation mark for those without ending behavior and record the duration as the observation window length;

[0017] Construct a unified feature encoding dictionary, assign field numbers and value numbers to user attribute fields, tourism project attribute fields and context fields, convert discrete fields into number indexes, convert continuous fields into interval numbers according to preset bucketing rules, and generate feature vectors with unified dimension order.

[0018] The sample records are organized according to the structure of "exposure number - duration - outcome marker - feature vector". All samples are written into the sample storage unit to form a survival analysis sample set with consistent time start and consistent field number.

[0019] Optionally, generating the continuous-time survival function and the survival calibration sample set includes:

[0020] Establish a standardized timeline and extract the duration of all outcome samples from the survival analysis sample set. The event time series is obtained by removing duplicates and sorting in ascending order, and the observation window is terminated for a certain duration. Added as the final time point;

[0021] Perform fixed-granularity merging on the event time series, and map the event times falling into the same granularity interval to the upper bound node of the interval, to obtain the standardized time axis and its index table;

[0022] Establish a sample time mapping table, recording the duration of each sample. According to "take not less than" The rule of mapping the "minimum normative time node" to the normative duration. The specified duration is then bound to the exposure number and written into the sample time mapping table;

[0023] Establish an outcome count table and a truncated outcome count table. Perform a single scan of the sample time mapping table according to the standardized timeline index to accumulate the outcome count for each standardized time node. Counting with truncated tails ;

[0024] Establish a risk set recursive table, based on the total sample size. As the size of the risk set at the first node, the risk set size sequence is calculated recursively in ascending order according to the canonical time axis index. The recursive rule is that the size of the risk set of the next node is equal to the size of the risk set of the previous node minus the outcome count and truncation count of the previous node.

[0025] Calculate the survival function ladder table and initialize it. Calculate the step values ​​for each node in ascending order according to the standard timeline index:

[0026] ;

[0027] Establish a timeline freeze ledger during the build process: The timeline freeze ledger records the version number of the standard timeline, the boundary value of each node, and the node index;

[0028] When a new sample is written, the standard duration mapping is performed. If the mapping result falls within the existing node index range, only the outcome count or truncation count of the corresponding node is updated, and the risk set recursive table and survival function ladder table are recalculated from the node.

[0029] If the mapping result exceeds the existing node index range, only the tail node is appended and only the risk set size and survival function ladder value corresponding to the newly added tail node are calculated.

[0030] In the construction process, a duplicate exposure merging table is established: for multiple exposures of the same user ID and the same tourism project ID within the observation window, an exposure sequence is generated. The earliest exposure in the exposure sequence is selected as the main exposure number, and the remaining exposures are written into the merging table as subordinate exposure numbers.

[0031] When calculating outcome counts and truncated counts, only the primary exposure number is included in the outcome count table and truncated count table. The outcome behavior time of the subordinate exposure number is migrated to the primary exposure number according to the merge table, and the primary exposure number is updated accordingly. and ;

[0032] Generate sample-level survival weights and a survival calibration sample set, and read the specified duration for each exposure number. The corresponding survival function step value is written into the sample record as the sample-level survival weight, and the set of records containing the exposure number, standard duration, outcome label, sample-level survival weight and feature vector is marked as the survival calibration sample set.

[0033] Optionally, generating the segmented training matrix includes:

[0034] Read the continuous-time survival function ladder table and the canonical time axis index sequence, and calculate the survival decline of adjacent time nodes node by node. Generate a survival decline sequence arranged in chronological order;

[0035] A cumulative risk array is built on the survival decline sequence. The survival decline is accumulated segment by segment within a continuous time interval. When the cumulative value reaches a preset fixed risk share threshold, the current time point is recorded as the segment boundary, and the cumulative value is cleared to continue scanning until the observation window ends. This yields the initial set of segment boundaries;

[0036] Perform boundary integrity checks on the initial segment boundary set. If the risk share of the last segment is lower than the threshold, merge it with the previous segment.

[0037] If no ending sample exists in a certain segment, then that segment will be merged with the subsequent segments;

[0038] The final segment boundary table is generated after the merge is completed. ,in , ;

[0039] Read the survival calibration sample set and obtain the standardized duration for each sample. Sample-level survival weights Ending marker With feature vectors The boundary values ​​are compared sequentially in the segmented boundary table to determine if they meet the requirements. unique index And write the index into the time segment identifier field. ;

[0040] Establish a segmented consistency verification table, scan all samples according to time segment identifiers, verify that the standardized duration of samples in each segment falls within the corresponding boundary interval, and verify that the sample-level survival weight field is consistent with the survival function step value corresponding to its standardized duration.

[0041] Construct a segmented training matrix, and write the exposure number and time segment identifier in a fixed column order. Sample-level survival weights Ending marker and eigenvectors Each row in the matrix corresponds one-to-one with an exposure number, and the segment boundary table and the number of segments are written into the matrix header information. And standardize the timeline version identifier to form a segmented training matrix.

[0042] Optionally, constructing a continuous-time dynamic additive risk function includes:

[0043] Read the segmented training matrix and segmented boundary table Establish a segmented index mapping table in memory, with time segment identifiers. and segment boundary interval One-to-one correspondence;

[0044] Identified by time segment Perform a stable sort on the segmented training matrix, grouping those belonging to the same segment. Samples are continuously written into segmented data blocks. Each segment of data is arranged in ascending order by exposure number, forming three parallel arrays: feature matrix. Ending vector Sample-level survival weight vector ;

[0045] For each segment of data block Perform the Aalen additive risk coefficient calculation, and the result will generate a piecewise coefficient vector of fixed dimensions. And write the piecewise coefficient vector into the first piecewise coefficient table. OK;

[0046] After the segmented coefficient table is generated, a time-coefficient binding structure is established to link each segmented interval. Its corresponding coefficient vector index Write to the time mapping array, which records the lower bound of the interval, the upper bound of the interval, and the address of the coefficient vector;

[0047] A continuous-time dynamic additive hazard function data structure is constructed, which consists of a time-mapped array and a piecewise coefficient table. The following steps are performed during the hazard calculation phase:

[0048] Based on input time Perform an interval positioning operation in the time-mapped array, and position the element that satisfies the condition. unique index ;

[0049] Read the first from the piecewise coefficient table Row coefficient vector ;

[0050] Input feature vector In order of feature dimensions Perform a vector dot product operation to obtain the time. Corresponding risk value:

[0051] The aforementioned time positioning rules, segmentation coefficient table, and risk calculation expression are encapsulated into a continuous-time dynamic additive risk function object and written into the model storage unit, while simultaneously recording the number of segments. Feature Dimension And the segment boundary version number, forming a risk function model that is called continuously over time.

[0052] Optionally, performing the Aalen additive risk coefficient calculation includes:

[0053] Read segmented data blocks Extract the standard duration line by line from the sample rows. Ending marker Sample-level survival weights and eigenvectors and will Clip to segment boundary interval Inside, writes beyond the upper bound Writes less than the lower bound ;

[0054] Construct a segmented event timetable, and satisfy the conditions within the segmented data blocks. of Deduplication and ascending sorting yield the event time series. Append to the beginning and end of the sequence respectively and As an endpoint time;

[0055] Construct a risk set index array and iterate through each time point in ascending order of the event time sequence. Perform a sequential scan on the segmented data blocks and write the data that satisfies the specified conditions. The set of sample row numbers is the risk set. and write to satisfy and The set of sample row numbers is the event set. ;

[0056] Construct a combined weight array and an ascending survival function ladder table ordered by event time series at each time point. Locating the corresponding step value Step value compared to the previous time point Calculate the weight of each time point and risk set Each row of samples is written with a combined weight. ;

[0057] Construct the cumulants of the weighted normal equations, and iterate through each time point. At that time, for risk sets Perform cumulative updates on each row of samples: Added to matrix cumulative ,Will Add to vector cumulant After traversing, the segments are obtained. and ;

[0058] Perform coefficient calculation and accumulate the matrix. With vector cumulant Input the linear solver to obtain the piecewise coefficient vector. And satisfy the superordinate expression:

[0059] Establish an incremental update table for the risk set: This involves updating adjacent time points in the event time series. and Between these, record the set of sample row numbers removed from the risk set. The set of sample row numbers added to the event set }, and when constructing the risk set index array, with The current risk set is obtained by recursion;

[0060] Establish a boundary anchoring sample insertion table: for the lower bound of the segmented boundary Take the neighborhood sample set Calculate the anchored feature vector according to the combined weight rule. and from the previous piecewise coefficient vector Calculate anchored target ,Will This is added as an anchor sample to the segmented data block. And write it into the independent anchor weight field, in the matrix cumulative With vector cumulant In the cumulative update, the anchored samples are processed together with ordinary samples;

[0061] The piecewise coefficient vector obtained from the solution Write the segmented coefficient table The event time series, risk set incremental update table, combined weight array, and boundary anchor sample insertion table are written into the model storage unit.

[0062] Optionally, the generated recommendation results include:

[0063] Receive the target outcome type identifier and time window parameter carried in the recommendation request. Read the segmented boundary table and segmented coefficient table of the continuous-time dynamic additive risk function, verify the version consistency between the time window and the segmented boundary table, and then establish the window segmentation table for this request.

[0064] Based on the unified feature coding dictionary, feature vectors are generated for each candidate tourism project set, and the feature vectors and candidate project identifiers are written into the request-level cache table. At the same time, a time window risk record row is generated for each candidate project.

[0065] Time window Compare each segment with the segment boundary table, retain only the valid segments that satisfy "there is at least one training sample in the segment and the segment coefficients have been written into the segment coefficient table", generate a valid segment sequence, and record the actual start and end time of each valid segment within the time window.

[0066] For each candidate tourism project, perform segmented integral calculation: read the coefficient vector of the corresponding segment in the order of the effective segment sequence, multiply the candidate project feature vector with the coefficient vector element by element in dimensional order and sum them to obtain the unit time risk value in the segment, multiply the unit time risk value with the actual duration of the segment in the time window and write it into the risk increment field of the candidate project in the segment;

[0067] After all valid segment calculations are completed, the risk increments of each segment for the same candidate project are accumulated in chronological order, and the segment source index is written during the accumulation process to form a window risk result table containing "candidate project identifier - risk score value - segment contribution list";

[0068] The window risk result table is sorted according to the risk score value, and a consistency filtering operation is performed after sorting to delete candidate project records whose risk score value comes from a single segment and whose segment duration is lower than a preset minimum duration threshold.

[0069] The sorted first Each record is written into the recommendation result structure, which contains the candidate project identifier, risk score value, time window identifier, segment contribution list and sorting number fields, and the recommendation result structure is output.

[0070] The beneficial effects of this invention are:

[0071] This invention constructs a continuous-time survival function by introducing the Kaplan-Meier estimation method. Without relying on specific distribution assumptions, it performs nonparametric estimation of the risk set size and event probability at different time points, achieving effective processing of right-truncated samples. Based on this, sample-level survival weights are generated, enabling the training data to reflect the real time risk structure and improving the model's ability to characterize delayed behavior and long-cycle transformation behavior.

[0072] This invention constructs an Aalen additive risk model, estimates the coefficient function of time change within each time segment, and expresses the impact of features on risk as an additive increment that changes over time. This avoids the limitation of the proportional risk assumption on feature effects, and enables different features to have differentiated effects at different time stages, thereby improving the model's adaptability to complex user behavior dynamics and the flexibility of risk expression. Attached Figure Description

[0073] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings:

[0074] Figure 1 This is a flowchart of the personalized tourism recommendation system based on artificial intelligence machine learning proposed in this invention;

[0075] Figure 2 This is a schematic diagram of the process for generating continuous-time survival functions and sample-level survival weights based on Kaplan-Meier estimation proposed in this invention. Detailed Implementation

[0076] The present invention will now be described in further detail with reference to the accompanying drawings. These drawings are simplified schematic diagrams, illustrating only the basic structure of the invention, and therefore only show the components relevant to the invention.

[0077] refer to Figures 1-2 A personalized travel recommendation system based on artificial intelligence and machine learning includes the following steps:

[0078] The event modeling module collects user exposure and outcome behavior data, as well as tourism project attributes and context data. Under a unified continuous time scale, it constructs an event sequence with the exposure time as the zero point, writes outcome markers and right-truncation markers, and forms a survival analysis sample set containing unified feature coding rules.

[0079] The Kaplan–Meier survival estimation module statistically analyzes the risk set size and number of outcome events at each time point based on the survival analysis sample set, performs Kaplan–Meier estimation to generate a continuous-time survival function, calculates the sample-level survival weights based on the continuous-time survival function, and generates a survival calibration sample set.

[0080] The time segment generation module determines the time segment boundary based on the step change nodes of the continuous time survival function, aligns the time segment boundary with the survival calibration sample set, and generates a segmented training matrix containing time segment identifiers and sample-level survival weights.

[0081] The Aalen additive risk modeling module constructs an Aalen additive risk model based on a segmented training matrix. It estimates the time-varying coefficient function within each time segment. The time-varying coefficient function participates in the risk increment calculation with sample-level survival weights, forming a continuous-time dynamic additive risk function.

[0082] The risk score and recommendation output module generates candidate tourism project features based on unified feature coding rules. It inputs the candidate tourism project features into a continuous-time dynamic additive risk function and performs integral calculation on the risk increment expression organized by time segments within a preset time window to obtain the risk score value. The recommendation results are generated by sorting the risk score values.

[0083] The online update module writes new exposure and outcome event data into the survival analysis sample set, updates the continuous-time survival function and the time-varying coefficient function, and generates an updated continuous-time dynamic additive hazard function.

[0084] In this embodiment, the survival analysis sample set for generating unified feature coding rules includes:

[0085] Establish an exposure event data structure, using user identifiers and tourism project identifiers to form a joint index, generate a unique exposure number for each exposure, and write the exposure timestamp, device type, channel source, search terms, geographical location and request context fields;

[0086] Establish a data structure for outcome behavior, record the behavior type identifier and behavior occurrence timestamp for click, favorite, and order behavior respectively, and match them according to user identifier, tourism project identifier and corresponding exposure number;

[0087] Set a fixed observation window length, retrieve the earliest ending behavior time within the observation window for each exposure number, write an ending mark for those with ending behavior and record the duration from exposure to ending, write a right-truncation mark for those without ending behavior and record the duration as the observation window length;

[0088] Construct a unified feature encoding dictionary, assign field numbers and value numbers to user attribute fields, tourism project attribute fields and context fields, convert discrete fields into number indexes, convert continuous fields into interval numbers according to preset bucketing rules, and generate feature vectors with unified dimension order.

[0089] The sample records are organized according to the structure of "exposure number - duration - outcome marker - feature vector". All samples are written into the sample storage unit to form a survival analysis sample set with consistent time start and consistent field number.

[0090] In this embodiment, generating the continuous-time survival function and the survival calibration sample set includes:

[0091] Establish a standardized timeline and extract the duration of all outcome samples from the survival analysis sample set. The event time series is obtained by removing duplicates and sorting in ascending order, and the observation window is terminated for a certain duration. Add as the last time node; perform fixed-granularity merging on the event time series, and uniformly map the event times falling into the same granularity interval to the upper bound node of the interval to obtain the standardized time axis and its index table;

[0092] Establish a sample time mapping table, recording the duration of each sample. According to "take not less than" The rule of mapping the "minimum normative time node" to the normative duration. The specified duration is then bound to the exposure number and written into the sample time mapping table;

[0093] Establish an outcome count table and a truncated outcome count table. Perform a single scan of the sample time mapping table according to the standardized timeline index to accumulate the outcome count for each standardized time node. Counting with truncated tails ;

[0094] Establish a risk set recursive table, based on the total sample size. As the size of the risk set at the first node, the risk set size sequence is calculated recursively in ascending order according to the canonical time axis index. The recursive rule is that the size of the risk set of the next node is equal to the size of the risk set of the previous node minus the outcome count and truncation count of the previous node.

[0095] Calculate the survival function ladder table and initialize it. Calculate the step values ​​for each node in ascending order according to the standard timeline index:

[0096] ;

[0097] The first improvement step in the construction process is to establish a "timeline frozen ledger". The timeline frozen ledger records the version number of the standard timeline, the boundary value of each node and the node index. When a new sample is written, the standard duration mapping is performed. If the mapping result falls within the range of the existing node index, only the outcome count or truncation count of the corresponding node is updated and the risk set recursive table and survival function ladder table are recalculated from that node. If the mapping result exceeds the range of the existing node index, only the tail node is appended and only the risk set size and survival function ladder value corresponding to the newly added tail node are calculated.

[0098] A second improvement step is set in the construction process: A "Duplicate Exposure Merging Table" is established. For multiple exposures of the same user ID and the same tourism project ID within the observation window, an exposure sequence is generated. The earliest exposure in the sequence is selected as the primary exposure number, and the remaining exposures are written into the merging table as subordinate exposure numbers. When calculating the outcome count and truncation count, only the primary exposure number is included in the outcome count table and truncation count table. The outcome behavior time of subordinate exposure numbers is migrated to the primary exposure number according to the merging table, and the primary exposure number is updated accordingly. and ;

[0099] Generate sample-level survival weights and a survival calibration sample set, and read the specified duration for each exposure number. The corresponding survival function ladder values ​​are written into the sample records as sample-level survival weights, and the set of records containing exposure number, normed duration, outcome label, sample-level survival weights and feature vectors are marked as the survival calibration sample set. At the same time, the normed time axis, outcome count table, risk set recursive table and survival function ladder table are output.

[0100] In this embodiment, generating the segmented training matrix includes:

[0101] Read the continuous-time survival function ladder table and the canonical time axis index sequence, and calculate the survival decline of adjacent time nodes node by node. Generate a survival decline sequence arranged in chronological order;

[0102] A cumulative risk array is built on the survival decline sequence. The survival decline is accumulated segment by segment within a continuous time interval. When the cumulative value reaches a preset fixed risk share threshold, the current time point is recorded as the segment boundary, and the cumulative value is cleared to continue scanning until the observation window ends. This yields the initial set of segment boundaries;

[0103] Perform boundary integrity checks on the initial segment boundary set. If the risk share of the last segment is below the threshold, merge it with the previous segment. If there are no outcome samples in a segment, merge that segment with the subsequent segments. After merging, generate the final segment boundary table. ,in , ;

[0104] Read the survival calibration sample set and obtain the standardized duration for each sample. Sample-level survival weights Ending marker With feature vectors The boundary values ​​are compared sequentially in the segmented boundary table to determine if they meet the requirements. unique index And write the index into the time segment identifier field. ;

[0105] Establish a segmented consistency verification table, scan all samples according to time segment identifiers, verify that the standardized duration of samples in each segment falls within the corresponding boundary interval, and verify that the sample-level survival weight field is consistent with the survival function step value corresponding to its standardized duration.

[0106] Construct a segmented training matrix, and write the exposure number and time segment identifier in a fixed column order. Sample-level survival weights Ending marker and eigenvectors Each row in the matrix corresponds one-to-one with an exposure number, and the segment boundary table and the number of segments are written into the matrix header information. And standardize the timeline version identifier to form a segmented training matrix that includes time segment identifiers and sample-level survival weights.

[0107] In this embodiment, constructing the continuous-time dynamic additive risk function includes:

[0108] Read the segmented training matrix and segmented boundary table Establish a segmented index mapping table in memory to identify time segments. and segment boundary interval One-to-one correspondence;

[0109] Identified by time segment Perform a stable sort on the segmented training matrix, grouping those belonging to the same segment. Samples are continuously written into segmented data blocks. Each segment of data is arranged in ascending order by exposure number, forming three parallel arrays: feature matrix. Ending vector Sample-level survival weight vector ;

[0110] For each segment of data block The Aalen additive risk coefficient calculation process is executed, and after completion, a piecewise coefficient vector of fixed dimensions is generated. And write the vector into the first segment of the coefficient table. OK;

[0111] After the segmented coefficient table is generated, a time-coefficient binding structure is established to link each segmented interval. Its corresponding coefficient vector index Write to the time mapping array, which records the lower bound of the interval, the upper bound of the interval, and the address of the coefficient vector;

[0112] A continuous-time dynamic additive hazard function data structure is constructed, consisting of a time-mapped array and a piecewise coefficient table. The following steps are performed during the hazard calculation phase:

[0113] Based on input time Perform an interval positioning operation in the time-mapped array, and position the element that satisfies the condition. unique index ;

[0114] Read the first from the piecewise coefficient table Row coefficient vector ;

[0115] Input feature vector In order of feature dimensions Perform a vector dot product operation to obtain the time. Corresponding risk value: ;

[0116] The aforementioned time positioning rules, segmentation coefficient table, and risk calculation expression are encapsulated into a continuous-time dynamic additive risk function object and written into the model storage unit, while simultaneously recording the number of segments. Feature Dimension The segment boundary version number forms a risk function model that can be continuously called by the risk integration module over time.

[0117] In this embodiment, the model storage unit is used to store the segment boundary table, time mapping array, segment coefficient table, survival function ladder table, and corresponding feature dimensions, number of segments, and version identifier information.

[0118] In this embodiment, the calculation of the Aalen additive risk coefficient includes:

[0119] Read segmented data blocks Extract the standard duration line by line from the sample rows. Ending marker Sample-level survival weights and eigenvectors and will Clip to segment boundary interval Inside, writes beyond the upper bound Writes less than the lower bound ;

[0120] Construct a segmented event timetable, and satisfy the conditions within the segmented data blocks. of Deduplication and ascending sorting yield the event time series. Append to the beginning and end of the sequence respectively and As an endpoint time;

[0121] Construct a risk set index array and iterate through each time point in ascending order of the event time sequence. Perform a sequential scan on the segmented data blocks and write the data that satisfies the specified conditions. The set of sample row numbers is the risk set. and write to satisfy and The set of sample row numbers is the event set. ;

[0122] Construct a combined weight array, read the survival function ladder table in ascending order of event time series, and at each time point... Locating the corresponding step value Step value compared to the previous time point Calculate the weight of each time point and risk set Each row of samples is written with a combined weight. ;

[0123] Construct the cumulants of the weighted normal equations, and iterate through each time point. At that time, for risk sets Perform cumulative updates on each row of samples: Added to matrix cumulative ,Will Add to vector cumulant After traversing, the segments are obtained. and ;

[0124] Perform coefficient calculation and accumulate the matrix. With vector cumulant Input the linear solver to obtain the piecewise coefficient vector. And satisfy the superordinate expression:

[0125] Establish an incremental update table for the risk set, connecting adjacent time points in the event time series. and Between these, record the set of sample row numbers removed from the risk set. The set of sample row numbers added to the event set }, and when constructing the risk set index array, with The current risk set is obtained recursively, avoiding a full scan of the segmented data blocks at every time point;

[0126] A second improvement step is set in the complete construction process: establish a "boundary anchoring sample insertion table" to define the lower bound of the segment boundary. Take the neighborhood sample set Calculate the anchored feature vector according to the combined weight rule. and from the previous piecewise coefficient vector Calculate anchored target ,Will This is added as an anchor sample to the segmented data block. And write it into the independent anchor weight field, and then into the matrix cumulative. With vector cumulant In the cumulative update, the anchored sample is processed together with the ordinary sample;

[0127] The piecewise coefficient vector obtained from the solution Write the segmented coefficient table The event time series, risk set incremental update table, combined weight array, and boundary anchor sample insertion table are written into the model storage unit.

[0128] In this embodiment, the linear solver receives the accumulated values ​​from each time segment. , Solvability is guaranteed by diagonal loading and condition number checking, and one of the following methods—Cholesky, QR, SVD, or iterative method—is used for the solution. In case of an anomaly, the available coefficient vector is output according to the rollback strategy and written to the piecewise coefficient table.

[0129] In this embodiment, the generated recommendation results include:

[0130] Receive the target outcome type identifier and time window parameter carried in the recommendation request. Read the segmented boundary table and segmented coefficient table of the continuous-time dynamic additive risk function, verify the version consistency between the time window and the segmented boundary table, and then establish the window segmentation table for this request.

[0131] Based on the unified feature coding dictionary, feature vectors are generated for each candidate tourism project set, and the feature vectors and candidate project identifiers are written into the request-level cache table. At the same time, a time window risk record row is generated for each candidate project.

[0132] Time window Compare each segment with the segment boundary table, retain only the valid segments that satisfy "there is at least one training sample in the segment and the segment coefficients have been written into the segment coefficient table", generate the valid segment sequence, and record the actual start and end time of each valid segment within the time window.

[0133] For each candidate tourism project, perform segmented integral calculation: read the coefficient vector of the corresponding segment in the order of the effective segment sequence, multiply the feature vector of the candidate project with the coefficient vector element by element in the order of dimension and sum them to obtain the unit time risk value in the segment, multiply the unit time risk value with the actual duration of the segment in the time window and write it into the risk increment field of the candidate project in the segment;

[0134] After all valid segment calculations are completed, the risk increments of each segment for the same candidate project are accumulated in chronological order, and the segment source index is written during the accumulation process to form a window risk result table containing "candidate project identifier - risk score value - segment contribution list";

[0135] The window risk result table is sorted according to the risk score value, and a consistency filtering operation is performed after sorting to delete candidate project records whose risk score value comes from a single segment and whose segment duration is lower than the preset minimum duration threshold.

[0136] The sorted first Each record is written into the recommendation result structure, which contains the candidate project identifier, risk score value, time window identifier, segment contribution list and sorting number fields, and the recommendation result structure is output.

[0137] In this embodiment, generating the updated continuous-time dynamic additive risk function includes:

[0138] Receive new exposure event data and new outcome event data, and convert the new data into a format that includes the exposure number and the specified duration. Ending marker The incremental sample records are recorded along with the feature vectors, and the incremental sample records are written into the survival analysis sample set, while the list of affected exposure numbers is also recorded.

[0139] Read the canonical timeline index table and the survival function ladder table, and record the canonical duration in the incremental sample records. Perform node location, write the located node index into the incremental node list, and perform incremental updates on the ending count table and the truncated count table accordingly to obtain the updated ending count sequence and truncated count sequence.

[0140] The risk set recursive table is recalculated in ascending order of the standard time axis index. The recalculation start point is the smallest node index in the incremental node list. The risk set size and survival function ladder value before the recalculation start point are kept unchanged. Within the recalculation interval, the risk set size sequence and the survival function ladder value sequence are updated based on the updated outcome count sequence and the truncated count sequence to generate the updated continuous-time survival function.

[0141] Read the segmented boundary table and segmented training matrix, locate the corresponding row in the segmented training matrix for the list of affected exposure numbers, update its sample-level survival weight field to the step value of the updated continuous-time survival function at the sample's specified duration, and write the updated sample-level survival weight into the segmented training matrix.

[0142] Segmented extraction is performed on the segmented training matrix according to the segmented boundary table to generate an affected segment list. The affected segment list contains at least one segment index covered by the updated sample. The corresponding segmented data blocks are read segment by segment from the affected segment list and the time-variable coefficient vector is re-solved. The re-solved segmented coefficient vector is written into the corresponding row of the segmented coefficient table to form the updated time-variable coefficient function table.

[0143] Based on the time-coefficient binding structure, the updated piecewise coefficient table is written into the model storage unit and replaces the original piecewise coefficient table. At the same time, the piecewise boundary table and the time mapping array remain unchanged. An updated continuous-time dynamic additive risk function object is generated and registered as the calling version of the risk integral and recommendation output module.

[0144] Example:

[0145] To verify the feasibility and stability of the AI-based personalized travel recommendation system in a real business environment, this invention was deployed in the core recommendation system of a large-scale integrated online travel platform. This platform provides air tickets, hotels, vacation packages, and comprehensive travel products, with a daily exposure exceeding 50 million items. The user behavior chain includes multiple stages such as exposure, clicks, favorites, adding to cart, inquiries, and order placement. The platform's original recommendation system used a deep ranking model, labeling exposure samples based on whether clicks or orders occurred within a fixed observation window, and uniformly treating samples that did not exhibit any behavior within the window as negative samples. With business development, the platform discovered that the conversion rate for high-priced and long-decision-cycle products was significantly lower. Many users did not place orders immediately after initial exposure, but only completed transactions after multiple visits and comparisons. Traditional models cannot distinguish between "genuine lack of interest" and "no behavior yet," and cannot characterize the impact of features on risk changes over time, leading to the premature downgrading of potentially high-value users. Furthermore, whenever a large amount of new data is added, the original model needs to be retrained entirely, resulting in long update times and high computational resource consumption, making it difficult to meet the rapid iteration requirements of online recommendations.

[0146] In this business scenario, the system of this invention first constructs an event modeling module. The system generates a unique exposure number for each exposure and records the exposure timestamp, user attribute fields, tourism product attribute fields, and request context fields. User attributes include historical travel frequency, consumption range, device type, membership level, etc.; product attributes include destination category, price range, departure time interval, inventory status, etc.; context fields include access source channel, search keywords, terminal type, etc. The system uses the exposure time as the zero point and searches whether there is a click or order placed within a preset observation window. If so, it records the duration and outcome marker; if not, it records the right-hand truncation marker and the observation window length. All samples are written into the sample storage unit according to the structure "exposure number—duration—outcome marker—feature vector," forming a survival analysis sample set with a unified time starting point.

[0147] The system then enters the Kaplan-Meier survival estimation stage. The system extracts the duration of all order placements from the sample set, constructs a normalized time axis, and normalizes the durations to form discrete time nodes. At each time node, the system calculates the risk set size and the number of order events, and recursively calculates the continuous-time survival function step value. For each exposed sample, the system reads the survival function step value corresponding to its normalized duration and writes it as a sample-level survival weight into the sample record. Through this step, samples that did not place an order are no longer simply treated as negative examples, but participate in the calculation in the risk set based on their duration, thus eliminating the problem of improper handling of right-truncated samples in traditional models.

[0148] After generating the continuous-time survival function, the system automatically divides the time into segments based on the stepwise change of the survival function. Specifically, the system calculates the survival decline between adjacent time points and accumulates the risk share. When the accumulated value reaches a preset threshold, the segment boundary is determined, thereby generating a segment boundary table. Subsequently, the system aligns the survival calibration sample set with the segment boundary table, writes a time segment identifier for each sample, and constructs a segmented training matrix containing exposure number, time segment identifier, sample-level survival weight, outcome label, and feature vector.

[0149] In the Aalen additive risk modeling phase, the system sorts the segmented training matrices according to time segment identifiers and writes samples belonging to the same segment into the corresponding segment data block. Within each segment, the system constructs a risk set index array and event time series, and performs weighted normal equation cumulative calculation on the samples within the risk set, where sample-level survival weights participate in the combined weight calculation. The coefficient vector for that segment is obtained through a linear solver, and each segment's coefficient vector is written into a segment coefficient table. Subsequently, the system establishes a time-coefficient binding structure, forming a continuous-time dynamic additive risk function. This risk function can calculate the unit-time risk value using interval positioning and vector dot product under any time input.

[0150] During the recommendation phase, after receiving a user request, the system generates feature vectors for candidate tourism products according to unified feature coding rules. The system reads the segment boundary table and segment coefficient table of the continuous-time dynamic additive risk function, filters valid segments according to a preset time window, and performs segment risk integral calculation for each candidate product. Specifically, the system performs a dot product of the candidate product's feature vector and the corresponding segment coefficient vector to obtain a unit-time risk value, which is then multiplied by the duration of that segment within the time window to obtain the segment risk increment. The system accumulates the risk increments of each segment to form a risk integral value, and outputs the recommendation results in sorted order.

[0151] During the online update phase, after receiving new exposure and order data, the system only updates the outcome count and risk set size for affected time nodes, recalculates the survival function ladder value for the corresponding time period, and synchronously updates the coefficient vector of the affected segments. Unaffected time segments and coefficients remain unchanged, thus achieving partial updates.

[0152] To verify the practical effects of the aforementioned technical features, a comparative experiment was conducted under the same traffic volume conditions. In the experiment, two groups of users used a traditional ranking model and the system of this invention, respectively, to statistically analyze key business indicators. The experimental results are shown in the table below.

[0153] Table 1 Comparison of the performance of traditional ranking models and the recommendation system of this invention

[0154]

[0155] The data in the table shows that, while maintaining the same exposure scale, the system of this invention achieves a comprehensive improvement in click-through rate, collection rate, and order conversion rate. The significantly improved conversion recognition accuracy over long decision cycles indicates that the survival function estimation and sample-level survival weight mechanism effectively solve the problem of misclassification of right-truncated samples. The significant decrease in the prediction error of average conversion time demonstrates that the Aalen additive risk model successfully portrays the dynamic impact of features on risk across different time periods. The reduced volatility of recommendation results across windows indicates that the segmented risk integration mechanism enhances ranking stability. The significantly reduced model update time and resource consumption reflect the engineering advantages of the online incremental update mechanism.

[0156] As can be seen from the above embodiments, the present invention not only introduces specific technical features such as unified time modeling, survival function estimation, time segmentation and additive risk function construction in the technical architecture, but also effectively solves the problems of insufficient processing of right-truncated samples, inability to express the dynamic impact of time and high model update cost of traditional recommendation systems in real business environments, and achieves simultaneous improvement of recommendation effect and system performance.

[0157] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection of the present invention.

Claims

1. A personalized tourism recommendation system based on artificial intelligence and machine learning, characterized in that: include: The event modeling module collects user exposure and outcome behavior data, as well as tourism project attributes and contextual data, to form a survival analysis sample set containing unified feature coding rules; The Kaplan–Meier survival estimation module statistically analyzes the risk set size and number of outcome events at each time point based on the survival analysis sample set, performs Kaplan–Meier estimation to generate a continuous-time survival function, calculates the sample-level survival weights based on the continuous-time survival function, and generates a survival calibration sample set. The time segment generation module determines the time segment boundary based on the step change nodes of the continuous time survival function, aligns the time segment boundary with the survival calibration sample set, and generates a segmented training matrix. The Aalen additive risk modeling module constructs an Aalen additive risk model based on a piecewise training matrix, generating a continuous-time dynamic additive risk function; The risk score and recommendation output module generates candidate tourism project features based on unified feature coding rules, inputs the candidate tourism project features into a continuous-time dynamic additive risk function, and generates recommendation results. The online update module writes new exposure and outcome event data into the survival analysis sample set, updates the continuous-time survival function and the time-varying coefficient function, and generates an updated continuous-time dynamic additive hazard function.

2. The personalized tourism recommendation system according to claim 1, characterized in that, The survival analysis sample set for generating unified feature coding rules includes: Establish an exposure event data structure, using user identifiers and tourism project identifiers to form a joint index, generate a unique exposure number for each exposure, and write the exposure timestamp, device type, channel source, search terms, geographical location and request context fields; Establish a data structure for outcome behavior, record the behavior type identifier and behavior occurrence timestamp for click, favorite, and order behavior respectively, and match them according to user identifier, tourism project identifier and corresponding exposure number; Set a fixed observation window length, retrieve the earliest ending behavior time within the observation window for each exposure number, write an ending mark for those with ending behavior and record the duration from exposure to ending, write a right-truncation mark for those without ending behavior and record the duration as the observation window length; Construct a unified feature encoding dictionary, assign field numbers and value numbers to user attribute fields, tourism project attribute fields and context fields, convert discrete fields into number indexes, convert continuous fields into interval numbers according to preset bucketing rules, and generate feature vectors with unified dimension order. The sample records are organized according to the structure of "exposure number - duration - outcome marker - feature vector" to form a survival analysis sample set with consistent time start and consistent field number.

3. The personalized tourism recommendation system based on artificial intelligence machine learning according to claim 1, characterized in that, The generation of continuous-time survival functions and survival calibration sample sets includes: Establish a standardized timeline and extract the duration of all outcome samples from the survival analysis sample set. The event time series is obtained by removing duplicates and sorting in ascending order, and the observation window is terminated for a certain duration. Added as the final time point; Perform fixed-granularity merging on the event time series, and map the event times falling into the same granularity interval to the upper bound node of the interval, to obtain the standardized time axis and its index table; Establish a sample time mapping table, recording the duration of each sample. According to "take not less than" The rule of mapping the "minimum normative time node" to the normative duration. The specified duration is then bound to the exposure number and written into the sample time mapping table; Establish an outcome count table and a truncated outcome count table. Perform a single scan of the sample time mapping table according to the standardized timeline index to accumulate the outcome count for each standardized time node. Counting with truncated tails ; Establish a risk set recursive table, based on the total sample size. As the size of the risk set at the first node, the risk set size sequence is calculated recursively in ascending order according to the canonical time axis index. The recursive rule is that the size of the risk set of the next node is equal to the size of the risk set of the previous node minus the outcome count and truncation count of the previous node. Calculate the survival function ladder table and initialize it. Calculate the step values ​​for each node in ascending order according to the standard timeline index: ; Establish a frozen timeline ledger: The frozen timeline ledger records the version number of the standard timeline, the boundary value of each node, and the node index; When a new sample is written, the standard duration mapping is performed. If the mapping result falls within the existing node index range, only the outcome count or truncation count of the corresponding node is updated, and the risk set recursive table and survival function ladder table are recalculated from the node. If the mapping result exceeds the existing node index range, only the tail node is appended and only the risk set size and survival function ladder value corresponding to the newly added tail node are calculated. Establish a duplicate exposure merging table: Generate an exposure sequence for multiple exposures of the same user ID and the same tourism project ID within the observation window. Select the earliest exposure in the exposure sequence as the main exposure number and write the remaining exposures as subordinate exposure numbers into the merging table. When calculating outcome counts and truncated counts, only the primary exposure number is included in the outcome count table and truncated count table. The outcome behavior time of the subordinate exposure number is migrated to the primary exposure number according to the merge table, and the primary exposure number is updated accordingly. and ; Generate sample-level survival weights and a survival calibration sample set, and read the specified duration for each exposure number. The corresponding survival function step value is written into the sample record as the sample-level survival weight, and the set of records containing the exposure number, standard duration, outcome label, sample-level survival weight and feature vector is marked as the survival calibration sample set.

4. The personalized tourism recommendation system based on artificial intelligence machine learning according to claim 1, characterized in that, Generating the segmented training matrix includes: Read the continuous-time survival function ladder table and the canonical time axis index sequence, and calculate the survival decline of adjacent time nodes node by node. Generate a survival decline sequence arranged in chronological order; A cumulative risk array is built on the survival decline sequence. The survival decline is accumulated segment by segment within a continuous time interval. When the cumulative value reaches a preset fixed risk share threshold, the current time point is recorded as the segment boundary, and the cumulative value is cleared to continue scanning until the observation window ends. This yields the initial set of segment boundaries; Perform boundary integrity checks on the initial segment boundary set. If the risk share of the last segment is lower than the threshold, merge it with the previous segment. If no ending sample exists in a certain segment, then that segment will be merged with the subsequent segments; The final segment boundary table is generated after the merge is completed. ,in , ; Read the survival calibration sample set and obtain the standardized duration for each sample. Sample-level survival weights Ending marker With feature vectors The boundary values ​​are compared sequentially in the segmented boundary table to determine if they meet the requirements. unique index And write the index into the time segment identifier field. ; Establish a segmented consistency verification table, scan all samples according to time segment identifiers, verify that the standardized duration of samples in each segment falls within the corresponding boundary interval, and verify that the sample-level survival weight field is consistent with the survival function step value corresponding to its standardized duration. Construct a segmented training matrix, and write the exposure number and time segment identifier in a fixed column order. Sample-level survival weights Ending marker and eigenvectors Each row in the matrix corresponds one-to-one with an exposure number, and the segment boundary table and the number of segments are written into the matrix header information. And standardize the timeline version identifier to form a segmented training matrix.

5. The personalized tourism recommendation system based on artificial intelligence machine learning according to claim 1, characterized in that, Constructing a continuous-time dynamic additive risk function includes: Read the segmented training matrix and segmented boundary table Establish a segmented index mapping table in memory, with time segment identifiers. and segment boundary interval One-to-one correspondence; Identified by time segment Perform a stable sort on the segmented training matrix, grouping those belonging to the same segment. Samples are continuously written into segmented data blocks. Each segment of data is arranged in ascending order by exposure number, forming three parallel arrays: feature matrix. Ending vector Sample-level survival weight vector ; For each segment of data block Perform the Aalen additive risk coefficient calculation, and the result will generate a piecewise coefficient vector of fixed dimensions. And write the piecewise coefficient vector into the first piecewise coefficient table. OK; After the segmented coefficient table is generated, a time-coefficient binding structure is established to link each segmented interval. Its corresponding coefficient vector index Write to the time mapping array, which records the lower bound of the interval, the upper bound of the interval, and the address of the coefficient vector; A continuous-time dynamic additive hazard function data structure is constructed, which consists of a time-mapped array and a piecewise coefficient table. The following steps are performed during the hazard calculation phase: Based on input time Perform an interval positioning operation in the time-mapped array, and position the element that satisfies the condition. unique index ; Read the first from the piecewise coefficient table Row coefficient vector ; Input feature vector In order of feature dimensions Perform a vector dot product operation to obtain the time. Corresponding risk value: The aforementioned time positioning rules, segmentation coefficient table, and risk calculation expression are encapsulated into a continuous-time dynamic additive risk function object and written into the model storage unit, while simultaneously recording the number of segments. Feature Dimension And the version number of the segment boundary.

6. The personalized tourism recommendation system based on artificial intelligence machine learning according to claim 5, characterized in that, The process of solving for the Aalen additive risk coefficient includes: Read segmented data blocks Extract the standard duration line by line from the sample rows. Ending marker Sample-level survival weights and eigenvectors and will Clip to segment boundary interval Inside, writes beyond the upper bound Writes less than the lower bound ; Construct a segmented event timetable, and satisfy the conditions within the segmented data blocks. of The event time series is obtained by deduplication and ascending sorting. Append to the beginning and end of the sequence respectively and As an endpoint time; Construct a risk set index array and iterate through each time point in ascending order of the event time sequence. Perform a sequential scan on the segmented data blocks and write the data that satisfies the specified conditions. The set of sample row numbers is the risk set. and write to satisfy and The set of sample row numbers is the event set. ; Construct a combined weight array and an ascending survival function ladder table ordered by event time series at each time point. Locating the corresponding step value Step value compared to the previous time point Calculate the weight of each time point and risk set Each row of samples is written with a combined weight. ; Construct the cumulants of the weighted normal equations, and iterate through each time point. At that time, for risk sets Perform cumulative updates on each row of samples: Added to matrix cumulative ,Will Add to vector cumulant After traversing, the segments are obtained. and ; Perform coefficient calculation and accumulate the matrix. With vector cumulant Input the linear solver to obtain the piecewise coefficient vector. And satisfy the superordinate expression: ; Establish an incremental update table for the risk set: This involves updating adjacent time points in the event time series. and Between these, record the set of sample row numbers removed from the risk set. The set of sample row numbers added to the event set }, and when constructing the risk set index array, with The current risk set is obtained by recursion; Establish a boundary anchoring sample insertion table: for the lower bound of the segmented boundary Take the neighborhood sample set Calculate the anchored feature vector according to the combined weight rule. and from the previous piecewise coefficient vector Calculate anchored target ,Will This is added as an anchor sample to the segmented data block. And write it into the independent anchor weight field, in the matrix cumulative With vector cumulant In the cumulative update, the anchored samples are processed together with ordinary samples; The piecewise coefficient vector obtained from the solution Write the segmented coefficient table The event time series, risk set incremental update table, combined weight array, and boundary anchor sample insertion table are written into the model storage unit.

7. The personalized tourism recommendation system based on artificial intelligence machine learning according to claim 1, characterized in that, The generated recommendation results include: Receive the target outcome type identifier and time window parameter carried in the recommendation request. Read the segmented boundary table and segmented coefficient table of the continuous-time dynamic additive risk function, verify the version consistency between the time window and the segmented boundary table, and then establish the window segmentation table for this request. Based on the unified feature coding dictionary, feature vectors are generated for each candidate tourism project set, and the feature vectors and candidate project identifiers are written into the request-level cache table. At the same time, a time window risk record row is generated for each candidate project. Time window Compare each segment with the segment boundary table, retain only the valid segments that satisfy "there is at least one training sample in the segment and the segment coefficients have been written into the segment coefficient table", generate a valid segment sequence, and record the actual start and end time of each valid segment within the time window. For each candidate tourism project, perform segmented integral calculation: read the coefficient vector of the corresponding segment in the order of the effective segment sequence, multiply the candidate project feature vector with the coefficient vector element by element in dimensional order and sum them to obtain the unit time risk value in the segment, multiply the unit time risk value with the actual duration of the segment in the time window and write it into the risk increment field of the candidate project in the segment; After all valid segment calculations are completed, the risk increments of each segment for the same candidate project are accumulated in chronological order, and the segment source index is written during the accumulation process to form a window risk result table containing "candidate project identifier - risk score value - segment contribution list"; The window risk result table is sorted according to the risk score value, and a consistency filtering operation is performed after sorting to delete candidate project records whose risk score value comes from a single segment and whose segment duration is lower than a preset minimum duration threshold. The sorted first Each record is written into the recommendation result structure, which contains the candidate project identifier, risk score value, time window identifier, segment contribution list and sorting number fields, and the recommendation result structure is output.