-
Notifications
You must be signed in to change notification settings - Fork 0
CLNCS
The CLNCS
program compares the nDCG values of different variants of algorithms with and without "length normalization", checking whether satisfying the CLNCs and the EW-CLNC axiom improves the accuracy of the recommendations. This program can be used to generate Figure 3(a). If the graph has weights, the program will use both the weighted and unweighted variants.
The command to execute this program is the following:
java -jar contact-rec-axioms.jar clncs train test algorithmsFile outputDirectory directed weighted recLength printRecs
where
-
train
: is the file containing the training graph. -
test
: is the file containing the test edges. -
algorithmsFile
: is the XML file containing the algorithms to compare (see conf. files). Only algorithms which have variants without length normalization will be executed. The methods which have those variants are:BM25
EBM25
QLJM
QLD
Pivoted normalization VSM
-
outputDirectory
a directory where to store the recommendations and the comparison file. -
directed
:true
if the graph is directed,false
otherwise. -
weighted
:true
if the graph has weights,false
otherwise. Iftrue
, both weighted and unweighted variants will be executed -
recLength
: the maximum number of recommended people for each target user (in our experiments, 10) -
printRecs
:true
if we want to store the recommendations,false
if we just want the comparison file.
After execution, if the printRecs
option is set to true
, the output directory will contain two subdirectories: one called lennorm
which will contain the all the recommendations which normalize by the length of the candidate user, and another called nolennorm
which will contain the recommenders which do not do it. The base folder will then contain, for each algorithm, a file, named clncs_algorithm.txt
(e.g. for BM25, the file shall be called clncs_BM25.txt
).