使用Java中的POSTagger将不同的POS(词类)保存在不同的文件中?
我正在使用openNLP标记词性使用Java中的POSTagger将不同的POS(词类)保存在不同的文件中?,java,nlp,tokenize,opennlp,pos-tagger,Java,Nlp,Tokenize,Opennlp,Pos Tagger,我正在使用openNLP标记词性 InputStream InputStream=new FileInputStream(“C:/en pos maxent.bin”); POSModel模型=新POSModel(inputStream); POSTaggerME tagger=新的POSTaggerME(型号); String句子=“这不是一首给心碎的人唱的歌”+ “不要为逝去的信仰默默祈祷”+ “我不会只是人群中的一张脸”+ “你会听到我的声音”+ “当我大声喊出来”; 字符串simple=
InputStream InputStream=new
FileInputStream(“C:/en pos maxent.bin”);
POSModel模型=新POSModel(inputStream);
POSTaggerME tagger=新的POSTaggerME(型号);
String句子=“这不是一首给心碎的人唱的歌”+
“不要为逝去的信仰默默祈祷”+
“我不会只是人群中的一张脸”+
“你会听到我的声音”+
“当我大声喊出来”;
字符串simple=“[.?!-]”;
String[]splitString=(句子.split(简单));
SimpleTokenizer SimpleTokenizer=SimpleTokenizer.INSTANCE;
//字符串标记[]=simpleTokenizer.tokenize();
for(int i=0;i您正在为for循环的每次运行创建一个新文件。请在for循环之外创建该文件
InputStream inputStream = new
FileInputStream("C:/en-pos-maxent.bin");
POSModel model = new POSModel(inputStream);
POSTaggerME tagger = new POSTaggerME(model);
String sentence = "This is not a song for the broken-hearted" +
" No silent prayer for the faith-departed " +
" I am not gonna be just a face in the crowd " +
" You are gonna hear my voice " +
" When I shout it out loud";
String simple = "[.?!-]";
String[] splitString = (sentence.split(simple));
SimpleTokenizer simpleTokenizer = SimpleTokenizer.INSTANCE;
//String tokens[] = simpleTokenizer.tokenize();
for(int i = 0;i<splitString.length;i++)
{
String tokens[] = simpleTokenizer.tokenize(splitString[i]);
String[] tags = tagger.tag(tokens);
//POSSample sample = new POSSample(tokens, tags);
/*for(String token : tokens) {
System.out.println(token);
}*/
for(int j= 0;j < tags.length;j++)
{
if(tags[j].equals("DT"))
{
//System.out.println(tokens[j]);
File file = new File("DT.txt");
try {
PrintWriter output = new PrintWriter(file);
output.println(tokens[j]);
output.close();
} catch (Exception e) {
// TODO: handle exception
}