private void evaluateOneSample() throws DaoException, WikiBrainException, IOException { UniversalPage c1 = concepts.get(random.nextInt(concepts.size())); UniversalPage c2 = concepts.get(random.nextInt(concepts.size())); List<SRResult> results = new ArrayList<SRResult>(); for (Language lang : langs) { SRMetric sr = metrics.get(lang); results.add(sr.similarity(c1.getLocalId(lang), c2.getLocalId(lang), false)); if(sr.similarity(c1.getLocalId(lang), c2.getLocalId(lang), false) == null){ LOG.warn(String.format("error calculating SR for universal page %d %s and %d %s", c1.getUnivId(), c1.getBestEnglishTitle(lpDao, true), c2.getUnivId(), c2.getBestEnglishTitle(lpDao, true))); } } writeRow(c1, c2, results); }
private void evaluateOneSample() throws DaoException, WikiBrainException, IOException { UniversalPage c1 = concepts.get(random.nextInt(concepts.size())); UniversalPage c2 = concepts.get(random.nextInt(concepts.size())); List<SRResult> results = new ArrayList<SRResult>(); for (Language lang : langs) { SRMetric sr = metrics.get(lang); results.add(sr.similarity(c1.getLocalId(lang), c2.getLocalId(lang), false)); if(sr.similarity(c1.getLocalId(lang), c2.getLocalId(lang), false) == null){ LOG.warn(String.format("error calculating SR for universal page %d %s and %d %s", c1.getUnivId(), c1.getBestEnglishTitle(lpDao, true), c2.getUnivId(), c2.getBestEnglishTitle(lpDao, true))); } } writeRow(c1, c2, results); }
private void writeRow(UniversalPage c1, UniversalPage c2, List<SRResult> results) throws WikiBrainException, IOException, DaoException { try { double km; if((!locations.containsKey(c1.getUnivId())) || (!locations.containsKey(c2.getUnivId()))) return; Point p1 = locations.get(c1.getUnivId()).getCentroid(); Point p2 = locations.get(c2.getUnivId()).getCentroid(); if(! (pointPolygonContainingMap.containsKey(c1.getUnivId()) && pointPolygonContainingMap.containsKey(c2.getUnivId()))) return; double TopoDist = polygonDistance(pointPolygonContainingMap.get(c1.getUnivId()), pointPolygonContainingMap.get(c2.getUnivId()), layerName, "earth"); Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); rowEntries[1] = String.valueOf(c1.getUnivId()); rowEntries[2] = upDao.getById(pointPolygonContainingMap.get(c1.getUnivId())).getBestEnglishTitle(lpDao, true).getCanonicalTitle(); rowEntries[3] = t2.getCanonicalTitle(); rowEntries[4] = String.valueOf(c2.getUnivId()); rowEntries[5] = upDao.getById(pointPolygonContainingMap.get(c2.getUnivId())).getBestEnglishTitle(lpDao, true).getCanonicalTitle(); rowEntries[6] = String.format("%.2f", km); rowEntries[7] = String.valueOf(TopoDist); LOG.warn(String.format("error writing row for universal page %d %s and %d %s", c1.getUnivId(), c1.getBestEnglishTitle(lpDao, true), c2.getUnivId(), c2.getBestEnglishTitle(lpDao, true)));
private void writeRow(UniversalPage c1, UniversalPage c2, List<SRResult> results) throws WikiBrainException, IOException, DaoException { try { double km; if((!locations.containsKey(c1.getUnivId())) || (!locations.containsKey(c2.getUnivId()))) return; Point p1 = locations.get(c1.getUnivId()).getCentroid(); Point p2 = locations.get(c2.getUnivId()).getCentroid(); if(! (pointPolygonContainingMap.containsKey(c1.getUnivId()) && pointPolygonContainingMap.containsKey(c2.getUnivId()))) return; double TopoDist = polygonDistance(pointPolygonContainingMap.get(c1.getUnivId()), pointPolygonContainingMap.get(c2.getUnivId()), layerName, "earth"); Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); rowEntries[1] = String.valueOf(c1.getUnivId()); rowEntries[2] = upDao.getById(pointPolygonContainingMap.get(c1.getUnivId())).getBestEnglishTitle(lpDao, true).getCanonicalTitle(); rowEntries[3] = t2.getCanonicalTitle(); rowEntries[4] = String.valueOf(c2.getUnivId()); rowEntries[5] = upDao.getById(pointPolygonContainingMap.get(c2.getUnivId())).getBestEnglishTitle(lpDao, true).getCanonicalTitle(); rowEntries[6] = String.format("%.2f", km); rowEntries[7] = String.valueOf(TopoDist); LOG.warn(String.format("error writing row for universal page %d %s and %d %s", c1.getUnivId(), c1.getBestEnglishTitle(lpDao, true), c2.getUnivId(), c2.getBestEnglishTitle(lpDao, true)));
private void writeRow(UniversalPage c1, UniversalPage c2, Integer KNNDistance, List<SRResult> results) throws WikiBrainException, IOException { Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); String[] rowEntries = new String[5 + langs.size()]; rowEntries[0] = t1.getCanonicalTitle(); rowEntries[1] = String.valueOf(c1.getUnivId()); rowEntries[2] = t2.getCanonicalTitle(); rowEntries[3] = String.valueOf(c2.getUnivId()); rowEntries[4] = String.valueOf(KNNDistance); int counter = 0; for (SRResult result : results) { rowEntries[5 + counter] = String.valueOf(result.getScore()); counter ++; } output.writeNext(rowEntries); output.flush(); //if(CSVRowCounter % 1000 == 0 // LOG.info("Finished writing to CSV Row " + CSVRowCounter); //} }
private void writeRow(UniversalPage c1, UniversalPage c2, Integer KNNDistance, List<SRResult> results) throws WikiBrainException, IOException { Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); String[] rowEntries = new String[5 + langs.size()]; rowEntries[0] = t1.getCanonicalTitle(); rowEntries[1] = String.valueOf(c1.getUnivId()); rowEntries[2] = t2.getCanonicalTitle(); rowEntries[3] = String.valueOf(c2.getUnivId()); rowEntries[4] = String.valueOf(KNNDistance); int counter = 0; for (SRResult result : results) { rowEntries[5 + counter] = String.valueOf(result.getScore()); counter ++; } output.writeNext(rowEntries); output.flush(); //if(CSVRowCounter % 1000 == 0 // LOG.info("Finished writing to CSV Row " + CSVRowCounter); //} }
private void writeRow(UniversalPage c1, UniversalPage c2, List<SRResult> results) throws WikiBrainException, IOException { double km; Point p1 = locations.get(c1.getUnivId()).getCentroid(); Point p2 = locations.get(c2.getUnivId()).getCentroid(); GeodeticCalculator geoCalc = new GeodeticCalculator(); geoCalc.setStartingGeographicPoint(p1.getX(), p1.getY()); geoCalc.setDestinationGeographicPoint(p2.getX(), p2.getY()); km = geoCalc.getOrthodromicDistance() / 1000; Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); String[] rowEntries = new String[5 + langs.size()]; rowEntries[0] = t1.getCanonicalTitle(); rowEntries[1] = String.valueOf(c1.getUnivId()); rowEntries[2] = t2.getCanonicalTitle(); rowEntries[3] = String.valueOf(c2.getUnivId()); rowEntries[4] = String.valueOf(km); int counter = 0; for (SRResult result : results) { rowEntries[5 + counter] = String.valueOf(result.getScore()); counter ++; } output.writeNext(rowEntries); output.flush(); }
private void writeRow(UniversalPage c1, UniversalPage c2, List<SRResult> results) throws WikiBrainException, IOException { double km; Point p1 = locations.get(c1.getUnivId()).getCentroid(); Point p2 = locations.get(c2.getUnivId()).getCentroid(); GeodeticCalculator geoCalc = new GeodeticCalculator(); geoCalc.setStartingGeographicPoint(p1.getX(), p1.getY()); geoCalc.setDestinationGeographicPoint(p2.getX(), p2.getY()); km = geoCalc.getOrthodromicDistance() / 1000; Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); String[] rowEntries = new String[5 + langs.size()]; rowEntries[0] = t1.getCanonicalTitle(); rowEntries[1] = String.valueOf(c1.getUnivId()); rowEntries[2] = t2.getCanonicalTitle(); rowEntries[3] = String.valueOf(c2.getUnivId()); rowEntries[4] = String.valueOf(km); int counter = 0; for (SRResult result : results) { rowEntries[5 + counter] = String.valueOf(result.getScore()); counter ++; } output.writeNext(rowEntries); output.flush(); }
private void writeRow(UniversalPage c1, UniversalPage c2, List<SRResult> results) throws WikiBrainException, IOException { Point p1 = locations.get(c1).getCentroid(); Point p2 = locations.get(c2).getCentroid(); GeodeticCalculator geoCalc = new GeodeticCalculator(); geoCalc.setStartingGeographicPoint(p1.getX(), p1.getY()); geoCalc.setDestinationGeographicPoint(p2.getX(), p2.getY()); double km = geoCalc.getOrthodromicDistance() / 1000; Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); synchronized (output) { output.write(t1.getCanonicalTitle() + "\t" + c1.getUnivId() + "\t" + t2.getCanonicalTitle() + "\t" + c2.getUnivId() + "\t" + km ); for (SRResult result : results) { output.write("\t" + result.getScore()); } output.write("\n"); } }
private void writeRow(UniversalPage c1, UniversalPage c2, List<SRResult> results) throws WikiBrainException, IOException { Point p1 = locations.get(c1).getCentroid(); Point p2 = locations.get(c2).getCentroid(); GeodeticCalculator geoCalc = new GeodeticCalculator(); geoCalc.setStartingGeographicPoint(p1.getX(), p1.getY()); geoCalc.setDestinationGeographicPoint(p2.getX(), p2.getY()); double km = geoCalc.getOrthodromicDistance() / 1000; Title t1 = c1.getBestEnglishTitle(lpDao, true); Title t2 = c2.getBestEnglishTitle(lpDao, true); synchronized (output) { output.write(t1.getCanonicalTitle() + "\t" + c1.getUnivId() + "\t" + t2.getCanonicalTitle() + "\t" + c2.getUnivId() + "\t" + km ); for (SRResult result : results) { output.write("\t" + result.getScore()); } output.write("\n"); } }
public static void main(String[] args){ try { Env env = EnvBuilder.envFromArgs(args); Configurator c = env.getConfigurator(); UniversalPageDao upDao = c.get(UniversalPageDao.class); MetaInfoDao miDao = c.get(MetaInfoDao.class); LocalPageDao lpDao = c.get(LocalPageDao.class); InterLanguageLinkDao illDao = c.get(InterLanguageLinkDao.class); // set up conceptualign test LanguageSet loadedLangs = miDao.getLoadedLanguages(UniversalPageDao.class); Iterable<UniversalPage> uPages = upDao.get(new DaoFilter().setLanguages(loadedLangs).setNameSpaces(NameSpace.ARTICLE)); ConceptualignConceptMapper conceptualignMapper = new ConceptualignConceptMapper(uPages, loadedLangs, -1, lpDao, illDao, miDao, true); // actually run conceptualign Iterator<UniversalPage> finalUPages = conceptualignMapper.getConceptMap(loadedLangs); // print what we found while(finalUPages.hasNext()){ UniversalPage finalUPage = finalUPages.next(); System.out.println(finalUPage.getUnivId() + ": " + finalUPage.getBestEnglishTitle(lpDao, true)); } }catch(Exception e){ e.printStackTrace();; } }
public static void main(String[] args){ try { Env env = EnvBuilder.envFromArgs(args); Configurator c = env.getConfigurator(); UniversalPageDao upDao = c.get(UniversalPageDao.class); MetaInfoDao miDao = c.get(MetaInfoDao.class); LocalPageDao lpDao = c.get(LocalPageDao.class); InterLanguageLinkDao illDao = c.get(InterLanguageLinkDao.class); // set up conceptualign test LanguageSet loadedLangs = miDao.getLoadedLanguages(UniversalPageDao.class); Iterable<UniversalPage> uPages = upDao.get(new DaoFilter().setLanguages(loadedLangs).setNameSpaces(NameSpace.ARTICLE)); ConceptualignConceptMapper conceptualignMapper = new ConceptualignConceptMapper(uPages, loadedLangs, -1, lpDao, illDao, miDao, true); // actually run conceptualign Iterator<UniversalPage> finalUPages = conceptualignMapper.getConceptMap(loadedLangs); // print what we found while(finalUPages.hasNext()){ UniversalPage finalUPage = finalUPages.next(); System.out.println(finalUPage.getUnivId() + ": " + finalUPage.getBestEnglishTitle(lpDao, true)); } }catch(Exception e){ e.printStackTrace();; } }
@Override public void save(UniversalPage page) throws DaoException { NameSpace nameSpace = page.getNameSpace(); for (Language language : page.getLanguageSet()) { for (LocalId localPage : page.getLocalEntities(language)) { insert( language.getId(), localPage.getId(), nameSpace.getArbitraryId(), page.getUnivId(), page.getAlgorithmId() ); } } }