Skip to main content
. 2023 Nov 9;9:e1567. doi: 10.7717/peerj-cs.1567

Algorithm 1 . Identifying related posts.

Input: Set of posts D
 Input: Set of attributes Δ
 Input: K value
 Input: Sentence-BERT model
1foreach discussion di D do
2    DD+preprocessing(di);
3 end
4 /*similarityChecker*/
5 foreach discussion diD do
6   foreach discussion dj,(djdi)D do
7    masteridi;
8    targetjdj;
9    similarity_valuei_jsimilarity(masteri,targetj) / ∗ Using model ∗ /;
10     tuple(masteri,targetj,similarity_valuei_j);
11     save(tuple,similarity_values_file);
12   end
13 end
14 /Descriptive Statistic calculation and Threshold definition/
15 S{}
16 foreach discussion diD do
17   masteridi;
18   S=S+topK_sim_values(masteri,K);
19 end
20 Q125th_percentile(S);
21 Q250th_percentile(S);
22 Q375th_percentile(S);
23 IQRQ3Q1;
24 Trelated=Q3+(1.5IQR);
25 /Selection of related post candidates/
26 R{};
27 foreach masteri,targetj,similarity_valuei_jsimilarity_values_file do
28  if (similarity_valuei_jTrelated) then RR+(masteri,targetj);
29 end
30 return R;