## 3 Materials and Methods
### Sentiment Analysis of Attributes  
#### 3.4.1 Calculation of Sub-Attribute Sentiment Values  
According to the principle of Lexicon-based methods to sentiment analysis, the polarity of a sentence can be obtained from the polarities of words in that sentence [62]. To obtain the sentiment value of each sub-attribute from different sub-datasets, we calculate the sentiment value of each sentence in different sub-datasets and record whether sub-attribute \(B_{ij}\) exists in that sentence. For a single dataset, let \(\beta_{q}^{l}=\left(G_{q}^{l},SO_{q}^{l}\right)\) be a two-tuple consisting of the \(qth\) sentiment word \(G_{q}^{l}\) and corresponding sentiment value \(SO_{q}^{l}\) of the \(lth\) sentence, where \(l=1,2,\dots,L\), with \(L\) denoting the number of sentences in the dataset, \(q=1,2,\dots,Q\), with \(Q\) denoting the number of sentiment words, and \(G_{q}^{l}\) belongs to the sentiment lexicon we created. Then, let \(\beta^{l}=\left\{\beta_{1}^{l},\beta_{2}^{l},\dots,\beta_{q}^{l},\dots,\beta_{ Q}^{l}\right\}\) be a set of pairs of sentiment words and the corresponding sentiment values in the \(lth\) sentence. For sub-attribute \(B_{ij}\) existing in the \(lth\) sentence, the sentiment value of \(B_{ij}\) in the \(lth\) sentence is calculated by the following Equation (4):  
\[S_{ij}^{l}=\left\{ \begin{array}{ll}\mid\sum\limits_{q=1}^{Q}SO_{q}^{l},& \beta^{l}\
eq\varnothing\\ \mid 0,&\beta^{l}=\varnothing\end{array} \right. \tag{4}\]  
where \(l=1,2,\dots,L\), with \(L\) denoting the number of sentences in the dataset. To improve the accuracy of sub-attributes sentiment polarities, it is important to take the intensifiers and negators into account since these words can affect the sentiment values [46; 56]. The sentiment propagation for intensification and negation is described as follows. Propagation 1: Intensification. Intensifiers are linguistic terms that primarily combine with adjectives, as well as modify nouns, adverbs and verbs. These words serve to influence the strength of the sentiment word, enhancing or diminishing the sentiment strength. The most common way of identifying these valence shifters is using a list of words, such as adverbs and adjectives, associated with fixed values for intensifiers [100; 101]. In this study, we used a list of intensifiers, adapted from Brooke, where each element is a modifier that emphasizes or attenuates words [102]. Let \(\gamma_{r}\) represent the shift value of intensifier \(r\), where \(r=1,2,\ldots,R\). Following the above description of sentiment calculation, for a dataset, if there're intensifiers existing in \(l\)th sentence, the sum of these shift values \(\gamma_{l}^{sum}\) is calculated. If not, the \(\gamma_{l}^{sum}\) is assigned zero. The propagation of \(S_{ij}^{l}\) is represented as:  
\[\overline{S}_{ij}^{l}=S_{ij}^{l}+S_{ij}^{l}\;\gamma_{l}^{sum} \tag{5}\]  
where \(l=1,2,\ldots,L\), with \(L\) denoting the number of sentences in the dataset. Propagation 2: Negation. In sentiment analysis, negators are the words like \"not\" that cause negation. Negators could alter the meaning of a word, sentence or provide a negation context, like converting an affirmative statement into a negative statement. The most common way to process negators is attaching these terms to the nearest words [96]; i.e., in \"This story is not interesting\", the word \"interesting\" is converted into \"NOT-interesting\". In this processing method, negators are considered as polarity shifters of polar expressions that produce the opposite polarity. In other words, the polarity value was simply inverted if a polar expression fell within the negation scope [101]. Thus, as the term \"perfect\" assigned a positive sentiment value of \(+4\), \"NOT-perfect\" has the sentiment value of \(-4\). However, some researchers hold the opinion that it is more reasonable to decrease the strength of sentiment words rather than directly invert them [96; 102].