import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
import edu.stanford.nlp.process.*;
import edu.stanford.nlp.trees.*;
import java.io.*;
import java.util.*;
public class parsedTree {
public static List
public static LexicalizedParser lp = new LexicalizedParser("./res/englishPCFG.ser.gz");
public static InputStream in=null;
public static DataInputStream dis=null;
public static BufferedReader br=null;
public static TokenizerFactory tf = PTBTokenizer.factory(false, new WordTokenFactory());
public static TreePrint tp=null;
public static Tree t=null;
public static String getParsedTree(String line)
{
String prsd="";
try {
in=new ByteArrayInputStream(line.getBytes("UTF-8"));
dis = new DataInputStream(in);
br = new BufferedReader(new InputStreamReader(dis));
tp = new TreePrint("penn,typedDependenciesCollapsed");
String sentence;
while ((sentence = br.readLine()) != null)
{
List tokens = tf.getTokenizer(new StringReader(sentence)).tokenize();
lp.parse(tokens);
t = lp.getBestParse();
prsd=t.toString();
String arr[]=prsd.split(" ");
List
prsd="";
for(int i=0;i
if(!arr[i].contains("["))
{
prsd+=arr[i]+" ";
if(arr[i].contains("(")){
while(arr[i].contains("("))
{
ls.add("(");
arr[i]=arr[i].substring(1);
}
ls.add(arr[i]);}
if(arr[i].contains(")")){
ls.add(arr[i].substring(0, arr[i].indexOf(")")));
arr[i]=arr[i].replace(arr[i].substring(0, arr[i].indexOf(")")), "");
while(arr[i].contains(")"))
{
ls.add(")");
arr[i]=arr[i].substring(1);
}
}
}
}
prsd_list=ls;
}
dis.close();
}catch (Exception e){e.printStackTrace();}
return prsd;
}
public static void main(String[] args) {
System.out.println(getParsedTree("In Wednesday's filing, Google said it planned to complete the IPO 'as soon as practicable'."));
}
}

No comments:
Post a Comment