Package cc.mallet.pipe

Source Code of cc.mallet.pipe.StringList2FeatureSequence

package cc.mallet.pipe;

import java.io.*;
import java.util.ArrayList;

import cc.mallet.types.Alphabet;
import cc.mallet.types.FeatureSequence;
import cc.mallet.types.Instance;

/**
* Convert a list of strings into a feature sequence
*/

public class StringList2FeatureSequence extends Pipe {

    public long totalNanos = 0;

  public StringList2FeatureSequence (Alphabet dataDict) {
    super (dataDict, null);
  }

  public StringList2FeatureSequence () {
    super(new Alphabet(), null);
  }
 
  public Instance pipe (Instance carrier) {

    long start = System.nanoTime();

    try {
      ArrayList<String> tokens = (ArrayList<String>) carrier.getData();
      FeatureSequence featureSequence =
        new FeatureSequence ((Alphabet) getDataAlphabet(), tokens.size());
      for (int i = 0; i < tokens.size(); i++) {
        featureSequence.add (tokens.get(i));
      }
      carrier.setData(featureSequence);
     
      totalNanos += System.nanoTime() - start;
    } catch (ClassCastException cce) {
      System.err.println("Expecting ArrayList<String>, found " + carrier.getData().getClass());
    }

    return carrier;
  }

  static final long serialVersionUID = 1;
}
TOP

Related Classes of cc.mallet.pipe.StringList2FeatureSequence

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.