{"record":{"id":"c84af6403c3dc42a","repo":"stanfordnlp/CoreNLP","slug":"invalid-value-for-useunknownwordsignatures-c84af6","errorCode":null,"errorMessage":"Invalid value for useUnknownWordSignatures: ","messagePattern":"Invalid value for useUnknownWordSignatures: ","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"src/edu/stanford/nlp/parser/lexparser/EnglishUnknownWordModel.java","lineNumber":71,"sourceCode":"  private static final boolean DEBUG_UWM = false;\n\n  protected final boolean smartMutation;\n\n  protected final int unknownSuffixSize;\n  protected final int unknownPrefixSize;\n\n  protected final String wordClassesFile;\n\n  private static final int MIN_UNKNOWN = 0;\n  private static final int MAX_UNKNOWN = 8;\n\n  public EnglishUnknownWordModel(Options op, Lexicon lex,\n                                 Index<String> wordIndex,\n                                 Index<String> tagIndex,\n                                 ClassicCounter<IntTaggedWord> unSeenCounter) {\n    super(op, lex, wordIndex, tagIndex, unSeenCounter, null, null, null);\n    if (unknownLevel < MIN_UNKNOWN || unknownLevel > MAX_UNKNOWN) {\n      throw new IllegalArgumentException(\"Invalid value for useUnknownWordSignatures: \" + unknownLevel);\n    }\n    this.smartMutation = op.lexOptions.smartMutation;\n    this.unknownSuffixSize = op.lexOptions.unknownSuffixSize;\n    this.unknownPrefixSize = op.lexOptions.unknownPrefixSize;\n    wordClassesFile = op.lexOptions.wordClassesFile;\n  }\n\n  /**\n   * This constructor creates an UWM with empty data structures.  Only\n   * use if loading in the data separately, such as by reading in text\n   * lines containing the data.\n   */\n  public EnglishUnknownWordModel(Options op, Lexicon lex,\n                                 Index<String> wordIndex,\n                                 Index<String> tagIndex) {\n    this(op, lex, wordIndex, tagIndex, new ClassicCounter<>());\n  }\n","sourceCodeStart":53,"sourceCodeEnd":89,"githubUrl":"https://github.com/stanfordnlp/CoreNLP/blob/1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a/src/edu/stanford/nlp/parser/lexparser/EnglishUnknownWordModel.java#L53-L89","documentation":"EnglishUnknownWordModel's constructor validates the unknown word signature level (unknownLevel, inherited from UnknownWordModel defaults). If it falls below MIN_UNKNOWN or above MAX_UNKNOWN, the constructor throws IllegalArgumentException 'Invalid value for useUnknownWordSignatures: <level>'.","triggerScenarios":"Building an EnglishUnknownWordModel when the configured unknown/signature level option (useUnknownWordSignatures) is outside the supported enum-like range, typically due to a bad value in parser options or a training file that recorded an invalid level.","commonSituations":"Hand-edited parser options or serialized option files carrying an unsupported unknownLevel; experimental settings pushing the level past the supported max.","solutions":["Set useUnknownWordSignatures to a supported value (within MIN_UNKNOWN..MAX_UNKNOWN, e.g. the default used by English parser models)","Check the Options/LexOptions source of the unknownLevel and correct it before constructing the model","If loading from a serialized model, regenerate options with a supported level"],"exampleFix":"// before\nop.lexOptions.useUnknownWordSignatures = 9; // out of range\n// after\nop.lexOptions.useUnknownWordSignatures = 5; // supported level","handlingStrategy":"validation","validationCode":"int level = op.lexOptions.useUnknownWordSignatures; if (level < MIN_UNKNOWN || level > MAX_UNKNOWN) throw new IllegalArgumentException(\"useUnknownWordSignatures out of range: \" + level);","typeGuard":"boolean isValidUnknownLevel(int v) { return v >= MIN_UNKNOWN && v <= MAX_UNKNOWN; }","tryCatchPattern":"try { new EnglishUnknownWordModel(op, lex, wordIndex, tagIndex, unSeen); } catch (IllegalArgumentException e) { op.lexOptions.useUnknownWordSignatures = DEFAULT_UNKNOWN; retry(); }","preventionTips":["Validate options loaded from serialized/edited files before model construction","Use documented default values for useUnknownWordSignatures"],"tags":["java","parser","invalid-argument","configuration"],"backgroundTag":"invalid-argument-value","analyzedSha":"1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a","analyzedAt":"2026-09-10T02:24:07.274Z","contentChangedAt":"2026-09-10T02:24:07.274Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}