@Override public SRResultList mostSimilar(int pageId, int maxResults) throws DaoException { return mostSimilar(pageId, maxResults, null); }
private void writeSim(SparseMatrixWriter writer, Integer wpId, TIntSet colIds, int maxSimsPerDoc, AtomicInteger idCounter, AtomicLong cellCounter) throws IOException, DaoException { if (idCounter.incrementAndGet() % 10000 == 0) { LOG.info("finding matches for page " + idCounter.get()); } SRResultList scores = mostSimilar(wpId, maxSimsPerDoc, colIds); if (scores != null) { int ids[] = scores.getIds(); cellCounter.getAndIncrement(); writer.writeRow(new SparseMatrixRow(writer.getValueConf(), wpId, ids, scores.getScoresAsFloat())); } }
@Override public SRResultList mostSimilar(String phrase, int maxResults, TIntSet validIds) throws DaoException { if (resolvePhrases) { return super.mostSimilar(phrase, maxResults, validIds); } List<SRResultList> scores = new ArrayList<SRResultList>(); for (SRMetric metric : metrics){ scores.add(metric.mostSimilar(phrase, getMaxResults(maxResults),validIds)); } return normalize(ensemble.predictMostSimilar(scores,maxResults, validIds)); }
@Override public SRResultList mostSimilar(String phrase, int maxResults, TIntSet validIds) throws DaoException { try { // try using phrases directly float [] vector = generator.getVector(phrase); return mostSimilar(vector, maxResults, validIds); } catch (UnsupportedOperationException e) { // try using other methods return super.mostSimilar(phrase, maxResults, validIds); } catch (IOException e) { throw new DaoException(e); } }
@Override public SRResultList mostSimilar(String phrase, int maxResults, TIntSet validIds) throws DaoException { if (featureFilter != null) { throw new UnsupportedOperationException(); } TIntFloatMap vector = null; // try using phrases directly try { vector = generator.getVector(phrase); } catch (UnsupportedOperationException e) { // try using other methods } if (vector == null) { // fall back on parent's phrase resolution algorithm return super.mostSimilar(phrase, maxResults, validIds); } else { try { return normalize(similarity.mostSimilar(vector, maxResults, validIds)); } catch (IOException e) { throw new DaoException(e); } } }
@Override public SRResultList mostSimilar(String phrase, int maxResults, TIntSet validIds) throws DaoException{ LocalId similar = disambiguator.disambiguateTop(new LocalString(getLanguage(), phrase), null); if (similar==null){ SRResultList resultList = new SRResultList(1); resultList.set(0, new SRResult()); return resultList; } return mostSimilar(similar.getId(), maxResults,validIds); }
@Override public SRResultList mostSimilar(String phrase, int maxResults) throws DaoException { LocalId similar = disambiguator.disambiguateTop(new LocalString(getLanguage(), phrase), null); if (similar==null){ SRResultList resultList = new SRResultList(1); resultList.set(0, new SRResult()); return resultList; } return mostSimilar(similar.getId(), maxResults); }