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

📄 numberer.java

📁 Standord Classifier实现了一个基于Java的最大熵分类器。用于模式识别
💻 JAVA
字号:
package edu.stanford.nlp.util;import java.util.*;import java.io.Serializable;/** Gives a unique integer serial numbers to a family of objects, identified *  by a name space. *  @author Dan Klein */public class Numberer implements Serializable {  private static Map numbererMap = new HashMap();  public static Map getNumberers() { return numbererMap; }  public static void setNumberers(Map numbs) { numbererMap = numbs; }  public static Numberer getGlobalNumberer(String type) {    Numberer n = (Numberer) numbererMap.get(type);    if (n==null) {      n = new Numberer();      numbererMap.put(type, n);    }    return n;  }  public static int number(String type, Object o) {    return getGlobalNumberer(type).number(o);  }  public static Object object(String type, int n) {    return getGlobalNumberer(type).object(n);  }  public static int translate(String sourceType, String targetType, int n) {    return getGlobalNumberer(targetType).number(getGlobalNumberer(sourceType).object(n));  }  private int total;  private Map intToObject;  private Map objectToInt;  private MutableInteger tempInt;  private boolean locked = false;  public int total() {    return total;  }  public void lock() {    locked = true;  }  public boolean hasSeen(Object o) {    return objectToInt.keySet().contains(o);  }  public int number(Object o) {    MutableInteger i = (MutableInteger)objectToInt.get(o);    if (i == null) {      if (locked) {	throw new NoSuchElementException();      }      i = new MutableInteger(total);      total++;      objectToInt.put(o,i);      intToObject.put(i,o);    }    return i.intValue();  }  public Object object(int n) {    tempInt.set(n);    return intToObject.get(tempInt);  }  public String toString() {    StringBuffer sb = new StringBuffer();    sb.append("[");    for (int i=0; i<total; i++) {      sb.append(i);      sb.append("->");      sb.append(object(i));      if (i < total-1)	sb.append(", ");    }    sb.append("]");    return sb.toString();  }  public Numberer() {    total = 0;    tempInt = new MutableInteger();    intToObject = new HashMap();    objectToInt = new HashMap();  }  private static final long serialVersionUID = 1L;}

⌨️ 快捷键说明

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