Java nlp:CRFClassizer.segmentString线程安全吗?
我有一个web服务,输入的是一个句子,我想用CRFClassizer得到这个句子的片段。 所以我使用了下面的代码Java nlp:CRFClassizer.segmentString线程安全吗?,java,nlp,Java,Nlp,我有一个web服务,输入的是一个句子,我想用CRFClassizer得到这个句子的片段。 所以我使用了下面的代码 public class SegmentParser { private CRFClassifier<CoreLabel> classifier; public SegmentParser() { Properties props = new Properties(); props.setProperty("sighanCo
public class SegmentParser {
private CRFClassifier<CoreLabel> classifier;
public SegmentParser() {
Properties props = new Properties();
props.setProperty("sighanCorporaDict", "/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data");
props.setProperty("NormalizationTable", "/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data/norm.simp.utf8");
props.setProperty("normTableEncoding", "UTF-8");
props.setProperty("serDictionary", "/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data/dict-chris6.ser.gz");
props.setProperty("inputEncoding", "UTF-8");
props.setProperty("sighanPostProcessing", "true");
classifier = new CRFClassifier<CoreLabel>(props);
classifier.loadClassifierNoExceptions("/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data/ctb.gz", props);
}
public List<String> parse(String sentence) {
return classifier.segmentString(sentence);
}
}
公共类分段分析器{
专用CRFClassizer分类器;
公共语法分析器(){
Properties props=新属性();
props.setProperty(“sighanCorporaDict”,“/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data”);
props.setProperty(“NormalizationTable”,“/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data/norm.simp.utf8”);
props.setProperty(“normTableEncoding”、“UTF-8”);
props.setProperty(“serDictionary”,“/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data/dict-chris6.ser.gz”);
道具设置属性(“输入编码”、“UTF-8”);
props.setProperty(“siganpostprocessing”、“true”);
分类器=新的CRFClassizer(道具);
loadClassifierNoExceptions(“/Users/zhifan/Downloads/stanford-segmenter-2015-01-30/data/ctb.gz”,props);
}
公共列表解析(字符串语句){
返回分类器.segmentString(句子);
}
}
对于每个web请求,我都可以使用新的SegmentParser().parse(句子)。实际上,新的SegmentParser()需要很长的时间,所以它是一个非常糟糕的设计
因此,我的问题是: