List of usage examples for edu.stanford.nlp.sequences SeqClassifierFlags DEFAULT_BACKGROUND_SYMBOL
String DEFAULT_BACKGROUND_SYMBOL
To view the source code for edu.stanford.nlp.sequences SeqClassifierFlags DEFAULT_BACKGROUND_SYMBOL.
Click Source Link
From source file:org.exist.xquery.corenlp.Classify.java
License:Open Source License
private void classifyText(String text, MemTreeBuilder builder, DocumentBuilderReceiver receiver, ValueSequence result, FunctionReference callback) throws XPathException, SAXException { StringBuilder buf = new StringBuilder(); String background = SeqClassifierFlags.DEFAULT_BACKGROUND_SYMBOL; String prevTag = background;/*from w ww .j a v a 2 s . c o m*/ int nodeNr = 0; List<List<CoreLabel>> out = cachedClassifier.classify(text); for (List<CoreLabel> sentence : out) { for (Iterator<CoreLabel> wordIter = sentence.iterator(); wordIter.hasNext();) { CoreLabel word = wordIter.next(); final String current = word.get(CoreAnnotations.OriginalTextAnnotation.class); final String tag = word.get(CoreAnnotations.AnswerAnnotation.class); final String before = word.get(CoreAnnotations.BeforeAnnotation.class); final String after = word.get(CoreAnnotations.AfterAnnotation.class); if (!tag.equals(prevTag)) { if (!prevTag.equals(background) && !tag.equals(background)) { writeText(builder, buf, null); builder.endElement(); if (result != null) { result.add(builder.getDocument().getNode(nodeNr)); } if (before != null) buf.append(before); writeText(builder, buf, result); if (callback == null) { final String name = tag.toLowerCase(); nodeNr = builder.startElement("", name, name, null); } } else if (!prevTag.equals(background)) { if (callback == null) { writeText(builder, buf, null); builder.endElement(); if (result != null) { result.add(builder.getDocument().getNode(nodeNr)); } } else { execCallback(callback, buf, prevTag, receiver); } if (before != null) buf.append(before); } else if (!tag.equals(background)) { if (before != null) buf.append(before); writeText(builder, buf, result); if (callback == null) { final String name = tag.toLowerCase(); nodeNr = builder.startElement("", name, name, null); } } } else { if (before != null) buf.append(before); } buf.append(current); if (!tag.equals(background) && !wordIter.hasNext()) { if (callback == null) { writeText(builder, buf, result); builder.endElement(); } else { execCallback(callback, buf, tag, receiver); } prevTag = background; } else { prevTag = tag; } if (after != null) buf.append(after); } } writeText(builder, buf, result); }