List of usage examples for com.google.common.collect ListMultimap get
@Override List<V> get(@Nullable K key);
Because the values for a given key may have duplicates and follow the insertion ordering, this method returns a List , instead of the java.util.Collection specified in the Multimap interface.
From source file:com.paolodragone.wsn.evaluation.FirstSenseBaseline.java
public static void main(String[] args) { try {/*w w w .j a v a 2s . c o m*/ System.out.println("Loading..."); // Readers WsnConfiguration configuration = WsnConfiguration.getInstance(); Reader sensesFileReader = Files.newBufferedReader(configuration.getSensesFilePath()); Reader termsFileReader = Files.newBufferedReader(configuration.getTermsFilePath()); // Get sense Stream SensesDataSet sensesDataSet = new SensesDataSet(); SensesDataSet sensesDataSetView; sensesDataSetView = sensesDataSet .getView(sensesDataSet.excludeColumns(SensesDataSet.SenseColumn.Gloss)); Stream<Sense> senseStream = sensesDataSetView.getEntityStream(sensesFileReader).parallel(); senseStream = Senses.filterValidSenses(senseStream); Collection<Sense> senses = DStreamSupport.toList(senseStream); Map<Integer, Sense> senseMap = DCollections.collectionToMap(senses, Sense::getId, new HashMap<>()); TermsDataSet termsDataSet = new TermsDataSet(); TermsDataSet termsDataSetView; termsDataSetView = termsDataSet.getView(termsDataSet.excludeColumns(TermsDataSet.TermColumn.Word)); Stream<Term> termStream = Terms.filterValidTerms(termsDataSetView.getEntityStream(termsFileReader)); TermsDataSet.setTerms(senseMap, termStream); ListMultimap<String, Sense> wordSensesMap = Senses.buildWordSensesMap(senses); List<SemanticEdge> semanticNetwork = new ArrayList<>(); for (Sense sense : senses) { for (Term term : sense.getGlossTerms()) { List<Sense> targetSenses = wordSensesMap.get(term.getLemma()); if (!targetSenses.isEmpty()) { SemanticEdge semanticEdge = new SemanticEdge(); semanticEdge.setTermId(term.getId()); semanticEdge.setTargetSenseId(targetSenses.get(0).getId()); semanticEdge.setConfidence(1.0 / targetSenses.size()); semanticNetwork.add(semanticEdge); } } } Path semanticNetworkTestSetFilePath = configuration.getSemanticNetworkTestSetFilePath(); Reader semanticNetworkTestSetReader = Files.newBufferedReader(semanticNetworkTestSetFilePath); SemanticNetworkDataSet semanticNetworkDataSet = new SemanticNetworkDataSet(); Stream<SemanticEdge> semanticNetworkTestSetStream; semanticNetworkTestSetStream = semanticNetworkDataSet.getEntityStream(semanticNetworkTestSetReader); Collection<SemanticEdge> semanticNetworkTestSet = DStreamSupport.toList(semanticNetworkTestSetStream); System.out.println("Done."); TestSetEvaluator evaluator = new TestSetEvaluator(); TestSetEvaluator.EvaluationResult result = evaluator.evaluateTestSet(semanticNetwork, semanticNetworkTestSet); System.out.println("Total test set: " + result.getSize()); System.out.println("Not predicted: " + result.getNotPredicted()); System.out.println("Accuracy: " + result.getAccuracy()); System.out.println("Average confidence: " + result.getAverageConfidence()); } catch (Exception e) { e.printStackTrace(); } }
From source file:jp.ac.ipu.ds.nekottyo.toolmaven.CrowlInternetArchive.java
public static void main(String[] args) throws IOException { try {/*from w ww .j a v a2s . co m*/ Date date = new Date(); Format sdf = new SimpleDateFormat("dd_km"); String now = sdf.format(date); FileHandler fh = new FileHandler("DSNotify_" + now + ".log", true); fh.setFormatter(new java.util.logging.SimpleFormatter()); LOG.addHandler(fh); } catch (SecurityException ex) { Logger.getLogger(CrowlInternetArchive.class.getName()).log(Level.SEVERE, null, ex); } List list = new ArrayList(); try (Stream<String> stream = Files.lines(Paths.get(sourceFile), StandardCharsets.UTF_8)) { stream.parallel().forEach((String l) -> { try { ListMultimap<Integer, String> resultmap = crowlPastRDF(l); StringBuilder logInfo = new StringBuilder(); logInfo.append(l).append("\n\t"); resultmap.keySet().stream().forEach((Integer key) -> { logInfo.append(key).append(":").append(resultmap.get(key).size()).append(" "); }); String except404 = String .valueOf(1 - ((double) resultmap.get(200).size() / resultmap.values().size())); System.out.println(resultmap.get(404)); Path dist = Paths.get("./data/404list.txt"); Files.write(dist, resultmap.get(404), Charset.defaultCharset()); list.add(l + "," + except404); LOG.info(logInfo.append("\n\t").append(except404).toString()); } catch (InterruptedException ex) { Logger.getLogger(CrowlInternetArchive.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(CrowlInternetArchive.class.getName()).log(Level.SEVERE, null, ex); } }); } try { Path dest = Paths.get(resultFile); Files.write(dest, list, Charset.defaultCharset()); } catch (Exception e) { LOG.severe(e.toString()); } }
From source file:com.paolodragone.wsn.evaluation.TermAnnotator.java
public static void main(String[] args) { try {//from ww w . j av a 2 s . co m System.out.println("Loading..."); WsnConfiguration configuration = WsnConfiguration.getInstance(); Reader sensesFileReader = Files.newBufferedReader(configuration.getSensesFilePath()); Reader termsFileReader = Files.newBufferedReader(configuration.getTermsFilePath()); SensesDataSet sensesDataSet = new SensesDataSet(); Stream<Sense> senseStream = sensesDataSet.getEntityStream(sensesFileReader); Collection<Sense> senses = DStreamSupport.toList(senseStream); Map<Integer, Sense> senseMap = DCollections.collectionToMap(senses, Sense::getId, new HashMap<>()); TermsDataSet termsDataSet = new TermsDataSet(); TermsDataSet.setTerms(senseMap, termsDataSet.getEntityStream(termsFileReader)); ListMultimap<String, Sense> wordSensesMap = Senses.buildWordSensesMap(senses); System.out.println("Done."); TermAnnotator annotator = new TermAnnotator(); Iterator<Sense> senseIterator = senseStream.iterator(); if (senseIterator.hasNext()) { Sense sense = senseIterator.next(); Term term = sense.getGlossTerms().get(1); List<Sense> targetSenses = wordSensesMap.get(term.getLemma().toLowerCase()); annotator.annotateTerm(term, targetSenses); } } catch (Exception e) { e.printStackTrace(); } }
From source file:org.apache.ctakes.temporal.data.analysis.CompareFeatureStructures.java
public static void main(String[] args) throws Exception { Options options = CliFactory.parseArguments(Options.class, args); List<Class<?>> annotationClasses = Lists.newArrayList(); for (String annotationClassName : options.getAnnotationClassNames()) { annotationClasses.add(Class.forName(annotationClassName)); }/* w ww.j av a 2s.co m*/ MyersDiff<String> stringDiff = new MyersDiff<String>(); MyersDiff<FeatureStructure> fsDiff = new MyersDiff<FeatureStructure>(new FeatureStructureEqualizer()); File originalDir = options.getDirectory1(); File revisedDir = options.getDirectory2(); Patch<String> dirPatch = stringDiff.diff(originalDir.list(), revisedDir.list()); if (!dirPatch.getDeltas().isEmpty()) { log("--- %s files\n", originalDir); log("+++ %s files\n", revisedDir); log(dirPatch); } else { for (String fileName : originalDir.list()) { File originalFile = new File(originalDir, fileName); File revisedFile = new File(revisedDir, fileName); JCas originalJCas = readXMI(originalFile); JCas revisedJCas = readXMI(revisedFile); List<String> originalViews = getViewNames(originalJCas); List<String> revisedViews = getViewNames(revisedJCas); Patch<String> viewsPatch = stringDiff.diff(originalViews, revisedViews); if (!viewsPatch.getDeltas().isEmpty()) { log("--- %s views\n", originalFile); log("+++ %s views\n", revisedFile); log(viewsPatch); } else { for (String viewName : originalViews) { JCas originalView = originalJCas.getView(viewName); JCas revisedView = revisedJCas.getView(viewName); List<FeatureStructure> originalFSes = toFeatureStructures(originalView, annotationClasses); List<FeatureStructure> revisedFSes = toFeatureStructures(revisedView, annotationClasses); Patch<FeatureStructure> fsPatch = fsDiff.diff(originalFSes, revisedFSes); if (!fsPatch.getDeltas().isEmpty()) { log("--- %s view %s\n", originalFile, viewName); log("+++ %s view %s\n", revisedFile, viewName); for (Delta<FeatureStructure> fsDelta : fsPatch.getDeltas()) { logHeader(fsDelta); switch (fsDelta.getType()) { case DELETE: case INSERT: log(fsDelta); break; case CHANGE: List<String> originalLines = toLines(fsDelta.getOriginal().getLines()); List<String> revisedLines = toLines(fsDelta.getRevised().getLines()); Patch<String> linesPatch = stringDiff.diff(originalLines, revisedLines); ListMultimap<Integer, String> deletes = ArrayListMultimap.create(); ListMultimap<Integer, String> inserts = ArrayListMultimap.create(); Set<Integer> skips = Sets.newHashSet(); for (Delta<String> linesDelta : linesPatch.getDeltas()) { Chunk<String> originalChunk = linesDelta.getOriginal(); Chunk<String> revisedChunk = linesDelta.getRevised(); int start = originalChunk.getPosition(); deletes.putAll(start, originalChunk.getLines()); inserts.putAll(start, revisedChunk.getLines()); for (int i = start; i < start + originalChunk.size(); ++i) { skips.add(i); } } for (int i = 0; i < originalLines.size(); ++i) { if (!skips.contains(i)) { log(" %s\n", originalLines.get(i)); } for (String line : deletes.get(i)) { log("-%s\n", line); } for (String line : inserts.get(i)) { log("+%s\n", line); } } break; } } } } } } } }
From source file:com.zimbra.cs.mailbox.VCardParamsAndValue.java
public static String getFirstValue(String key, ListMultimap<String, VCardParamsAndValue> mmap) { List<VCardParamsAndValue> vals = mmap.get(key); if (vals == null || vals.isEmpty()) { return null; }/*www . ja va2s. com*/ return vals.get(0).getValue(); }
From source file:chess_.engine.classic.player.ai.PawnStructureAnalyzer.java
private static int calculateIsolatedPawnPenalty(final ListMultimap<Integer, Piece> pawnsOnColumnTable) { int numIsolatedPawns = 0; if (!pawnsOnColumnTable.get(0).isEmpty() && pawnsOnColumnTable.get(1).isEmpty()) { numIsolatedPawns += pawnsOnColumnTable.get(0).size(); }/* w ww . ja v a2 s. c o m*/ for (int i = 1; i < BOARD_COLUMNS.size() - 1; i++) { if (!pawnsOnColumnTable.get(i).isEmpty() && (pawnsOnColumnTable.get(i - 1).isEmpty() && pawnsOnColumnTable.get(i + 1).isEmpty())) { numIsolatedPawns += pawnsOnColumnTable.get(i).size(); } } if (!pawnsOnColumnTable.get(BOARD_COLUMNS.size() - 1).isEmpty() && pawnsOnColumnTable.get(BOARD_COLUMNS.size() - 2).isEmpty()) { numIsolatedPawns += pawnsOnColumnTable.get(BOARD_COLUMNS.size() - 1).size(); } return numIsolatedPawns * ISOLATED_PAWN_PENALTY; }
From source file:org.eclipselabs.spray.xtext.util.Modules3.java
public static Module mixin(Module... m) { List<Module> modules = new ArrayList<Module>(m.length); ListMultimap<String, Module> modulesMap = getOverrideModuleMap(); for (Module module : m) { modules.add(module);//from ww w . j a v a 2s .c om for (Module overrideModule : modulesMap.get(module.getClass().getName())) { LOG.debug("Overriding Module " + module.getClass().getName() + " with " + overrideModule.getClass().getName()); modules.add(overrideModule); } } return Modules2.mixin(modules.toArray(m)); }
From source file:com.google.gitiles.GitwebRedirectFilter.java
private static String getFirst(ListMultimap<String, String> params, String name) { return Iterables.getFirst(params.get(checkNotNull(name)), null); }
From source file:chess_.engine.classic.player.ai.PawnStructureAnalyzer.java
private static int calculateDoubledPawnPenalty(final ListMultimap<Integer, Piece> pawnsOnColumnTable) { int numDoubledPawns = 0; for (int i = 0; i < BOARD_COLUMNS.size(); i++) { final int numPawnsOnColumn = pawnsOnColumnTable.get(i).size(); if (numPawnsOnColumn > 1) { numDoubledPawns += pawnsOnColumnTable.get(i).size(); }//from w w w . j a va 2s.c o m } return numDoubledPawns * DOUBLED_PAWN_PENALTY; }
From source file:com.google.gitiles.LogServlet.java
private static Optional<ObjectId> getStart(ListMultimap<String, String> params, ObjectReader reader) throws IOException { List<String> values = params.get(START_PARAM); switch (values.size()) { case 0:/*from www .j a va 2 s . c o m*/ return Optional.absent(); case 1: Collection<ObjectId> ids = reader.resolve(AbbreviatedObjectId.fromString(values.get(0))); if (ids.size() != 1) { return null; } return Optional.of(Iterables.getOnlyElement(ids)); default: return null; } }