当前位置: 首页 > 知识库问答 >
问题:

Stanford CoreNLP TokensRegex中用于从匹配的令牌中获取结果数据的注释类是什么?

柴翰藻
2023-03-14

我使用的是C#,这是我如何尝试基于斯坦福Corenlp文档获得结果的代码片段。

我不知道该使用哪个注释:

Annotation document = new Annotation(input);
pipeline.annotate(document);

var sentences = document.get(new CoreAnnotations.SentencesAnnotation().getClass()) as ArrayList;

foreach (CoreMap sentence in sentences)
{
    var tokens = sentence.get(new CoreAnnotations.TokensAnnotation().getClass()) as ArrayList;

    TokenSequencePattern pattern = TokenSequencePattern.compile("([ner: PERSON]+) /was|is/ /an?/ []{0,3} /painter|artist/");
    TokenSequenceMatcher matcher = pattern.getMatcher(tokens);

    while (matcher.find())
    {
        String matchedString = matcher.group();
        var matchedTokens = matcher.groupNodes() as ArrayList;

        foreach (CoreLabel matchedToken in matchedTokens)
        {
            //matchedToken.get(new CoreAnnotations.TokensAnnotation().getClass()));
            //Which Annotation class to use in order to get result data from matched token?
        }    
    }
}

共有1个答案

娄学文
2023-03-14

我不确定你想要什么。matchedtokens中的每个标记与句子中的其他标记具有相同的注释。

如果希望获得第一个捕获组(([ner:PERSON]+)部分),那么应该使用matcher.group(1)matcher.groupnodes(1)。有关匹配结果的其他函数,请参见http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ling/tokensregex/basicSequencematchResult.html。

 类似资料:
  • 我试图实现一个简单的搜索查询,我将搜索文本拆分为标记,然后返回包含任何标记的所有结果,我使用类似“token1 | token2 | token3 |…”的RLIKE,这是正确的工作,并返回所有结果,但现在我想按匹配的RLIKE中的令牌数对结果进行排序,这是可能的吗?提前谢谢。

  • 我想通过java反映获得一个类的(打包在jar文件中)注释参数。 > 我这样的注释 我的班级是这样的 我的密码是这样的 调试windows信息

  • 我在Sybase数据库中有一个表,其中有一列is_req。它的数据类型是char(1)。它在我的hbm文件中的属性定义如下: 属性名称="is必需"列="is_req"类型="boolean" 现在,当我尝试使用标准/限制进行比较时,比如:,我得到以下例外: 如果我尝试做,我得到以下异常: com.sybase.jdbc2.jdbc.SybSQLException:不允许从数据类型'VARCHAR

  • 我有一个带有以下映射和分析器的索引: 我在索引中有以下2个文档: 和 我以如下方式执行多拍片查询 问题: 衬衫的得分为1.17,而T恤的得分为0.8。那是为什么,我怎样才能做到那件T恤(直接搭配)有更高的分数? 我需要ngrams用于另一个用例,在那里我必须检测包含匹配。(衬衫是在肌肉衬衫,…)所以我不能跳过ngrams,我想。

  • 我有一门课,比如下面的测试 有一个C1班 我给这门课打电话如下 当我调试时,我将i1设置为null。 请告知我做错了什么 注意:。我必须在xyx()中使用类Test,因为它是伪代码,并且xyx()中有很多代码

  • 我有一个类和一个注释 我想写一个 aspectj 切入点,它将捕获所有具有 value=true 的注释方法注释的方法。我该怎么做?