我在Java中有一个ArrayList,我需要在其中查找所有出现的特定对象.方法ArrayList.indexOf(Object)只找到一个匹配项,所以我似乎需要其他东西.
有谁知道如何使用按估计频率排序的JWNL(Java Wordnet Library)来获取单词的同义词?我知道这可以以某种方式完成,因为Wordnet的应用程序可以做到这一点.(我不知道是否重要,但我使用的是Wordnet 2.1)
以下是我如何获取同义词的代码,任何人都可以告诉我应该添加的内容......(完全不同的方式也欢迎!)
ArrayList<String> synonyms=new ArrayList<String>();
System.setProperty("wordnet.database.dir", filepath);
String wordForm = "make";
Synset[] synsets = database.getSynsets(wordForm,SynsetType.VERB);
if (synsets.length > 0) {
for (int i = 0; i < synsets.length; i++) {
String[] wordForms = synsets[i].getWordForms();
for (int j = 0; j < wordForms.length; j++) {
if(!synonyms.contains(wordForms[j])){
synonyms.add(wordForms[j]); }
}
}
}
Run Code Online (Sandbox Code Playgroud) 我试图使用Wordnet java api在java中找到一些单词(String类型)的同义词.我在弄清楚它是如何工作的时候遇到了困难.
我发现这个链接http://lyle.smu.edu/~tspell/jaws/doc/edu/smu/tspell/wordnet/impl/file/ReferenceSynset.html#getTagCount%28java.lang.String%29我虽然它是有用的,但我仍然不知道如何开始.我是否必须创建一个ReferenceSynset对象,然后找到它的同义词,如何做到这一点?还是有另一种更简单的方法吗?请帮忙!
提前致谢!
我在Java中有一些字符串,它来自本体文件,它们具有以下格式:
<owl:onProperty rdf:resource="http://www.co-ode.org/ontologies/pizza/pizza.owl#WHAT_WE_WANT"/>
我需要创建一个函数来查找WHAT_WE_WANT中是否包含特定的String值,然后返回字符串WHAT_WE_WANT.
因此,我将ArrayList的每一行拆分为"#",然后我在分割行的第二部分中搜索String值.现在我所要做的就是摆脱"/>.我试图分裂"符号,但我不能这样做,因为当我写"""编译器无法识别"是我需要的字符串符号.有任何想法吗?
如果我的单词解释不是很好,这是我的代码:
if (nextLine.matches(".*" + lookUp + ".*" ))
{String lala[]=nextLine.split("#");
for(int i=0;i<lala.length;i++){
if(lala[i].matches(".*"+lookUp+".*")){
String[] temp=lala[i].split( """ ); //<--- doesn't work :/
System.out.println(temp[0]);
}
}
}
Run Code Online (Sandbox Code Playgroud)