package org.fnlp.app.keyword;
import java.util.Map;
import edu.fudan.nlp.cn.tag.CWSTagger;
import edu.fudan.nlp.corpus.StopWords;
public abstract class AbstractExtractor {
protected CWSTagger tag;
protected StopWords test;
/**
* 权重收敛的默认阈值
*/
protected double precision = 0.001;//权重收敛的默认阈值
/**
* 阻尼参数
*/
protected double dN = 0.85; //阻尼参数
/**
* 窗体大小
*/
protected int windowN = 10; //窗体大小
/**
*设置窗口大小 和阻尼系数
*/
public void setN(int windowN,double dN){
this.windowN = windowN;
this.dN = dN;
}
/**
* 将权重收敛的阈值设小
* 算出来的关键词更精确
*/
public void setPrecisionHigh() {
this.precision = 0.000000001;
}
/**
* 将权重收敛的阈值设大
* 算出来的关键词粗糙,但速度更快
*/
public void setPrecisionLow() {
this.precision = 0.1;
}
/**
* 将权重收敛的阈值设为默认
*/
public void setPrecisionDefault() {
this.precision = 0.001;
}
/**
*
* @param precision
* 权重收敛的阈值
*/
public void setPrecision(double precision){
this.precision = precision;
}
abstract public String extract(String str, int num, boolean isWeighted);
abstract public Map<String,Integer> extract(String readFile, int i);
}