⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 featurewindow.java

📁 常用机器学习算法,java编写源代码,内含常用分类算法,包括说明文档
💻 JAVA
字号:
package edu.umass.cs.mallet.share.upenn.ner;import edu.umass.cs.mallet.base.types.*;import edu.umass.cs.mallet.base.pipe.*;import edu.umass.cs.mallet.base.util.*;import java.util.*;import gnu.trove.*;/** * Adds all features of tokens in the window to the center token. */public class FeatureWindow extends Pipe implements java.io.Serializable {    int left, right;    public FeatureWindow (int left, int right) {        assert (left >= 0 && right >= 0);        this.left = left;        this.right = right;    }    public Instance pipe (Instance carrier) {        TokenSequence seq = (TokenSequence)carrier.getData();        TObjectDoubleHashMap[] original = new TObjectDoubleHashMap[seq.size()];        for (int i=0; i<seq.size(); i++) {            Token t = seq.getToken(i);            original[i] = new TObjectDoubleHashMap();            PropertyList.Iterator pl = t.getFeatures().iterator();            while (pl.hasNext()) {                pl.nextProperty();                original[i].put(pl.getKey(), pl.getNumericValue());            }        }                for (int i=0; i<original.length; i++) { // add to features of token i...            for (int j = -1 * left; j <= right; j++) {                int index = i + j; //...the features of token index                String append = (j < 0) ? "/"+j : "/+"+j;                 if (index<0 || index==i || index>=original.length) continue;                                Token t = seq.getToken(i);                Object[] features = original[index].keys();                for (int k=0; k<features.length; k++)                    t.setFeatureValue((String)features[k]+append,                                       original[index].get(features[k]));            }        }        return carrier;    }}

⌨️ 快捷键说明

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