java - NLP文本标注存储与访问

标签 java text nlp data-mining information-retrieval

我有一个大型文本语料库(大约 1000 万个句子),我想使用各种 NLP 工具(词性标注器、语法解析器、依存解析器等)对其进行预处理。我需要以某种方式存储这些工具创建的各种注释层,并从我的 Java 代码中即时访问它们(可能通过提供语料库中文本范围的开始和结束索引以及注释类型) .

是否已经存在可以快速存储和访问这些注释的软件系统?如果没有,存储和访问这些注释的最佳方式是什么?访问速度是最重要的。

最佳答案

您可以查看UIMA 。虽然它不是一个存储引擎,但它提供了一个平台,通过在管道中应用各种注释器(可以是分词器、句子分割器、词性标注器),将非结构化文本数据转换为更结构化的格式。输出包含文档中带有开始和结束索引的注释(您可以将输出转换为 xml 格式)。因此,您可以将语料库划分为多个文档,通过 UIMA 管道传递它们,并将输出存储在基于文档的存储中,例如 MongoDB。我认为在文档级别访问这些注释更有意义,因为注释的上下文很重要。因此,您可以从 MongoDB 存储中检索这些带注释的文档,并使用开始和结束索引或注释类型(标记、句子等)访问注释。

关于java - NLP文本标注存储与访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013684/

相关文章:

java - JerseyTest 和 JUnit 抛出 NullPointerException

java - 为什么我们不能在方法内部声明私有(private)局部内部类?

bash - 在 bash 中切换行位置

pdf - 从 Gmail 获取 pdf 附件作为文本

java - 如何在 Linux 中使用 C 或 Java 获取硬盘的序列号 id?

java - org.apache.http.client.methods.HttpPost 和 org.apache.commons.httpclient.methods.PostMethod 之间的区别?

javascript - 将输入与回显特定输出进行比较

nlp - 余弦相似度涉及嵌入,我们是否必须嵌入整个句子/文本?

machine-learning - 除了深度学习以外,还有什么方法可以使问答机器人更好地表现?

nlp - 制作棕色簇