// Punish chunks whose length is other than 3. private static void discriminate(ChunkRanker ranker) { ArrayList<LexChunk> chunks = ranker.getChunks(); for (LexChunk ch : chunks) { int sz = ch.size(); double weight = sz - 3; if (weight < 0) weight = -weight; weight = 1.0 - 0.2 * weight; // twiddle the confidence of the chunk TruthValue tv = ch.getTruthValue(); SimpleTruthValue stv = (SimpleTruthValue) tv; double confidence = stv.getConfidence(); confidence *= weight; stv.setConfidence(confidence); } }
private static void prt_chunks(ArrayList<LexChunk> chunks) { for (LexChunk ch : chunks) { System.out.println(ch.toString()); } System.out.println("\n======\n"); }