【问题标题】:Stanford NER punctuation斯坦福 NER 标点符号
【发布时间】:2018-06-06 12:08:51
【问题描述】:

我们正在使用斯坦福 NER 为法国报纸文本训练我们自己的 (CRF) 分类器。 我们在标点符号方面遇到问题,特别是斯坦福 NER 似乎用其他标点符号代替了一些标点符号。

这是一个示例,其中“aujourd'hui”中的'` 替换,而包围Ave-Maria«» 被替换为``"

输入原始文本:

" Aujourd'hui ... « Ave Maria » et ..."

斯坦福 NER 输出:

word    | tag | begin-offset | end-offset

Aujourd | O   | 31           | 38

`       | O   | 38           | 39

hui     | O   | 39           | 42


``      | O   | 331          | 332

Ave     | O   | 333          | 336

Maria   | O   | 337          | 342

''      | O   | 343          | 344

我们在创建分类器时测试了以下标志:

-outputFormatOptions includePunctuationDependencies

-inputEncoding utf-8 

-outputEncoding utf-8

但没有一个有效。

我将不胜感激。

【问题讨论】:

    标签: stanford-nlp


    【解决方案1】:

    以下是使用法语分词器对法语文本进行分词的示例命令:

    java -Xmx10g edu.stanford.nlp.pipeline.StanfordCoreNLP -props StanfordCoreNLP-french.properties -file example-french-sentence-one.txt -outputFormat text
    

    注意 tokenize 属性:

    tokenize.language = fr

    这将告诉分词器使用法语分词器。

    这应该处理Aujourd'hui 的情况,但不幸的是,guillemets 被硬编码为在法语词法分析器中转换为",并且没有任何选项会改变这种行为。

    如果有机会,我会尝试将更改推送到法语标记器,以将该行为设置为可选。

    您可以使用选项tokenize.whitespace 将已标记化的文本提供给管道,如果您在将文本提交给斯坦福 CoreNLP 之前有另一种方法对文本进行标记,则只需提供由空格分隔的每个标记。否则,您可能希望处理您的训练数据以匹配斯坦福 CoreNLP 对其进行标记的方式,这可能是另一种选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-17
      • 2020-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 1970-01-01
      相关资源
      最近更新 更多