internal static Triple <bool, Token, string> GetContextTokenStr(CoreLabel tokenj) { Token strgeneric = new Token(PatternFactory.PatternType.Surface); string strOriginal = string.Empty; bool isLabeledO = true; // for (Entry<String, Class<? extends TypesafeMap.Key<String>>> e : getAnswerClass().entrySet()) { // if (!tokenj.get(e.getValue()).equals(backgroundSymbol)) { // isLabeledO = false; // if (strOriginal.isEmpty()) { // strOriginal = e.getKey(); // } else { // strOriginal += "|" + e.getKey(); // } // strgeneric.addRestriction(e.getKey(), e.getKey()); // } // } foreach (KeyValuePair <string, Type> e in ConstantsAndVariables.GetGeneralizeClasses()) { if (!tokenj.ContainsKey(e.Value) || tokenj.Get(e.Value) == null) { throw new Exception(" Why does the token not have the class " + e.Value + " set? Existing classes " + tokenj.ToString(CoreLabel.OutputFormat.All)); } if (!tokenj.Get(e.Value).Equals(ConstantsAndVariables.backgroundSymbol)) { isLabeledO = false; if (strOriginal.IsEmpty()) { strOriginal = e.Key; } else { strOriginal += "|" + e.Key; } strgeneric.AddORRestriction(e.Value, e.Key); } } if (useContextNERRestriction) { string nerTag = tokenj.Get(typeof(CoreAnnotations.NamedEntityTagAnnotation)); if (nerTag != null && !nerTag.Equals(SeqClassifierFlags.DefaultBackgroundSymbol)) { isLabeledO = false; if (strOriginal.IsEmpty()) { strOriginal = nerTag; } else { strOriginal += "|" + nerTag; } strgeneric.AddORRestriction(typeof(CoreAnnotations.NamedEntityTagAnnotation), nerTag); } } return(new Triple <bool, Token, string>(isLabeledO, strgeneric, strOriginal)); }
public static Token GetContextToken(CoreLabel tokenj) { Token token = new Token(PatternFactory.PatternType.Surface); token.AddORRestriction(typeof(PatternsAnnotations.ProcessedTextAnnotation), tokenj.Get(typeof(PatternsAnnotations.ProcessedTextAnnotation))); return(token); }
internal virtual Token[] CreateContext(IDictionary <Type, string> res) { Token[] toks = new Token[res.Count]; int i = 0; foreach (KeyValuePair <Type, string> en in res) { Token t = new Token(PatternFactory.PatternType.Surface); t.AddORRestriction(en.Key, en.Value); toks[i] = t; i++; } return(toks); }