Commit 75de27a96394f87c834f0fbd842f281942026927

Authored by Tássia Camões Araújo
1 parent e77dc1ed
Exists in master and in 1 other branch add_vagrant

Added option for recommender weighting scheme and removed debtags_db options.

Showing 1 changed file with 19 additions and 23 deletions   Show diff stats
src/config.py
... ... @@ -46,8 +46,8 @@ class Config():
46 46 self.popcon_index = "~/.app-recommender/popcon_index"
47 47 self.popcon_dir = "~/.app-recommender/popcon_dir"
48 48 self.clusters_dir = "~/.app-recommender/clusters_dir"
49   - self.strategy = "cta" # defaults to the cheapest one
50   - self.reindex = 0
  49 + self.strategy = "cb" # defaults to the cheapest one
  50 + self.weight = "bm25"
51 51 self.load_options()
52 52 self.set_logger()
53 53  
... ... @@ -63,22 +63,24 @@ class Config():
63 63 print " -c, --config=PATH Path to configuration file."
64 64 print ""
65 65 print " [ recommender ]"
66   - print " -t, --tagsdb=PATH Path to debtags database."
67   - print " -i, --tagsindex=PATH Path to debtags dedicated index."
68   - print " -r, --force-reindex Force reindexing debtags database."
69 66 print " -a, --axi=PATH Path to Apt-xapian-index."
70 67 print " -p, --popconindex=PATH Path to popcon dedicated index."
71 68 print " -m, --popcondir=PATH Path to popcon submissions dir."
72 69 print " -l, --clustersdir=PATH Path to popcon clusters dir."
  70 + print " -w, --weight=OPTION Search weighting scheme."
73 71 print " -s, --strategy=OPTION Recommendation strategy."
74 72 print ""
  73 + print " [ weight options ] "
  74 + print " trad = traditional probabilistic weighting "
  75 + print " bm25 = bm25 weighting scheme "
  76 + print ""
75 77 print " [ strategy options ] "
76   - print " ct = content-based using tags "
77   - print " cta = content-based using tags via apt-xapian-index"
78   - print " cp = content-based using package descriptions "
  78 + print " cb = content-based "
  79 + print " cbt = content-based using only tags as content "
  80 + print " cbd = content-based using only package descriptions as content "
79 81 print " col = collaborative "
80   - print " colct = collaborative through tags content "
81   - print " colcp = collaborative through package descriptions content "
  82 + #print " colct = collaborative through tags content "
  83 + #print " colcp = collaborative through package descriptions content "
82 84  
83 85 def read_option(self, section, option):
84 86 """
... ... @@ -108,19 +110,17 @@ class Config():
108 110 self.output_filename = self.read_option('general', 'output')
109 111 self.config = self.read_option('general', 'config')
110 112  
111   - self.tags_db = self.read_option('recommender', 'tags_db')
112   - self.tags_index = self.read_option('recommender', 'tags_index')
113   - self.reindex = self.read_option('recommender', 'reindex')
114 113 self.axi = self.read_option('recommender', 'axi')
115 114 self.popcon_index = self.read_option('recommender', 'popcon_index')
116 115 self.popcon_dir = self.read_option('recommender', 'popcon_dir')
117 116 self.clusters_dir = self.read_option('recommender', 'clusters_dir')
  117 + self.weight = self.read_option('recommender', 'weight')
  118 + self.strategy = self.read_option('recommender', 'strategy')
118 119  
119   - short_options = "hdvo:c:t:i:ra:p:m:s:"
  120 + short_options = "hdvo:c:a:p:m:l:w:s:"
120 121 long_options = ["help", "debug", "verbose", "output=", "config=",
121   - "tagsdb=", "tagsindex=", "reindex", "axi=",
122   - "popconindex=", "popcondir=", "clustersdir=",
123   - "strategy="]
  122 + "axi=", "popconindex=", "popcondir=", "clustersdir=",
  123 + "weight=", "strategy="]
124 124 try:
125 125 opts, args = getopt.getopt(sys.argv[1:], short_options,
126 126 long_options)
... ... @@ -142,12 +142,6 @@ class Config():
142 142 self.output = p
143 143 elif o in ("-c", "--config"):
144 144 self.config = p
145   - elif o in ("-t", "--tagsdb"):
146   - self.tags_db = p
147   - elif o in ("-i", "--tagsindex"):
148   - self.tags_index = p
149   - elif o in ("-r", "--force-reindex"):
150   - self.reindex = 1
151 145 elif o in ("-a", "--axi"):
152 146 self.axi = p + "/index"
153 147 self.axi_values = p + "/values"
... ... @@ -157,6 +151,8 @@ class Config():
157 151 self.popcon_dir = p
158 152 elif o in ("-l", "--clustersdir"):
159 153 self.popcon_dir = p
  154 + elif o in ("-w", "--weight"):
  155 + self.weight = p
160 156 elif o in ("-s", "--strategy"):
161 157 self.strategy = p
162 158 else:
... ...