【发布时间】:2014-01-30 19:46:03
【问题描述】:
我想在一个文件上运行一个内置分类器,然后运行我自己的分类器,合并结果。
我如何使用斯坦福 NER 执行此操作,尤其是通过命令行?
我知道 How do I include more than one classifiers when using Stanford named entity recogniser? ,但这略有不同,因为该问题询问了具有 NERServer 的多个分类器。
看来我需要使用 CoreNLP 来依次运行多个 NER 模型...不使用 CoreNLP 可以吗?
假设我有一个文件,内容是“快速的棕色狐狸跳过美国的懒狗”。我运行内置分类器之一,它找到“America”作为位置,然后我运行我自己的,它找到“狐狸”和“狗”,结果应该是:
the quick brown <animal>fox</animal> jumped over the lazy <animal>dog</animal> in <location>America</location
【问题讨论】:
-
所以你希望斯坦福 NER 进行合并?
-
我看不到这将如何从命令行运行,但如果我在代码中这样做,我可能会设置两个管道,每个管道都配置有自己的模型;为每个模型创建一组重复的键,因为它们默认使用相同的键;在文本样本上运行两个管道;阅读每个结果列表(''CoreMap''s);然后为每个结果创建一个新的 CoreMap。虽然,我没有看到单个数据结构优于两个独立数据结构的好处。
-
您需要一个命令行工具来 a) 在某些文本上运行 Stanford NER,b) 在相同文本上运行另一个 NER,以及 c) 以某种方式合并两者是否正确?您可能可以使用
tee或类似方法来完成此操作,但我不太了解“合并结果”位。这可能是一些胶水代码的情况。 -
@ap 问题是如果你一个接一个地运行分类器,xml 就会变得很不稳定,所以它需要智能地合并。谢谢
-
@NeilMcGuigan 我明白了——当我说“合并”位让我感到困惑时,这就是我的意思。你期待什么样的输出?
标签: nlp stanford-nlp named-entity-recognition