All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dist.edu.umd.hooka.alignment.AlignmentModel Maven / Gradle / Ivy

There is a newer version: 2.0.1
Show newest version
package edu.umd.hooka.alignment;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.mapred.OutputCollector;
import org.apache.hadoop.mapred.Reporter;

import edu.umd.hooka.Alignment;
import edu.umd.hooka.AlignmentPosteriorGrid;
import edu.umd.hooka.PhrasePair;

public abstract class AlignmentModel {

	private List _listeners =
		new ArrayList();

	public void addAlignmentListener(AlignmentEventListener ael) {
		_listeners.add(ael);
	}
	
	protected void notifyUnalignablePair(PhrasePair pp, String reason) {
		for (AlignmentEventListener l : _listeners) {
			l.notifyUnalignablePair(pp, reason);
		}
	}
	
	public abstract void clearModel();
	public abstract void processTrainingInstance(PhrasePair pp, Reporter r);
	public abstract void writePartialCounts(OutputCollector output) throws IOException;
	
	public abstract Alignment viterbiAlign(PhrasePair pp, PerplexityReporter reporter);
	
	public abstract AlignmentPosteriorGrid computeAlignmentPosteriors(PhrasePair pp);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy