## 3 The Proposed System
### Sentence Classification
Each member of the list is a tuple consisting of the target sentence, the label, and the most similar reference sentence to the target sentence. 6:functionSentenceClassification(\(RA\), \(TAs\), \(RA\_named\_ents\), \(TAs\_named\_ents\), \(S\))
7:\(RA\_sent\_set\leftarrow\)Sentence_splitting(\(RA\)) //(the reference article is split into sentences)
8:\(RA\_enc\_sent\_set\leftarrow\emptyset\)
9:\(S\leftarrow\emptyset\)
10:\(RA\_keywords\leftarrow\)KeyBERT(\(RA\_sent\_set\)) //(keywords are extracted from the reference article)
11:\(list\_of\_RA\_repr\_w\gets\)\(\mathit{Merge}(RA\_keywords,RA\_named\_ents)\) //(keywords and named entities are merged into a unique list of representative words for the reference article)
12:for each sent in \(RA\_sent\_set\)do
13:\(RA\_enc\_sent\_set\leftarrow\)Sentence_BERT(\(sent\)) //(the sentences of the reference article are encoded by using Sentence-Bert)
14:endfor
15:for each target_article in \(TAs\)do
16:\(TA\_sent\_set\leftarrow\)Sentence_splitting(\(target\_article\)) //(the target article is split into sentences)
17:\(TA\_keywords\gets\)KeyBERT(\(TA\_sent\_set\)) //(keywords are extracted from the target article)
18:\(list\_of\_TA\_repr\_w\gets\)\(\mathit{Merge}(TA\_keywords,TA\_named\_ents)\) //(keywords and named entities are merged into a unique list of representative words for the target article)
19:\(TA\_enc\_sent\_set\leftarrow\emptyset\)
20:for each sent in \(TA\_sent\_set\)do
21:\(TA\_enc\_sent\_set\leftarrow\)Sentence_BERT(\(sent\)) //(the sentences of the target article are encoded by using Sentence-Bert)
22:endfor
23:\(S\leftarrow\)TargetSentenceLabeling(\(RA\_enc\_sent\_set,TA\_enc\_sent\_set,S\))
24:\(S\leftarrow\)LengthBasedRefinement(\(S\),list\_of\_TA\_repr\_w,list\_of\_RA\_repr\_w\)
25:\(S\leftarrow\)KeywordBasedRefinement(\(S\),list\_of\_TA\_repr\_w,list\_of\_RA\_repr\_w)
26:if all the sentences of the target article are labeled as VDS then
27: remove all the sentences from S
28:endif
29:endfor
30:return S
31:endfunction
```  
**Algorithm 1** The pseudocode of the algorithm used in the 'Sentence Classification' module  
Once each sentence in the target article has been classified, we tune our labeling by taking the sentence length into account by calling the _LengthBasedRefinement()_ function. Finally, we further tune the labeling by considering shared keywords between sentences by calling the _KeywordBasedRefinement()_ function. If all the sentences in the target article are labeled as VDS, the article is removed (all its sentences are removed). This enables us to integrate the check based on the named entities executed in Section 3.1 with an additional check based on cosine similarity, in order to delete potential articles that do not align with the topic of the reference article. Notably, we can highlight some important differences between the proposed system and typical approaches to sentence similarity. These approaches usually compare pairs of sentences to obtain a similarity score, e.g., a value in the [0, 1] range or a similarity label. These sentences are often considered out of their context. Our system takes into account sentence-level similarity in a document-level context: each target sentence (and, thus, each target article) is evaluated based on its similarity with a specific set of reference sentences. The three sentence-level classes provide us with a way to determine document-level similarity as well, answering the question \"how many and which parts of the target document are similar/dissimilar to the reference one?\". In the following, we detail the three functions used in the Sentence Classification module.