/* Copyright (C) 2002 Univ. of Massachusetts Amherst, Computer Science Dept. This file is part of "MALLET" (MAchine Learning for LanguagE Toolkit). http://www.cs.umass.edu/~mccallum/mallet This software is provided under the terms of the Common Public License, version 1.0, as published by http://www.opensource.org. For further information, see the file `LICENSE' included with this distribution. */ package cc.mallet.pipe; import java.util.*; import java.io.*; import cc.mallet.types.*; /** * Add specified conjunctions to each instance. @author Andrew McCallum <a href="mailto:mccallum@cs.umass.edu">mccallum@cs.umass.edu</a> */ public class AugmentableFeatureVectorAddConjunctions extends Pipe implements Serializable { FeatureConjunction.List conjunctions; public AugmentableFeatureVectorAddConjunctions () { conjunctions = new FeatureConjunction.List (); } public AugmentableFeatureVectorAddConjunctions addConjunction (String name, Alphabet v, int[] features, boolean[] negations) { conjunctions.add (new FeatureConjunction (name, v, features, negations)); return this; } public Instance pipe (Instance carrier) { AugmentableFeatureVector afv = (AugmentableFeatureVector) carrier.getData(); conjunctions.addTo (afv, 1.0); return carrier; } }