关于 WordNet 和MIT JWI(用于访问 WordNet 的 Java API),我有一个非常简单的问题:我将一个文件读入一个字符串数组,并将其拆分为单词。如何使用getPOS()获取仅包含名词的单独字符串数组?谢谢!
我尝试过的示例:
公共类测试{
public static void main(String[] args) {
String sentence1 = "The cat ate the fish";
String[] s1Split = sentence1.split(" ");
String wnhome = "C:/Program Files/WordNet/2.1";
String path = wnhome + File.separator + "dict";
URL url = new URL("file", null , path);
IDictionary dict = new Dictionary(url);
dict.open();
for (int i = 0; i <s1.length; i++) {
//this is where I got confused, wanted to use something like:
//Word w = dict.getIndexWord(s1[i], ..) but I need a POS argument,
//and I can't find another suitable method
//if w.getPOS() is a noun I would add it to a separate vector
}
}
}
编辑:刚刚想到另一个 - 使用类似的东西是否可靠w = dict.getIndexWord(s1[i], POS.NOUN)
,如果名词不存在,w 将为空?这会是值得尝试的事情吗?
EDIT2:所以我的问题是,如果有什么方法可以将字符串(单词)转换为 Wordnet 对象,那么我可以使用 getPOS() 吗?