Open GoogleCodeExporter opened 8 years ago
版本:1.0 重现步骤: 1. 构建一个文本,以空格(半角或全角)开头。 2. 创建NERTagger对象,装载模型。 3. 用这个NERTagger的tag方法处理这个文本。 实际结果: tag函数返回一个空的哈希,没有抛出异常;但是标准错误流�� �出了如下异常栈: java.lang.ArrayIndexOutOfBoundsException: -1 at edu.fudan.ml.inf.struct.LinearViterbi.getPath(LinearViterbi.java:100) at edu.fudan.ml.inf.struct.AbstractViterbi.getBest(AbstractViterbi.java:21) at edu.fudan.ml.classifier.Linear.predict(Linear.java:42) at edu.fudan.nlp.tag.NERTagger.tag(NERTagger.java:32) at com.github.wks.tdtutils.segment.FudanNER.tag(FudanNER.java:20) at nerdiagnose.NerDiagnose.main(NerDiagnose.java:22) 期望的结果: 1. 前导空格应该被忽略。 2. 可以规定NERTagger必须处理某些规范的句子或者篇章,但是如�� �输入是非法的,那么: 1. 如果可以容错,那么应该给出正确结果,不应该显示异常。如果要记录,应该使用日志记录(如slf4j等框架)。 2. 如果这个错误是致命的,那么这个异常就应当立即抛出,程序不应该继续执行。 总之,在catch中用e.printStackTrace()来处理异常,然后让程序继�� �执行,是不可靠的。
Original issue reported on code.google.com by wks1...@gmail.com on 7 Sep 2011 at 2:51
wks1...@gmail.com
多谢你的建议,应该如你所说的那样处理错误。 之前考虑过log4j,但是觉得作为类库强制使用log4j不太好。回� ��研究下slf4j。
Original comment by xipeng...@gmail.com on 7 Sep 2011 at 6:34
xipeng...@gmail.com
Original issue reported on code.google.com by
wks1...@gmail.com
on 7 Sep 2011 at 2:51