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

📄 edgefeatures.java

📁 CRF1.2
💻 JAVA
字号:
package iitb.Model;import iitb.CRF.*;/** * * @author Sunita Sarawagi * */ public class EdgeFeatures extends FeatureTypes {	transient protected EdgeIterator edgeIter = null;	protected int edgeNum;	transient boolean edgeIsOuter;	Object labelNames[];	public EdgeFeatures(FeatureGenImpl m, Object labels[]) {		super(m);		labelNames=labels;	}	public EdgeFeatures(FeatureGenImpl m) {		this(m,null);	}	protected void setEdgeIter() {	    edgeIter = model.edgeIterator();	}	public boolean startScanFeaturesAt(DataSequence data, int prevPos, int pos) {		if (prevPos < 0) {			edgeNum = model.numEdges();			return false;		} else {			edgeNum = 0;			if (edgeIter == null) {			    setEdgeIter();			}			if (edgeIter != null)			    edgeIter.start();			return hasNext();		}	}	public boolean hasNext() {		return (edgeIter != null) && (edgeNum < model.numEdges());	}		public boolean lastEdgeWasOuter() {return edgeIsOuter;}	public void next(FeatureImpl f) {		edgeIsOuter = edgeIter.nextIsOuter();		Edge e = edgeIter.next();		Object name="";		if (featureCollectMode()) {			if (labelNames == null) {				name = "E."+model.label(e.start);			} else {				name = labelNames[model.label(e.start)];			}		}		if (edgeIsOuter) {			setFeatureIdentifier(model.label(e.start)*model.numberOfLabels()+model.label(e.end) + model.numEdges(), model.label(e.end),name,f);		} else {			setFeatureIdentifier(edgeNum,e.end,name,f);		}		f.ystart = e.start;		f.yend = e.end;		f.val = 1;		edgeNum++;	}		 public boolean fixedTransitionFeatures() {	     return ((model.numStartStates()==model.numStates())&&	             (model.numEndStates()==model.numEndStates()));	 }};

⌨️ 快捷键说明

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