Parsing 如何为malt解析器将文本文件转换为CoNLL格式?

Parsing 如何为malt解析器将文本文件转换为CoNLL格式?,parsing,nlp,stanford-nlp,pos-tagger,Parsing,Nlp,Stanford Nlp,Pos Tagger,我正在尝试将malt解析器与预先制作的英语模型一起使用。但是,我不知道如何将英语句子的文本语料库转换为CoNLL格式,这是Malt解析器操作所必需的。我在网站上找不到任何文档。我该怎么做 更新。我引用这篇文章是为了创建一个.conll。但是,这是使用Stanford解析器的。CoreNLP输出有一个CoNLL格式选项,但不幸的是,它不符合解析器的预期。(令人困惑的是,对于不同的比赛年份,有几种不同的通用CoNLL数据格式……) 如果在命令行中使用选项-outputFormat conll运行Co

我正在尝试将malt解析器与预先制作的英语模型一起使用。但是,我不知道如何将英语句子的文本语料库转换为CoNLL格式,这是Malt解析器操作所必需的。我在网站上找不到任何文档。我该怎么做


更新。我引用这篇文章是为了创建一个.conll。但是,这是使用Stanford解析器的。

CoreNLP输出有一个CoNLL格式选项,但不幸的是,它不符合解析器的预期。(令人困惑的是,对于不同的比赛年份,有几种不同的通用CoNLL数据格式……)

如果在命令行中使用选项
-outputFormat conll
运行CoreNLP,您将获得以下TSV格式的输出(答案末尾的示例输出):

MaltParser需要一种稍微不同的格式,但您可以自定义数据输入/输出格式。尝试将此内容放入
martparser/appdata/dataformat/mycoll.xml

<?xml version="1.0" encoding="UTF-8"?>
<dataformat name="myconll" reader="tab" writer="tab">
    <column name="ID" category="INPUT" type="INTEGER"/>
    <column name="FORM" category="INPUT" type="STRING"/>
    <column name="LEMMA" category="INPUT" type="STRING"/>
    <column name="POSTAG" category="INPUT" type="STRING"/>
    <column name="NER" category="IGNORE" type="STRING"/>
    <column name="HEAD" category="HEAD" type="INTEGER"/>
    <column name="DEPREL" category="DEPENDENCY_EDGE_LABEL" type="STRING"/>
</dataformat>
<?xml version="1.0" encoding="UTF-8"?>
<experiment>
    <optioncontainer>
...
        <optiongroup groupname="input">
            <option name="format" value="myconll"/>
        </optiongroup>
    </optioncontainer>
...
</experiment>
然后,您应该能够将CoreNLP CoNLL输出作为训练数据提供给解析器

未经测试,但如果文档是诚实的,这应该是可行的。资料来源:


CoreNLP CoNLL输出示例(我仅使用注释器
tokenize、ssplit、pos
):


这是原始文本语料库还是树库?您需要有一个带有依赖项注释的语料库(依赖项树库或选区树库,可以转换为依赖项树库)。这只是一个原始文本语料库,上面我链接的帖子有一个通过Stanford解析器检索选区树库的过程,但这是一个.tree文件。我相信Malt解析器只接受.conll文件?
<?xml version="1.0" encoding="UTF-8"?>
<experiment>
    <optioncontainer>
...
        <optiongroup groupname="input">
            <option name="format" value="myconll"/>
        </optiongroup>
    </optioncontainer>
...
</experiment>
$ echo "This is a test." | java edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos -outputFormat conll 2>/dev/null

1   This    this    DT  _   _   _
2   is  be  VBZ _   _   _
3   a   a   DT  _   _   _
4   test    test    NN  _   _   _
5   .   .   .   _   _   _