【问题标题】:German Novel with DkPro德国小说与 DkPro
【发布时间】:2020-09-15 13:17:19
【问题描述】:

我试过German Novel with DkPro。我的示例输入文件是一个 XHTML 文件。如何根据 XHTML 索引获取我的 PosTagger 输出。

脚本:

 PACKAGE com.github.uima.ruta.novel;
 ENGINE utils.HtmlAnnotator;
 ENGINE utils.HtmlConverter;
 ENGINE utils.ViewWriter;
 TYPESYSTEM utils.HtmlTypeSystem;
 TYPESYSTEM utils.TypeSystem;

 IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos FROM desc.type.POS;
 IMPORT de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Lemma FROM desc.type.LexicalUnits;

 UIMAFIT org.dkpro.core.opennlp.OpenNlpSegmenter;
 UIMAFIT org.dkpro.core.stanfordnlp.StanfordPosTagger;

 CONFIGURE(HtmlAnnotator, "onlyContent" = false);
 Document{-> EXEC(HtmlAnnotator)};
 Document { -> CONFIGURE(HtmlConverter, "inputView" = "_InitialView","outputView" = "plain"),
 EXEC(HtmlConverter,{TAG})};

 "<\\?xml version=\"1.0\" encoding=\"UTF-8\"\\?>"->MARKUP;
 uima.tcas.DocumentAnnotation{-CONTAINS(POS)} -> {
 uima.tcas.DocumentAnnotation{-> SETFEATURE("language", "de")};
 EXEC(OpenNlpSegmenter);
 EXEC(StanfordPosTagger, {POS});
 };

示例输入

 <?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml"><head xmlns="http://www.w3.org/1999/xhtml"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><style></style><title></title></head><link xmlns="http://www.w3.org/1999/xhtml" src="./ckeditor.css" /><body xmlns="http://www.w3.org/1999/xhtml"><div class="WordSection1"><p class="Normal" data-name="Normal"><span data-bkmark="para10000"></span><span style="font-size:9pt">Der Idiot</span><span data-bkmark="para10000"></span></p>
 <p class="Normal" data-name="Normal"><span data-bkmark="para10001"></span><span style="font-size:9pt">Ein Roman in vier Teilen.</span><span data-bkmark="para10001"></span></p>
 </div>
 <hr align="left" size="1" width="33%" /></body>
 </html>

在示例脚本中,uima.tcas.DocumentAnnotation 被发送到 PosTagger 进程。此注释中的 MARKUP 会影响准确性。我需要做什么才能获得准确性。

【问题讨论】:

    标签: uima ruta dkpro-core


    【解决方案1】:

    HtmlAnnotator 可以用来隐藏额外的 MARKUP,这样规则就不会受到它们的影响。 HtmlConverter 能够在没有 html/xml 标记的情况下创建新的文档文本,但只能在新的 CAS 视图中创建,因为 CAS 中的初始文本是静态的并且无法更改。 EXEC 操作能够在当前 CAS 对象上应用外部分析引擎,并且可以将其配置为应用于不同的 CAS 视图。但是,外部分析引擎应用于包括标记在内的完整 CAS。不会即时创建新的 CAS。

    您可以采取多种选择。

    • 您可以在“普通”视图中应用 pos 标记器,但您无法使用规则访问这些注释,因为注释将出现在不同的视图中
    • 您设置了多视图设置,例如,通过两阶段过程。首先将文本转换为没有标记的纯文本,然后在新文本上应用 pos 标记器
    • 根据外部分析引擎,您也许还可以通过重新定义令牌来解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 2012-12-30
      • 2020-11-07
      • 2020-02-21
      相关资源
      最近更新 更多