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

有没有一种方法可以使用TokensRegex将多个令牌重新标记组合成一个?

刘海
2023-03-14

我想将具有相同命名实体注释的连续令牌(例如,斯坦福大学,其中两个令牌“斯坦福”和“大学”都有NE“组织”)组合成一个单一的令牌,这样我就有了NE“组织”的“斯坦福大学”。有没有一种方法可以用令牌regex做到这一点?

谢了!

共有1个答案

贺功
2023-03-14

您希望使用EntityMentions注释器,它将为您完成这一工作,并从文本中提取完整的实体。

示例代码:

package edu.stanford.nlp.examples;

import edu.stanford.nlp.pipeline.*;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.util.*;

import java.util.*;

public class EntityMentionsExample {

  public static void main(String[] args) {
    Annotation document =
        new Annotation("John Smith visted Los Angeles on Tuesday.");
    Properties props = new Properties();
    props.setProperty("annotators", "tokenize,ssplit,pos,lemma,ner,entitymentions");
    StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
    pipeline.annotate(document);

    for (CoreMap entityMention : document.get(CoreAnnotations.MentionsAnnotation.class)) {
      System.out.println(entityMention);
    }
  }
}
 类似资料:
  • 问题内容: 假设我有以下代码: 这段代码的问题在于,协程内部的循环永远不会完成第一次迭代,而大小会不断增加。 为什么会这样发生,我该怎么解决? 我无法摆脱单独的线程,因为在我的真实代码中,我使用了单独的线程与串行设备进行通信,而且我还没有找到使用的方法。 问题答案: 不是线程安全的,因此您不能直接在多个线程中直接使用它。相反,您可以使用,它是提供线程感知队列的第三方库: 还有(全披露:我写了它),

  • 问题内容: 我现在有几个Dockerfile。 一种是Cassandra 3.5,它是 我也有一个用于Kafka的Dockerfile,但是要复杂得多。它是,并且它运行长命令来安装Kafka和Zookeeper。 最后,我有一个用Scala编写的使用SBT的应用程序。 对于该Dockerfile,它是,这使我得到了Java 8,Scala 2.11.7和STB 0.13.9。 也许,我不了解Doc

  • 我知道我可以在一个jar中编译多个xsd文件。我尝试过使用不同的名称空间,这只让我完成了一半的目标。通过这种方式,我可以解析正确的模式,但我希望这对将接收我解析的xmlBeans对象的用户是透明的。 他们不必知道系统上当前存在哪个版本的xml文件。我需要每个xsd版本都有一个超级类来实现这一点。 这可以用xmlBeans完成吗?

  • 问题内容: 我的网页上有一个“瘦”列表:例如,一个包含100个项目的列表,每个项目的长度为一个单词。为了减少滚动,我想在页面的两列甚至四列中显示此列表。我该如何使用CSS? 我希望该解决方案具有灵活性,这样,如果列表增加到200个项目,则无需进行很多手动调整即可容纳新列表。 问题答案: ul { -moz-column-count: 4; -moz-column-gap: 20px; -webki

  • 我很想知道是否有一个等价物: 它生成与matplotlib图表相反的图形。