## 3 Method
### Event Tree Generation
#### 3.5.1 Event Tree Construction  
The event node is used to illustrate the merged events and takes the form of \"time: summary\", such as \"1953: [PERSON] met his wife in 1953 in North Korea\". The time component is from the time element of the merged event, and the summary component is the event summary extracted from the most reliable event determined in Section 3.4.2. We adopted the approach proposed in paper [33] to implement event summary generation. Furthermore, it is worth noting that oft-mentioned life stories and infrequently mentioned life stories hold distinct meanings for an individual. As a result, we have employed a color-coded scheme to differentiate event nodes of varying frequencies. The oft-mentioned life stories can serve as a bridge between caregivers and older adults [44].  
We aim to form the event branch by creating an event timeline for events in the same cluster based on their time distance and similarity. The following procedures are followed. Firstly, we arrange the events with a non-null time element in chronological order, denoted as \(S_{l}\). For each event node \(E_{i}\) with a null time element, we determine its similarity with each event in \(S_{t}\) based on \(\varphi_{E}\) to identify the most relevant event node \(E_{j}^{t}\) in \(S_{t}\). Here, we use the features obtained by dimensionality reduction in the DBN to compute the similarity between event nodes. We represent the n-dimensional feature vector of event node \(E\) after dimensionality reduction as \(\mathbf{\tilde{E}}\). The cosine similarity \(\varphi_{E}\) can be computed as follows:  
\[\varphi_{E}(\mathbf{\tilde{E}}_{i},\mathbf{\tilde{E}}_{j})=\frac{\sum_{k=1}^{n}\mathbf{ \tilde{E}}_{i,\mathbf{k}}\times\mathbf{\tilde{E}}_{j,\mathbf{k}}}{\sqrt{\sum_{k=1}^{n}( \mathbf{\tilde{E}}_{i,\mathbf{k}})^{2}}\sqrt{\sum_{i=1}^{n}(\mathbf{\tilde{E}}_{j,\mathbf{k}} )^{2}}} \tag{13}\]  
Then, we compare \(\varphi_{E}(\mathbf{\tilde{E}}_{i},\mathbf{\tilde{E}}_{j-1}^{t})\) and \(\varphi_{E}(\mathbf{\tilde{E}}_{i},\mathbf{\tilde{E}}_{j+1}^{t})\). This is to determine whether \(E_{i}\) should be inserted before or after \(E_{j}^{t}\). If \(\varphi_{E}(\mathbf{\tilde{E}}_{i},\mathbf{\tilde{E}}_{j-1}^{t})\) is larger than \(\varphi_{E}(\mathbf{\tilde{E}}_{i},\mathbf{\tilde{E}}_{j+1}^{t})\), we insert \(E_{i}\) before \(E_{j}^{t}\), otherwise, we insert \(E_{i}\) after \(E_{j}^{t}\). The final event sequence \(S_{t}\) forms an event branch in the life event tree.  
Figure 7: The D2E-EC clustering framework. Each event feature vector \(\mathbf{E}=(\mathbf{E}\mathbf{m},\mathbf{E}\mathbf{t},\mathbf{E}\mathbf{c})\) is first input into DBN to reduce the dimensionality. Then, the low-dimensional vector is used as the input of the clustering algorithm DBSCAN for event clustering.  
The topic node serves to illustrate the central theme of each event cluster and serves as the basis for the life event tree. The topic node is represented as \"time period: topic word one, topic word two,..., topic word n\", for instance, \"1946-1955: Soldier, Shandong\". The time period spans across the events in the same branch. Hence, we extract the start time from the first event with a non-null time element in the branch and use the end time from the last event with a non-null time element. The topic words are obtained using the TextRank algorithm [45], and we select the two highest-ranked topic words for the topic node.  
We can construct the life event tree by utilizing the event nodes, event branches, and topic nodes. To begin with, a root node is added as the starting point of the event tree. The topic nodes are organized in chronological order based on the start time of the time period to form the core of the event tree. Subsequently, each event branch is linked to the corresponding topic node to create the branch.