StateMachine.java 文件源码

java
阅读 27 收藏 0 点赞 0 评论 0

项目:UaicNlpToolkit 作者:
protected void setJsSentence(INlpSentence s) throws CoreCriticalException {
    try {
        jsEngine.eval("var sentence = [];");
        if ((Boolean) jsEngine.eval(String.format("sentence.positionInSentence == %d", s.getSentenceIndexInCorpus())))
            return;
        jsEngine.eval(String.format("sentence.positionInSentence = %d", s.getSentenceIndexInCorpus()));
        for (int i = 0; i< s.getTokenCount(); i++) {
            Token token = s.getToken(i);
            jsEngine.eval(String.format("sentence[%d] = %s;", token.getTokenIndexInSentence(), tokenToJson(token)));
        }

        jsEngine.eval("sentence.spanAnnotations = []");
        for (SpanAnnotation annotation : s.getSpanAnnotations()) {
            jsEngine.eval(String.format("sentence.spanAnnotations.push(%s);", annotationToJson(annotation)));

            for (int i = annotation.getStartTokenIndex(); i <= annotation.getEndTokenIndex(); i++) {
                jsEngine.eval(String.format("sentence[%s].parentAnnotations.push(sentence.spanAnnotations[sentence.spanAnnotations.length - 1]);", i));
            }
        }

    } catch (ScriptException e) {
        throw new CoreCriticalException(e);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号