我使用斯坦福的 NLP postagger 标记程序中的名词、形容词。
interest_NN
bui_NNS
ground_VBP
avail_NN
respond_NN
detail_NN
like_IN
quickli_NNS
current_JJ
现在我必须只选择那些带有标签 _NN,_NNS,_JJ 的单词,并从单词中删除这些标签。
quickli
current
avail
我尝试这样从单词中删除 -NN 标记。但是它删除了前 2words 标签并从中获得了异常
while(tagread.hasNext())
{
String s=tagread.next();
int flag=1;
jTextArea2.append("\n" +s.toLowerCase());
String ofInterest2 = s.substring(0, s.indexOf("_NN"));
for(int i=0;i<s.length();i++){
if(s.equals(ofInterest2))
{
flag=0;
}
}
if(flag!=0)
{
System.out.println(ofInterest2);
}
}
例外:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
那么我的方法有什么问题?或如何进一步进行?