/* 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. */ /** @author Andrew McCallum <a href="mailto:mccallum@cs.umass.edu">mccallum@cs.umass.edu</a> */ package cc.mallet.extract; import cc.mallet.types.*; public interface Tokenization extends Sequence //?? { /** * Returns the document of which this is a tokenization. */ public Object getDocument (); public Span getSpan (int i); /** Returns a span formed by concatenating the spans from start to end. * In more detail: * <ul> * <li>The start of the new span will be the start index of <tt>getSpan(start)</tt>. * <li>The end of the new span will be the start index of <tt>getSpan(end)</tt>. * <li>Unless <tt>start == end</tt>, the new span will completely include <tt>getSpan(start)</tt>. * <li>The new span will never intersect <tt>getSpan(end)</tt> * <li>If <tt>start == end</tt>, then the new span contains no text. * </ul> * * @param start The index of the first token in the new span (inclusive). * This is an index of a token, *not* an index into the document. * @param end The index of the first token in the new span (exclusive). * This is an index of a token, *not* an index into the document. * @return A span into this tokenization's document */ Span subspan (int start, int end); }