Example usage for edu.stanford.nlp.sequences SeqClassifierFlags DEFAULT_BACKGROUND_SYMBOL

List of usage examples for edu.stanford.nlp.sequences SeqClassifierFlags DEFAULT_BACKGROUND_SYMBOL

Introduction

In this page you can find the example usage for edu.stanford.nlp.sequences SeqClassifierFlags DEFAULT_BACKGROUND_SYMBOL.

Prototype

String DEFAULT_BACKGROUND_SYMBOL

To view the source code for edu.stanford.nlp.sequences SeqClassifierFlags DEFAULT_BACKGROUND_SYMBOL.

Click Source Link

Usage

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);
}