Method for managing memory data and electronic device

CN122925336APending Publication Date: 2026-10-16LENOVO (BEIJING) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610969203.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-30
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

现有技术中要么全部保留直至存储溢出,要么简单按时间或最近最少使用(Least Recently Used,LRU)策略一刀切删除,处理方式过于简单粗暴

Benefits of technology

[0006]It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the technical solutions of this application.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122925336A_ABST
    Figure CN122925336A_ABST
Patent Text Reader

Abstract

The application discloses a memory data management method and an electronic device, and the method comprises the following steps: generating a memory database according to multi-modal data related to a target user; determining a sinking parameter and a floating parameter corresponding to first memory data in the memory database; the sinking parameter represents a parameter related to accelerating forgetting of the first memory data; the floating parameter represents a parameter related to slowing down forgetting of the first memory data; and the floating and sinking state of the first memory data in the memory database is determined according to the sinking parameter and the floating parameter, so as to manage the first memory data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to, but is not limited to, the field of computer technology, and in particular to a method for managing memory data and an electronic device. Background Technology

[0002] In continuous sensing scenarios based on wearable smart devices (e.g., smart headphones, smart glasses), in-vehicle devices, robots, etc., electronic devices need to process and store massive amounts of multimodal memory (e.g., video clips, text observations, event summaries, user profiles, etc.) over long periods. This requirement presents core technological challenges: The contradiction between limited storage resources and unlimited memory growth: Devices continuously generate new memories, but electronic devices have limited storage space and computing resources, so memories must be selectively forgotten. Current technologies either retain all memories until storage overflows or simply delete them all based on time or the Least Recently Used (LRU) strategy, which is too simplistic and crude. Summary of the Invention

[0003] In view of this, this application provides at least one method for managing memory data and an electronic device.

[0004] The technical solution of this application is implemented as follows: On the one hand, this application provides a method for managing memory data, the method comprising: Generate a memory database based on multimodal data related to the target users; Determine the sinking and rising parameters corresponding to the first memory data in the memory database; the sinking parameters represent parameters related to the first memory data that accelerates forgetting; the rising parameters represent parameters related to the first memory data that slows down forgetting. Based on the sinking and buoyancy parameters, the floating and sinking status of the first memory data in the memory database is determined in order to manage the first memory data.

[0005] On the other hand, this application provides an electronic device, including: a memory and at least one processor; wherein the memory is used to store a computer program; and the processor, when executing the computer program, is used to perform the following steps: Generate a memory database based on multimodal data related to the target users; Determine the sinking and rising parameters corresponding to the first memory data in the memory database; the sinking parameters represent parameters related to the first memory data that accelerates forgetting; the rising parameters represent parameters related to the first memory data that slows down forgetting. Based on the sinking and buoyancy parameters, the floating and sinking status of the first memory data in the memory database is determined in order to manage the first memory data.

[0006] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the technical solutions of this application. Attached Figure Description

[0007] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application.

[0008] Figure 1 A schematic diagram illustrating the implementation process of a memory data management method provided in this application; Figure 2 A schematic diagram illustrating the implementation process of a memory data management method provided in this application; Figure 3 A memory diagram provided in one embodiment of this application; Figure 4 A schematic diagram of memory pop-up in one embodiment provided in this application; Figure 5 This is a schematic diagram of the hardware entity of an electronic device provided in this application. Detailed Implementation

[0009] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application are further described in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0010] 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 this application pertains. The terminology used herein is for descriptive purposes only and is not intended to limit the scope of this application.

[0011] To improve memory management, existing technologies often employ fixed time windows or LRU caching strategies for memory eviction, or rely on vector similarity for memory retrieval. Additionally, some solutions introduce forgetting curve models, simulating the weakening of memory strength over time through exponential decay, deleting memories when their strength falls below a threshold. Furthermore, some solutions prioritize memories based on single factors such as emotional intensity.

[0012] However, the above-mentioned solutions generally have the following problems: memory elimination lacks a hierarchical mechanism and cannot distinguish the importance of details and summary information; the forgetting process is unidirectional and irreversible, and cannot respond to environmental cues to reactivate memories; retrieval relies only on semantic similarity and ignores information such as time decay and importance; the memory output scheme depends entirely on user queries and lacks an active pop-up mechanism.

[0013] Based on this, this application provides a method for managing memory data. First, a memory database is generated based on multimodal data related to the target user. Then, the sinking parameter and the rising parameter corresponding to the first memory data in the memory database are determined. The sinking parameter represents parameters related to accelerating the forgetting of the first memory data, while the rising parameter represents parameters related to slowing down the forgetting of the first memory data. Finally, the sinking and rising parameters determine the floating and sinking state of the first memory data in the memory database for management. It is evident that, on the one hand, this application utilizes sinking and rising parameters to determine the floating and sinking state of the first memory data and manages it based on this state, achieving dynamic management of the first memory data. On the other hand, using the sinking parameter to simulate the natural time decay of the forgetting curve and drive memory decline, and using the rising parameter to simulate the importance density of memory and counteract the sinking parameter, aligns with human cognitive characteristics. Therefore, managing memory data based on sinking and rising parameters makes the memory database management strategy more consistent with human cognitive patterns, thereby improving user satisfaction with the memory database.

[0014] The method provided in this application can be executed by an electronic device. The electronic device can be a terminal such as a laptop, tablet, desktop computer, set-top box, mobile device (e.g., mobile phone, portable music player, personal digital assistant, dedicated messaging device, portable gaming device, wearable device), or it can be implemented as a server.

[0015] The technical solutions in the embodiments of this application will now be clearly and completely described with reference to the accompanying drawings.

[0016] Figure 1 A schematic diagram illustrating the implementation process of a memory data management method provided in this application is shown below. Figure 1 As shown, the method includes the following steps S11 to S13: Step S11: Generate a memory database based on multimodal data related to the target user.

[0017] Multimodal data can be any data related to the target user. In some implementations, multimodal data can be video clips, images, text records, voice, event summaries, user behavior logs, etc., related to the target user. In some implementations, multimodal data can be data input by the user through an input device. For example, data input by the user through a data transmission interface, keyboard, mouse, microphone, etc. In some implementations, multimodal data can be sensor data perceived using sensors. For example, multimodal data can be environmental data perceived using cameras, microphones, pressure sensors, temperature sensors, etc. For example, when a user wears smart glasses to shop in a supermarket, various sensors in the smart glasses can automatically record video, extract text from product labels, recognize user expressions and actions, and generate corresponding text summaries.

[0018] Here, after acquiring multimodal data, memory retrieval is performed based on the multimodal data to obtain multiple memory data; these multiple memory data are then stored in a database to form a memory database.

[0019] In some implementations, memory data corresponding to multimodal data can be generated in any manner. In some implementations, multimodal data can be encoded or embedded to obtain a high-dimensional vector, which is then used as memory data. In some implementations, keyword memory can be generated based on word frequency and word segmentation index of the original text. In some implementations, multimodal data can be input into a large language model or a large multimodal model to generate summary data corresponding to the multimodal data, which is then used as memory data. In some implementations, a knowledge graph can be constructed based on the multimodal data to form a knowledge graph memory.

[0020] In some implementations, the memory database can be any type of database. For example, the memory database can be a relational database, a graph database, or a vector database.

[0021] In some implementations, preprocessing can be performed on the multimodal data before generating memory data based on the multimodal data. For example, data cleaning, format normalization, timestamp annotation, and / or preliminary semantic encoding can be performed on the multimodal data.

[0022] In some implementations, the following common fields can be set for the memory data in the memory database: The status field is used to mark the current memory status of the memory data; the optional parameter values ​​are "active", "deprecated", and "superseded". "Active" indicates that the current memory data is active and can be retrieved and accessed; "deprecated" indicates that there is a redundant relationship between the current memory data and its child nodes, resulting in the current memory data being deprecated; "superseded" indicates that there is a conflict relationship between the current memory data and its child nodes, resulting in the current memory data being superseded. Importance field: used to indicate the dynamic importance of the currently remembered data; The base score field represents the prior importance score assigned to the current memory data when it is written. Access history field (access_history): Used to record the time when the current memory data was hit.

[0023] In some implementations, the memory data in the memory database may also include any other fields.

[0024] Step S12: Determine the sinking parameters and rising parameters corresponding to the first memory data in the memory database; the sinking parameters represent parameters related to accelerating the forgetting of the first memory data; the rising parameters represent parameters related to slowing down the forgetting of the first memory data.

[0025] First memory data can refer to any memory data in a memory database. In some implementations, first memory data may have any information such as a corresponding timestamp, data source information, storage duration information, number of times it was hit (i.e., number of times it was accessed), and relationship with other memory data.

[0026] The sinking parameter characterizes parameters related to the accelerated forgetting of first-memory data; that is, the sinking parameter is the parameter that drives first-memory data towards forgetting. Therefore, the sinking parameter mainly reflects the gravitational effect of memory data.

[0027] For example, simulating the natural decay over time of the Ebbinghaus forgetting curve, the longer the first memory data is stored, the larger the sinking parameter corresponding to the first memory data; conversely, the smaller the sinking parameter, the more likely the first memory data is to be forgotten; conversely, the more likely it is to be retained.

[0028] The buoyancy parameter characterizes parameters related to slowing down the forgetting of first-memory data; that is, the buoyancy parameter is a parameter that combats forgetting and maintains the activity of first-memory data. It is evident that the buoyancy parameter mainly reflects the buoyancy effect and is used to counteract gravity (i.e., the sinking parameter).

[0029] For example, the "importance density" of the simulated memory data itself: the higher the importance of the first memory data, the larger the corresponding upward parameter; conversely, the smaller the upward parameter, the lower the importance. It can be understood that a larger upward parameter means the first memory data is more likely to be retained, and may even be actively recalled when the upward parameter exceeds a preset threshold; conversely, a smaller upward parameter means the first memory data is more likely to be forgotten. For example, if the first memory data is the target user's college entrance examination score, this first memory data is highly important to the target user, hence the corresponding upward parameter is high; conversely, if the first memory data is the target user's daily shopping memories, this first memory data is less important to the target user, hence the corresponding upward parameter is low.

[0030] In some implementations, the tendency of first memory data to be forgotten can include the probability that the first memory data is likely to be forgotten. The more likely the first memory data is to be forgotten, the higher the probability of forgetting it; conversely, the less likely it is to be forgotten, the lower the probability. Similarly, the tendency of first memory data to be retained can include the probability that the first memory data is likely to be retained in the memory database. The more likely the first memory data is to be retained, the lower the probability of forgetting it; conversely, the less likely it is to be forgotten, the higher the probability.

[0031] Step S13: Determine the floating / sinking state of the first memory data in the memory database based on the sinking and buoyancy parameters, so as to manage the first memory data.

[0032] Here, the sinking and buoyancy parameters corresponding to the first memory data are combined to determine the floating and sinking state of the first memory data in the memory database, so as to manage the first memory data using this floating and sinking state.

[0033] When the sinking parameter corresponding to the first memory data increases while the buoyancy parameter remains unchanged or decreases, it indicates that the first memory data is more likely to be forgotten. Therefore, the sinking state of the first memory data is determined to be the sinking state. Conversely, when the sinking parameter corresponding to the first memory data remains unchanged or decreases while the buoyancy parameter increases, it indicates that the first memory data is more likely to be retained. Therefore, the buoyancy state of the first memory data is determined to be the buoyancy state.

[0034] When the first memory data is in a sinking state, it indicates that its current value to the target user is decreasing; conversely, when it is in a rising state, it indicates that its current value to the target user is increasing. Therefore, the first memory data can be managed based on its sinking / rising state. For example, when the first memory data is in a rising state, its memory weight can be increased to make it easier to be hit; conversely, when it is in a sinking state, its memory weight can be decreased. Alternatively, when the first memory data is in a sinking state, it can be gradually deleted according to a specified time period.

[0035] The memory data management method provided in this application first generates a memory database based on multimodal data related to the target user; then, it determines the sinking and rising parameters corresponding to the first memory data in the memory database, where the sinking parameter represents parameters related to accelerating the forgetting of the first memory data, and the rising parameter represents parameters related to slowing down the forgetting of the first memory data; finally, it determines the sinking and rising state of the first memory data in the memory database based on the sinking and rising parameters, so as to manage the first memory data. It can be seen that, on the one hand, this application uses sinking and rising parameters to determine the sinking and rising state of the first memory data and manages the first memory data based on the sinking and rising state, thus realizing dynamic management of the first memory data; on the other hand, it uses sinking parameters to simulate the natural time decay of the forgetting curve and drive memory decline, and uses rising parameters to simulate the importance density of memory and counteract sinking parameters, which conforms to human cognitive characteristics. Therefore, managing memory data based on sinking and rising parameters can make the memory database management strategy more in line with human cognitive laws, thereby improving user satisfaction with the memory database.

[0036] In some implementations, the sinking and surfacing parameters corresponding to the first memory data in the memory database are determined. That is, step S12 above can be implemented as steps S121 to S122: Step S121: Determine the sinking parameter corresponding to the first memory data based on at least one of the storage duration of the first memory data, the dormancy duration of the first memory data, and the relationship type between the first memory data and the second memory data; wherein, the second memory data represents the memory in the memory database related to the first memory data.

[0037] Here, the storage duration of first memory data refers to the length of time elapsed since the first memory data was written into the memory database until the current moment. In some implementations, the storage duration can be recorded in hours, days, or months. The storage duration reflects the age of the first memory data and is a fundamental factor in calculating the forgetting trend. For example, compared to memory data stored for 3 days, memory data stored for 30 days exhibits a higher degree of natural decay and is more likely to be classified as forgettable. Therefore, the longer the storage duration of the first memory data, the larger its corresponding sinking parameter; conversely, the shorter the storage duration, the smaller the sinking parameter.

[0038] The dormancy duration of first-memory data refers to the length of time elapsed since the last time it was accessed or retrieved. Dormancy duration measures the activity level of memories. If memory data remains unaccessed or unretrieved for an extended period, its dormancy duration accumulates, indicating a decline in its current value to the target user. For example, if a user hasn't checked a travel record for 100 consecutive days, the dormancy duration of that record is marked as 100 days, suggesting that the travel record has fallen out of the target user's current focus. Therefore, the longer the dormancy period of first-memory data, the larger its corresponding sinking parameter; conversely, the shorter the period, the smaller the sinking parameter.

[0039] Secondary memory data refers to memory data in the memory database that is related to primary memory data. The relationship type between primary and secondary memory data can refer to any type of memory relationship determined from any perspective.

[0040] In some implementations, the relationship type can refer to the semantic relationship type between the first memory data and the second memory data; wherein the second memory data is memory data written into the memory database after the first memory data. In some implementations, the semantic relationship type can include redundancy, update, conflict, etc. Redundancy indicates that the second memory data completely contains the memory content of the first memory data; update indicates that part of the memory content in the second memory data is an update to at least part of the memory content of the first memory data; conflict indicates that there is a semantic conflict between the memory content of the second memory data and the memory content of the first memory data. In some implementations, when writing the second memory data into the memory database, the relationship type between the first and second memories can be determined by a language model.

[0041] The relationship between the first memory data and the second memory data directly affects the sinking parameter of the first memory data. For example, when the first memory data is determined to be redundant or conflicting data of the second memory data, it indicates that the new memory data established by the target user (i.e., the second memory data) has overwritten or modified the old memory data (i.e., the first memory data), thus reducing the current value of the first memory data to the target user and increasing the sinking parameter of the first memory data. Conversely, when the first memory is a newly added memory or the root node memory data in the memory database, it indicates that the first memory data is an independent memory, and therefore its current value to the target user is higher, resulting in a lower sinking parameter of the first memory data.

[0042] In this way, the sinking parameters corresponding to the first memory data can be determined based on at least one of the storage duration, dormancy duration, and relationship type with the second memory data.

[0043] In some implementations, firstly, a first sinking parameter, a second sinking parameter, and a third sinking parameter are determined based on the storage duration, dormancy duration, and relationship type with the second memory data of the first memory data, respectively; then, the first sinking parameter, the second sinking parameter, and the third sinking parameter are weighted and summed to obtain the sinking parameter corresponding to the first memory data.

[0044] In some implementations, any one of the first sinking parameter, the second sinking parameter, and the third sinking parameter can be used as the sinking parameter corresponding to the first memory data.

[0045] In some implementations, the average of the first sinking parameter, the second sinking parameter, and the third sinking parameter, or the minimum or maximum value of them, can be used as the sinking parameter corresponding to the first memory data.

[0046] Step S122: Determine the floating parameter corresponding to the first memory data based on at least one of the importance score corresponding to the first memory data, the frequency of the first memory data being hit, and the frequency of the second memory data being hit; wherein, the second memory data represents the memory in the memory database related to the first memory data.

[0047] Here, the importance score corresponding to the first memory data refers to the value of the first memory data to the target user, determined based on the memory type and / or content, when the first memory data is stored in the memory database. It is a basic score or prior score for the first memory data. In some implementations, the importance score corresponding to the first memory data can be determined using a large language model during the memory writing stage. For example, a memory data point about an emergency medical event may have a high importance score, while a memory data point about daily shopping records may have a low importance score. The higher the importance score, the stronger the resistance of the first memory data to forgetting, and the larger the upward parameter of the first memory data; conversely, the smaller the upward parameter.

[0048] The frequency at which first-memory data is accessed can refer to the frequency at which first-memory data is accessed, or the frequency at which the correlation between first-memory data and newly generated memory data exceeds a correlation threshold (i.e., first-memory data is accessed by newly generated memory). The frequency of access can characterize the activity level of first-memory data. The higher the frequency of access, the larger the float parameter of the first-memory data; conversely, the lower the frequency, the smaller the float parameter.

[0049] Here, second memory data refers to memory data in the memory database that is related to first memory data. For example, second memory data can be a parent node or child node of first memory data. The frequency at which second memory data is accessed refers to the frequency at which second memory data is accessed, or the frequency at which the relevance between second memory data and newly generated memory data is greater than a relevance threshold. Since second memory data is related to first memory data, when second memory data is frequently accessed, it can be inferred that first memory data also has potential value. For example, if a user frequently consults second memory data related to gym workout records, then the dietary health memory data associated with that second memory data (i.e., first memory data), even if not directly accessed, will have increased current value to the target user due to the frequent access of second memory data.

[0050] In this way, the float parameter corresponding to the first memory data can be determined based on at least one of the importance score corresponding to the first memory data, the frequency of being hit, and the frequency of being hit by the second memory data.

[0051] In some implementations, firstly, a first upward parameter, a second upward parameter, and a third upward parameter are determined based on the importance score of the first memory data, the frequency of being hit, and the frequency of being hit of the second memory data, respectively; then, the first upward parameter, the second upward parameter, and the third upward parameter are weighted and summed to obtain the upward parameter corresponding to the first memory data.

[0052] In some implementations, any one of the first, second, and third floating parameters can be used as the floating parameter corresponding to the first memory data.

[0053] In some implementations, the average of the first, second, and third upward parameters, or the minimum or maximum value of these parameters, can be used as the upward parameter corresponding to the first memory data.

[0054] In the embodiments provided in this application, the sinking parameter is calculated by introducing at least one of storage duration, dormancy duration and relationship type, and the floating parameter is calculated by combining at least one of importance score, access count and hit frequency. This realizes the simulation of human cognitive characteristics to determine the floating state of the first memory data, thereby making the management effect of memory data based on the floating state more in line with human memory management characteristics and more in line with human intuition.

[0055] In some implementations, a memory database is generated based on multimodal data related to the target user; that is, step S11 above can be implemented as the following step S111: Step S111: Perform semantic recognition and hierarchical generation processing on the multimodal data to obtain a memory database; wherein, the first memory data in the memory database has at least two levels, and the content of each level has a different level of abstraction.

[0056] Here, any suitable method can be used to determine the semantic information of multimodal data. For example, a Large Language Model (LLM) or a deep learning model can be used to parse multimodal data to determine its semantic information.

[0057] Hierarchical generation processing refers to generating semantic information corresponding to multimodal data according to different levels of abstraction, resulting in memory data at different memory levels corresponding to the multimodal data. In some implementations, different levels of abstraction may refer to different degrees of compression, different degrees of generalization, different degrees of aggregation, and / or different degrees of simplification, etc.

[0058] In some implementations, the memory data corresponding to multimodal data can be divided into five memory levels: raw multimodal data; semantic information corresponding to the multimodal data, used as short-term memory (STM) to store short-term observation records; abstracting, summarizing, and / or integrating at least one short-term memory to obtain long-term memory (LTM) to store detailed memory content over a long period; summarizing the long-term memory to obtain a long-term summary; and user profiling. In one example, when a target user is captured ordering coffee at a coffee shop through smart glasses, firstly, multimodal data is extracted using computer vision and speech recognition; then, a large language model is used to parse the target user's short-term memory of purchasing a latte at Starbucks at 10:00 AM; subsequently, based on the user's repeated purchases of coffee in the morning, the user's preference for drinking coffee in the morning is abstracted.

[0059] In this way, through hierarchical generation processing, multiple memory data points with different levels of abstraction can be obtained. These multiple memory data points are then stored in a database to form a memory database. This hierarchical generation process simulates the cognitive path of the human brain from sensory input to concept formation, ensuring that the memory database not only stores what happened, but also understands what it means.

[0060] Here, the first-memory data has at least two levels, and the level of abstraction varies at each level. For example, the first-memory data can include any two of the following: raw multimodal data, short-term memory, and long-term memory. In one example, in a fitness scenario, the first-memory data includes a video file of the user running on a treadmill on June 30, 2026, the user's short-term memory of going to the gym on Saturday, and the target user's long-term memory of focusing on health management.

[0061] In the embodiments provided in this application, by constructing first memory data with at least two levels of abstraction, refined and hierarchical management of memory content is achieved. Furthermore, the first memory data can be hierarchically managed according to its floating state (for example, the first memory data can be forgotten layer by layer in order of increasing abstraction level) to balance the contradiction between storage resources and memory fidelity, and improve the long-term availability of the memory database and user experience.

[0062] According to the Levels of Processing Theory, shallow processing (e.g., raw multimodal data) is more easily forgotten than deep processing (e.g., long-term memory). Based on this, this application further proposes a hierarchical forgetting mechanism.

[0063] In some implementations, the floating state of the first memory data in the memory database is determined based on the sinking and buoyancy parameters in order to manage the first memory data. That is, the above step S13 can be implemented as the following steps S131 to S132: Step S131: Determine the forgetting score corresponding to the first memory data based on the sinking parameter and the buoyancy parameter.

[0064] Since the sinking parameter is related to accelerating the forgetting of first-memory data, and the buoyancy parameter is related to slowing down the forgetting of first-memory data, combining the sinking and buoyancy parameters can determine the degree to which first-memory data should be forgotten, i.e., the forgetting score. It can be understood that when the sinking parameter is greater than the buoyancy parameter, first-memory data tends to be forgotten; when the sinking parameter is less than the buoyancy parameter, first-memory data tends to be retained.

[0065] In some implementations, the sinking parameter corresponding to the first memory data can be calculated based on the specific implementation method in step S121; the buoyancy parameter corresponding to the first memory data can be calculated based on the specific implementation method in step S122; the calculated sinking parameter and buoyancy parameter can be summed or weighted to obtain the forgetting score corresponding to the first memory data.

[0066] In some implementations, the forgetting score can be calculated using the following formula (1): Forgotten score = min( (time weight) Time factor + importance weight (1 - Importance Factor / 10) + Hit Weight Hit frequency) Discard factor, 0.99) (1); Among them, the time factor is determined based on the half-life forgetting curve and the storage duration of the first memory data; Time weight, which is a pre-defined weight for the time factor; The importance factor is determined based on the importance score corresponding to the first memory data and the frequency with which the second memory data is hit, thus determining the current importance of the first memory data. Importance weight, which represents the pre-defined weight of the importance factor; Hit frequency can also be the number of times the first memory data is hit; Hit weight, which is a weight preset based on the hit frequency; The discard factor characterizes the discard factor of the first memory data determined based on the relationship type between the first memory data and the second memory data. For example, if the relationship type is redundant or conflicting, the discard factor can be 1.5; if the relationship type is updated, the discard factor can be 1.3; if the first memory data is newly added, the discard factor can be 1. For details regarding the relationship types of redundancy, conflict, update, and addition, please refer to the detailed explanation above in conjunction with step S121. The sum of the time weight, importance weight, and hit weight is 1.

[0067] Step S132: Determine the forgetting level of the first memory data based on the forgetting score, so as to perform stratified forgetting of the first memory data; wherein, the higher the forgetting score, the higher the determined forgetting level, and the higher the degree of abstraction of the content of the first memory data that is forgotten; the maximum forgetting level of the first memory data represents the degree of forgetting allowed for the first memory data or its complete forgetting.

[0068] Here, after determining the forgetting score, the forgetting level of the first memory is determined based on the forgetting score, and the memory content corresponding to the determined forgetting level is deleted or marked as discarded. Specifically, during memory forgetting, the memory content corresponding to the determined forgetting level, as well as memory content below that forgetting level, are all considered as forgotten content. For example, when the long-term memory corresponding to the first memory data is used as the forgetting level, the long-term memory, short-term memory, and original multimodal data corresponding to the first memory data are all considered as forgotten content.

[0069] A higher forgetting score indicates a higher level of forgetting, and correspondingly, the content forgotten from the first memory data is more abstract. For example, when the first memory data includes multimodal data, short-term memory, and long-term memory, if the calculated forgetting score is high, long-term memory is used as the forgetting level, and multimodal data, short-term memory, and long-term memory are all considered as forgotten content; if the calculated forgetting score is low, short-term memory is used as the forgetting level, and multimodal data and short-term memory are considered as forgotten content.

[0070] In some implementations, as described above, when the first memory data includes five memory levels, the five memory levels can be stratified for forgetting according to the forgetting score corresponding to the first memory data: Layer 0 forgetting: When the forgetting score is greater than a first forgetting threshold (e.g., 0.3) and not greater than a second forgetting threshold (e.g., 0.5), the original multimodal data corresponding to the first memory data is deleted. In some implementations, for image data, the corresponding thumbnail can be saved; for text data, the corresponding text summary can be saved. Layer 1 forgetting: When the forgetting score is greater than the second forgetting threshold (e.g., 0.5) but not greater than the third forgetting threshold (e.g., 0.7), the short-term memory corresponding to the first memory data is deleted. In some implementations, the memory state of the short-term memory corresponding to the first memory data can be modified to be discarded; Layer 2 forgetting: When the forgetting score is greater than the third forgetting threshold (e.g., 0.7) but not greater than the fourth forgetting threshold (e.g., 0.9), the long-term memory corresponding to the first memory data is deleted; that is, the detailed memory content over a long period of time is deleted. In some implementations, after deleting the detailed memory content over a long period of time, the corresponding vector representation is regenerated based on the summary information in the long-term memory corresponding to the first memory data. Layer 3 forgetting: When the forgetting score is greater than the fourth forgetting threshold (e.g., 0.9), the memory content of the memory data (which may include short-term memory, long-term memory, long-term summary and / or user profile) is first merged into the corresponding child node, and then the memory status of the memory data is marked as abandoned.

[0071] In some implementations, a forgetting layer field can be set for the memory data in the memory database to indicate which memory layer the corresponding memory data has been forgotten to. For example, when the forgetting layer field is "1", it indicates that the corresponding memory data has undergone the first layer of forgetting (i.e., the original multimodal data and short-term memory are forgotten); as another example, when the forgetting layer field is "-1", it indicates that all memory content in the corresponding memory data has not been forgotten.

[0072] First-memory data has the highest level of forgetting.

[0073] The maximum forgetting level can characterize the degree to which the first memory data is allowed to be forgotten; that is, the highest level at which the first memory data is allowed to be forgotten, the upper limit of what can be forgotten. For example, if the maximum forgetting level corresponding to the first memory data is long-term memory, then when forgetting the first memory data, it can be forgotten up to long-term memory. However, the long-term summary and user profile corresponding to the first memory data cannot be forgotten.

[0074] The maximum forgetting level can characterize whether the first memory data can be completely forgotten. For example, when the maximum forgetting level of the first memory data is the user profile (here, the user profile is taken as the highest memory level of the memory data), then when the forgetting score calculated for the first memory data is higher than a specified threshold, the memory content of all levels of the first memory data can be regarded as the forgotten content.

[0075] In some implementations, the user can specify the maximum forgetting level for the first memory data, or the maximum forgetting level can be automatically determined based on the importance of the first memory data.

[0076] In some implementations, a maximum forgetting layer field (max_forget_layer) can be set for the memory data in the memory database. For example, in the above embodiment with five memory levels of stratified forgetting, when the value corresponding to the maximum forgetting layer field is "1", it means that the memory data is allowed to be forgotten up to short-term memory; when the value corresponding to the maximum forgetting layer field is "-1", it means that the corresponding memory data is not allowed to be forgotten.

[0077] In some implementations, the memory database can be scanned according to user instructions or at specified time intervals to achieve stratified forgetting of memory data.

[0078] In the embodiments provided in this application, on the one hand, based on the hierarchical forgetting mechanism, it is possible to avoid the one-size-fits-all deletion of memory data, allowing low-value original data to be cleared first when storage space is tight, while retaining highly abstract semantic information. This can effectively balance storage resource consumption and memory fidelity, and thus simulate human cognitive characteristics, providing a more intelligent and humanized long-term memory data management solution. On the other hand, by setting the maximum forgetting level, the fine-grained management of memory data can be further improved.

[0079] According to the Spreading Activation Theory in cognitive science, when external environmental input (e.g., new multimodal data input, or user query) semantically matches existing memories, the matched memories receive an instantaneous upward push, potentially breaking through the "surface of consciousness" and actively emerging. Therefore, this application proposes a perturbation parameter in its memory data management method to simulate the upward push generated by external environmental input on existing memories.

[0080] Thus, in some embodiments, the method further includes the following step S14: Step S14: Determine the perturbation parameters corresponding to the first memory data; the perturbation parameters represent the parameters related to actively popping the first memory data.

[0081] Perturbation parameters are dynamic parameters that characterize the impact of external environment or user behavior on the first memory data, and may trigger the active ejection of the first memory data. Perturbation parameters can be considered as external force parameters corresponding to the first memory data.

[0082] In some implementations, the perturbation parameters corresponding to the first memory data can be determined when the first memory data is hit (e.g., by a user query or by newly generated memory data).

[0083] In some implementations, the perturbation parameter corresponding to the first memory data can be determined based on the relevance between the first memory data and user-queried or newly generated memory data. In some implementations, the perturbation parameter corresponding to the first memory data can be determined based on the dormancy duration corresponding to the first memory data.

[0084] By introducing perturbation parameters to quantify the impact of the external environment on the first memory data, it is possible to actively eject the first memory data and accurately determine the timing for actively ejecting the first memory data.

[0085] Thus, based on the sinking and buoyancy parameters, the floating and sinking state of the first memory data is determined for the management of the first memory data. That is, step S13 above also includes the following steps S133 to S134: Step S133: Determine the pop-up score corresponding to the first memory data based on the sinking parameter, the rising parameter, and the disturbance parameter.

[0086] Here, since the sinking parameter is related to accelerating the forgetting of first-memory data, the buoyancy parameter is related to slowing down the forgetting of first-memory data, and the perturbation parameter is the parameter that causes the first-memory data to be ejected, the probability of the first-memory data being actively ejected, i.e., the ejection score, can be determined by combining the sinking parameter, buoyancy parameter, and perturbation parameter. It can be understood that when the sinking parameter is greater than the buoyancy parameter and the perturbation parameter, the first-memory data tends to be forgotten; when the sinking parameter is less than the buoyancy parameter and the perturbation parameter, the first-memory data may be actively ejected.

[0087] In some implementations, the pop-up score corresponding to the first memory data can be calculated using the following formula (2): Pop-up score = Time weight Time factor + importance weight Importance factor / 10 + Hit weight Hit frequency + perturbation weight Disturbance parameters (2); The time factor is determined based on the half-life forgetting curve and the storage duration of the first memory data. Time weight, which is a pre-defined weight for the time factor; The importance factor is determined based on the importance score corresponding to the first memory data and the frequency with which the second memory data is hit, thus determining the current importance of the first memory data. Importance weight, which represents the pre-defined weight of the importance factor; Hit frequency can also be the number of times the first memory data is hit; Hit weight, which is a weight preset based on the hit frequency; The perturbation weight is a preset weight for the perturbation parameter.

[0088] Step S134: Update the pop-up status of the first memory data according to the pop-up score, so as to actively pop up the first memory data.

[0089] Here, a pop-up threshold can be preset. When the pop-up score is greater than the pop-up threshold, the pop-up status of the first memory data is updated to pending pop-up, and the first memory data is output to the target user. When the pop-up score is not greater than the pop-up threshold, the pop-up status of the first memory data is updated to non-pop-up.

[0090] In some implementations, the output method (i.e., pop-up method) of the first memory data can be determined based on the device that the current target user primarily interacts with. For example, if the current target user is using a smartphone, the first memory data is output via the smartphone in the form of an image or text; if the current target user is using a smartwatch, the first memory data is output via the smartwatch in the form of concise text; and so on.

[0091] In the embodiments provided in this application, on the one hand, by comprehensively calculating the pop-up score by combining the sinking parameter, the floating parameter and the disturbance parameter, factors such as the time decay, intrinsic importance and external trigger strength of the first memory data can be fully considered, thereby more accurately calculating the timing and necessity of popping the first memory data, and thus improving the intelligence of the interaction process and the smoothness of the user experience.

[0092] In some implementations, determining the perturbation parameters corresponding to the first memory data, i.e., step S14 above, can be implemented as steps S141 to S143: Step S141: When the first memory data is triggered by external input information, determine the first trigger score corresponding to the first memory data based on the importance score and dormancy duration of the first memory data.

[0093] In some implementations, the external input information can refer to query information entered by the user, or it can be multimodal data used to generate memory data. Thus, the first memory data being triggered by the external input information can mean that the first memory data has a high correlation with the query information, or that the first memory data has a high correlation with the multimodal data or the newly generated memory corresponding to the multimodal data.

[0094] When the first memory data is hit by external input information, the calculation process of the perturbation parameters for the first memory data is triggered.

[0095] Here, the specific method for determining the importance score corresponding to the first memory data is the same as the specific method for determining the importance score described in step S122 above, and will not be repeated here. The specific method for determining the silence duration corresponding to the first memory data is the same as the specific method for determining the silence duration described in step S121 above, and will not be repeated here.

[0096] It is understandable that the higher the importance score of the first memory data, the greater the perturbation parameter obtained when the first memory data is hit by external input; at the same time, the longer the dormancy time of the first memory data, the greater the perturbation parameter obtained when the first memory data is hit by external input.

[0097] In some implementations, the first trigger score can be calculated using the following formula (4): First trigger score = (Importance factor / 10) Silence days / 90 (4); The importance factor is determined by the importance score of the first memory data and the frequency with which the second memory data is hit, thus determining the current importance of the first memory data.

[0098] As can be seen, the first trigger score represents the perturbation parameter generated when first memory data is suddenly hit after a long period of dormancy. Therefore, the first trigger score can be defined as "arousal power".

[0099] Step S142: Determine the second trigger score corresponding to the first memory data based on all historical hit records and / or hit records within the first duration corresponding to the first memory data.

[0100] Here, all historical hit records corresponding to the first memory data refer to the records in which the first memory data is matched by external input within the time period from the moment it is written into the memory database to the current moment. Hit records within the first time period corresponding to the first memory data refer to the records in the first time period in which the first memory data is matched. The first time period refers to any duration ending at the current moment, such as 7 days, one month, or any other arbitrary duration.

[0101] In some implementations, a hit record can refer to the number of times a hit has occurred or the frequency of a hit.

[0102] Thus, based on all historical hit records and / or hit records within the first time period corresponding to the first memory data, the recent trend of hits on the first memory data can be determined. For example, an increase in the ratio of the hit rate within the first time period to the total historical hit rate indicates that the first memory data has been frequently hit recently, suggesting that the current value of the first memory data to the target user has increased; conversely, a decrease indicates that the current value of the first memory data to the target user has decreased. It can be understood that when the current value of the first memory data to the target user increases, the perturbation parameter corresponding to the first memory data increases, i.e., the second trigger score increases; conversely, the second trigger score decreases.

[0103] In some implementations, the second trigger score can be calculated using the following formula (5): Second trigger score = max(0, (hit records within the first duration / all historical hit records) - frequency threshold (5).

[0104] It is evident that the second trigger score represents the perturbation parameters accumulated during the first time period due to the frequent hits on the first memory data. Therefore, the second trigger score can be defined as "cumulative force".

[0105] Optionally, the second trigger score corresponding to the first memory data can be determined based on either all historical hit records corresponding to the first memory data or the hit records within the first duration. This will not be elaborated on here.

[0106] Step S143: Determine the perturbation parameter corresponding to the first memory data based on at least one of the first trigger score and the second trigger score.

[0107] In some implementations, the average of the first trigger score and the second trigger score can be used as the perturbation parameter corresponding to the first memory data.

[0108] In some implementations, the smaller or larger value of the first trigger score and the second trigger score can be used as the perturbation parameter corresponding to the first memory data.

[0109] For example, in some implementations, the perturbation parameters corresponding to the first memory data can be calculated using the following formula (6): Disturbance parameter = max(first trigger score, second trigger score) (6).

[0110] Thus, based on formula (6), formula (2) can be updated to obtain formula (7) for calculating the pop-up score: Pop-up score = Time weight Time factor + importance weight Importance factor / 10 + Hit weight Hit frequency + perturbation weight Disturbance parameters + disturbance type weight (7); The disturbance type weight is a weight set for the first trigger score and the second trigger score respectively. For example, when the disturbance parameter is the first trigger score, the disturbance type weight in formula (7) is the disturbance type weight corresponding to the first trigger score.

[0111] In the embodiments provided in this application, a perturbation parameter corresponding to the first memory data is determined by calculating a first trigger score and a second trigger score, and by combining the first trigger score and the second trigger score. Thus, when the perturbation parameter is determined based on the first trigger score, and the first memory data is then retrieved based on this perturbation parameter, the flashbulb memory effect—the instantaneous flood of memories when one accidentally sees a photo of an old friend—can be simulated. When the perturbation parameter is determined based on the second trigger score, and the first memory data is retrieved based on this perturbation parameter, the phenomenon of unfinished tasks repeatedly intruding into consciousness in the Zeigarnik memory effect can be simulated.

[0112] Hebb's Rule states that "synchronously firing neurons establish stronger synaptic connections"; Bartlett's Schema Theory proposes that the human brain stores memories in sets and in an organized manner. Based on this, this application proposes that when multiple memory data points within the same activity are simultaneously accessed by external input, these multiple memory data points exhibit a resonance effect, and their combined perturbation parameter increases superlinearly to simulate the superimposed enhancement effect of multi-sensory channel memory cues. Simultaneously, a bidirectional importance transmission mechanism is established between the memory data and the activity, forming a positive feedback loop similar to long-term potential (LTP) enhancement in neural networks. This ensures that changes in the perturbation parameter of a single memory data point will affect the changes in the combined perturbation parameter of the corresponding activity set, and changes in the sum of the perturbation parameters of the activity set will also affect the perturbation parameters of other memory data points within the set.

[0113] Accordingly, in some embodiments provided in this application, the buoyancy state of the first memory data is determined based on the sinking parameter and the buoyancy parameter in order to manage the first memory data. That is, the above step S12 further includes the following steps S135 to S137: Step S135: Determine the perturbation parameter corresponding to at least one third memory data; each third memory data represents memory data that is in the same set as the first memory data.

[0114] Third memory data refers to memory data in the memory database that is in the same set as first memory data.

[0115] In some implementations, multiple memory data belonging to the same set refers to memory data that meet specified correlation conditions. In some implementations, the correlation condition means that the multiple memory data are determined based on multimodal data collected within the same time window or the same location. In some implementations, the correlation condition means that the multiple memory data are related to the same event, the same activity pattern, the same scene, or the same person.

[0116] In some implementations, a set is a collection of memories consisting of multiple long-term memories. Therefore, the first memory data and at least one third memory data are both long-term memory data.

[0117] In some implementations, the specific implementation method for determining the perturbation parameter corresponding to each third memory data is the same as the specific implementation method for determining the perturbation parameter corresponding to the first memory data described in step S14 or steps S141 to S143 above, and will not be repeated here.

[0118] Step S136: Determine the combined pop-up score corresponding to the first memory data and at least one third memory data based on the perturbation parameters corresponding to the first memory data and the perturbation parameters corresponding to each third memory data.

[0119] Here, the overall pop score corresponding to the set is calculated based on the perturbation parameters corresponding to the first memory data and the perturbation parameters corresponding to each third memory data.

[0120] As mentioned above, when the memory data in the set is perturbed, the combined perturbation parameter corresponding to multiple memory data in the set will increase superlinearly. Therefore, in some implementations, the combined perturbation parameter corresponding to the set can be calculated using the following formula (8): Overall perturbation parameter = min(avg(sum of perturbation parameters of multiple memory data in the set)) (1+0.3 log(1+n)), 1.0) (8)。

[0121] It can be seen that, through the calculation of formula (8), the comprehensive perturbation parameter corresponding to the set will be greater than the perturbation parameter corresponding to each memory data in the set.

[0122] After determining the integrated perturbation parameters, these parameters are used as the integrated pop-up scores corresponding to the set, that is, the integrated pop-up scores corresponding to the first memory data and at least one third memory data.

[0123] Step S137: Based on the comprehensive pop-up score, determine the pop-up status of the first memory data and at least one third memory data.

[0124] Here, if the overall pop-up score is greater than the specified pop-up threshold, the pop-up status of the first memory data and at least one third memory data is updated to pending pop-up; if the overall pop-up score is not greater than the specified pop-up threshold, the pop-up status of the first memory data and at least one third memory data is determined to be non-pop-up.

[0125] Thus, among multiple memory data belonging to the same set, if some memory data have large perturbation parameters (i.e., their corresponding pop-up scores are greater than the pop-up threshold) and some memory data have small perturbation parameters (i.e., their corresponding pop-up scores are all less than the pop-up threshold), the above calculation of the comprehensive pop-up score may result in each memory data in the set being popped; or, if the pop-up scores corresponding to each memory data in the same set are all less than the pop-up threshold, the above calculation of the comprehensive pop-up score may result in each memory data in the set being popped.

[0126] In some implementations, the first memory data and at least one third memory data may be perturbation parameters obtained based on the same or different hits.

[0127] In the embodiments provided in this application, by calculating the comprehensive pop-up score of multiple memory data in the same set and establishing a two-way transmission mechanism between memory data and the set, the memory topics that users are concerned about (e.g., multiple memory data belonging to the same activity mode) can be automatically discovered and strengthened without manual intervention, thereby improving the intelligence level of the memory management method and the naturalness of user interaction.

[0128] In some implementations, to avoid frequent memory pops, a cooldown period is set for each popped memory data. In some implementations, after popping the first memory data, the cooldown period corresponding to the first memory data can be calculated using the following formula (6): Cooldown period = max(4) 2 pop-up times, 48) hours (9); The number of times the first memory data is popped represents the number of times the first memory data is popped within a specified time period, or it can refer to the number of times the first memory data has been popped from the time it was written into the memory database to the current time.

[0129] It is evident that by setting a cooldown period, the frequent pop-up of memory data can be effectively prevented from causing unnecessary interference to users, thus ensuring the scarcity and significance of pop-up events.

[0130] In some embodiments, the memory data management method provided in this application also includes a memory data writing method. Below, in conjunction with... Figure 2 The memory data writing process in the memory data management method provided in this application is described. For example... Figure 2As shown, the memory data management method further includes the following steps S21 to S22: Step S21: If the similarity between the first memory data and the historical memory data in the memory database is less than the similarity threshold, store the first memory data as the root node in the memory database.

[0131] Historical memory data refers to memory data that was written into the memory database before the first memory data.

[0132] The similarity between first-memory data and historical memory data refers to the semantic similarity determined based on the semantics of the first-memory data and the historical memory data. In some implementations, the similarity between the first-memory data and historical memory data can be determined by any suitable method, such as calculating the cosine similarity, Euclidean distance, Manhattan distance, or dot product similarity.

[0133] A similarity threshold is a critical point used to determine whether the semantic similarity between two memory data points reaches a significant level. For example, when calculating the similarity between first memory data and historical memory data based on cosine similarity or Euclidean distance, the similarity threshold can be set to 0.85 or 0.92.

[0134] When the similarity between the first memory data and all historical memory data is less than the similarity threshold, it indicates that the first memory data does not have a strong semantic connection with any existing memory. Therefore, the first memory data is stored as an independent memory unit, i.e., a new root node is created. The root node is the top-level node in the tree structure of the memory database, representing an original memory without a parent node or inheritance relationship. The root node can serve as the starting point or anchor point for subsequent related memories, ensuring that the memory data structure in the memory database is clear and hierarchical.

[0135] Step S22: If the similarity between the first memory data and the fourth memory data in the memory database is not less than the similarity threshold, determine the relationship type between the first memory data and the fourth memory data; according to the relationship type, store the first memory data as a child node of the fourth memory data and update the memory state of the fourth memory data; wherein, if the relationship types are update relationship, conflict relationship, and redundant relationship, store the first memory data as a child node of the fourth memory data and update the memory state of the fourth memory data to be updated, replaced, or abandoned respectively.

[0136] The fourth memory data refers to historical memory data whose similarity to the first memory data is not less than a similarity threshold. In some implementations, the fourth memory can be the root node, internal node, or leaf node in the memory database. In some implementations, if there are multiple historical memory data entries with a similarity of not less than the similarity threshold to the first memory data, the historical memory data entry with the highest similarity to the first memory data can be used as the fourth memory data. When storing the first memory data, the fourth memory data is used as the parent node of the first memory data.

[0137] After determining the fourth memory data, the relationship type between the first memory data and the fourth memory data is determined, and the first memory data is stored based on the relationship type, and the data state of the fourth memory data is updated.

[0138] In some implementations, the relationship type between the first and fourth memory data can be determined in any way. For example, keywords or entities in the first and fourth memory data can be identified first; then, the relationship type between the first and fourth memory data can be determined based on keyword matching rules or entity matching rules. For example, the relationship type between the first and fourth memory data can be determined using a pre-trained sentence embedding model, a cross-encoder, or a large language model.

[0139] As mentioned above, the relationship between the first memory data and the fourth memory data can include types such as update, redundancy, and conflict.

[0140] Thus, when the relationship between the first memory data and the fourth memory data is an update relationship, it indicates that the first memory data is an update memory of the fourth memory data, and therefore the first memory data is stored as a child node of the fourth memory data. In some implementations, the complete memory content of the first memory can be stored in the first memory data; alternatively, the update content of the first memory data relative to the fourth memory data can be stored in the first memory data, while the content that overlaps between the first memory data and the fourth memory data is only stored in the fourth memory data, in order to save data storage space.

[0141] At the same time, in order to mark the memory relationship between the first memory data and the fourth memory data, the memory state of the fourth memory data is updated to "updated" to indicate that only part of the memory content of the fourth memory data has been corrected, but it is still in a valid state.

[0142] When the relationship between the first memory data and the fourth memory data is a conflict relationship, since the first memory data is newly added memory data, it is stored as a child node of the fourth memory data; at the same time, the memory state of the fourth memory data is updated to be replaced, so as to establish a conflict replacement association between the first memory data and the fourth memory data.

[0143] When the relationship between the first memory data and the fourth memory data is a redundant relationship, the first memory data and the fourth memory data have the same or highly similar semantics. Since the first memory data is newly added memory data, it is stored as a child node of the fourth memory data; simultaneously, the memory status of the fourth memory data is updated to be discarded, indicating that the fourth memory data has been invalidated. In some implementations, when the memory status of the fourth memory data is discarded, the memory content of the fourth memory data is merged into its corresponding child node.

[0144] In some implementations, when the relationship between the first memory data and the fourth memory data is a new memory relationship, the first memory is written as the root node into the memory database.

[0145] In some implementations, the following fields can be set for long-term memory in the memory database: Parent node identifier (parent_event_id): Used to identify the parent node of the current memory data; Change type (change_type): Used to indicate the relationship type between the current memory data and its parent node. The value of this field can be "Update", "Redundant", or "Conflict". Changed fields: When the current memory data and its parent node have an update relationship, this field is used to mark the fields that have been updated in the current memory data.

[0146] In some implementations, when the first memory data is short-term memory, the short-term memory similarity between the first memory data and historical memory data (e.g., the sixth memory data) is calculated; if the short-term memory similarity is greater than the similarity threshold, the short-term memory is written into the memory database as a child node of the sixth memory data, and the memory content of the short-term memory does not need to be recorded; if the short-term memory similarity is not greater than the similarity threshold, the short-term memory is written into the memory database as the root node.

[0147] In the embodiments provided in this application, when writing the first memory data, the storage method of the first memory data and the memory status update method of the historical memory data are determined by determining the similarity and relationship between the first memory data and the historical memory data. This can achieve efficient deduplication and version management of memory data, avoiding storage redundancy and conflicting information. Thus, a dynamically evolving and hierarchically clear memory network can be constructed to accurately track the user's cognitive trajectory. This improves the system's storage efficiency and retrieval accuracy, while also providing a basis for the memory forgetting mechanism.

[0148] In some implementations, the method further includes steps S15 to S17: Step S15: Determine at least one fifth memory data related to the user input information from the memory database; the at least one fifth memory data includes the first memory data.

[0149] Here, user input information refers to information entered by the user for retrieving the memory database. In some implementations, user input information can be any type of data. For example, user input information can be text data, image data, voice data, or multimodal data, etc.

[0150] The fifth memory data refers to memory data identified from the memory database that has a relevance to the user input information higher than a relevance threshold. In some implementations, the memory database can be retrieved based on any information in the user input information, such as keyword information, relationship type information, subject information, and semantic information, to identify at least one fifth memory data.

[0151] The at least one fifth memory data includes the first memory data, that is, the first memory data is hit by the user input information.

[0152] Step S16: Based on the relevance of the first memory data to the input information and the retrieval weight determined by the sinking and floating parameters corresponding to the first memory data, determine the relevance ranking of the first memory data in at least one fifth memory data.

[0153] Retrieval weight is a coefficient assigned to the primary memory data, used to characterize the current value of the primary memory data to the target user. It is evident that a higher retrieval weight indicates a higher current value of the primary memory data to the target user; conversely, a lower retrieval weight indicates a lower value.

[0154] Here, the retrieval weight corresponding to the first memory data is determined by combining the sinking parameter and the rising parameter. Since the sinking parameter represents parameters related to accelerating the forgetting of first memory data, a larger sinking parameter indicates a lower current value of the first memory to the target user, and correspondingly a lower retrieval weight is assigned to the first memory data. Conversely, since the rising parameter represents parameters related to slowing down the forgetting of first memory data, a larger rising parameter indicates a higher current value of the first memory to the target user, and correspondingly a higher retrieval weight is assigned to the first memory data.

[0155] Relevance ranking refers to the order of relevance of each fifth piece of memory data. The relevance ranking determines the final search results presented to the target user and directly affects the user experience.

[0156] In this embodiment, by introducing a retrieval weight for each fifth memory data point, dynamic sorting of at least one fifth memory data point can be achieved, rather than static sorting based solely on vector similarity. For example, the first memory in at least one fifth memory may have a higher relevance to the user input information than the second memory, but because the second memory has a higher retrieval weight, its final relevance ranking is higher.

[0157] In some implementations, for each fifth memory data, the relevance of the fifth memory data to the user input information and the retrieval weight of the fifth memory data can be weighted and summed or weighted and multiplied to obtain the target relevance of the fifth memory data; then, based on the target relevance, at least one fifth memory data is sorted to obtain the relevance ranking of each fifth data.

[0158] Step S17: Output the first memory data that meets the relevance ranking requirements.

[0159] Here, if the relevance ranking of the first memory data is high (e.g., greater than the specified ranking result), the first memory data is output.

[0160] As described above, the sinking parameter is determined based on at least one of the following: the storage duration of the first memory data, the dormancy duration of the first memory data, and the relationship type between the first memory data and the second memory data. The rising parameter is determined based on at least one of the following: the importance score corresponding to the first memory data, the frequency of the first memory data being hit, and the frequency of the second memory data being hit. Therefore, in the above embodiments provided in this application, determining the retrieval weight corresponding to the first memory based on the sinking and rising parameters can introduce multi-dimensional factors such as time decay, memory importance score, and access popularity to influence the retrieval results during the memory retrieval stage. This makes the ranking results of at least one fifth memory data more consistent with human cognitive intuition, thereby effectively improving the quality of retrieval results and user satisfaction.

[0161] In some implementations, the buoyancy state of the first memory data is determined based on the sinking and buoyancy parameters to manage the first memory data. That is, step S13 above can be implemented as the following steps S138 to S1310: Step S138: Determine the current memory score of the first memory data based on the sinking parameter, rising parameter, and perturbation parameter corresponding to the first memory data; Step S139: If the current memory score is greater than the previous memory score, determine that the first memory is in an up-floating state; in response to the first memory being in an up-floating state, perform at least one of the following: control the first memory to be in an accessible state, increase the retrieval weight corresponding to the first memory, or increase the pop-up weight of the first memory; Step S1310: If the current memory score is lower than the previous memory score, determine that the first memory is in a sinking state; in response to the first memory being in a sinking state, perform at least one of the following: reduce the retrieval weight corresponding to the first memory, reduce the content completeness of the first memory, or reduce the pop-up weight of the first memory.

[0162] Here, the current memory score of the first memory is a dynamic value used to quantify the overall value of the first memory data at the current moment. In some implementations, the current memory score of the first memory data can be determined in any way.

[0163] In some implementations, at least two of the sinking parameter, buoyancy parameter, and perturbation parameter corresponding to the first memory data can be weighted and summed to determine the current memory score of the first memory.

[0164] In some implementations, the sinking parameter, buoyancy parameter and disturbance parameter corresponding to the first memory data can be weighted and summed to obtain the pop-up score of the first memory data, and then the pop-up score can be used as the current memory score of the first memory.

[0165] In some implementations, the sinking and rising parameters corresponding to the first memory data can be weighted and summed to determine the forgetting score of the first memory data, and then the forgetting score can be used as the current memory score of the first memory data.

[0166] In some implementations, the mean, minimum, or maximum value of the sinking parameter, buoyancy parameter, and perturbation parameter corresponding to the first memory data can be used as the current memory score of the first memory.

[0167] In some implementations, memory scoring can be performed on multiple memory data in the memory database according to user instructions or a preset scoring period to obtain the corresponding current memory score.

[0168] The previous memory score of the current memory score refers to the memory score determined for the first memory data in the previous memory score before the current memory score. For example, the memory score determined for the first memory data in the previous scoring period, or the memory score determined for the first memory data based on the user's previous scoring instruction.

[0169] Thus, when the current memory score is higher than the previous memory score, the first memory data is in an "upward" state, and its current value to the target user increases. Therefore, in this upward state, the first memory data is kept accessible so that users can obtain it through retrieval or querying; the retrieval weight corresponding to the first memory data is increased so that it is easier to retrieve or be hit by search results in retrieval scenarios; and the pop-up weight of the first memory data is increased to improve the probability of it being actively popped up.

[0170] Conversely, when the current memory score is lower than the previous memory score, it indicates that the first memory data is in a sinking state and its current value to the target user has decreased. Therefore, in this sinking state, the retrieval weight corresponding to the first memory data is reduced to decrease the probability of outputting the first memory in a retrieval scenario, or to reduce the probability of being hit by the query information; the completeness of the first memory data content is reduced, for example, by deleting part of the memory content of the first memory data through hierarchical forgetting; and the popping weight of the first memory data is reduced to decrease the probability of the first memory data being actively popped.

[0171] In the embodiments provided in this application, the current state of the first memory data (whether it is in a floating or sinking state) is determined based on the sinking parameters, floating parameters, and disturbance parameters of the first memory data. Corresponding memory management operations are then performed, which can effectively identify the changing trend of the memory value of the first memory data, facilitating dynamic adjustment of the management strategy for the first memory data. Simultaneously, by managing the first memory data in the floating state, high-value first memory data can be prioritized for retention or push, enhancing the efficiency of users acquiring first memory data and thus improving the user's interactive experience. By managing the first memory data in the sinking state, storage resources can be allocated collaboratively, balancing storage efficiency and information availability.

[0172] As can be seen from the above, the memory data management method provided in this application, on the one hand, treats the target user's memory data as objects with a specific density in the sea of ​​consciousness, and configures sinking parameters, buoyancy parameters, and perturbation parameters for each memory. The sinking parameters simulate the natural decay over time in the forgetting curve, the buoyancy parameters simulate the "importance density" of the memory itself, and the perturbation parameters simulate the upward thrust experienced by a memory when activated by an external force in cognitive science. Based on these parameters, the memory data is managed, thus constructing an intelligent memory management method based on a cognitive buoyancy model. On the other hand, through a hierarchical forgetting mechanism, a one-size-fits-all deletion of memory data can be avoided. This allows for the priority removal of low-value original data when storage space is limited, while retaining high-level abstract data. Semantic information effectively balances storage resource consumption and memory fidelity, fully simulating the human cognitive experience of "remembering something but not recalling the specific details." Furthermore, by determining perturbation parameters based on both arousal and accumulation paths, and then using these parameters to determine whether to pop up memory data, memory data evolves from passively waiting to be retrieved to actively prompting and popping up, achieving "environment-aware" interaction and significantly improving user-perceived intelligence. Simultaneously, by configuring a cooldown period mechanism for the active pop-up mechanism, frequent pop-up of memory data can avoid interfering with users. Finally, by introducing a resonance effect to multiple memory data entries in the same set, the system can automatically discover and strengthen memory topics of user interest without manual intervention, further enhancing the intelligence of memory data management methods.

[0173] like Figure 3 As shown, the user's sea of ​​consciousness 300 contains various types of memory data 320. Circles with grid shading represent short-term memory; rectangles with diagonal shading represent long-term memory; hexagons with dotted shading represent raw multimodal data; and pentagons with dotted shading represent sets of multiple memory data. The surface of consciousness 310 in the sea of ​​consciousness 300 represents the pop-up threshold for memory data. When the pop-up score corresponding to memory data, or the pop-up score corresponding to a set, exceeds the pop-up threshold, that memory data or set will pop out of the surface of consciousness 310.

[0174] For example, after a user's college entrance exam score has been stored for 300 days, when information related to "college entrance exam" appears in the external environment, this memory data is awakened and surfaced in consciousness (310). Another example is a less important task memory that, after being triggered multiple times by related events, gains significant cumulative power and thus surfaces in consciousness (310). Yet another example is when a user's newly written data, "Walking on the beach today," matches their memory set from a beach trip last year; through a resonance effect, this entire memory set is surfaced in consciousness (310). Figure 4 As shown, the collection of memories from last year's trip to the seaside is represented by a dashed box 400.

[0175] Based on the foregoing embodiments, this application provides an electronic device. For example... Figure 5 As shown, the electronic device 500 includes: a memory 510 and at least one processor 520; wherein the memory 510 is used to store computer programs; and the processor 520, when executing computer programs, is used to perform the following steps: Generate a memory database based on multimodal data related to the target users; Determine the sinking and rising parameters corresponding to the first memory data in the memory database; the sinking parameters represent parameters related to the first memory data that accelerates forgetting; the rising parameters represent parameters related to the first memory data that slows down forgetting. Based on the sinking and buoyancy parameters, the floating and sinking status of the first memory data in the memory database is determined in order to manage the first memory data.

[0176] In some implementations, processor 520 is used for: Determine the sinking parameter corresponding to the first memory data based on at least one of the following: the storage duration of the first memory data, the dormancy duration of the first memory data, and the relationship type between the first memory data and the second memory data; The upward parameter corresponding to the first memory data is determined based on at least one of the importance score corresponding to the first memory data, the frequency of the first memory data being hit, and the frequency of the second memory data being hit. The second memory data represents the memories in the memory database that are related to the first memory data.

[0177] In some implementations, processor 520 is used for: Semantic recognition and hierarchical generation are performed on multimodal data to obtain a memory database; The first memory data in the memory database has at least two levels, with each level having a different level of abstraction.

[0178] In some implementations, processor 520 is used for: The forgetting score corresponding to the first memory data is determined based on the sinking and buoyancy parameters. Based on the forgetting score, the forgetting level of the first memory data is determined so as to perform stratified forgetting of the first memory data; Among them, the higher the forgetting score, the higher the level of forgetting is determined, and the higher the degree of abstraction of the forgotten content of the first memory data; The maximum level of forgetting of the first memory data represents the degree to which the first memory data is allowed to be forgotten or completely forgotten.

[0179] In some implementations, the processor 520 is also used for: Determine the perturbation parameters corresponding to the first memory data; the perturbation parameters characterize the parameters related to actively ejecting the first memory data; The pop-up score corresponding to the first memory data is determined based on the sinking parameters, rising parameters, and disturbance parameters. Update the pop-up status of the first memory data based on the pop-up score, so that the first memory data can be actively popped up.

[0180] In some implementations, processor 520 is used for: Determine the perturbation parameter corresponding to at least one third memory data; each third memory data represents memory data that belongs to the same set as the first memory data. Based on the perturbation parameters corresponding to the first memory data and the perturbation parameters corresponding to each third memory data, determine the combined pop score corresponding to the first memory data and at least one third memory data. Based on the overall pop-up score, determine the pop-up status of the first memory data and at least one third memory data.

[0181] In some implementations, processor 520 is used for: When the first memory data is triggered by external input information, the first trigger score corresponding to the first memory data is determined based on the importance score and dormancy duration of the first memory data. Based on all historical hit records and / or hit records within the first duration corresponding to the first memory data, determine the second trigger score corresponding to the first memory data; The perturbation parameter corresponding to the first memory data is determined based on at least one of the first trigger score and the second trigger score.

[0182] In some implementations, the processor 520 is also used for: If the similarity between the first memory data and the historical memory data in the memory database is less than the similarity threshold, the first memory data will be stored as the root node in the memory database. If the similarity between the first memory data and the fourth memory data in the memory database is not less than the similarity threshold, determine the relationship type between the first memory data and the fourth memory data; according to the relationship type, store the first memory data as a child node of the fourth memory data, and update the memory state of the fourth memory data; In cases where the relationship types are update relationship, conflict relationship, and redundant relationship, the first memory data is stored as a child node of the fourth memory data, and the memory status of the fourth memory data is updated to be updated, replaced, or abandoned, respectively.

[0183] In some implementations, the processor 520 is also used for: Determine at least one fifth memory data related to the user input information from the memory database; the at least one fifth memory data includes the first memory data. Based on the relevance of the first memory data to the input information, and the retrieval weight determined by the sinking and rising parameters corresponding to the first memory data, the relevance ranking of the first memory data in at least one fifth memory data is determined; Output the first memory data that meets the relevance ranking requirements.

[0184] In some implementations, processor 520 is used for: The current memory score of the first memory data is determined based on the sinking parameters, buoyancy parameters, and perturbation parameters corresponding to the first memory data. If the current memory score is greater than the previous memory score, determine that the first memory data is in an up-floating state; in response to the first memory data being in an up-floating state, perform at least one of the following: control the first memory data to be in an accessible state, increase the retrieval weight corresponding to the first memory data, or increase the pop-up weight of the first memory data; If the current memory score is lower than the previous memory score, the first memory data is determined to be in a sinking state; in response to the first memory data being in a sinking state, at least one of the following is executed: reduce the retrieval weight corresponding to the first memory data, reduce the content completeness of the first memory data, or reduce the pop-up weight of the first memory data.

[0185] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. In some embodiments, the functions or included units of the device provided in this application can be used to perform the methods described in the above method embodiments. For technical details not disclosed in the device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0186] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A method for managing stored data, comprising: Generate a memory database based on multimodal data related to the target users; Determine the sinking and buoyancy parameters corresponding to the first memory data in the memory database; The sinking parameter represents a parameter related to accelerating the forgetting of the first memory data; the buoyancy parameter represents a parameter related to slowing down the forgetting of the first memory data. Based on the sinking parameter and the buoyancy parameter, the floating state of the first memory data in the memory database is determined in order to manage the first memory data.

2. The method according to claim 1, wherein determining the sinking parameter and rising parameter corresponding to the first memory data in the memory database includes: The sinking parameter corresponding to the first memory data is determined based on at least one of the storage duration of the first memory data, the dormancy duration of the first memory data, and the relationship type between the first memory data and the second memory data. The upswing parameter corresponding to the first memory data is determined based on at least one of the importance score corresponding to the first memory data, the frequency at which the first memory data is hit, and the frequency at which the second memory data is hit. The second memory data represents the memory in the memory database that is related to the first memory data.

3. The method according to claim 1, wherein generating the memory database based on multimodal data related to the target user comprises: The multimodal data is subjected to semantic recognition and hierarchical generation processing to obtain a memory database; The first memory data in the memory database has at least two levels, and the content of each level has a different level of abstraction.

4. The method according to claim 3, wherein determining the floating / sinking state of the first memory data in the memory database based on the sinking parameter and the buoyancy parameter, for managing the first memory data, comprises: The forgetting score corresponding to the first memory data is determined based on the sinking parameter and the buoyancy parameter. Based on the forgetting score, the forgetting level of the first memory data is determined so as to perform stratified forgetting of the first memory data; The higher the forgetting score, the higher the determined forgetting level, and the higher the degree of abstraction of the forgotten content of the first memory data; The maximum forgetting level of the first memory data represents the degree to which the first memory data is allowed to be forgotten or completely forgotten.

5. The method according to claim 1 or 2, further comprising: Determine the perturbation parameters corresponding to the first memory data; The perturbation parameter represents the parameter related to actively popping the first memory data; The step of determining the buoyancy state of the first memory data based on the sinking parameter and the buoyancy parameter for managing the first memory data further includes: The pop-up score corresponding to the first memory data is determined based on the sinking parameter, the rising parameter, and the disturbance parameter. Based on the pop-up score, update the pop-up status of the first memory data to actively pop up the first memory data.

6. The method according to claim 5, wherein determining the buoyancy state of the first memory data based on the sinking parameter and the buoyancy parameter for managing the first memory data further includes: Determine the perturbation parameters corresponding to at least one third memory data point; Each of the third memory data represents memory data that is in the same set as the first memory data; Based on the perturbation parameters corresponding to the first memory data and the perturbation parameters corresponding to each of the third memory data, determine the comprehensive pop-up score corresponding to the first memory data and the at least one third memory data. Based on the comprehensive pop-up score, the pop-up status of the first memory data and the at least one third memory data is determined.

7. The method according to claim 5, wherein determining the perturbation parameter corresponding to the first memory data includes: When the first memory data is triggered by external input information, the first trigger score corresponding to the first memory data is determined based on the importance score and dormancy duration of the first memory data. Based on all historical hit records and / or hit records within the first duration corresponding to the first memory data, determine the second trigger score corresponding to the first memory data; The perturbation parameter corresponding to the first memory data is determined based on at least one of the first trigger score and the second trigger score.

8. The method according to claim 1, further comprising: If the similarity between the first memory data and the historical memory data in the memory database is less than the similarity threshold, the first memory data is stored as the root node in the memory database. If the similarity between the first memory data and the fourth memory data in the memory database is not less than a similarity threshold, the relationship type between the first memory data and the fourth memory data is determined. According to the relationship type, the first memory data is stored as a child node of the fourth memory data, and the memory state of the fourth memory data is updated; In cases where the relationship types are update, conflict, and redundancy, the first memory data is stored as a child node of the fourth memory data, and the memory status of the fourth memory data is updated to be updated, replaced, or abandoned, respectively.

9. The method according to claim 1, further comprising: Determine at least one fifth memory data related to the user input information from the memory database; The at least one fifth memory data includes the first memory data; Based on the relevance of the first memory data to the input information, and the retrieval weight determined by the sinking and floating parameters corresponding to the first memory data, the relevance ranking of the first memory data in the at least one fifth memory data is determined; Output the first memory data that meets the relevance ranking requirements.

10. The method according to claim 5, wherein determining the buoyancy state of the first memory data based on the sinking parameter and the buoyancy parameter for managing the first memory data comprises: The current memory score of the first memory data is determined based on the sinking parameter, rising parameter, and perturbation parameter corresponding to the first memory data. If the current memory score is greater than the previous memory score, the first memory data is determined to be in an up-floating state; in response to the first memory data being in an up-floating state, at least one of the following is performed: controlling the first memory data to be in an accessible state, increasing the retrieval weight corresponding to the first memory data, and increasing the pop-up weight of the first memory data. If the current memory score is less than the previous memory score, the first memory data is determined to be in a sinking state; in response to the first memory data being in a sinking state, at least one of the following is performed: reducing the retrieval weight corresponding to the first memory data, reducing the content completeness of the first memory data, and reducing the pop-up weight of the first memory data.

11. An electronic device, comprising: A memory and at least one processor; wherein the memory is used to store a computer program; and the processor, when executing the computer program, performs the following steps: Generate a memory database based on multimodal data related to the target users; Determine the sinking parameter and the rising parameter corresponding to the first memory data in the memory database; the sinking parameter represents the parameter related to accelerating the forgetting of the first memory data; the rising parameter represents the parameter related to slowing down the forgetting of the first memory data. Based on the sinking parameter and the buoyancy parameter, the floating state of the first memory data in the memory database is determined in order to manage the first memory data.