1

次の行を使用してツリーを構築しています。

LexicalizedParser lp = LexicalizedParser.loadModel("englishPCFG.ser.gz"); 
Tree smsTree = lp.apply("how to store Tree to file & then Load !");

これらのツリーをファイルに保存し、必要に応じてロードしたいと思います。それを行う方法はありますか?

4

2 に答える 2

1

私はそれを自分で理解しようとしています。これまでのところ、XML に変換できることがわかりました。

import java.io.PrintWriter;
import java.io.StringReader;
import java.io.StringWriter;
...
StringWriter strwriter = new StringWriter();
PrintWriter printwriter = new PrintWriter(strwriter);
...
Tree parse = lp.parse(sentence);
parse.indentedXMLPrint(printwriter, false);
String xmlstring = strwriter.toString();
//save xmlstring to file

また、ここでは MemoryTreebank クラスが役立つようです ( https://mailman.stanford.edu/pipermail/parser-user/2008-March/000026.html )。たとえば、tree.pennString() から取得した通常の表現で Tree を文字列として単純に保存し、次のようにします。

MemoryTreebank tb2 = new MemoryTreebank(new PennTreeReaderFactory());
tb2.load(new StringReader(s1.toString()));
于 2013-09-18T16:22:45.390 に答える