使用另一个解析器的解析器输出,我为一个句子创建了解析树。现在,我需要找到解析中出现的每个名词短语的字符偏移量。
我该怎么办?
我将首先查看您的解析器使用的标记器/分块器。我更容易找到块和原始文本之间的字符偏移映射(如果字符偏移不存在)。然后您可以遍历解析树寻找名词短语,并从那里遍历左侧分支,直到您到达一个叶,这将是您解析树中的第一个标记;从NP节点,遍历右侧分支,直到您到达另一个叶,这将是您的结束标记。您可以通过从树的根部计数叶子来获得第一个标记的偏移量。
以一个对应于名词短语的子树为例。获取这棵树的叶子:
List<Tree> leaves = tree.getLeaves();
然后取第一个叶子的起点(特征偏移集开始注释值)和最后一个叶子的终端(特征偏移集结束注释)。结果间隔是一个NP的偏移量。
要获取偏移值,请获取叶的标签并将其强制转换为HasOffset:
Label label = firstLeaf.label();
HasOffset ofs = (HasOffset) label;
int start = ofs.beginPosition();
这适用于斯坦福CoreNLP 3.2.0。
问题内容: 是否可以仅从pom.xml文件获取POM 的实例或其他对象形式? 提前致谢。 问题答案: 是的你可以 。这是代码。您需要maven-model-3.0.4.jar和plexus-utils-2.0.6.jar和maven- core-3.0.4.jar
问题内容: 我正在学习php。我有这个结构 每个公司可能有几个子公司,可能只有一个母公司。每个公司都有钱。所有公司都有Allmoney-自己的钱+他所有子公司的钱。 在MySQL中这样的结构 因此,我如何计算每个公司在php中的allmoney?我现在需要使用递归,但是我尝试了并且没有任何反应。选择,更新和其他命令mysql- 我知道,请使用php帮助我。我写这样的东西: 非常感谢你 问题答案:
OpenNLP是一个关于自然语言处理的Apache项目。NLP程序的目的之一是解析一个句子,给出其语法结构的树。例如,句子“天空是蓝色的”可能被解析为 其中是句子,是名词短语,是动词短语。等效地,上面的树可以写成一个带括号的字符串,如下所示: 我试图使用OpenNLP从句子中获取带括号的字符串,但我无法让示例代码正常工作。 特别是,我正在遵循本教程的最后一部分,我的代码在初始化时卡住了。 我已经从
问题内容: 使用Java 1.8.0_51时,以下代码(摘自无法从TemporalAccessor获取OffsetDateTime) 引发异常: 这次我在做什么错? 问题答案: 您忘记设置时间了。 如果将我的答案与代码进行比较,您会注意到唯一的区别是时间信息丢失。一个包含时间信息,并从当前的格式不处理它,实例不能形成即可。 您还可以在包含以下内容的stacktrace中看到它 根据您的需要,您可以
问题内容: 我有一个名为@Pojo的自定义注释,可用于自动生成Wiki文档: 我这样使用它: 注释资源方法,以便注释处理器可以自动生成描述所需资源和类型的Wiki页面。 我需要在注释处理器中读取该字段的值,但出现运行时错误。 在我的处理器的源代码中,我有以下几行: 但实际的类不适用于处理器。我认为我需要一个替代品来代替实际课程。我不确定该怎么买。 我得到的错误是: 该是我的一个提到的一类注释。 不
问题内容: 我只是想将Java 8中的日期字符串转换为DateTime对象。运行以下行时: 我收到以下错误: 语法与此处建议的语法相同,但有例外。我正在使用JDK-8u25。 问题答案: 事实证明Java不接受裸露的Date值作为DateTime。使用LocalDate代替LocalDateTime解决了此问题: