@Override public void loadFromString(final String fullText) { try (final BufferedReader in = new BufferedReader(new StringReader(fullText))) { String content = ""; KeyValuePair kvp = null; while ((content = in.readLine()) != null) { content = content.trim(); if (content.length() == 0) { continue; } if (content.indexOf("##") == 0) { continue; } kvp = new KeyValuePair(content); break; } assert (kvp != null); final List<String> keys = kvp.keys(); final List<String> values = kvp.values(); weight = new double[keys.size()]; features = new int[keys.size()]; for (int i = 0; i < keys.size(); i++) { features[i] = Integer.parseInt(keys.get(i)); weight[i] = Double.parseDouble(values.get(i)); } } catch (final Exception ex) { throw RankLibError.create("Error in CoorAscent::load(): ", ex); } }
public KeyValuePair(String text) { try { int idx = text.lastIndexOf("#"); if(idx != -1)//remove description at the end of the line (if any) text = text.substring(0, idx).trim();//remove the comment part at the end of the line String[] fs = text.split(" "); for(int i=0;i<fs.length;i++) { fs[i] = fs[i].trim(); if(fs[i].compareTo("")==0) continue; keys.add(getKey(fs[i])); values.add(getValue(fs[i])); } } catch(Exception ex) { System.out.println("Error in KeyValuePair(text) constructor"); } } public List<String> keys()
if(content.indexOf("##")==0) continue; kvp = new KeyValuePair(content); break; assert(kvp != null); List<String> keys = kvp.keys(); List<String> values = kvp.values(); weight = new double[keys.size()]; features = new int[keys.size()];
public KeyValuePair(String text) { try { final int idx = text.lastIndexOf('#'); if (idx != -1) { text = text.substring(0, idx).trim();//remove the comment part at the end of the line } final String[] fs = text.split(" "); for (int i = 0; i < fs.length; i++) { fs[i] = fs[i].trim(); if (fs[i].isEmpty()) { continue; } keys.add(getKey(fs[i])); values.add(getValue(fs[i])); } } catch (final Exception ex) { throw RankLibError.create("Error in KeyValuePair(text) constructor", ex); } }
continue; kvp = new KeyValuePair(content); break; final List<String> keys = kvp.keys(); final List<String> values = kvp.values(); weight = new double[keys.size()]; features = new int[keys.size() - 1];//weight = <weight for each feature, constant>
continue; kvp = new KeyValuePair(content); break; final List<String> keys = kvp.keys(); final List<String> values = kvp.values(); rweight = new ArrayList<>(); rankers = new ArrayList<>();
if(content.indexOf("##")==0) continue; kvp = new KeyValuePair(content); break; List<String> keys = kvp.keys(); List<String> values = kvp.values(); rweight = new ArrayList<>(); rankers = new ArrayList<>();
if(content.indexOf("##")==0) continue; kvp = new KeyValuePair(content); break; List<String> keys = kvp.keys(); List<String> values = kvp.values(); weight = new double[keys.size()]; features = new int[keys.size()-1];//weight = <weight for each feature, constant>