2024-09-27 09:35:54 发布
网友
如何保存Java的opennlp解析器输出,以便在Python中使用它?你知道吗
我需要使用opennlp中的解析树在Python中执行一些机器学习任务。OpenNLP是Java的,我不知道如何保存数据,所以我可以通过Python中的列表或树来使用它。你知道吗
嗯,我认为您必须在parse对象中使用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(); } } }
嗯,我认为您必须在parse对象中使用show(StringBuffer)方法,然后使用Java中的FileWriter之类的东西将其写入文件。从那里你可以在Python中找到它。你知道吗
像这样的东西应该可以(未经测试)
相关问题 更多 >
编程相关推荐