{"record":{"id":"bcf11aa2d3791c8b","repo":"stanfordnlp/CoreNLP","slug":"warning-chinesenumbersequenceclassifier-does-not","errorCode":null,"errorMessage":"Warning: ChineseNumberSequenceClassifier does not have SUTime implementation.","messagePattern":"Warning: ChineseNumberSequenceClassifier does not have SUTime implementation\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"src/edu/stanford/nlp/ie/regexp/ChineseNumberSequenceClassifier.java","lineNumber":203,"sourceCode":"    int sz = pl.size();\n    while (j < sz && pl.get(j).getString(CoreAnnotations.PartOfSpeechAnnotation.class).equals(\"CD\")) {\n      j++;\n    }\n    if (j >= sz) {\n      return false;\n    }\n    String tag = pl.get(j).getString(CoreAnnotations.PartOfSpeechAnnotation.class);\n    String word = pl.get(j).word();\n    if (DEBUG) {\n      log.info(\"rightScan testing: \" + word + '/' + tag + \"; answer is: \" + Boolean.toString((tag.equals(\"NN\") || tag.equals(\"NNS\")) && CURRENCY_WORD_PATTERN.matcher(word).matches()));\n    }\n    return (tag.equals(\"M\") || tag.equals(\"NN\") || tag.equals(\"NNS\")) && CURRENCY_WORD_PATTERN.matcher(word).matches();\n  }\n\n  @Override\n  public List<CoreLabel> classifyWithGlobalInformation(List<CoreLabel> tokenSequence, CoreMap document, CoreMap sentence) {\n    if(useSUTime) {\n      log.warn(\"Warning: ChineseNumberSequenceClassifier does not have SUTime implementation.\");\n    }\n    return classify(tokenSequence);\n  }\n\n  @Override\n  public void train(Collection<List<CoreLabel>> docs, DocumentReaderAndWriter<CoreLabel> readerAndWriter) {\n    // Train is not needed for this rule-based classifier\n  }\n\n  @Override\n  public void serializeClassifier(String serializePath) {\n  }\n\n  @Override\n  public void serializeClassifier(ObjectOutputStream oos) {\n  }\n\n  @Override","sourceCodeStart":185,"sourceCodeEnd":221,"githubUrl":"https://github.com/stanfordnlp/CoreNLP/blob/1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a/src/edu/stanford/nlp/ie/regexp/ChineseNumberSequenceClassifier.java#L185-L221","documentation":"classifyWithGlobalInformation is the hook where document-level (SUTime) information would be applied. Since no Chinese SUTime implementation exists, the class warns if useSUTime was requested and then classifies normally without temporal information.","triggerScenarios":"Calling classifyWithGlobalInformation on a ChineseNumberSequenceClassifier constructed with useSUTime=true — i.e. every document classification in a pipeline that enabled SUTime for Chinese.","commonSituations":"Chinese NER pipeline configured with ner.useSUTime=true (copied from English defaults); the warning repeats per document, polluting logs.","solutions":["Rebuild the classifier/pipeline with useSUTime=false to eliminate the per-call warning.","Run temporal extraction separately with a Chinese-capable tool if needed.","Filter/downgrade this known warning in logging configuration if SUTime must remain enabled."],"exampleFix":"// before\nprops.setProperty(\"ner.useSUTime\", \"true\");\n// after\nprops.setProperty(\"ner.useSUTime\", \"false\");","handlingStrategy":"validation","validationCode":"if (classifier instanceof ChineseNumberSequenceClassifier\n    && Boolean.parseBoolean(props.getProperty(\"ner.useSUTime\"))) {\n  props.setProperty(\"ner.useSUTime\", \"false\"); // avoid per-call warnings\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Disable useSUTime for Chinese pipelines.","Suppress this known warning in log filtering if unavoidable.","Handle temporal tagging with a separate Chinese tool."],"tags":["java","ner","chinese","sutime","logging"],"backgroundTag":"feature-not-enabled","analyzedSha":"1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a","analyzedAt":"2026-09-10T02:24:07.274Z","contentChangedAt":"2026-09-10T02:24:07.274Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}