如何使用java获取多个单词的超词
我想使用java中的WordNet字典获取多个单词的超名 **什么是超词?**一个具有广泛含义的词,构成了一个具有更具体含义的词所属的类别;上级。例如,color是red的缩写 所以如果我们有以下的话 一个苹果 2香蕉 3型肝炎 4棵树 5芒果 欲望的输出是 意义1: 苹果:-果皮呈红色、黄色或绿色,果肉从甜到酸、脆到带白色 =>可食果实-种子植物的可食生殖体,尤其是果肉甜的种子植物 =>农产品、绿色商品、绿色食品、园艺卡车-为市场种植的新鲜水果和蔬菜 =>食品,固体食品-任何固体物质,而不是用作营养来源的液体;饮食 =>固体-在室温和压力下为固体的物质 =>物质,物质——具有质量并占据空间的物质;原子是最小的不可分割的物质单位 =>物理实体-具有物理存在的实体 =>实体-被感知、已知或推断为有自己独特存在的实体,无论是活的还是非活的 =>果实-种子植物成熟的生殖体 =>生殖结构-植物参与生殖的部分 =>植物器官-植物或真菌的功能和结构单元 =>植物部分,植物结构-植物或真菌的任何部分 =>自然对象-自然发生的对象;非人工制造 =>整体、单元-被视为单个实体的零件集合;那部分和整体相比有多大?;团队是一个整体 =>对象,物理对象-有形和可见的实体;可以投射阴影的实体;里面装满了球拍、球和其他物品 =>物理实体-具有物理存在的实体 =>实体-被感知、已知或推断为有自己独特存在的实体,无论是活的还是非活的 =>柚子,假果-一种肉质水果,苹果或梨或相关水果,具有种子室和外部肉质部分 =>果实-种子植物成熟的生殖体 =>生殖结构-植物参与生殖的部分 =>植物器官-植物或真菌的功能和结构单元 =>植物部分,植物结构-植物或真菌的任何部分 =>自然对象-自然发生的对象;非人工制造 =>整体、单元-被视为单个实体的零件集合;那部分和整体相比有多大?;团队是一个整体 =>对象,物理对象-有形和可见的实体;可以投射阴影的实体;里面装满了球拍、球和其他物品 =>物理实体-具有物理存在的实体 =>实体-被感知、已知或推断为有自己独特存在的实体,无论是活的还是非活的 Wordnet可以使用Java通过its访问。如何使用java获取多个单词的超词,java,arraylist,wordnet,hypernym,Java,Arraylist,Wordnet,Hypernym,我想使用java中的WordNet字典获取多个单词的超名 **什么是超词?**一个具有广泛含义的词,构成了一个具有更具体含义的词所属的类别;上级。例如,color是red的缩写 所以如果我们有以下的话 一个苹果 2香蕉 3型肝炎 4棵树 5芒果 欲望的输出是 意义1: 苹果:-果皮呈红色、黄色或绿色,果肉从甜到酸、脆到带白色 =>可食果实-种子植物的可食生殖体,尤其是果肉甜的种子植物 =>农产品、绿色商品、绿色食品、园艺卡车-为市场种植的新鲜水果和蔬菜 =>食品,固体食品-任何固体物质,而不是用
在继续使用API之前,首先要了解wordnet库在其门户上的结构。可以使用Set存储所有的超级名称,然后反复使用。什么是超级名称 答:一个具有广泛含义的词,构成了一个具有更具体含义的词所属的范畴;上级。例如,color是red的缩写 我正在列出用于提取超级名字树的代码。。。它将为您提供WordNet 3.0词典中任何单词的详细目录树 调用此方法
private static ArrayList<String> getHypernymTerm( PointerTargetNodeList ptnl,
ArrayList<String> parent2, String str )
throws JWNLException{
ArrayList<String> parent = parent2;
if ( !str.equals("entity") ) {
for (Iterator<?> itr = ptnl.iterator(); itr.hasNext();) {
PointerTargetNode node = (PointerTargetNode) itr.next();
Synset synset = node.getSynset();
String term = synset.getWord(0).getLemma();
parent.add(term);
PointerTargetNodeList targets = new PointerTargetNodeList(synset.getTargets(PointerType.HYPERNYM) );
if (targets.size() > 0) {
parent = getHypernymTerm( targets, parent, term);
}
}
}
return parent;
}
首先,必须将单词存储在数组中,其余代码如下所示。如果任何人需要完整的代码,他/她可以联系我,邮箱:nabeelraza174
for(int a = 0 ; a < strArray.length ; a++){
FRUIT[a] = Dictionary.getInstance().getIndexWord(POS.NOUN, hyp[a]);
}
for(int b = 0 ; b < FRUIT.length ; b++){
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add(hyp[b]);
PointerTargetTree printlist= demonstrateListOperation(FRUIT[b]);
//printlist.print();
PointerTargetNodeList ppt = printlist.getRootNode().getChildTreeList();
string is ArrayList type
ListClass temp = new ListClass();
temp.string_list = getHypernymTerm(ppt, arrayList, hyp[b]);
请澄清你的目标。这个问题似乎很抽象。先生,问题是我有一个字符串s1,包含5个单词,苹果、芒果、香蕉、树和肝炎。我想在一个代码中获取所有单词的超词。我使用它,但它只用于一个单词,但我有多个单词,它们存储在字符串数组中。我想得到所有使用loop的人的超词。