public void printDocumentTopics (PrintWriter pw) { pw.println ("#doc source topic proportions"); int docLen; for (int di = 0; di < topics.length; di++) { pw.print (di); pw.print (' '); docLen = topics[di].length; for (int ti = 0; ti < numTopics; ti++) pw.print (((float)docTopicCounts[di][ti])/docLen); pw.print (' '); pw.println (ilist.getInstance(di).getSource().toString()); pw.print (' '); } }
public Instance pipe (Instance carrier) { carrier.setProperty("CLUSTER", carrier.getSource()); return carrier; }
public void printDocumentTopics (PrintWriter pw) { pw.println ("#doc source topic proportions"); int docLen; for (int di = 0; di < topics.length; di++) { pw.print (di); pw.print (' '); docLen = topics[di].length; for (int ti = 0; ti < numTopics; ti++) pw.print (((float)docTopicCounts[di][ti])/docLen); pw.print (' '); pw.println (ilist.getInstance(di).getSource().toString()); pw.print (' '); } }
public static List getMentionsFromPairs (List pairs) { ArrayList mentions = new ArrayList(); Iterator i = pairs.iterator(); while (i.hasNext()) { Instance inst = (Instance) i.next(); MentionPair pair = (MentionPair)inst.getSource(); Mention ant = pair.getAntecedent(); Mention ref = pair.getReferent(); if ((ant != null) && !mentions.contains(ant)) mentions.add(ant); if ((ref != null) && !mentions.contains(ref)) mentions.add(ref); } return mentions; }
public double PairSimilarity(Sequence sequence1, Sequence sequence2, Instance instance1, Instance instance2) { TokenSequence tokenSequence1 = (TokenSequence)(instance1.getSource()); TokenSequence tokenSequence2 = (TokenSequence)(instance2.getSource()); String str1 = ieInterface.printResultInFormat(true, sequence1, tokenSequence1); String str2 = ieInterface.printResultInFormat(true, sequence2, tokenSequence2); double sim1 = computeSGMLObjDistance(str1, str2); // double sim2 = computeSGMLObjDistance(str2, str1); // double sim = (sim1+sim2)/2; double sim = sim1; System.out.println(str1 + "\n" + str2 + " : " + sim + "\n"); return sim; }
public Instance pipe(Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String) carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println("target[" + i + "]=" + as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append(' '); sb.append(source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println("carrier.getSource() = " + carrier.getSource()); return carrier; }
public Instance pipe(Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String) carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println("target[" + i + "]=" + as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append(' '); sb.append(source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println("carrier.getSource() = " + carrier.getSource()); return carrier; }
public Instance pipe(Instance carrier) { StringBuffer sb = new StringBuffer(); String source = (String) carrier.getSource(); Transducer.ViterbiPath vp = (Transducer.ViterbiPath) carrier.getTarget(); ArraySequence as = (ArraySequence) vp.output(); //int startLabelIndex = as.getAlphabet().lookupIndex("start"); for (int i = 0; i < source.length(); i++) { System.out.println("target[" + i + "]=" + as.get(i).toString()); if (as.get(i).toString().equals("start") && i != 0) sb.append(' '); sb.append(source.charAt(i)); } carrier.setSource(sb.toString()); System.out.println("carrier.getSource() = " + carrier.getSource()); return carrier; }
private void initializeMap (InstanceList l1, Object o1) { for (Iterator i1 = l1.iterator(); i1.hasNext();) { Instance inst = (Instance)i1.next(); NodePair p1 = (NodePair)inst.getSource(); if (p1.getObject1() == o1) map.put(p1.getObject2(), new Double(computeScore(meClassifier, inst))); else if (p1.getObject2() == o1) map.put(p1.getObject1(), new Double(computeScore(meClassifier, inst))); } } }
public List createPseudoEdges (InstanceList instances, Map map) { List al = (List)new ArrayList(); for (Iterator i1 = instances.iterator(); i1.hasNext();) { Instance inst = (Instance)i1.next(); Object o1 = ((NodePair)inst.getSource()).getObject1(); Object o2 = ((NodePair)inst.getSource()).getObject2(); PseudoVertex po1 = (PseudoVertex)map.get(o1); PseudoVertex po2 = (PseudoVertex)map.get(o2); // System.out.println("Creating edge out of " + po1 + " and " + // po2); if (useNBestInference) al.add (new PseudoEdge(po1, po2, computeScore_NBest(meClassifier, inst))); else al.add (new PseudoEdge(po1, po2, computeScore(meClassifier, inst))); } return al; }
/** Citation type in this ilist */ private String getType (InstanceList ilist) { NodePair mentionPair = (NodePair)ilist.getInstance(0).getSource(); Citation c = (Citation)mentionPair.getObject1(); return getType (c); }
/** Adds to this list every instance generated by the iterator, * passing each one through this list's pipe. Checks are made to * ensure an OutOfMemoryError is not thrown when instantiating a new * Instance. */ public void add (PipeInputIterator pi) { while (pi.hasNext()) { Instance carrier = pi.nextInstance(); add (carrier.getData(), carrier.getTarget(), carrier.name, carrier.getSource()); } }
/** Adds to this list every instance generated by the iterator, * passing each one through this list's pipe. */ public void add (PipeInputIterator pi) { int i=0; while (pi.hasNext()) { Instance carrier = pi.nextInstance(); // xxx Perhaps try to arrange this so that a new Instance does not have to allocated. add (new Instance (carrier.getData(), carrier.getTarget(), carrier.name, carrier.getSource(), this.pipe)); } }
public Instance nextInstance () { final Instance instance = iter.nextInstance (); Instance ret = new Instance (instance.getData(), instance.getTarget(), instance.getName(), instance.getSource()); ret.setPropertyList (instance.getPropertyList ()); return ret; }
public String viterbiCRFInstance(Instance instance, boolean sgml ) { assert(crf != null); viterbiP = crf.viterbiPath((Sequence)instance.getData());// regular viterbi viterbiSequence = viterbiP.output(); // confidence = Math.exp(viterbiP.getCost()/viterbiSequence.size()); // confidence = viterbiP.getCost()/viterbiSequence.size(); instance_accuracy= InstanceAccuracy(viterbiSequence, (Sequence)instance.getTarget(), instance); tokenSequence = (TokenSequence)instance.getSource(); assert(viterbiSequence.size() == tokenSequence.size()); return printResultInFormat(sgml); }
private double computeScore_NBest (MaxEnt classifier, Instance origInstPair, int ind1, int ind2) { NodePair origNodePair = (NodePair)origInstPair.getSource(); Citation citation1 = (Citation)origNodePair.getObject1(); Citation citation2 = (Citation)origNodePair.getObject2(); Citation nBest1 = citation1.getNthBest(ind1); Citation nBest2 = citation2.getNthBest(ind2); NodePair newPair = new NodePair (nBest1, nBest2); Pipe pipe = origInstPair.getPipe(); return computeScore(classifier, new Instance(newPair, "yes", null, newPair, pipe)); }
public String viterbiCRFInstance(Instance instance, boolean sgml ) { assert(crf != null); viterbiP = crf.viterbiPath((Sequence)instance.getData());// regular viterbi viterbiSequence = viterbiP.output(); // confidence = Math.exp(viterbiP.getCost()/viterbiSequence.size()); // confidence = viterbiP.getCost()/viterbiSequence.size(); // viterbiSequence = crf.viterbiPath((Sequence)instance.getData()).output(); instance_accuracy= InstanceAccuracy(viterbiSequence, (Sequence)instance.getTarget()); tokenSequence = (TokenSequence)instance.getSource(); assert(viterbiSequence.size() == tokenSequence.size()); return printResultInFormat(sgml); }
public String viterbiCRFString(String line, boolean sgml) { Instance lineCarrier = new Instance(line, null, null, null, pipe); assert(pipe != null); Instance featureCarrier = pipe.pipe(lineCarrier, 0); assert(crf != null); viterbiP = crf.viterbiPath((Sequence)featureCarrier.getData()); viterbiSequence = viterbiP.output(); //confidence = Math.exp(-viterbiP.getCost()/viterbiSequence.size()); confidence = viterbiP.getCost(); tokenSequence = (TokenSequence)featureCarrier.getSource(); assert(viterbiSequence.size() == tokenSequence.size()); return printResultInFormat(sgml); }
public String viterbiCRFString(String line, boolean sgml) { Instance lineCarrier = new Instance(line, null, null, null, pipe); assert(pipe != null); Instance featureCarrier = pipe.pipe(lineCarrier, 0); assert(crf != null); viterbiP = crf.viterbiPath((Sequence)featureCarrier.getData()); viterbiSequence = viterbiP.output(); //confidence = Math.exp(-viterbiP.getCost()/viterbiSequence.size()); confidence = viterbiP.getCost(); tokenSequence = (TokenSequence)featureCarrier.getSource(); assert(viterbiSequence.size() == tokenSequence.size()); return printResultInFormat(sgml); }
public static PipeOutputAccumulator iteratePipe (Pipe iteratedPipe, PipeOutputAccumulator accumulator, Instance carrier) { PipeInputIterator iter = (PipeInputIterator) carrier.getData(); iter.setParentInstance (carrier); while (iter.hasNext()) { // Make sure that instance.pipe field gets set when piping instance. Instance subInstance = iter.nextInstance(); Instance pipedInstance = new Instance (subInstance.getData (), subInstance.getTarget (), subInstance.getName (), subInstance.getSource (), iteratedPipe); accumulator.pipeOutputAccumulate (pipedInstance, iteratedPipe); } return accumulator; }