public static void main(String[] args) throws Exception { String logConfig = System.getProperty("log-config"); if (logConfig == null) { logConfig = "log-config.txt"; } long begin = System.currentTimeMillis(); PropertyConfigurator.configure(logConfig); if (args.length != 5) { logger.info(getHelp()); System.exit(1); } File Ut = new File(args[0] + "-Ut"); File Sk = new File(args[0] + "-S"); File r = new File(args[0] + "-row"); File c = new File(args[0] + "-col"); File df = new File(args[0] + "-df"); double threshold = Double.parseDouble(args[1]); int size = Integer.parseInt(args[2]); int dim = Integer.parseInt(args[3]); boolean rescaleIdf = Boolean.parseBoolean(args[4]); LSI lsi = new LSI(Ut, Sk, r, c, df, dim, rescaleIdf); lsi.interactive(); long end = System.currentTimeMillis(); logger.info("term similarity calculated in " + (end - begin) + " ms"); } // end main
public double compare(BOW bow1, BOW bow2) { Node[] d1 = mapDocument(bow1); Node[] d2 = mapDocument(bow2); Node[] pd1 = mapPseudoDocument(d1); Node[] pd2 = mapPseudoDocument(d2); return Node.dot(pd1, pd2) / Math.sqrt(Node.dot(pd1, pd1) * Node.dot(pd2, pd2)); }
logger.info("parsing time " + df.format(end - begin) + " ns"); begin = System.nanoTime(); Node[] d1 = mapDocument(bow1); logger.info("d1:" + Arrays.toString(d1)); Node[] d2 = mapDocument(bow2); logger.info("d2:" + Arrays.toString(d2)); Node[] pd1 = mapPseudoDocument(d1); logger.info("pd1:" + Arrays.toString(pd1)); Node[] pd2 = mapPseudoDocument(d2); logger.info("pd2:" + Arrays.toString(pd2)); long begin = System.nanoTime(); ScoreTermMap map = new ScoreTermMap(query, 20); Node[] vec1 = mapTerm(query); Iterator<String> it = terms(); while (it.hasNext()) { term = it.next(); Node[] vec2 = mapTerm(term); double cos = Node.dot(vec1, vec2) / Math.sqrt(Node.dot(vec1, vec1) * Node.dot(vec2, vec2)); map.put(cos, term);
normalized = true; LSI lsi = new LSI(fileUt, fileSk, fileR, fileC, fileDf, dim, true, normalized);
/** * Returns a document in the VSM. */ public Node[] mapDocumentOld(BOW bow) { return mapDocument(bow); }
LSI lsi = new LSI(fileUt, fileSk, fileR, fileC, fileDf, dim, true, normalized); OneExamplePerSenseSearcher oneExamplePerSenseSearcher = new OneExamplePerSenseSearcher(line.getOptionValue("index")); oneExamplePerSenseSearcher.setNotificationPoint(notificationPoint);
Node[] bowVector = lsi.mapDocument(bow); logger.debug("bow\t" + Node.toString(bowVector)); Node.normalize(bowVector); Node[] lsVector = lsi.mapPseudoDocument(bowVector);
Node[] bowVector = lsi.mapDocument(bow); Node.normalize(bowVector); Node[] lsVector = lsi.mapPseudoDocument(bowVector);