【问题标题】:Stanford NER CharacterOffsetBegin斯坦福 NER CharacterOffsetBegin
【发布时间】:2015-04-14 10:41:01
【问题描述】:

我正在使用 Stanford CoreNLP for NER 来获取简短文档列表。

java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP
-annotators tokenize,ssplit,pos,lemma,ner -ssplit.eolonly -pos.model edu/stanford/nlp/models/pos-tagger/english-caseless-left3words-distsim.tagger
-ner.model edu/stanford/nlp/models/ner/english.all.3class.caseless.distsim.crf.ser.gz
-file .../input -outputDirectory .../stanford_ner

问题是我从每个令牌中得到的CharacterOffsetBeginCharacterOffsetEnd 都是来自先前文档的连续数字。因此,例如 document_2 的第一个标记的 CharacterOffsetBegin 为 240 而不是 0。我可以在命令行中使用任何选项吗?任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: nlp stanford-nlp named-entity-recognition


    【解决方案1】:

    是的——如果您将输入拆分为单独的文件。批处理作业有一个-filelist 选项。在您的情况下,文件列表的每一行都有一个文档文件的路径。例如,如果您将所有单独的 doc 文件放在目录 .../input 中,则 input.txt 包含类似以下内容:

    .../input/doc_1.txt
    .../input/doc_2.txt
    .../input/doc_3.txt
    

    如果可能的话,将完整路径放在那里可能是个好主意。然后,您将这样执行 CoreNLP:

    java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP
    -annotators tokenize,ssplit,pos,lemma,ner -ssplit.eolonly -pos.model edu/stanford/nlp/models/pos-tagger/english-caseless-left3words-distsim.tagger
    -ner.model edu/stanford/nlp/models/ner/english.all.3class.caseless.distsim.crf.ser.gz
    -filelist .../input.txt -outputDirectory .../stanford_ner
    

    如果您编写一些脚本将input 拆分为多个文档,那么同时生成input.txt 可能是个好主意。

    这将为您处理的每个文档重新启动令牌计数器。

    【讨论】:

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