大家好:我正在使用Stanford CoreNLP软件处理不同人的数百封信件(每封约10kb)。在我获得输出后,我需要进一步处理它,并在令牌,句子和字母级别添加信息。我对NLP很陌生,想知道从Stanford CoreNLP输出管道结果以允许进一步处理的典型或最佳方法是什么?

我猜典型的方法是输出到XML。如果我这样做,我估计这将需要大约一GB的磁盘空间,我想知道,那么,将那么多XML加载回Java以进一步处理和添加信息会有多快和容易?

另一种方法是让CoreNLP序列化它生成的注释对象,然后加载这些对象进行处理。优势:不必弄清楚如何将句子解析字符串转换回树以进行进一步处理。一个缺点:注释对象包含很多不同类型的对象,我仍然非常粗略地操作这些对象,并且Stanford CoreNLP中的文档对我来说似乎很渺茫。

有帮助吗?

解决方案

这真的是你想做什么事后的问题。执行序列化可能是最直接和快速的方法,缺点是您需要了解CoreNLP数据结构。

如果你想用另一种语言读取它或读入你自己的数据结构,请保存为XML。

我会走第一条路。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top