Stanford nlp 斯坦福核心NLP NER输出
我使用grep和awk从英语文本的“内联XML”中提取命名实体,我希望在其他人类语言中使用相同的更大工作流 我一直在尝试法语(西班牙语似乎给我带来了一个Java错误,这是另一个故事),使用Stanford nlp 斯坦福核心NLP NER输出,stanford-nlp,ner,Stanford Nlp,Ner,我使用grep和awk从英语文本的“内联XML”中提取命名实体,我希望在其他人类语言中使用相同的更大工作流 我一直在尝试法语(西班牙语似乎给我带来了一个Java错误,这是另一个故事),使用java-cp stanford-corenlp-4.0.0/stanford-corenlp-4.0.0.jar:stanford-corenlp-4.0.0-models-french.jar edu.stanford.nlp.pipeline.StanfordCoreNLP-properties-Stan
java-cp stanford-corenlp-4.0.0/stanford-corenlp-4.0.0.jar:stanford-corenlp-4.0.0-models-french.jar edu.stanford.nlp.pipeline.StanfordCoreNLP-properties-StanfordCoreNLP-french.properties-file-french-outputFormat text
我得到标准文本输出,其中每一句都有各种类型的注释,包括正确分组在一起的多单词实体,如下所示:
Extracted the following NER entity mentions:
Puget Sound LOC I-LOC:0.9822963367809222
lac Washington LOC I-LOC:0.9908561818309122
Canada LOC I-LOC:0.9804363858330243
États-Unis LOC I-LOC:0.9973224740712531
我知道解析它是可能的,但是当我真的只需要整个文件中的实体列表时,这看起来像是浪费了很多处理
我还能够使用java-cp stanford-corenlp-4.0.0/stanford-corenlp-4.0.0.jar:stanford-corenlp-4.0.0-models-french.jar edu.stanford.nlp.pipeline.StanfordCoreNLP-properties-StanfordCoreNLP-french.properties-file-french.txt-output.columns word,ner-outputFormat conll获得word和ner类型的列
Puget I-LOC
Sound I-LOC
et O
le O
lac I-LOC
Washington I-LOC
, O
à O
environ O
155 O
km O
à O
le O
sud O
de O
la O
frontière O
entre O
le O
Canada I-LOC
et O
les O
États-Unis I-LOC
. O
除了有点凌乱之外,这还会将多个单词实体分开,从而无法按比例重新缝合
我更喜欢内联xml(例如,PugetSound
),因为我已经开发了一个工作流程来使用它,但是如果不可能,是否至少有一种方法可以获得TSV输出(如早期的conll
版本),将多个单词实体分组在一起,就像在文本输出中一样
我已经研究了实体提及注释器,但是我还没有弄清楚它,如果它需要培训,那么我宁愿不使用它。默认文本输出的分组足以满足我的需要。我在GitHub上的最新代码中添加了
inlineXML
作为ouputFormat
选项。这一变化在刚刚发布的4.1.0版中不可用。GitHub站点上有关于如何将代码构建到jar中的说明
GitHub站点:完美!非常感谢你!