如何保存 Java 的 Open NLP 解析器输出,以便我可以在 Python 中使用它?
How can I save the Open NLP parser output from Java, so that I can use it in Python?
如何保存 Java 的 Open NLP 解析器输出,以便我可以在 Python 中使用它?
我需要使用 Open NLP 中的解析树在 Python 中执行一些机器学习任务。 OpenNLP 在 Java 中,我不确定如何保存数据,以便我可以通过列表或树在 Python 中使用它。
好吧,我认为您必须在解析对象中使用 show(StringBuffer) 方法,然后使用 Java 中的 FileWriter 之类的方法将其写入文件。从那里您可以在 Python.
领取
像这样应该可以做到(未经测试)
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import opennlp.tools.parser.Parse;
/**
*
* @author mgiaconia
*/
public class ParseWriter {
public static void main(String[] args) {
String filePath = args[0];
try (FileWriter outputFileWriter = new FileWriter(new File(args[0]))) {
///this string taken from the Parse's unit tests in the OpenNLP source code
Parse p1 = Parse.parseParse("(TOP (S-CLF (NP-SBJ (PRP It) )(VP (VBD was) "
+ " (NP-PRD (NP (DT the) (NN trial) )(PP (IN of) "
+ " (NP (NP (NN oleomargarine) (NN heir) )(NP (NNP Minot) "
+ " (PRN (-LRB- -LRB-) (NNP Mickey) "
+ " (-RRB- -RRB-) )(NNP Jelke) )))(PP (IN for) "
+ " (NP (JJ compulsory) (NN prostitution) "
+ " ))(PP-LOC (IN in) (NP (NNP New) (NNP York) "
+ " )))(SBAR (WHNP-1 (WDT that) )(S (VP (VBD put) "
+ " (NP (DT the) (NN spotlight) )(PP (IN on) (NP (DT the) "
+ " (JJ international) (NN play-girl) ))))))(. .) ))");
StringBuffer parseString = new StringBuffer();
//pass this referece into the show method
p1.show(parseString);
outputFileWriter.write(parseString.toString());
outputFileWriter.flush();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
如何保存 Java 的 Open NLP 解析器输出,以便我可以在 Python 中使用它?
我需要使用 Open NLP 中的解析树在 Python 中执行一些机器学习任务。 OpenNLP 在 Java 中,我不确定如何保存数据,以便我可以通过列表或树在 Python 中使用它。
好吧,我认为您必须在解析对象中使用 show(StringBuffer) 方法,然后使用 Java 中的 FileWriter 之类的方法将其写入文件。从那里您可以在 Python.
领取像这样应该可以做到(未经测试)
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import opennlp.tools.parser.Parse;
/**
*
* @author mgiaconia
*/
public class ParseWriter {
public static void main(String[] args) {
String filePath = args[0];
try (FileWriter outputFileWriter = new FileWriter(new File(args[0]))) {
///this string taken from the Parse's unit tests in the OpenNLP source code
Parse p1 = Parse.parseParse("(TOP (S-CLF (NP-SBJ (PRP It) )(VP (VBD was) "
+ " (NP-PRD (NP (DT the) (NN trial) )(PP (IN of) "
+ " (NP (NP (NN oleomargarine) (NN heir) )(NP (NNP Minot) "
+ " (PRN (-LRB- -LRB-) (NNP Mickey) "
+ " (-RRB- -RRB-) )(NNP Jelke) )))(PP (IN for) "
+ " (NP (JJ compulsory) (NN prostitution) "
+ " ))(PP-LOC (IN in) (NP (NNP New) (NNP York) "
+ " )))(SBAR (WHNP-1 (WDT that) )(S (VP (VBD put) "
+ " (NP (DT the) (NN spotlight) )(PP (IN on) (NP (DT the) "
+ " (JJ international) (NN play-girl) ))))))(. .) ))");
StringBuffer parseString = new StringBuffer();
//pass this referece into the show method
p1.show(parseString);
outputFileWriter.write(parseString.toString());
outputFileWriter.flush();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}