featuretypetokenloop.java

来自「dragontoolkit用于机器学习」· Java 代码 · 共 57 行

JAVA
57
字号
package dragon.ml.seqmodel.feature;import dragon.ml.seqmodel.data.*;/** * This can be used as a wrapper around a FeatureType class that wants to * generate features for each token in a segment. */public class FeatureTypeTokenLoop extends AbstractFeatureTypeWrapper {    private int currPos;    private int segEnd;    private transient DataSequence dataSeq;    public FeatureTypeTokenLoop(FeatureType s) {        super(s);    }    private void advance() {        while (true) {            if (ftype.hasNext())                return;            currPos++;            if (currPos > segEnd)                return;            ftype.startScanFeaturesAt(dataSeq,currPos,currPos);        }    }    public  boolean startScanFeaturesAt(DataSequence data, int pos){        return startScanFeaturesAt(data,pos,pos);    }    public  boolean startScanFeaturesAt(DataSequence data, int startPos, int endPos) {        currPos = startPos;        segEnd = endPos;        dataSeq = data;        ftype.startScanFeaturesAt(data,startPos,startPos);        advance();        return ftype.hasNext();    }    public boolean hasNext() {        return (currPos <= segEnd) && ftype.hasNext();    }    public Feature next() {        Feature f;        f=ftype.next();        advance();        return f;    }};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?