我有一个庞大的文本语料库(大约1000万个句子),我想用各种NLP工具(词性标记器、语法分析器、依存关系分析器等)对其进行预处理。我需要以某种方式存储由这些工具创建的各种注释层,并从我的Java代码中动态地访问它们(可能是通过提供语料库中文本范围的开始和结束索引,以及注释的类型)。
是否已经存在能够快速存储和访问这些注释的软件系统?如果不是,那么存储和访问这些注释的最佳方式是什么?访问速度将是最重要的。
发布于 2012-08-24 06:38:39
你可以看看UIMA。虽然它不是一个存储引擎,但它提供了一个平台,通过在管道中应用各种注释器(可以是标记器、句子拆分器、POS标记器),将非结构化文本数据转换为更结构化的格式。输出包含文档中具有开始和结束索引的注释(您可以将输出转换为xml格式)。因此,您可以将语料库划分为几个文档,通过UIMA管道传递它们,并将输出存储在基于文档的存储中,比如MongoDB。我认为在文档级访问这些注释更有意义,因为注释的上下文很重要。因此,您可以从MongoDB存储中检索这些带注释的文档,并使用开始和结束索引或注释类型(标记、句子等)访问注释。
https://stackoverflow.com/questions/12013684
复制相似问题