Cultural tourism itinerary planning and delivery methods, systems, computer equipment and storage media
By generating and analyzing user tags, establishing time-series and scenario-related user memory relationships, planning itineraries based on real-time needs, and inserting multimedia data, the problem of itinerary planning not matching user preferences in existing technologies is solved, achieving the accuracy and effectiveness of personalized cultural and tourism itinerary services.
Patent Information
- Application Number
- CN202511380390.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-25
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2045-09-25
AI Technical Summary
Existing technologies fail to construct structured user memory associations based on temporal and scenario-based correlations in multimodal interaction data, resulting in itinerary planning that does not align with users' overall preferences and cannot meet the needs of personalized cultural and tourism itinerary services.
Multiple user tags are generated by acquiring interaction data, the tag types are analyzed and the tag weights are determined, user memory associations are established, trip planning is determined by combining real-time demand data, and target multimedia data is selected from multimedia data and inserted based on the trip planning to form multimedia push content.
It improves the accuracy of itinerary planning, enhances the smoothness of user experience, and increases the effectiveness of multimedia push notifications, solving the problems of fragmented and blind itinerary recommendations in existing technologies.
Smart Images

Figure CN120875472B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of data processing, in particular to a travel itinerary planning and pushing method and system, computer device and storage medium. BACKGROUND
[0002] With the deep integration of mobile Internet and travel services, users' personalized demand for travel itinerary planning and pushing is increasing. Current mainstream travel itinerary service systems can obtain user demand through multi-modal interaction modes such as voice and text, and try to generate user tags based on interaction data to support services.
[0003] However, the existing technology planning method is single, and the pushed content cannot be combined with the specification, which is difficult to meet the user's demand for accurate and personalized travel itinerary services.
[0004] Therefore, the present application is proposed. SUMMARY
[0005] The purpose of the embodiments of the present application is to provide a travel itinerary planning and pushing method, system, computer device and storage medium to solve the technical problem that the existing technology only stays in isolated tagging processing of multi-modal interaction data, without constructing structured user memory association relationship containing time sequence association and scene association, which further leads to itinerary planning not fitting user's overall preference, multimedia pushing blindly, and unable to meet the demand for personalized travel services.
[0006] To solve the above technical problems, the embodiments of the present application provide a travel itinerary planning and pushing method, which adopts the following technical solution:
[0007] A travel itinerary planning and pushing method, comprising the following steps:
[0008] S1. Obtain interaction data, and generate a plurality of user tags based on the interaction data and a preset classification dimension;
[0009] S2. Analyze each user tag to obtain a label type corresponding to each user tag;
[0010] S3. Determine a label weight of each user tag based on the label type;
[0011] S4. Establish a user memory association relationship based on the label weight and the interaction data;
[0012] S5. Obtain real-time demand data, and determine an itinerary planning based on the user memory association relationship and the real-time demand data;
[0013] S6. Obtain multimedia data, determine a candidate insertion node based on the travel plan, filter target multimedia data from the multimedia data based on the user memory association relationship, insert the target multimedia data into the candidate insertion node, and obtain multimedia push content.
[0014] Further, the analyzing the user label to obtain a label type comprises:
[0015] Based on the interaction data, it is determined whether the source of the user label meets the condition of user active delivery demand, and if so, the user label is an explicit label;
[0016] Based on the interaction data, it is determined whether the source of the user label meets the preset preference association condition, and if so, the user label is an implicit label.
[0017] Further, the determining the label weight of each user label based on the label type comprises:
[0018] S31. If the user label is an explicit label, a first interaction frequency is extracted from the interaction data, and a first initial weight of the explicit label is determined based on the first interaction frequency and a preset explicit weight;
[0019] If the user label is an implicit label, a second interaction frequency and a time parameter are extracted from the interaction data, and a time decay factor is determined based on the time parameter;
[0020] Based on the second interaction frequency and the time decay factor, a second initial weight of the implicit label is determined;
[0021] S32. Obtain real-time interaction data, and adjust the first initial weight and the second initial weight based on the real-time interaction data, respectively, to obtain a first final weight and a second final weight.
[0022] Further, the establishing a user memory association relationship based on the label weight and the interaction data comprises:
[0023] S41. Extracting time features and scene features corresponding to the user label from the interaction data;
[0024] S42. Dividing the user label in time dimension based on the time features to obtain a recent label group and a historical label group;
[0025] S43. Selecting a user label with a label weight higher than a preset threshold in the recent label group as a first core label, and selecting a user label with a label weight higher than a preset threshold in the historical label group as a second core label;
[0026] S44. Analyze the relevance of the first core label and the second core label, and if the relevance meets a preset relevance condition, establish a time sequence association relationship between the recent label group and the historical label group;
[0027] S45. Based on the scene characteristics, filter user labels that frequently co-occur in the same interaction scene to obtain scene combination labels;
[0028] S46. Based on the scene combination labels and the user labels, establish a scene association relationship;
[0029] S47. Integrate the time sequence association relationship and the scene association relationship to obtain the user memory association relationship.
[0030] Further, the real-time demand data is obtained, and based on the user memory association relationship and the real-time demand data, a travel plan is determined, comprising:
[0031] S51. Obtain real-time demand data, the real-time demand data comprising destination demand data, travel constraint data and real-time location data;
[0032] S52. Extract the time sequence association features and scene association features of the destination demand data;
[0033] S53. Based on the time sequence association features, the scene association features and the destination demand data, match and filter from the user memory association relationship to obtain multiple pieces of preference information related to the destination demand data, integrate the preference information to obtain a user core travel demand;
[0034] S54. Based on the travel constraint data and the destination demand data, determine a travel planning geographic range;
[0035] S55. Based on the travel planning geographic range and the user core travel demand, filter candidate cultural and tourism resources from a preset cultural and tourism resource library;
[0036] S56. Based on the real-time location data and the candidate cultural and tourism resources, determine the travel plan.
[0037] Further, obtain multimedia data, determine a candidate insertion node based on the travel plan, filter target multimedia data from the multimedia data based on the user memory association relationship, insert the target multimedia data into the candidate insertion node to obtain multimedia push content, comprising:
[0038] S61. According to the user memory association relationship, extract relevant user labels related to the travel plan from a plurality of user labels;
[0039] S62. Determine the matching degree of the related user label and a plurality of multimedia data in a preset multimedia database, and filter out target multimedia data with a matching degree satisfying a preset requirement from the plurality of multimedia data;
[0040] S63. Extract the core attribute of a key travel link in the travel plan, and determine a candidate insertion node of multimedia data based on the core attribute;
[0041] S64. Based on the core attribute, the target multimedia data is processed to obtain a pending promotion content;
[0042] S65. Based on the time node of the travel plan and the user memory association relationship, set the trigger condition for pushing the pending promotion content;
[0043] S66. Based on the candidate insertion node and the trigger condition, the pending promotion content is sorted to finally generate the multimedia push content.
[0044] A travel plan and push system for executing the travel plan and push method, comprising:
[0045] A data processing module for obtaining interaction data, and generating a plurality of user labels based on the interaction data and a preset classification dimension;
[0046] A label type analysis module in communication connection with the interaction data acquisition and label generation module, for receiving the user label output by the interaction data acquisition and label generation module, analyzing each user label, and obtaining the label type corresponding to each user label;
[0047] A label weight calculation module in communication connection with the label type analysis module, for receiving the label type output by the label type analysis module, and determining the label weight of each user label based on the label type;
[0048] An association relationship establishment module in communication connection with the label weight determination module and the interaction data acquisition and label generation module, for receiving the label weight output by the label weight determination module and the interaction data output by the interaction data acquisition and label generation module, and establishing a user memory association relationship based on the label weight and the interaction data;
[0049] A travel plan module in communication connection with the user memory association relationship establishment module, for obtaining real-time demand data, and determining a travel plan based on the user memory association relationship and the real-time demand data;
[0050] The push module is communicatively connected to the real-time demand processing and itinerary planning module and the user memory association module, respectively. It is used to acquire multimedia data, determine candidate insertion nodes based on the itinerary planning, filter target multimedia data from the multimedia data based on the user memory association, and insert the multimedia data into the candidate insertion nodes to obtain multimedia push content.
[0051] To address the aforementioned technical problems, this application also provides a computer device that employs the following technical solution:
[0052] A computer device includes a memory and a processor, wherein the memory stores computer-readable instructions, and the processor executes the computer-readable instructions to implement the steps of the document travel itinerary planning and push method as described above.
[0053] To address the aforementioned technical problems, this application also provides a computer-readable storage medium, employing the technical solution described below:
[0054] A computer-readable storage medium storing computer-readable instructions, which, when executed by a processor, implement the steps of the document travel planning and pushing method described above.
[0055] Compared with the prior art, the embodiments of this application have the following main advantages:
[0056] This application acquires interaction data and generates user tags according to preset classification dimensions, structuring multimodal data such as voice and text to lay the foundation for subsequent preference analysis and avoid judgment bias caused by data fragmentation. Next, by analyzing tag types and determining tag weights, it distinguishes between explicit tags (actively expressed) and implicit tags (inferred from behavior), adapting different weight logics, quantifying preference strength, and ensuring timeliness, thus addressing the deficiency of static tags in reflecting changing needs. Then, based on tag weights and interaction data, it establishes user memory associations, transforming isolated tags into a structured network with temporal and scenario-based associations, avoiding fragmented itinerary recommendations. Subsequently, itinerary planning is determined by combining real-time demand data with memory associations, solving the problem of static itineraries being disconnected from real-time needs. Finally, multimedia data is inserted based on itinerary and memory associations to avoid blindly pushing content that interferes with users. Overall, this forms a closed loop of data, memory, and service, significantly improving itinerary accuracy, user experience smoothness, and the effectiveness of multimedia push notifications. Attached Figure Description
[0057] In order to more clearly illustrate the solutions in the present application, the drawings needed to be used in the description of the embodiments of the present application will be briefly introduced as follows. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings.
[0058] Figure 1 is an exemplary system architecture diagram to which the present application can be applied;
[0059] Figure 2 is a flow chart of one embodiment of the travel itinerary planning and pushing method according to the present application;
[0060] Figure 3 is a structural schematic diagram of one embodiment of the travel itinerary planning and pushing system according to the present application;
[0061] Figure 4 is a structural schematic diagram of one embodiment of the computer device according to the present application. DETAILED DESCRIPTION
[0062] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs; the terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application; the description and the claims of the present application and the above-mentioned drawings in the specification illustrate the present application by way of example; the terms "comprise", "comprising", "include", "including", "have" and "having" as used in the specification and the claims of the present application and the above-mentioned drawings, are intended to cover the inclusions thereof without limitations. The terms "first", "second" and the like as used in the specification and the claims of the present application and the above-mentioned drawings are intended to distinguish different objects, not to describe a particular sequence.
[0063] Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily mutually exclusive of one another. It is expressly understood that the embodiments described herein are merely examples from a whole class of embodiments of which the application is a part. It is further expressly understood that the application is intended to encompass all changes and modifications that fall within the scope of the claims.
[0064] In order to make the technical personnel in the art better understand the solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described in the following with reference to the drawings.
[0065] As Figure 1As shown, the system architecture 100 can include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 can include various connection types, such as wired, wireless communication links or fiber optic cables, etc.
[0066] The user can use the terminal devices 101, 102, 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the terminal devices 101, 102, 103, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.
[0067] The terminal devices 101, 102, 103 can be various electronic devices with display screens and supporting web browsing, including but not limited to smart phones, tablet computers, e-book readers, MP3 (Moving Picture Experts Group Audio Layer III) players, MP4 (Moving Picture Experts Group Audio Layer IV) players, laptop computers and desktop computers, etc.
[0068] The server 105 can be a server providing various services, such as a background server supporting the pages displayed on the terminal devices 101, 102, 103.
[0069] It should be noted that the itinerary planning and pushing method provided by the embodiments of the present application is generally executed by a terminal device, and correspondingly, the itinerary planning and pushing system is generally provided in a terminal device.
[0070] It should be understood that Figure 1 The number of terminal devices, networks and servers in
[0071] With reference to Figure 2 , a flow chart of one embodiment of the method according to the present application is shown. The itinerary planning and pushing method includes the following steps:
[0072] S1. Obtain interaction data, and generate a plurality of user tags based on the interaction data and a preset classification dimension;
[0073] In this embodiment, the electronic device (for example Figure 1The terminal device shown) can send or receive data through a wired connection or a wireless connection. It should be noted that the above-mentioned wireless connection can include but is not limited to 3G / 4G / 5G connection, WiFi connection, Bluetooth connection, WiMAX connection, Zigbee connection, UWB (ultrawideband) connection, and other now known or future developed wireless connection.
[0074] The existing travel system often disperses in unstructured interaction data (such as voice fragments, scattered texts) due to user needs, which cannot accurately capture preferences, and needs to convert scattered needs into structured labels through multi-modal data collection and classification. Based on this, the present step is used to solve the above problems.
[0075] In the present embodiment, the interaction data refers to the multi-modal data generated when the user interacts with the travel itinerary planning system, and the interaction data specifically includes text data (such as the text after the user's voice "I want to go to a place with ancient buildings and also want to eat light food" is translated by ASR) output by voice recognition (ASR) during voice interaction, user-initiated text content (such as "short trip, within 3 days" "want to avoid places with heavy flow"), interaction timestamp (accurate to seconds, such as 2024 X month X day 9:15:40, used to record the time sequence of the behavior), interaction context information (such as the "ancient architecture related scenic spots" result page currently queried by the user, the preliminary geographic location range "around the city where the user is currently located" when querying); At the same time, the interaction data will be preprocessed: filter mood words such as "oh" and "um" and repeated characters through regular expressions, correct errors in the text (such as "ancient buildings" corrected to "ancient architecture") using BERT-CRF model, and ensure data validity.
[0076] After obtaining the interaction data, it is necessary to classify the data based on the preset classification dimensions, mainly to unify the preference analysis standard and avoid dimension confusion leading to subsequent label association, wherein the preset classification dimensions have five core dimensions for structured classification of interaction data, specifically including:
[0077] 1. Scenic spot preference dimension: covering natural scenery (lakes, mountains, etc.), cultural relics (ancient buildings, ancient towns, etc.), leisure and entertainment (theme parks, pedestrian streets, etc.) subcategories;
[0078] 2. Food taste dimension: covering light, spicy, sweet and sour, salty, and other subcategories, and "low interest" and other negative subcategories;
[0079] 3. Consumption level dimension: covering economic type (per capita consumption <100 yuan), comfortable type (per capita consumption 100-300 yuan), high-end type (per capita consumption >300 yuan) subcategories;
[0080] 4. Time arrangement habit dimension: covering sub-categories such as morning tour, afternoon tour, night activity, lunch break preference, etc.
[0081] 5. Emotional tendency dimension: covering sub-categories such as preference for quiet, preference for lively, emphasis on experience, emphasis on cost performance, etc.
[0082] After classifying the interaction data, based on the identification of quantifiable user preferences generated by matching the interaction data with the above classification dimensions, the user label in the format of "dimension + sub-category + specific preference content (if any)" is generated.
[0083] For example, the format of the user label is as follows:
[0084] In the user voice translation text "want to go to a place with historical buildings", the "scenic spot preference-historical sites" dimension is matched to generate the label "scenic spot preference-historical sites-historical buildings";
[0085] From the user input "want to eat non-spicy food", the "catering taste-non-spicy" dimension is matched to generate the label "catering taste-non-spicy";
[0086] From the user's statement "want to avoid crowded areas", the "emotional tendency-preference for quiet" dimension is matched to generate the label "emotional tendency-preference for quiet".
[0087] S2. Analyze each of the user labels to obtain the label type corresponding to each of the user labels;
[0088] In this embodiment, the label type includes explicit labels (generated from user's active expression, such as "want to go to historical buildings" to generate "scenic spot preference-historical sites-historical buildings") and implicit labels (generated by behavior inference, such as skipping "theme park" multiple times to generate "leisure and entertainment-theme park-low interest");
[0089] Specifically, the explicit label refers to a label generated directly from the user's explicit expression of interaction data, i.e., a label formed after the user actively communicates the demand through voice, text, etc. For example: the user explicitly says "want to go to a place with historical buildings", and the corresponding generated "scenic spot preference-historical sites-historical buildings" label is an explicit label; or the user actively inputs "want to eat non-spicy food", and the corresponding generated "catering taste-non-spicy" label is an explicit label.
[0090] The implicit label refers to a label generated by indirectly inferring user preferences through analyzing user interaction behaviors (such as clicking, staying, and skipping operations). For example, when the system recommends information related to a “lively theme park”, the user clicks the “skip” button for three times in succession, and in combination with the “leisure and entertainment” dimension, it is inferred that the user has low interest in the lively theme park, and a “leisure and entertainment-theme park-low interest” label is generated. Or, the user's staying time (2 minutes and 40 seconds) for viewing the “morning tour guide of historical buildings” is much longer than the staying time (50 seconds) for viewing the “afternoon tour guide”, and in combination with the “time arrangement habit” dimension, a “time arrangement habit-morning tour-high preference” label is generated.
[0091] Among them, the credibility of labels from different sources to user preferences is different, that is, the explicit label is the direct demand of the user, and the credibility is high, and the implicit label is indirectly inferred, and needs to be distinguished; if the label types are not distinguished, the “behavior not explicitly expressed by the user” and the “active demand” may be treated equally, resulting in the problem of large preference judgment deviation. Based on this, the present step identifies and classifies user labels, provides a basis for subsequent label weight calculation (explicit labels need to focus on frequency, and implicit labels need to focus on timeliness), and improves the accuracy of the weight.
[0092] S3. Based on the label type, determining a label weight of each of the user labels;
[0093] In the present embodiment, the label weight is used to quantify the parameter of the user's preference intensity for the label corresponding to the label, and the value range is 0-5 (the higher the value, the stronger the preference), which can be selected according to actual conditions. The calculation of the label weight needs to be combined with the label type, and factors such as interaction frequency and time decay are taken into account to ensure that the weight can be dynamically updated to reflect the latest user preferences, wherein each label type has its corresponding calculation logic.
[0094] Specifically, the explicit label takes “interaction frequency” and “preset explicit base weight” as the core calculation basis, wherein the “preset explicit base weight” is a system-previously-set explicit label base score (which is set to 0.8 in the present embodiment). For example, the user mentions “want to go to a place with historical buildings” in two interactions, and the interaction frequency is 2, so the initial weight of “scenic spot preference-historical sites-historical buildings” = 2x0.8 = 1.6. Subsequently, the user supplements “hope that the historical buildings have interpretation services” for the third time, the interaction frequency is updated to 3, and the weight is updated to 3x0.8 = 2.4.
[0095] The implicit label is calculated based on the core of "interaction frequency" and "time decay factor", wherein the "time decay factor" is a coefficient set according to the time difference from the label generation (in this embodiment, the time decay factor is 1.0 within 1 week, 0.9 for 1-2 weeks, and 0.7 for more than 2 weeks). For example, user skips "hot theme park" recommendation 4 times within 1 week, the interaction frequency is 4, and the time decay factor is 1.0, so the initial weight of "leisure and entertainment-theme park-low interest" = 4x1.0 = 4.0. After 2 weeks, the user does not generate any interaction related to "theme park", the time decay factor is updated to 0.7, and the weight is adjusted to 4x0.7 = 2.8.
[0096] Further, if new real-time interaction data of the user is obtained (such as the user mentioning "historical buildings" again on the same day), the label weight is updated based on the new interaction frequency or behavior, so that the weight always keeps consistent with the latest preference of the user.
[0097] In this step, the "preference intensity" of the same type of label is different (such as the user mentioning "historical buildings" 3 times has a stronger preference than mentioning it 1 time), and the implicit label will be invalidated over time (such as "dislike theme park" 2 weeks ago may change), so the weight is needed to quantify the intensity and timeliness (to solve the problem of "preference without quantification and unable to dynamically update" in the background technology of the disclosure), and if the weight is not set, the subsequent itinerary planning cannot determine "which preference to prioritize" (such as "like historical buildings" and "want to eat non-spicy", which one is more important), resulting in disordered recommendation.
[0098] That is, this step quantifies the user preference intensity, the high-weight label corresponds to the core demand, and ensures that the subsequent itinerary planning prioritizes the demand that the user pays most attention to (such as high-weight "historical buildings" prioritizing the recommendation of related scenic spots), while being able to dynamically adapt to the change of preference, and the time decay factor avoids the influence of "outdated preference" on the recommendation (such as the weight of "dislike theme park" 2 weeks ago decreasing, and if the user pays attention to it later, it can be re-increased), so as to ensure that the weight always reflects the latest preference.
[0099] S4. Based on the label weight and the interaction data, a user memory association relationship is established;
[0100] In this embodiment, the user memory association relationship is a structured relationship network with a "user-label-scene" node-edge model as the core, which is used to reflect the time sequence association and scene association between user labels, and the establishment process needs to combine the label weight (preferentially associating labels with a weight higher than a preset threshold, and the preset threshold is set to 1.5 in this embodiment) and the interaction data (extracting time features and scene features). The establishment of the user memory association relationship includes steps of time sequence association establishment, scene association establishment, and association relationship storage, and the specific establishment process is as follows:
[0101] Firstly, based on the timestamp in the interaction data, the sliding window algorithm is used to divide the recent labels (generated within 1 month) and the historical labels (generated 1 month ago), and the content relevance of the labels with weight higher than the preset threshold in the two types of labels is analyzed - if the labels belong to the same classification dimension and the subcategory is similar, the time sequence association is established. For example: the recent high-weight label "scenic spot preference - cultural relics - historical building" (weight 2.4), and the historical high-weight label "scenic spot preference - cultural relics - ancient village" (generated 2 months ago, weight 1.9), both belong to the "scenic spot preference - cultural relics" dimension, and the time sequence association is established (labeled as "cultural relics preference continuation").
[0102] Then, based on the context information (co-occurrence of multiple labels in the same query scenario) in the interaction data, the Apriori algorithm is used to mine high-frequency co-occurrence (co-occurrence frequency ≥ 2 times) label combinations, generate scene combination identifiers and establish associations. For example: the interaction data shows that "scenic spot preference - cultural relics - historical building" (weight 2.4), "catering taste - not spicy" (weight 2.1), and "time arrangement habit - morning sightseeing" (weight 1.7) co-occur 2 times in the user "short trip query" scenario, generate the scene combination identifier "historical building morning sightseeing + non-spicy catering", and establish the scene association of the three labels with the identifier.
[0103] Finally, a non-relational graph database (such as Neo4j) is used to store the association relationship, where "user", "label", and "scene combination identifier" are nodes, label weight is the strength of "user-label" edge, and association type (time sequence / scene) is the attribute of "label-scene combination identifier" edge. For example: "user -(weight 2.4) → scenic spot preference - cultural relics - historical building -(scene association) → historical building morning sightseeing + non-spicy catering".
[0104] This step establishes the user memory association relationship, because a single label cannot reflect the "association of preferences" (such as a user likes "historical building" and "morning sightseeing", and a reasonable combination recommendation is needed), and the association of historical and recent preferences is needed to avoid "discontinuity", if not associated, the subsequent trip planning may "satisfy a single preference in isolation" (such as recommending a historical building but arranging an afternoon sightseeing), which may lead to poor experience.
[0105] S5. Obtain real-time demand data, determine a trip plan based on the user memory association relationship and the real-time demand data;
[0106] In this embodiment, real-time demand data refers to dynamic data directly related to the trip that the user just expressed when planning the trip, specifically including destination demand data, trip constraint data, and real-time location data; wherein the destination demand data is the user's explicit core direction of the trip (such as "short trip, want to go to the historical building area with guided service"), the trip constraint data is the user's set trip limit condition (such as "1-day trip, total budget within 1200 yuan, medium physical strength needs to control single-day walking distance not to exceed 8000 steps"), and the real-time location data is the real-time geographic location of the user's trip starting point (such as "the user's real-time location on the trip day is the surrounding area of the train station in the city where he / she is located").
[0107] Further, the determination of the trip plan is input with the user's memory association relationship (providing preferred direction) and real-time demand data (providing specific constraints), and the structured trip is generated by filtering candidate travel resources and optimizing the path.
[0108] Specifically, the determination of the trip plan includes two steps of candidate travel resource filtering and trip path.
[0109] The candidate travel resource filtering is based on the destination demand data "historical building with guided service", combined with the high-weight labels in the user's memory association relationship ("attraction preference-human relic-historical building" "cuisine taste-no spicy" "time arrangement habit-morning sightseeing") and the scene combination identifier "historical building morning sightseeing + no spicy dining", and the candidate resources are filtered in the surrounding area of the user's real-time location: for example:
[0110] Attraction: XX historical building scenic spot (providing professional guided service, morning passenger flow density is lower than the preset threshold, matching "historical building + preference for quiet");
[0111] Dining: XX light meal restaurant (located within 500 meters of the historical building scenic spot, average consumption of 70 yuan, matching "no spicy dining + budget constraint");
[0112] Transportation: subway from the user's real-time location to the historical building scenic spot (time-consuming 35 minutes, walking distance 300 meters after getting off, matching "medium physical strength" constraint).
[0113] After that, the trip path optimization uses a path planning algorithm (such as Dijkstra algorithm) to calculate an initial path that balances "time-distance-interest matching degree", and uses an optimization algorithm (such as genetic algorithm) to solve the optimal solution under the constraints of "1-day trip" "1200 yuan budget", etc., and finally generates a structured trip plan: for example:
[0114] 08:30-09:05: take the subway from the user's real-time location (surrounding area of the train station) to the XX historical building scenic spot;
[0115] 09:15-11:45: Visit the XX historical building scenic spot (participate in the 9:30 session of professional interpretation, match the "historical building + interpretation service" demand);
[0116] 12:00-13:00: Have lunch at XX light restaurant (recommend steamed dishes, mushroom dishes, match "non-spicy catering" preference);
[0117] 13:15-13:50: Take the subway back to the user's real-time location;
[0118] Estimated total cost: transportation 16 yuan + scenic spot ticket (including interpretation) 98 yuan + catering 70 yuan = 184 yuan (consistent with the 1200 yuan budget constraint).
[0119] S6. Obtain multimedia data, determine a candidate insertion node based on the itinerary planning, filter target multimedia data from the multimedia data based on the user memory association relationship, insert the multimedia data into the candidate insertion node, and obtain multimedia push content.
[0120] In this embodiment, the multimedia data is visual or audio content stored in a system preset multimedia database, specifically including scenic spot short videos, catering dish pictures, voice commentary segments, etc., for enriching the itinerary display and fitting user preferences.
[0121] Insertion of multimedia data and generation of push content: combined with the key links of the itinerary planning and the user memory association relationship, generate push content through the logic of "content matching - node determination - trigger setting", the specific process is as follows:
[0122] 1. Multimedia data filtering: extract the key links in the itinerary planning ("XX historical building scenic area tour" "XX light restaurant meal"), and filter high-matching content from the multimedia database combined with high-weight labels in the user memory association relationship:
[0123] For the "historical building scenic area tour" link: filter a 1 minute and 30 second short video of the core building of the XX historical building scenic area (including interpretation service introduction, labeled "historical building tour highlights", matching "scenic spot preference - cultural relics - historical building");
[0124] For the "light restaurant meal" link: filter high-definition pictures of steamed dishes and mushroom dishes in XX light restaurant (labeled "recommended non-spicy dishes", matching "catering taste - non-spicy").
[0125] 2. Insertion node and trigger condition setting: based on the time node of the itinerary planning and the possible location change of the user, determine the insertion node of the multimedia data and the trigger mode:
[0126] Short video of historical building scenic spot: insert node "08:30-09:05 (during subway travel)", trigger condition "play 15-second preview automatically when user opens trip page, and click to view complete video";
[0127] Light dish restaurant dish picture: insert node "12:00 (before meal)", trigger condition "show pop-up window on trip page when user arrives within 300 meters of historical building scenic spot".
[0128] 3. Multimedia push content generation: integrate filtered multimedia data and trip planning text to form structured push content - attach corresponding multimedia entry after each key link on the trip planning page, label "click to view historical building scenic spot video" "click to view recommended dish picture", users can view as needed, which not only fits user preferences, but also avoids interfering with trip viewing experience.
[0129] In some optional implementations of the embodiment, the step of analyzing the user tags to obtain tag types includes:
[0130] Based on the interaction data, determine whether the source of the user tag meets the condition of active demand delivery, if so, the user tag is an explicit tag;
[0131] In this embodiment, the system first presets 3 types of quantifiable active demand judgment criteria, covering common forms of user direct preference expression in tourism scenarios, and meeting any one type is considered to meet the "active demand delivery condition", as follows:
[0132] 1. Voice interaction explicit expression: the user's voice input text translated by voice recognition (ASR) contains keywords such as "want XX" "want XX" "like XX" that point to tourism preferences, and the keywords can accurately correspond to the core content of the label (such as the label contains "traditional architecture", the voice translation text must contain "traditional architecture" "old building" and similar expressions);
[0133] 2. Text interaction active input: user's self-written text content (not system preset option) in the system input box directly contains preference description related to the label (such as the label contains "spicy - low interest", the text input must contain "don't eat spicy" "don't choose spicy" and other explicit negative preferences);
[0134] 3. Operation interaction active confirmation: user actively clicks or checks the preset preference option on the system "preference settings" "trip initialization" page, and the option content is exactly the same as the core content of the label (such as the label contains "morning departure", the user must actively check the "morning" time option).
[0135] Based on the condition of active transmission of demand preset by the system, information is extracted from the system-stored multi-modal interaction log according to the correspondence of "tag-interaction data", ensuring traceability and verifiability of the data. Specifically, data can be obtained from three aspects of voice, text and operation. Among them, the voice interaction data is to obtain the user's voice translation text and timestamp - 2024 X month X day 08:45:20, and the translation result is "want to go to a place with traditional architecture, leave in the morning, don't want to choose spicy for lunch", and the page scene at the time of interaction (the current page is "attraction type filtering page") is extracted; the text interaction data is to read the input box operation log - 2024 X month X day 08:48:10, the user fills in "don't want to choose spicy for lunch" in the "diet preference supplement" input box; the operation interaction data is to read the page click log - 2024 X month X day 08:50:30, the user clicks the "morning" option on the "time period selection" page (not in the system default selected state).
[0136] After obtaining the data, the key entity recognition and intent matching technology (such as BERT-CRF model) is used to verify the consistency of the core content of the analyzed tag and the active expression information. The specific judgment process is as follows:
[0137] For the analyzed tag "attraction preference-human heritage-traditional architecture", the label core content "traditional architecture" can be extracted, which completely matches the key entity "traditional architecture" in the voice translation text "want to go to a place with traditional architecture", which meets the "clear expression of voice interaction" standard, so it is determined that the label generation meets the "user active transmission of demand condition", and it is determined as an explicit label;
[0138] For the analyzed tag "time arrangement habit-morning departure", the label core content "morning departure" can be extracted, which matches both the voice translation text "leave in the morning" (the "morning" period coincides with the "morning" period) and the user's active click on the "morning" option, meeting the "clear expression of voice interaction" and "active confirmation of operation interaction" standards, and the double verification meets the condition, and it is determined as an explicit label;
[0139] For the analyzed tag "cuisine taste-spicy-low interest", the label core content "spicy-low interest" can be extracted, and all active expression data (voice, text, operation) are searched. Only the text input "don't want to choose spicy for lunch" mentions the "spicy" related content, but "don't want to choose spicy" is a negative and vague expression (not explicitly "don't like spicy", may only be a one-time demand), which cannot be directly determined as "active transmission of demand", so it is excluded as an explicit label and enters the next step of implicit label judgment.
[0140] Based on the interaction data, it is determined whether the source of the user label meets the preset preference association condition. If yes, the user label is an implicit label.
[0141] In this embodiment, the system presets the "behavior-preference" mapping rule, infers the potential preference through the user's non-active expression of operation behavior (skip, stay, close), and the core rule is as follows:
[0142] 1. Continuous skipping of similar content rule: the user continuously performs "skip" and "close" operations on the same type of cultural and travel content (such as spicy restaurant recommendations, non-traditional architectural attractions) pushed by the system, and the skip frequency is ≥2 times, which can infer that the user has low interest in this type of content;
[0143] 2. Stay duration difference rule: the user's viewing duration of a certain type of cultural and travel content is less than 50% of the system's average viewing duration of this type of content, which can infer that the user has low interest in this type of content;
[0144] 3. Active ignore operation rule: the user clicks the "not interested" and "no longer recommend" buttons in the system-pushed content, which can directly infer that the user has low interest in this type of content. In this embodiment, based on historical data statistics, the average viewing duration of "spicy restaurant recommendation content" is 1 minute, so the "viewing duration < 30 seconds" is set as the judgment threshold of "less than 50% of the average duration".
[0145] Further, the user's behavior information related to "spicy food" in the past 7 days is extracted from the system operation log, for example:
[0146] 2024 X month X day 08:52:15: the system pushes the "local spicy restaurant ranking" list page, and the user clicks the "close" button (considered as a skip operation);
[0147] 2024 X month X day 09:20:40: the system displays the "spicy hot pot" card in the "restaurant recommendation" module, and the user stays for 22 seconds and clicks "skip";
[0148] 2024 X month X day 10:15:30: the system pop-up window recommends "spicy snack street", and the user directly clicks "close" (the 3rd skip);
[0149] There is no record of the user clicking the "not interested" button.
[0150] Then, the extracted behavior data is compared with the rules of "preset preference association conditions" one by one to determine whether it meets the mapping relationship:
[0151] First, verify the skip frequency, the user's skip times for "spicy food" related content is 3 times, ≥ the preset threshold of 2 times, which meets the "continuous skipping of similar content rule";
[0152] After the duration of stay verification, the user views the duration of stay of the "spicy hot pot" card for 22 seconds < 30 seconds (50% of the average duration of 1 minute), which meets the "duration of stay difference rule";
[0153] Finally, the comprehensive judgment is performed, both types of behaviors meet the "preset preference association condition", and there is no opposite behavior (such as actively clicking on spicy food recommendation content), so the generation of the analyzed label "food taste-spicy-low interest" meets the "preset preference association condition", and is determined as an implicit label.
[0154] By the above steps, the type analysis of three user labels is completed, and the final output result is:
[0155] Explicit labels: "scenic spot preference-historical sites-traditional architecture" and "time arrangement habit-morning departure" (both meet the "user actively transmitted demand condition");
[0156] Implicit label: "food taste-spicy-low interest" (meets the "preset preference association condition").
[0157] In the above steps, the types of user labels have been determined, wherein:
[0158] Explicit labels: "scenic spot preference-historical sites-ancient town" (the user actively mentioned "want to explore the ancient town" three times), and "time arrangement habit-morning tour" (the user actively checked "morning period" twice);
[0159] Implicit label: "food taste-spicy-low interest" (the user skipped spicy food recommendations four times, and the label was generated 10 days ago).
[0160] In some optional implementations of the embodiment, the above-mentioned step of determining the label weight of each user label based on the label type includes:
[0161] S31. If the user label is an explicit label, a first interaction frequency is extracted from the interaction data, and a first initial weight of the explicit label is determined based on the first interaction frequency and a preset explicit weight;
[0162] In this step, the first interaction frequency refers to the "number of interactions in which the user actively conveys needs" corresponding to the explicit label, which needs to be extracted from the system interaction log - only valid interactions in which the user explicitly expresses through voice, actively inputs in text, and actively confirms through operation (three types of active conditions defined in claim 2) are counted, and repeated invalid interactions (such as repeated input of the same content within 1 minute) are excluded; the preset explicit weight is a system-predefined base coefficient for explicit labels, used to amplify the influence of interaction frequency on weight, and is set to 0.8 (value range 0.5-1.0, explicit label credibility is high, coefficient takes higher value) in combination with the stability of travel scene preferences; the first initial weight calculation formula is then first initial weight = first interaction frequency x preset explicit weight.
[0163] Specifically, the processing of the explicit label can refer to the following process:
[0164] For the explicit label "scenic preference - cultural relics - ancient town", valid interaction records are extracted from the interaction log - 09:00 (voice "want to explore ancient town") on X month X day 2024, 09:15 (text "recommend ancient town scenic spots"), 10:30 (check "ancient town preference"), a total of 3 valid interactions, i.e. first interaction frequency = 3; first initial weight = 3 x 0.8 = 2.4.
[0165] For the explicit label "time arrangement habit - morning tour": valid interaction records are extracted - 09:20 (check "morning period") on X month X day 2024, 11:10 (voice "morning outing"), a total of 2 valid interactions, first interaction frequency = 2; first initial weight = 2 x 0.8 = 1.6.
[0166] If the user label is an implicit label, a second interaction frequency and a time parameter are extracted from the interaction data, and a time decay factor is determined based on the time parameter;
[0167] Based on the second interaction frequency and the time decay factor, a second initial weight of the implicit label is determined;
[0168] In this step, the second interaction frequency refers to the "number of interactions in which the user triggers a preset preference association condition" corresponding to the implicit label, which needs to be extracted from the operation log - only valid behaviors that meet "continuous skipping" and "differences in stay duration" (implicit conditions defined in claim 2) are counted, and false operations (such as clicking "skip" and then withdrawing within 10 seconds) are excluded;
[0169] The time parameter refers to the interval in days (Δt) between the generation time of the implicit label and the current calculation time, which is read from the label generation log and obtained by subtracting the system current time from the label creation time;
[0170] The time decay factor is a coefficient set based on the time parameter, which is used to weaken the influence of outdated behavior on the weight. The rule is: Δt≤7 days (within 1 week) factor=1.0, 7 days<Δt≤14 days (1-2 weeks) factor=0.9, Δt>14 days (more than 2 weeks) factor=0.7; based on the above, the second initial weight calculation formula: second initial weight=second interaction frequency*time decay factor.
[0171] Specifically, the processing of the implicit label can refer to the following process:
[0172] First, extract the second interaction frequency, read the effective behavior from the operation log-2024 X month X day 09:30 (skip Sichuan cuisine recommendation), 10:00 (close hot pot pop-up window), 14:20 (skip spicy snack recommendation), 16:10 (close spicy dish ranking), a total of 4 times of effective behavior, that is, second interaction frequency=4; also extract the time parameter, for example, the label generation time is 2024 X month X day (10 days ago), the current calculation time is 2024 X month X day+10 days, Δt=10 days (belongs to 7 days<Δt≤14 days); then determine the time decay factor: take 0.9 according to the rule; finally calculate the second initial weight=4*0.9=3.6.
[0173] S32. Obtain real-time interaction data, and adjust the first initial weight and the second initial weight based on the real-time interaction data, respectively, to obtain a first final weight and a second final weight.
[0174] In this step, the real-time interaction data is the new interaction data related to the label generated by the user within 24 hours after the initial weight is calculated in step S31, including: new active expression (voice / text), new operation behavior (skip / stay / check), which needs to be cleaned (filtering emotional words, correcting misspelled words) before use;
[0175] Adjust the weight based on the real-time interaction data, and the adjustment rule is as follows:
[0176] Explicit label: if a new active expression is added, the first interaction frequency is added to the new number of times, and the first initial weight calculation formula is recalculated to obtain the first final weight; if there is no new addition, the first final weight=the first initial weight;
[0177] Implicit label: if a new operation behavior is added, the second interaction frequency is added to the new number of times, and the time parameter (Δt is updated to the interval from the label generation time to the real-time interaction time) and the time decay factor are recalculated, and the second initial weight calculation formula is recalculated to obtain the second final weight; if there is no new addition, the second final weight=the second initial weight.
[0178] For reference, the following is an example of extracting real-time interaction data and adjusting the weight:
[0179] The first maximum weight adjustment of the explicit label: for "sight preference-historical sites-ancient town", extract real-time interaction data-8 hours after step S31, the user's voice expression "want to explore the ancient town with old alleys" (belongs to a new active expression), add 1 valid interaction, the first interaction frequency is updated to 3+1=4; the first maximum weight=4x0.8=3.2. For "time arrangement habit-morning sightseeing", there is no new active expression within 24 hours, and the first maximum weight=1.6 (consistent with the first initial weight).
[0180] The second maximum weight adjustment of the implicit label: for "catering taste-spicy-low interest", extract real-time interaction data-12 hours after step S31, the user skips "spicy grilled fish recommendation" (belongs to a new operation behavior), adds 1 valid behavior, the second interaction frequency is updated to 4+1=5; recalculate the time parameter: the real-time interaction time is 12 days after the label is generated, Δt=12 days (still belongs to 7 days<Δt≤14 days), the time decay factor remains 0.9; the second maximum weight=5x0.9=4.5.
[0181] In some optional implementations of the present embodiment, the above-mentioned establishing a user memory association relationship based on the label weight and the interaction data comprises:
[0182] S41. Extract the time feature, scene feature and behavior feature corresponding to the user label from the interaction data;
[0183] In the present embodiment, the three types of features need to cover the "time-scene-behavior" three dimensions of label generation, and the extraction source is the system multi-modal interaction log (stored in the MySQL interaction log table, which can be read through the SQL interface calling Python script);
[0184] Among them, the time characteristic index label generation time information includes interaction timestamp (accurate to seconds, used to trace back the generation time), the interval between label generation time and current calculation time (denoted as At, used for subsequent time dimension division); Scene characteristic index label generation interaction scene information includes current operation page (such as "ancient town scenic spot recommendation page" "catering preference setting page", extracted from page jump log), user current demand scene (such as "short trip query" "daily catering selection", inferred from interaction context keywords), scene associated keywords (such as "morning" in user voice "want to explore the ancient town in the morning", extracted from ASR translation text); Behavior characteristic index label generation corresponding user operation behavior includes behavior type (voice input / text input / page click / skip, extracted from operation type log), behavior frequency (such as "ancient town" label corresponding to 3 times of active voice, counted from repeated interaction record), behavior duration (such as the stay time of viewing the ancient town recommendation page, extracted from page stay log).
[0185] Specifically, the log parsing script written by Python (calling pymysql library to connect log database) can be used to extract according to the "label-feature" one-to-one correspondence principle, and the results are as follows:
[0186] 1. For "scenic spot preference-human heritage-ancient town" label:
[0187] Time characteristic: interaction timestamp 2024 X month X day 09:00:00, At=3 days (difference between current calculation time and label generation time);
[0188] Scene characteristic: the operation page is "ancient town scenic spot recommendation page", the demand scene is "short trip query", and the scene associated keywords are "ancient town" and "short trip";
[0189] Behavior characteristic: the behavior type is "voice input + text supplement" (1 time of voice "want to explore the ancient town", 2 times of text supplement "ancient town recommendation"), the behavior frequency is 3 times, and the page stay time is 2 minutes and 30 seconds.
[0190] 2. For "time arrangement habit-morning tour" label:
[0191] Time characteristic: interaction timestamp 2024 X month X day 09:15:00, At=3 days;
[0192] Scene characteristic: the operation page is "time period selection page", the demand scene is "short trip query", and the scene associated keywords are "morning";
[0193] Behavior characteristic: the behavior type is "page check" (2 times of checking "morning" option), the behavior frequency is 2 times, and the page stay time is 45 seconds.
[0194] 3. "Catering taste-spicy-low interest" label:
[0195] Time feature: interaction timestamp 2024 X month X day 10:30:00, Δt=10 days;
[0196] Scenario feature: operation page is "catering recommendation page", demand scenario is "daily catering selection", and scene association keywords are "spicy" and "catering";
[0197] Behavior feature: behavior type is "skip+close popup" (4 times of skipping spicy catering recommendation, 1 time of closing hot pot popup), behavior frequency is 5 times, and page stay duration is 22 seconds.
[0198] S42. Time dimension division is performed on the user label based on the time feature, and a recent label group and a historical label group are obtained;
[0199] In this embodiment, according to the sliding window algorithm logic, combined with the short-term preference cycle of the user in the travel scene (usually within 1 month), the time division threshold is set to 30 days (sliding window duration = 30 days), and the specific rules are as follows:
[0200] Recent label group: the interval Δt between the label generation time and the current calculation time is ≤30 days (i.e. the label generated within 30 days, reflecting the latest preference of the user);
[0201] Historical label group: the interval Δt between the label generation time and the current calculation time is > 30 days (i.e. the label generated 30 days ago, reflecting the historical preference of the user);
[0202] Through the sliding window algorithm, the Δt value (obtained from the time feature extracted in S41) of all labels is traversed, and the labels are automatically classified into corresponding label groups without manual intervention. The algorithm code can be realized based on the pandas library of Python (data is filtered according to the Δt threshold).
[0203] Combined with the Δt data extracted in S41, the following division is made:
[0204] Recent label group (Δt≤30 days): "scenic spot preference-historical sites-ancient town" (Δt=3 days), "time arrangement habit-morning tour" (Δt=3 days), and "catering taste-spicy-low interest" (Δt=10 days);
[0205] Historical label group (Δt> 30 days): from the system label library (MySQL table storing historical labels), the label generated 30 days ago is retrieved, that is, "scenic spot preference-natural landscape-lake" (weight 2.1, Δt=45 days) and "catering taste-mild-high interest" (weight 2.8, Δt=50 days).
[0206] S43. Select a user tag with a tag weight higher than a preset threshold in the recent tag group as a first core tag, and select a user tag with a tag weight higher than a preset threshold in the historical tag group as a second core tag;
[0207] In this embodiment, the core tag preset threshold can be set to 1.5 (a tag lower than the threshold is considered as a weak preference of a user, does not participate in association, and avoids diluting core requirements), and the selection logic is as follows:
[0208] Recent tag group: traverse the "maximum weight" of all tags (the calculation result of claim 3), filter the tags with a weight greater than 1.5 as the first core tags;
[0209] Historical tag group: traverse the "historical maximum weight" of all tags (extracted from the system historical weight log table, the calculation result of claim 3 when the tag is generated), filter the tags with a weight greater than 1.5 as the second core tags.
[0210] The specific selection results are as follows:
[0211] First core tag (recent tag group, weight > 1.5): "scenic preference-historical sites-ancient town" (weight 3.2), "time arrangement habit-morning tour" (weight 1.6), "cuisine taste-spicy-low interest" (weight 4.5);
[0212] Second core tag (historical tag group, weight > 1.5): "scenic preference-natural landscape-lake" (weight 2.1), "cuisine taste-mild-high interest" (weight 2.8).
[0213] S44. Analyze the association degree of the first core tag and the second core tag, and if the association degree meets a preset association condition, establish a time sequence association relationship between the recent tag group and the historical tag group;
[0214] In this embodiment, the similarity algorithm is used to calculate the association degree between tags, and the specific settings are as follows:
[0215] The association degree calculation dimension is only for the "classification dimension + subcategory" of the tag (such as "scenic preference-historical sites" and "scenic preference-natural landscape" have the same classification dimension and different subcategories), and the influence of "specific content" (such as "ancient town" and "lake") is excluded to ensure dimension consistency; the similarity value range can be 0-1, and the closer the value is to 1, the higher the association degree between the tags (the stronger the semantic association of the subcategories under the same dimension); the preset association condition can be that the association degree is greater than or equal to 0.7 (that is, the tags belong to the same classification dimension, and the subcategories have a semantic complementary or continuation relationship, which is considered to meet the association requirement).
[0216] In this embodiment, cosine similarity calculation is implemented using Python's scikit-learn library (calculating after converting "classification dimension + sub-category" into a vector). The specific process is as follows:
[0217] 1. Calculate the correlation between “Attraction Preference - Historical Sites - Ancient Towns” (first core label) and “Attraction Preference - Natural Landscapes - Lakes” (second core label): Both are classified under the dimension of “Attraction Preference”, but the semantic similarity between the subcategories “Historical Sites” and “Natural Landscapes” is 0.3 (lower than 0.7), which does not meet the preset correlation conditions, and no temporal correlation is established.
[0218] 2. Calculate the correlation between "Food Flavor - Spicy - Low Interest" (first core label) and "Food Flavor - Mild - High Interest" (second core label): Both are categorized under "Food Flavor," and the subcategories "Spicy - Low Interest" and "Mild - High Interest" have complementary preferences (users who avoid spicy food prefer mild food). The semantic similarity is 0.8 (≥0.7), satisfying the preset correlation conditions. Establish a temporal correlation: Record "Correlation Type = Temporal Correlation," "Labels of Both Parties = Food Flavor - Spicy - Low Interest / Food Flavor - Mild - High Interest," and "Time Difference = 40 days" (historical label Δt50 days - recent label Δt10 days) in the correlation log.
[0219] 3. Calculate the correlation of "Time Management Habits - Morning Tour" (first core tag). There are no tags in the historical tag group with the "Time Management Habits" category dimension, no related objects, and no time sequence relationship is established.
[0220] S45. Based on the scene characteristics, filter user tags that frequently appear together in the same interaction scene to obtain scene combination tags;
[0221] In this embodiment, based on the Apriori algorithm logic (used to discover high-frequency co-occurrence patterns), the filtering parameters are set as follows:
[0222] The same interaction scenario refers to the continuous operations of a user under the same demand scenario (such as the "short trip query" scenario is all the interactions when the user queries a short trip, and the "daytime dining selection" scenario is all the interactions when the user selects a restaurant for the day). It is determined from the "demand scenario" field of the scenario features extracted from S41.
[0223] The high-frequency co-occurrence threshold is when a tag appears at the same time in the same scenario ≥ 2 times (i.e., the number of co-occurrences ≥ 2 is considered as a stable preference combination of users in that scenario).
[0224] Based on the above conditions, the Apriori algorithm is used to traverse the label list under each scenario (from S41 scenario feature extraction), count the co-occurrence frequency of the labels, and select the label combination that meets the frequency threshold. The algorithm code can be implemented based on the mlxtend library of Python (call the apriori function and set the minimum support = 2 / total interaction times).
[0225] For reference, an example of this step is as follows: analyze the short-distance formation query scenario, and the labels appearing in this scenario are "scenic preference-historical sites-ancient town" and "time arrangement habit-morning tour". According to the interaction log statistics, both of them appear at the same time in the user's 3 "short-distance travel query" operations, and the co-occurrence frequency is 3 times (≥ 2 times), which meets the high-frequency co-occurrence condition, and generates the scene combination label "short-distance travel-ancient town morning tour" (naming rule: demand scenario + core label combination). Alternatively, for reference, analyze the "current dining selection" scenario, and the labels appearing in this scenario are "dining taste-spicy-low interest" and "dining taste-diet-high interest". The co-occurrence frequency is 2 times (≥ 2 times), which meets the high-frequency co-occurrence condition, and generates the scene combination label "current dining-diet preference (avoid spicy)".
[0226] S46. Based on the scene combination label and the user label, establish a scene association relationship;
[0227] In this embodiment, according to the "node-edge" model logic (user-label-scene is a node, and the association relationship is an edge), the scene association takes the scene combination label as the core node and the user label as the associated node, and the establishment rule is as follows:
[0228] The associated object is only associated with the user label involved in the generation of each scene combination label (i.e. the high-frequency co-occurrence label in S45);
[0229] The associated attribute is marked as "association type = scene association" "co-occurrence frequency" (the co-occurrence frequency of the label in the scene, obtained from the S45 statistics result) "association strength" (association strength = label weight / 5, normalize the weight to 0-1 to ensure that the strength is comparable);
[0230] The association storage is to record the association relationship to the association table of the Neo4j graph database (the node is the scene combination label / user label, and the edge is the associated attribute).
[0231] The following gives two examples for reference:
[0232] 1. Scene combination label "short-distance travel-ancient town morning tour":
[0233] Associated label 1: "scenic preference-historical sites-ancient town", associated attribute: "co-occurrence frequency 3 times, association strength 0.64" (3.2 / 5);
[0234] Associated label 2: "Time arrangement habit - morning sightseeing", associated attribute: "co-occurrence frequency 3 times, association strength 0.32" (1.6 / 5);
[0235] 2. Scene combination label "daily catering - light preference (avoiding spicy food)":
[0236] Associated label 1: "catering taste - spicy - low interest", associated attribute: "co-occurrence frequency 2 times, association strength 0.9" (4.5 / 5);
[0237] Associated label 2: "catering taste - light - high interest", associated attribute: "co-occurrence frequency 2 times, association strength 0.56" (2.8 / 5).
[0238] S47. Integrate the time sequence association relationship and the scene association relationship to obtain the user memory association relationship.
[0239] In this embodiment, Neo4j non-relational graph database (suitable for storing node-edge structure association relationship) is used for integration, and the definitions of nodes and edges are as follows: the core nodes are user nodes (storing user IDs, such as "U001") and scene combination label nodes (such as "short trip - morning sightseeing in ancient town"); the intermediate nodes are user label nodes (such as "scenic spot preference - cultural relics - ancient town"); the edge attribute is the edge label "weight" between the user and the label (the calculation result of claim 3), the edge label "association type = scene association" "co-occurrence frequency" "association strength" between the label and the scene combination label, and the edge label "association type = time sequence association" "time difference" between the labels of time sequence association.
[0240] The integration operation is realized by the Cypher statement of Neo4j (such as creating a node: CREATE (t: Tag {name:'scenic spot preference - cultural relics - ancient town', weight: 3.2}); creating an edge: MATCH (u: User), (t: Tag) WHERE u.id = 'U001' AND t.name ='scenic spot preference - cultural relics - ancient town' CREATE (u) - [r: has_preference {weight: 3.2}] -> (t)).
[0241] An example of the graph database structure formed after integration is as follows:
[0242] User U001 - (has_preference, weight: 3.2) -> scenic spot preference - cultural relics - ancient town - (scene_relation, type: scene association, frequency: 3, strength: 0.64) -> short trip - morning sightseeing in ancient town;
[0243] User U001 - (has_preference, weight: 1.6) -> time arrangement habit - morning tour - (scene_relation, type: scene relation, frequency: 3, strength: 0.32) -> short trip - morning tour of the ancient town.
[0244] User U001 - (has_preference, weight: 4.5) -> food taste - spicy - low interest - (time_relation, type: time relation, time_diff: 40 days) -> food taste - light - high interest.
[0245] User U001 - (has_preference, weight: 4.5) -> food taste - spicy - low interest - (scene_relation, type: scene relation, frequency: 2, strength: 0.9) -> daily food - light preference (avoid spicy).
[0246] User U001 - (has_preference, weight: 2.8) -> food taste - light - high interest - (scene_relation, type: scene relation, frequency: 2, strength: 0.56) -> daily food - light preference (avoid spicy).
[0247] In some optional implementations of the embodiment, the step of obtaining real-time demand data based on the user memory association relationship and the real-time demand data to determine the trip plan includes:
[0248] S51. Obtain real-time demand data, including destination demand data, trip constraint data and real-time location data.
[0249] In this embodiment, the destination demand data refers to the user's current explicit expression of the trip core destination and refined demand, which is obtained through the system multi-modal interaction module, including voice input data, text input data and preference supplement. Specifically, the voice input data is the user's demand spoken through the system voice interface, which is translated into text by voice recognition (ASR), such as "I want to go to the ancient town around Y City on the weekend to take pictures of old buildings, and it's better to be less crowded." The text input data is the user filling in the keywords in the system "destination supplement" input box, such as "ancient town around Y City, Ming and Qing old buildings." The preference supplement data is the system pop-up prompt "Do you have any other needs?", and the user checks "avoid peak flow" and "need tour guide" and supplements to the destination demand data.
[0250] The trip constraint data refers to the trip limit conditions set by the user, which is obtained through the system "trip constraint setting" page, which provides preset options and custom input boxes. The specific constraint data includes total trip days, total budget amount, and physical level, etc. Among them, the total trip days are selected by the user as "1 day" (the system presets "1 day / 2 days / 3 days+" options), the total budget amount is filled in the custom input box by the user as "800 yuan or less", and the physical level is selected by the user as "medium" (the system presets "weak / medium / strong" three levels, corresponding to "single day walking ≤6000 steps / 8000 steps / 12000 steps", and medium physical level corresponds to ≤8000 steps).
[0251] The real-time location data refers to the current geographic coordinates of the user, which is obtained through the system positioning module: The real-time location data includes positioning method, positioning frequency and location mapping, etc. Among them, the positioning method can call the GPS / Beidou positioning function through the mobile terminal APP, and return the latitude and longitude with an accuracy of within 10 meters (such as "North Latitude 30.1234°, East Longitude 120.5678°"); The positioning frequency can be set to 1 time / 5 minutes to avoid frequent positioning and consume power, while ensuring the real-time nature of the location; The location mapping can convert the latitude and longitude into a specific geographic location name through the map API, such as "Y City Center (near the intersection of XX Road and XX Road)".
[0252] The specific steps of obtaining the result are as follows, and the real-time demand data of this trip planning is finally sorted as:
[0253] Destination demand data: "Weekend tour of Y City surrounding ancient towns, need to include Ming and Qing old buildings, support tour guide, prefer to choose areas with less people";
[0254] Trip constraint data: "Total trip 1 day, total budget ≤800 yuan, medium physical level (single day walking ≤8000 steps)";
[0255] Real-time location data: "Y City Center (North Latitude 30.1234°, East Longitude 120.5678°)".
[0256] S52. Extract the time sequence association features and scene association features of the destination demand data;
[0257] In this embodiment, based on the time sequence association record in the established user memory association relationship, the label association information related to the destination demand data ("ancient town + old building") is filtered:
[0258] Recent label: "Scenic spot preference-humanistic relic-ancient town" (weight 3.2, generated 3 days ago, recent label group of claim 4);
[0259] Historical label: "Scenic spot preference-humanistic relic-ancient village" (weight 1.9, generated 45 days ago, historical label group of claim 4);
[0260] Based on the above tags, both belong to the "scenic spot preference-historical sites" dimension, and the semantic correlation degree between the subcategories "ancient town" and "ancient village" is ≥0.7 (calculated by the cosine similarity algorithm), which meets the time sequence correlation condition, and the correlation is extracted as the time sequence correlation feature.
[0261] Further, based on the established scene combination tags in the user memory association relationship, scene information that matches the destination demand data ("ancient town + low flow") is screened:
[0262] Target scene combination tag: "short trip-ancient town morning tour" (claim 4 generated, associated with "scenic spot preference-historical sites-ancient town" and "time arrangement habit-morning tour");
[0263] Supplementary preference matching: the "emotional tendency-preference for quietness" (weight 2.2, implicit tag) associated with this scene combination tag matches the destination "low flow" demand, and the "morning tour" time period corresponding to the scene matches the "avoiding flow peak" demand (historical data shows that the flow density in the morning is 40% lower than in the afternoon);
[0264] Feature integration is to integrate scene combination tags and associated preferences into scene association features.
[0265] The specific extraction result is as follows: the time sequence correlation feature is "historical site destination preference continuation (recent 'ancient town' preference-> historical 'ancient village' preference), and the core demand direction is 'historical site destination with traditional architecture'; the scene association feature is "in the short trip scene, the ancient town tour prefers the morning period, and needs to match the 'preference for quietness (low flow)' demand, and simultaneously associate the light food preference".
[0266] S53. Based on the time sequence correlation feature, the scene association feature, and the destination demand data, multiple pieces of preference information related to the destination demand data are matched and screened from the user memory association relationship, and the preference information is integrated to obtain the user's core trip demand;
[0267] In this embodiment, it is necessary to determine whether the "demand direction" of the time sequence correlation feature and the "core destination type" of the destination demand data are consistent, for example, the "historical site destination" of the time sequence correlation feature and the "ancient town (including Ming and Qing old buildings)" of the destination demand data both belong to the historical site category, with a matching degree of 100%, and the corresponding preference information "prefer to choose historical site destination with traditional architecture" is retained.
[0268] It is also necessary to determine whether the "scene elements" of the scene association feature and the "refined demand" of the destination demand data match, for example:
[0269] The "morning tour period" of the scene-related feature matches the "avoiding peak flow" requirement of the destination, and the preference information "setting the ancient town tour period in the morning" is retained.
[0270] Alternatively, the "preference for quietness (low flow)" of the scene-related feature matches the "low flow" requirement of the destination, and the preference information "filtering ancient towns with low real-time flow density" is retained.
[0271] Alternatively, the "preference for quietness (low flow)" of the scene-related feature matches the "low flow" requirement of the destination, and the preference information "filtering ancient towns with low real-time flow density" is retained.
[0272] Then, set the priority according to the label weight (the higher the weight, the higher the priority): prefer humanistic ancient town with traditional buildings (corresponding to "scenic preference - humanistic ancient town - ancient town" weight 3.2, priority 1); light food during the trip (corresponding to "food taste - light - high interest" weight 2.8, priority 2); filter ancient towns with low real-time flow density (corresponding to "emotional tendency - preference for quietness" weight 2.2, priority 3); set the ancient town tour period in the morning (corresponding to "time arrangement habit - morning tour" weight 1.6, priority 4).
[0273] After integration, the structured core requirement is formed: "visit humanistic ancient town with traditional buildings in Y city within 1 day, prefer to visit in the morning, filter ancient towns with low real-time flow density, and arrange light food during the trip; meet the total budget ≤800 yuan, single-day walking ≤8000 steps, and the ancient town supports tour guide service".
[0274] S54. Based on the trip constraint data and the destination requirement data, determine the trip planning geographic range;
[0275] In this embodiment, the geographic range determination needs to obtain core constraint parameters first, and then calculate the range based on the core constraint parameters to finally obtain the specific geographic range result.
[0276] Wherein, the core constraint parameters include time constraint, destination constraint and traffic mode coverage, and specific examples are as follows: the time constraint is 1 day of total trip, and the single-way traffic time needs to be ≤1.5 hours (to avoid long traffic time compression tour time); the destination constraint can be centered on "ancient towns around Y city", combined with real-time location data (Y city center) to determine the range; the traffic mode coverage can include self-driving, bus / subway (the user does not specify the traffic mode, and the mainstream option needs to be covered).
[0277] Further, the geopy library of Python is adopted in combination with a map API (such as a Baidu map API) to input a real-time position (a city center of Y city) and a traffic time threshold (1.5 hours); the time consumption of different traffic modes is obtained through the map API, that is, a self-driving 1.5-hour driving range (an average speed of 60 km / h, a coverage radius of about 90 km) and a public transportation 1.5-hour travel range (a coverage radius of about 50 km); the intersection of the two traffic mode coverage ranges is taken as a final geographic range (to ensure that the user can reach the destination within 1.5 hours no matter whether the user chooses self-driving or public transportation), and the range boundary latitude and longitude (such as "north latitude 30.0000°-30.2500°, east longitude 120.3000°-120.8000°") is output.
[0278] For example, the trip planning geographic range is "the intersection of the self-driving 1.5-hour and public transportation 1.5-hour travel ranges with the city center of Y city as the starting point, and specifically includes the administrative regions of A ancient town, B ancient town and C ancient town under the jurisdiction of Y city, and supporting catering and transportation sites (such as bus stops and parking lots around A ancient town)".
[0279] S55. Based on the trip planning geographic range and the user core trip demand, candidate cultural and tourism resources are selected from a preset cultural and tourism resource library;
[0280] The preset cultural and tourism resource library stores information of cultural and tourism resources that can match the trip planning geographic range, and specifically includes scenic spot resources (including natural landscapes, historical sites and the like, and attributes such as real-time flow, opening time and service capacity), catering resources (including taste types, consumption levels, locations and the like), transportation connection resources (including routes, time consumption and costs and the like) and supporting service resources (including attributes such as interpretation services and parking facilities), and the resource information is associated with feature tags that can match the user core trip demand (such as scenic spot type preferences, catering tastes and service demands).
[0281] In this embodiment, the candidate resource classification screening mainly includes three dimensions, including scenic spots, catering and transportation.
[0282] The candidate scenic spot screening can be combined with the user core trip demand and information obtained through a real-time demand data interface, and the screening conditions are as follows:
[0283] Type matching: historical site type ancient town with Ming and Qing old buildings (matching keywords such as "Ming and Qing buildings" and "old courtyard" through a scenic area introduction text);
[0284] Flow constraint: real-time flow density < 50 people per square kilometer (data is obtained through a real-time flow API of a scenic area, such as A ancient town real-time flow density of 38 people per square kilometer, B ancient town real-time flow density of 62 people per square kilometer and C ancient town real-time flow density of 45 people per square kilometer).
[0285] Service matching: support for guided tours (query through the scenic spot ticket API, A ancient town provides manual interpretation service, C ancient town provides electronic interpreter rental, B ancient town has no interpretation service);
[0286] Opening time: open after 8:00 am (match morning tour demand, A ancient town 8:30-17:00 open, C ancient town 8:00-17:30 open);
[0287] Based on the above screening conditions, the screening results of the candidate scenic spots are A ancient town and C ancient town.
[0288] For reference, candidate catering screening can be combined with "light diet" preference and budget constraints, and the screening conditions are as follows:
[0289] Taste matching: the type of catering is light cuisine (such as Zhejiang cuisine, Cantonese cuisine, get dish tags through catering platform API, filter catering with "steaming" "white" "light" tags);
[0290] Location constraint: within 1 km range around the candidate ancient town (reduce walking distance, such as D restaurant around A ancient town, E restaurant around C ancient town);
[0291] Budget constraint: ≤100 yuan per capita (total budget within 800 yuan, D restaurant per capita 75 yuan, E restaurant per capita 85 yuan);
[0292] Based on the above screening conditions, the screening results of the candidate catering are D restaurant (around A ancient town) and E restaurant (around C ancient town).
[0293] Further, candidate transportation screening can be combined with real-time location and candidate scenic spots to screen mainstream transportation:
[0294] Self-driving: 1 hour 20 minutes from Y city center to A ancient town, 1 hour 40 minutes to C ancient town (all ≤1.5 hours, meet time constraints), 3 parking lots along the way (query through map API);
[0295] Bus: Y city center has a direct bus line to A ancient town (1 hour 30 minutes) and a direct bus line to C ancient town (1 hour 25 minutes), both support real-time station query;
[0296] Based on the above screening conditions, the screening results of the candidate transportation are "self-driving (A / C ancient town)" and "bus (A / C ancient town)".
[0297] After obtaining the screening conditions of the three dimensions, namely scenic spots, catering and transportation, the candidate travel resources are summarized as follows:
[0298] Candidate attractions: A ancient town (including Ming and Qing old buildings, artificial interpretation, open in the morning, low flow), C ancient town (including Ming and Qing old buildings, electronic interpretation, open in the morning, low flow);
[0299] Candidate catering: D restaurant (A ancient town around, light taste, per capita 75 yuan), E restaurant (C ancient town around, light taste, per capita 85 yuan);
[0300] Candidate transportation: self-driving (A ancient town 1h20min, C ancient town 1h40min), public transportation (A ancient town 1h30min, C ancient town 1h25min).
[0301] S56. Based on the real-time location data and the candidate travel resources, the itinerary planning is determined.
[0302] In this embodiment, the determination of the itinerary planning needs to select the path calculation algorithm, and then perform itinerary optimization and constraint verification.
[0303] Specifically, the path calculation algorithm selection can use Dijkstra algorithm (suitable for short path optimal solution calculation), taking "real-time location (city center of Y city)" as the starting point and the candidate attraction as the end point, combining time parameter, interest matching degree and walking step calculation path, specific examples are as follows:
[0304] Time parameter: traffic time consumption (self-driving / public transportation), attraction visiting time consumption (A ancient town recommends visiting 3.5 hours, C ancient town recommends visiting 3 hours, based on the area and walking route of the scenic area), catering time consumption (1 hour);
[0305] Interest matching degree: matching degree of candidate attractions and core needs (A ancient town includes artificial interpretation, matching degree 90%; C ancient town for electronic interpretation, matching degree 80%);
[0306] Walking steps: A ancient town visiting route walking about 5000 steps, C ancient town about 4500 steps (both ≤8000 steps, meet the physical constraint).
[0307] After getting the path, itinerary optimization and constraint experience need to be performed, which can be optimized from three dimensions, such as time optimization, budget verification and flow secondary confirmation, specific examples are as follows:
[0308] Time optimization can preferentially select "traffic time consumption + visiting time consumption" more balanced combination, such as "self-driving to A ancient town (1h20min) + visiting 3.5h + catering 1h + return 1h20min", total time consumption 7h10min (can be completed within 1 day);
[0309] Budget check can refer to, for example, A ancient town ticket 80 yuan + self-driving oil 60 yuan + D restaurant dining 150 yuan (2 people), total spending 290 yuan (≤800 yuan, in line with budget constraints);
[0310] The second confirmation of passenger flow can be confirmed again through the real-time passenger flow API of the scenic spot that the real-time passenger flow density of A ancient town is 35 people per square kilometer (still in line with the low passenger flow demand).
[0311] After optimization check, the final planning can be obtained, for example:
[0312] 08:30-09:50 Departure to A ancient town: Departure from Y city center, drive along XX highway (navigation route generated by map API, prefer to choose no congestion section), finally arrive at A ancient town south gate parking lot (1 hour 20 minutes driving, estimated oil cost 60 yuan, parking lot has enough parking spaces, supports online reservation);
[0313] 10:00-13:30 A ancient town tour: 10:00 at A ancient town south gate tourist center, follow the artificial explanation (10:00-12:30, the cost is included in the ticket) to tour the Ming and Qing old building community, focus on XX courtyard (representative of Qing Dynasty residence), XX ancient street (complete stone road is preserved), 12:30-13:00 short rest in the ancient town rest area (20 minutes), total tour time 3 hours 30 minutes, ticket 80 yuan / person, about 5000 steps walking;
[0314] 13:40-14:40 dining: walk 5 minutes from A ancient town south gate to D restaurant for meal, recommended dishes are steamed fish (signature dish), stir-fried vegetables (mild taste, match "dining taste-mild-high interest" preference), estimated per capita 75 yuan, total cost for 2 people 150 yuan, meal time 1 hour, about 800 steps walking;
[0315] 14:50-16:10 return: walk 5 minutes from D restaurant to A ancient town south gate parking lot, drive back to Y city center (1 hour 20 minutes driving, estimated oil cost 60 yuan, navigation route avoids late peak section);
[0316] Supplementary notes on the itinerary: total time 7 hours 10 minutes, total cost 350 yuan (2 people), total walking distance about 5800 steps; At the same time, set an alternative plan: if A ancient town suddenly limits flow (such as real-time passenger flow density > 50 people per square kilometer), switch to "10:00 take bus 302 to C ancient town (1 hour 25 minutes driving, 8 yuan / person)", 11:25-14:25 C ancient town tour (rent 20 yuan per unit of electronic guide), 14:35-15:35 E restaurant meal (per capita 85 yuan), 15:45 take bus 302 to return), the total cost of the alternative plan is 320 yuan (2 people), ensuring the executability of the itinerary.
[0317] In some optional implementations of the embodiment, the obtaining of the multimedia data, the determining of the candidate insertion node based on the travel plan, the screening of the target multimedia data from the multimedia data based on the user memory association relationship, the inserting of the target multimedia data into the candidate insertion node, and the obtaining of the multimedia push content include:
[0318] S61. Extracting, based on the user memory association relationship, relevant user tags related to the travel plan from the plurality of user tags;
[0319] In the embodiment, the relevant user tags refer to tags in the user memory association relationship that are highly matched with the attributes of the key link of the travel plan, and need to meet two conditions of "the classification dimension of the tag is consistent with the attribute of the travel link" and "the weight of the tag is greater than or equal to the set core tag threshold 1.5". The extraction process needs to be implemented based on the Neo4j graph database constructed through the Cypher query statement. First, the attributes of the key link of the travel plan are disassembled, wherein "A ancient town tour" corresponds to the attributes of "scenic type-human relic (ancient town), time period-morning, and demand-quiet (low flow)", and "D restaurant light dining" corresponds to the attributes of "dining taste-light, and location-A ancient town surrounding". Then, the tags in the user memory association relationship are associated, the "scenic type-human relic" is matched to extract "scenic preference-human relic-ancient town", the "time period-morning" is matched to extract "time arrangement habit-morning tour", the "demand-quiet" is matched to extract "emotional tendency-preference for quiet", and the "dining taste-light" is matched to extract "dining taste-light-high interest". Finally, the extraction result is arranged into the scenic related tags "scenic preference-human relic-ancient town" and "emotional tendency-preference for quiet", the dining related tags "dining taste-light-high interest", and the time period related tags "time arrangement habit-morning tour" according to the soft pass template "tag structured format".
[0320] S62. Determining the matching degrees of the relevant user tags and a plurality of multimedia data in a preset multimedia database, and screening target multimedia data with matching degrees meeting preset requirements from the plurality of multimedia data;
[0321] In the embodiment, the preset multimedia database contains the basic information, tag attribute and format parameter of each multimedia data, the basic information contains content ID, title and storage path, the tag attribute labels 2-3 core tags, and the format parameter contains short video duration, picture resolution and voice segment duration. The matching degree calculation adopts the tag matching algorithm, and a formula "matching degree =∑(semantic similarity of candidate content tags and related user tags × weight of related user tags) / ∑ weight of related user tags" is constructed in combination with the weight of related user tags, wherein the semantic similarity is calculated by the Word2Vec model and takes value 0-1, and the preset matching degree threshold is set to be 0.7. In the specific screening, 10 pieces of multimedia data are obtained by inputting the related user tags to retrieve the database, and then the matching degrees are calculated one by one. For example, the short video "A ancient town Ming and Qing architecture tour route" labels "ancient town - Ming and Qing architecture" and "morning tour" tags, and the semantic similarity with "scenic spot preference - cultural relics - ancient town" is 0.9, and the semantic similarity with "time arrangement habit - morning tour" is 0.8, the matching degree is calculated as (0.9×3.2 + 0.8×1.6) / (3.2+1.6)≈0.86, which meets the threshold requirement; the picture "steamed fish + seasonal vegetable set meal" labels "light - steamed dish" and "ancient town surrounding catering" tags, and the semantic similarity with "catering taste - light - high interest" is 0.95, and the matching degree is 0.95, which meets the threshold requirement; finally, 7 pieces of multimedia data with matching degree≥0.7 are screened out, including 2 pieces of ancient town short video, 3 pieces of light catering picture and 2 pieces of voice commentary.
[0322] S63. Extracting the core attribute of the key travel link in the travel plan, determining the candidate insertion node of the multimedia data based on the core attribute;
[0323] In this embodiment, the core attributes of the key trip link are the link characteristics that directly affect the user experience in trip planning, including time attributes, type attributes, and location attributes. The time attributes include link start / end time and duration, the type attributes refer to link content type, and the location attributes are the geographical location where the link occurs. The core attributes of the three key trip links are extracted from the trip plan. The time attribute of "08:30-09:50 drive to A ancient town" is "08:30 start", the type attribute is "traffic trip", and the location attribute is "Y city center -> A ancient town". The time attribute of "10:00-13:30 A ancient town tour" is "10:00 start", the type attribute is "attraction tour", and the location attribute is "A ancient town". The time attribute of "13:40-14:40 D restaurant light meal" is "13:40 start", the type attribute is "catering experience", and the location attribute is "D restaurant". The determination of the candidate insertion node is based on the scenario-based implantation node selection logic, which follows the principles of not interfering with trip viewing and guiding the user in advance. The traffic trip link insertion node is set to "10 minutes before the start of the link", the attraction tour link is set to "5 minutes after the start of the link", and the catering experience link is set to "20 minutes before the start of the link". The final candidate insertion nodes are time "08:20" associated with the "pre-trip guide" node of "drive to A ancient town", time "10:05" associated with the "highlight prompt during the tour" node of "A ancient town tour", and time "13:20" associated with the "meal recommendation before dining" node of "D restaurant light meal". The node information is arranged in the node structured format.
[0324] S64. Based on the core attributes, the multimedia data is adaptively processed to obtain a pending promotion content.
[0325] In this embodiment, adaptive processing needs to be adapted from the perspectives of format adaptation, content adaptation, and preference adaptation. Format adaptation adjusts content format according to the scenario of the insertion node (e.g., traffic link users may use mobile phones with small screens, and short video duration is controlled within 1-2 minutes; tour link can play complete 3-minute videos), content adaptation supplements information related to the core attributes of the trip link (e.g., time, location, and notes), generates adaptive text through NLG technology, and preference adaptation integrates the preferences of related user tags (e.g., the "prefer quiet" tag marks "less crowded area in the morning" in the ancient town content).
[0326] Specifically, a two-step method of "format adjustment + text supplement" can be used, and the tools are OpenCV (video editing), Pillow (image processing), and NLG module (text generation) of Python:
[0327] Format adjustment: short video extracts core segments through editing tools, and adjusts the resolution of pictures to mobile phone adaptive size (1080x1920);
[0328] Text supplement: generate guide text based on the core attributes of the link, such as "
A ancient town tour tips
[0329] Reference, adapt the multimedia data screened by S62, get 3 core pending promotion content (other content as alternative):
[0330] Pending content 1 (associated node 1): short video "A overview of ancient town" (original length 3 minutes, after adaptation 1 minute 30 seconds, keep the introduction of ancient town entrance and parking lot location), supplement NLG text "
departure tips
[0331] Pending content 2 (associated node 2): short video "A ancient town Ming and Qing dynasty building explanation" (original length 2 minutes 30 seconds, after adaptation 2 minutes, focus on XX courtyard), supplement text "
tour tips
[0332] Pending content 3 (associated node 3): picture "steamed fish + seasonal vegetable set meal" (resolution adapted to 1080x1920), supplement text "
dining recommendation
[0333] S65. Based on the time node of the itinerary planning and the user memory association relationship, set the trigger condition of pushing the pending promotion content;
[0334] In this embodiment, the trigger condition is divided into two categories:
[0335] The first is time trigger: based on the time node of the itinerary planning (such as "08:20" of node 1), combined with the "time arrangement habit" label in the user memory association relationship (such as "morning tour" weight 1.6, user habit morning preparation in advance), set "time to point automatic trigger";
[0336] The second is location trigger: based on the location attribute of the itinerary link (such as A ancient town, D restaurant), through the GPS positioning interface (soft template "positioning interface specification"), set the GPS fence, trigger when the user enters the fence range, the fence radius is set according to the scene (500 meters for scenic spots, 300 meters for catering).
[0337] For each pending promotion content, a double insurance mode of "main trigger condition + backup trigger condition" is adopted: the main trigger condition is the core attribute of the priority matching scene (such as time trigger for traffic link, location trigger for sightseeing / dining link); the backup trigger condition is to enable the backup condition (such as time trigger) if the main condition is not triggered (such as weak GPS signal).
[0338] Further reference can be made to the following specific trigger condition setting results:
[0339] 1. Pending content 1 (node 1):
[0340] Main trigger condition: time trigger (automatically triggered when the system time reaches 08:20);
[0341] Backup trigger condition: location trigger (triggered when the user leaves the city center range of Y city and enters the main road to A ancient town);
[0342] 2. Pending content 2 (node 2):
[0343] Main trigger condition: location trigger (triggered when the user enters the 500-meter GPS fence range of A ancient town);
[0344] Backup trigger condition: time trigger (automatically triggered when the system time reaches 10:05);
[0345] 3. Pending content 3 (node 3):
[0346] Main trigger condition: location trigger (triggered when the user enters the 300-meter GPS fence range of D restaurant);
[0347] Backup trigger condition: time trigger (automatically triggered when the system time reaches 13:20).
[0348] S66. Based on the candidate insertion node and the trigger condition, the pending promotion content is arranged to finally generate the multimedia push content;
[0349] If the trigger condition is met, the pending promotion content is inserted into the candidate insertion node to obtain the multimedia push content.
[0350] In this embodiment, the arrangement process follows the principle of one-to-one correspondence of nodes, content, and trigger conditions. First, the candidate insertion nodes, pending promotion content, and trigger conditions are bound. Then, the display form is defined according to the content type, with short videos set to "automatic play 15-second preview + click to see the full video" and pictures set to "popup display + manual close". Finally, the integrated content is embedded into the generated itinerary planning page, with a "multimedia entry" mark attached to each key link. The overall structure must meet the structured push requirements, including "link identification, content preview, trigger method, and display form" four elements, presented in a combination of text and icons. For example, the "08:30-09:50 drive to A Ancient Town" link is marked with "view A Ancient Town navigation video" as the multimedia entry, with a short video cover as the content preview, and a trigger prompt marked as "08:20 automatic push / push after leaving the urban area". The display form is automatic play 15-second preview when pushed, and click on the cover to view the full video. The "10:00-13:30 A Ancient Town tour" link is marked with "view Ming and Qing architecture explanation", with a XX residence front door short video cover as the content preview, and a trigger prompt marked as "push 500 meters into A Ancient Town / 10:05 automatic push". The display form is to play the full video in a popup window with a crowd prompt. The "13:40-14:40 D Restaurant light meal" link is marked with "view recommended dishes", with a steamed fish set meal picture thumbnail as the content preview, and a trigger prompt marked as "push 300 meters into D Restaurant / 13:20 automatic push". The display form is to display high-definition pictures and NLG recommended text in a popup window. At the same time, according to the experience protection rules, set "no more than 5 multimedia pushes per day" and "cooling time for the same type of content is 60 minutes". This push has only 3 items and no repeated types, meeting the experience protection requirements.
[0351] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by computer readable instructions instructing related hardware, which can be stored in a computer readable storage medium. The program can include the processes of the above-mentioned embodiments when executed.
[0352] It should be understood that although each step in the flowchart of the accompanying drawings is shown in sequence according to the direction of the arrow, these steps are not necessarily executed in sequence according to the direction of the arrow. Unless otherwise explicitly stated herein, the execution of these steps is not strictly limited in sequence, and they can be executed in other sequences. Moreover, at least part of the steps in the flowchart of the accompanying drawings can include multiple sub-steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence is not necessarily sequential, but can be alternately executed with at least part of other steps or sub-steps or stages of other steps.
[0353] Further referring to Figure 3 , as an implementation of the method shown in the above Figure 2 , the present application provides an embodiment of a travel itinerary planning and pushing system. The device embodiment corresponds to the method embodiment shown in Figure 2 , and the device can be applied to various electronic devices.
[0354] As shown in Figure 3 , the travel itinerary planning and pushing system 300 described in the embodiment includes a data processing module 301, a label type analysis module 302, a label weight calculation module 303, an association relationship establishment module 304, an itinerary planning module 305, and a pushing module 306. Among them:
[0355] The data processing module 301 is configured to obtain interaction data, and generate a plurality of user labels based on the interaction data and a preset classification dimension;
[0356] The label type analysis module 302 is in communication connection with the interaction data acquisition and label generation module, configured to receive the user labels output by the interaction data acquisition and label generation module, analyze each of the user labels, and obtain the label type corresponding to each of the user labels;
[0357] The label weight calculation module 303 is in communication connection with the label type analysis module, configured to receive the label type output by the label type analysis module, and determine the label weight of each of the user labels based on the label type;
[0358] The association relationship establishment module 304 is in communication connection with the label weight determination module and the interaction data acquisition and label generation module, respectively, configured to receive the label weight output by the label weight determination module and the interaction data output by the interaction data acquisition and label generation module, and establish a user memory association relationship based on the label weight and the interaction data;
[0359] The itinerary planning module 305 is in communication connection with the user memory association relationship establishing module, configured to acquire real-time demand data, determine an itinerary plan based on the user memory association relationship and the real-time demand data;
[0360] The push module 306 is in communication connection with the real-time demand processing and itinerary planning module and the user memory association relationship establishing module respectively, configured to acquire multimedia data, determine a candidate insertion node based on the itinerary plan, filter target multimedia data from the multimedia data based on the user memory association relationship, insert the multimedia data into the candidate insertion node to obtain multimedia push content.
[0361] To solve the above technical problems, the embodiment of the present application further provides a computer device. For details, please refer to Figure 4 , Figure 4 The basic structure block diagram of the computer device of the present embodiment is shown in FIG. 4.
[0362] The computer device 4 includes a memory 41, a processor 42 and a network interface 43 which are in communication connection with each other through a system bus. It should be noted that only the computer device 4 with components 41-43 is shown in the figure, but it should be understood that it is not required to implement all the shown components, and more or fewer components can be alternatively implemented. Among them, those skilled in the art can understand that the computer device herein is a device capable of automatically performing numerical calculation and / or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.
[0363] The computer device can be a desktop computer, a notebook computer, a palm computer and a cloud server, etc. The computer device can interact with the user through a keyboard, a mouse, a remote controller, a touchpad or a voice control device, etc.
[0364] The memory 41 includes at least one type of readable storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., an SD or DX memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the memory 41 can be an internal storage unit of the computer device 4, such as a hard disk or a memory of the computer device 4. In other embodiments, the memory 41 can also be an external storage device of the computer device 4, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device 4. Of course, the memory 41 can also include both an internal storage unit and an external storage device of the computer device 4. In this embodiment, the memory 41 is generally used to store an operating system and various application software installed on the computer device 4, such as computer readable instructions of the method, etc. In addition, the memory 41 can also be used to temporarily store various data that have been output or will be output.
[0365] The processor 42 can be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip in some embodiments. The processor 42 is generally used to control the overall operation of the computer device 4. In this embodiment, the processor 42 is used to run computer readable instructions or process data stored in the memory 41, such as computer readable instructions of the method.
[0366] The network interface 43 can include a wireless network interface or a wired network interface, and is generally used to establish a communication connection between the computer device 4 and other electronic devices.
[0367] The present application also provides another embodiment, i.e., to provide a computer readable storage medium storing computer readable instructions, which can be executed by at least one processor to make the at least one processor perform the steps of the travel itinerary planning and pushing method as described above.
[0368] Those skilled in the art can clearly understand the above-mentioned embodiment method can be realized by means of software and the necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes a plurality of instructions for making a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) execute the method described in each embodiment of the present application.
[0369] Obviously, the above-described embodiments are only some of the embodiments of the present application, not all the embodiments, and the drawings show the preferred embodiments of the present application, but do not limit the patent scope of the present application. The present application can be implemented in many different forms, and conversely, the purpose of providing these embodiments is to make the disclosure of the present application more thorough and comprehensive. Although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions recorded in the foregoing specific embodiments, or make equivalent replacements to some of the technical features. Any equivalent structure made by using the content of the specification and drawings, directly or indirectly applied to other related technical fields, is also within the scope of the patent protection of the present application.
Claims
1. A method for planning and pushing cultural tourism itineraries, characterized in that, The method comprises the following steps: S1. Obtain interaction data, generate a plurality of user tags based on the interaction data and a preset classification dimension; S2. Analyze each user tag to obtain a tag type corresponding to each user tag; S3. Determine a tag weight of each user tag based on the tag type; S4. Establish a user memory association relationship based on the tag weight and the interaction data; S5. Obtain real-time demand data, and determine a travel plan based on the user memory association relationship and the real-time demand data; S6. Obtain multimedia data, determine a candidate insertion node based on the travel plan, filter target multimedia data from the multimedia data based on the user memory association relationship, insert the target multimedia data into the candidate insertion node, and obtain multimedia push content; The establishment of the user memory association relationship based on the tag weight and the interaction data comprises the following steps: S41. Extract time features and scene features corresponding to the user tags from the interaction data; S42. Perform time dimension division on the user tags based on the time features to obtain a recent tag group and a historical tag group; S43. Select user tags with a tag weight higher than a preset threshold in the recent tag group as first core tags, and select user tags with a tag weight higher than a preset threshold in the historical tag group as second core tags; S44. Analyze the association degree of the first core tags and the second core tags, and if the association degree meets a preset association condition, establish a time sequence association relationship between the recent tag group and the historical tag group; S45. Filter user tags with high frequency co-occurrence in the same interaction scene based on the scene features to obtain scene combination tags; S46. Establish a scene association relationship based on the scene combination tags and the user tags; S47. Integrate the time sequence association relationship and the scene association relationship to obtain the user memory association relationship; The obtaining of the multimedia data, the determination of the candidate insertion node based on the travel plan, the filtering of the target multimedia data from the multimedia data based on the user memory association relationship, the insertion of the target multimedia data into the candidate insertion node, and the obtaining of the multimedia push content comprise the following steps: S61. Extract relevant user tags related to the travel plan from a plurality of user tags according to the user memory association relationship; S62. Determine the matching degree of the relevant user tags and a plurality of multimedia data in a preset multimedia database, and the matching degree = Σ (semantic similarity of candidate content tags and relevant user tags × weight of relevant user tags) / Σ weight of relevant user tags. Filter target multimedia data with a matching degree meeting a preset requirement from a plurality of multimedia data; S63. Extract core attributes of key travel links in the travel plan, and determine candidate insertion nodes of multimedia data based on the core attributes; S64. Perform adaptive processing on the target multimedia data based on the core attributes to obtain a to-be-determined promotion content. S65. setting a trigger condition for pushing the pending promotion content based on the time node of the itinerary planning and the user memory association relationship; S66. based on the candidate insertion node and the trigger condition, the pending promotion content is arranged, and the multimedia push content is finally generated.
2. The method of claim 1, wherein, The analysis of the user label obtains a label type, comprising: Based on the interaction data, determine whether the source of the user label meets the condition of user active delivery demand, if yes, the user label is an explicit label; Based on the interaction data, determine whether the source of the user label meets the preset preference association condition, if yes, the user label is an implicit label.
3. The method of claim 2, wherein, The label weight of each user label is determined based on the label type, comprising: S31. If the user label is an explicit label, extract the first interaction frequency from the interaction data, and determine the first initial weight of the explicit label based on the first interaction frequency and the preset explicit weight; If the user label is an implicit label, extract the second interaction frequency and the time parameter from the interaction data, determine the time decay factor based on the time parameter; Based on the second interaction frequency and the time decay factor, determine the second initial weight of the implicit label; S32. Obtain real-time interaction data, and adjust the first initial weight and the second initial weight based on the real-time interaction data, respectively, to obtain the first maximum weight and the second maximum weight.
4. The method of claim 1, wherein, The real-time demand data is obtained, and the itinerary planning is determined based on the user memory association relationship and the real-time demand data, comprising: S51. Obtain real-time demand data, the real-time demand data includes destination demand data, itinerary constraint data and real-time location data; S52. Extract the time sequence association feature and the scene association feature of the destination demand data; S53. Based on the time sequence association feature, the scene association feature and the destination demand data, match and filter from the user memory association relationship to obtain multiple pieces of preference information related to the destination demand data, integrate the preference information to obtain user core itinerary demand; S54. Based on the itinerary constraint data and the destination demand data, determine the geographical range of the itinerary planning; S55. Based on the geographical range of the itinerary planning and the user core itinerary demand, filter the candidate cultural and tourist resources from the preset cultural and tourist resource library; S56. Based on the real-time location data and the candidate cultural and tourist resources, determine the itinerary planning.
5. A text travel itinerary planning and pushing system for performing the text travel itinerary planning and pushing method of any one of claims 1 to 4, characterized by, Comprising: Data processing module, for obtaining interaction data, based on the interaction data and the preset classification dimension, generating a plurality of user labels; Label type analysis module, in communication connection with the interaction data acquisition and label generation module, for receiving the user label output by the interaction data acquisition and label generation module, analyzing each user label to obtain the label type corresponding to each user label; The label weight calculation module is in communication connection with the label type analysis module, and is configured to receive the label type output by the label type analysis module, and determine a label weight of each of the user labels based on the label type. The association relationship establishment module is in communication connection with the label weight calculation module and the interaction data acquisition and label generation module, and is configured to receive the label weight output by the label weight calculation module and the interaction data output by the interaction data acquisition and label generation module, and establish a user memory association relationship based on the label weight and the interaction data. The travel planning module is in communication connection with the user memory association relationship establishment module, and is configured to acquire real-time demand data, and determine a travel plan based on the user memory association relationship and the real-time demand data. The push module is in communication connection with the real-time demand processing and travel planning module and the user memory association relationship establishment module, and is configured to acquire multimedia data, determine a candidate insertion node based on the travel plan, filter target multimedia data from the multimedia data based on the user memory association relationship, insert the multimedia data into the candidate insertion node, and obtain multimedia push content. The association relationship establishment module is in communication connection with the label weight calculation module and the interaction data acquisition and label generation module, and is configured to receive the label weight output by the label weight calculation module and the interaction data output by the interaction data acquisition and label generation module, and establish a user memory association relationship based on the label weight and the interaction data. S41. Extracting time features and scene features corresponding to the user labels from the interaction data; S42. Dividing the user labels in a time dimension based on the time features to obtain a recent label group and a historical label group; S43. Selecting user labels with label weights higher than a preset threshold in the recent label group as first core labels, and selecting user labels with label weights higher than the preset threshold in the historical label group as second core labels; S44. Analyzing the association degree of the first core labels and the second core labels, and if the association degree meets a preset association condition, establishing a time sequence association relationship between the recent label group and the historical label group; S45. Filtering user labels with high frequency and common occurrence in the same interaction scene based on the scene features to obtain scene combination labels; S46. Establishing a scene association relationship based on the scene combination labels and the user labels; S47. Integrating the time sequence association relationship and the scene association relationship to obtain the user memory association relationship; S61. Extracting relevant user labels related to the travel plan from the user labels based on the user memory association relationship. S62. Determine the matching degree of the related user tag and a plurality of multimedia data in a preset multimedia database, the matching degree = Σ (semantic similarity of candidate content tags and related user tags × weight of related user tags) / Σ weight of related user tags, and filter target multimedia data meeting a preset requirement from the plurality of multimedia data; S63. Extract core attributes of key travel links in the travel plan, and determine candidate insertion nodes of multimedia data based on the core attributes; S64. Perform adaptive processing on the target multimedia data based on the core attributes to obtain pending promotional content; S65. Set a trigger condition for pushing the pending promotional content based on time nodes of the travel plan and the user memory association relationship; S66. Based on the candidate insertion nodes and the trigger condition, the pending promotional content is sorted to finally generate the multimedia push content.
6. A computer device, comprising: The memory stores computer readable instructions, and the processor executes the computer readable instructions to realize the steps of the travel plan and push method according to any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer readable instructions, and the processor executes the computer readable instructions to realize the steps of the travel plan and push method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Scenic spot recommendation method and device based on user information and storage medium
CN110765361A
Analysis system based on smart travel big data
CN117235362A
Travel guide data pushing method and system and computer equipment
CN117828199A