stanfordnlp/CoreNLP · info
SUTime currently does not support Chinese. Ignore property…
Error message
SUTime currently does not support Chinese. Ignore property ner.useSUTime.
What it means
ChineseNumberSequenceClassifier's constructor warns that SUTime (temporal expression extraction) has no Chinese version. If the ner.useSUTime property is true, it cannot be honored: timexExtractor is set to null and temporal tagging is silently skipped for Chinese text.
Solutions
- Set ner.useSUTime=false in the Properties used to build the Chinese NER pipeline.
- If temporal tagging of Chinese is required, use a separate Chinese time-expression tool or your own extractor.
- Strip English-derived SUTime properties when copying config across languages.
Example fix
// before
props.setProperty("ner.useSUTime", "true");
// after
props.setProperty("ner.useSUTime", "false"); // SUTime unsupported for Chinese Defensive patterns
Strategy: validation
Validate before calling
if ("zh".equals(lang) && Boolean.parseBoolean(props.getProperty("ner.useSUTime", "false"))) {
props.setProperty("ner.useSUTime", "false");
} Prevention
- Don't reuse English NER Properties for Chinese models.
- Centralize per-language pipeline config.
- Document that SUTime is English-only.
When it happens
Trigger: Constructing ChineseNumberSequenceClassifier (directly or via a Chinese NER pipeline) with useSUTime=true, e.g. properties containing ner.useSUTime=true while loading the Chinese NER model.
Common situations: Reusing an English NER Properties template (which enables SUTime) for the Chinese model; pipeline defaults where useSUTime wasn't disabled for Chinese.
Related errors
- Warning: ChineseNumberSequenceClassifier does not have…
- Array lengths don't match
- Attempting to remove features based on weight from a…
- Cannot normalize ner tag
- Cannot retrain before you train!
AI-assisted analysis of stanfordnlp/CoreNLP@1b7edd19c4 (2026-09-10).
Data as JSON: /api/errors/86d207d6d236b5d7.
Report an issue: GitHub.
Appendix: source
Thrown at src/edu/stanford/nlp/ie/regexp/ChineseNumberSequenceClassifier.java:63
public static final String USE_SUTIME_PROPERTY_BASE = "useSUTime";
public static final String SUTIME_PROPERTY = "sutime";
private final TimeExpressionExtractor timexExtractor;
public ChineseNumberSequenceClassifier() {
this(new Properties(), USE_SUTIME_DEFAULT, new Properties());
}
public ChineseNumberSequenceClassifier(boolean useSUTime) {
this(new Properties(), useSUTime, new Properties());
}
public ChineseNumberSequenceClassifier(Properties props, boolean useSUTime, Properties sutimeProps) {
super(props);
this.useSUTime = useSUTime;
if(this.useSUTime) {
// TODO: Need a Chinese version of SUTime
log.warn("SUTime currently does not support Chinese. Ignore property ner.useSUTime.");
}
this.timexExtractor = null;
}
// All the tags we need
public static final String NUMBER_TAG = "NUMBER";
public static final String DATE_TAG = "DATE";
public static final String TIME_TAG = "TIME";
public static final String MONEY_TAG = "MONEY";
public static final String ORDINAL_TAG = "ORDINAL";
public static final String PERCENT_TAG = "PERCENT";
// Patterns we need
public static final Pattern CURRENCY_WORD_PATTERN =
Pattern.compile("元|刀|(?:美|欧|澳|加|日|韩)元|英?镑|法郎|卢比|卢布|马克|先令|克朗|泰?铢|(?:越南)?盾|美分|便士|块钱|毛钱|角钱");
// In theory 块 钱 should be separated by segmenter, but just in case segmenter fails
// TODO(yuhao): Need to add support for 块 钱, 毛 钱, 角 钱, 角, 五 块 二
public static final Pattern PERCENT_WORD_PATTERN1 = Pattern.compile("(?:百分之|千分之).+");View on GitHub (pinned to 1b7edd19c4)