Skip to content
Javier Sanz-Cruzado edited this page Jan 23, 2020 · 4 revisions

Description

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.

Execution

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. If true, 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.

Outcome

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).

Clone this wiki locally