2011-03-21 144 views
1

任何人都可以請告訴我如何喂斯坦福分析器我自己的標記輸入句子?該標記的句子,比如,標記輸入斯坦福解析器

A/NN quick/JJ brown/JJ fox/NN

從他們的文檔中,我發現國旗 - tagSeparator /應該可以工作,但我很迷茫,我不知道如何在我的程序中使用此標誌。或者其他方式?

請幫忙。

回答

2

在API中,您必須標記自己的單詞和標記,然後將具有標記的單詞添加到解析方法中。請參閱解析方法的Javadoc文檔:

public boolean parse(List<? extends HasWord> sentence) 

你通過它的令牌,這可能是字,TaggedWord或CoreLabel對象的列表。如果這些對象實現了HasTag,那麼它們存儲的任何標籤都將被提取並使用。例如,下面的工作:

String[] words = { "This", "is", "an", "easy", "sentence", "." }; 
String[] tags = { "DT", "VBZ", "DT", "JJ", "NNP", "." }; 
List<TaggedWord> sentence = new ArrayList<TaggedWord>(); 
assert words.length == tags.length; 
for (int i = 0; i < words.length; i++) { 
    sentence.add(new TaggedWord(words[i], tags[i])); 
} 
Tree parse = lp.apply(sentence); 

如果你查看輸出解析樹「一句」將(錯誤地)標記爲「NNP」,因爲那是什麼要求....

+0

謝謝很多克里斯! – 2011-04-01 01:45:29