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