如何使用java获取多个单词的超词

如何使用java获取多个单词的超词,java,arraylist,wordnet,hypernym,Java,Arraylist,Wordnet,Hypernym,我想使用java中的WordNet字典获取多个单词的超名 **什么是超词?**一个具有广泛含义的词,构成了一个具有更具体含义的词所属的类别;上级。例如,color是red的缩写 所以如果我们有以下的话 一个苹果 2香蕉 3型肝炎 4棵树 5芒果 欲望的输出是 意义1: 苹果:-果皮呈红色、黄色或绿色,果肉从甜到酸、脆到带白色 =>可食果实-种子植物的可食生殖体,尤其是果肉甜的种子植物 =>农产品、绿色商品、绿色食品、园艺卡车-为市场种植的新鲜水果和蔬菜 =>食品,固体食品-任何固体物质,而不是用

我想使用java中的WordNet字典获取多个单词的超名

**什么是超词?**一个具有广泛含义的词,构成了一个具有更具体含义的词所属的类别;上级。例如,color是red的缩写

所以如果我们有以下的话 一个苹果 2香蕉 3型肝炎 4棵树 5芒果

欲望的输出是 意义1:

苹果:-果皮呈红色、黄色或绿色,果肉从甜到酸、脆到带白色

=>可食果实-种子植物的可食生殖体,尤其是果肉甜的种子植物

=>农产品、绿色商品、绿色食品、园艺卡车-为市场种植的新鲜水果和蔬菜

=>食品,固体食品-任何固体物质,而不是用作营养来源的液体;饮食

=>固体-在室温和压力下为固体的物质

=>物质,物质——具有质量并占据空间的物质;原子是最小的不可分割的物质单位

=>物理实体-具有物理存在的实体

=>实体-被感知、已知或推断为有自己独特存在的实体,无论是活的还是非活的

=>果实-种子植物成熟的生殖体

=>生殖结构-植物参与生殖的部分

=>植物器官-植物或真菌的功能和结构单元

=>植物部分,植物结构-植物或真菌的任何部分

=>自然对象-自然发生的对象;非人工制造

=>整体、单元-被视为单个实体的零件集合;那部分和整体相比有多大?;团队是一个整体

=>对象,物理对象-有形和可见的实体;可以投射阴影的实体;里面装满了球拍、球和其他物品

=>物理实体-具有物理存在的实体

=>实体-被感知、已知或推断为有自己独特存在的实体,无论是活的还是非活的

=>柚子,假果-一种肉质水果,苹果或梨或相关水果,具有种子室和外部肉质部分

=>果实-种子植物成熟的生殖体

=>生殖结构-植物参与生殖的部分

=>植物器官-植物或真菌的功能和结构单元

=>植物部分,植物结构-植物或真菌的任何部分

=>自然对象-自然发生的对象;非人工制造

=>整体、单元-被视为单个实体的零件集合;那部分和整体相比有多大?;团队是一个整体

=>对象,物理对象-有形和可见的实体;可以投射阴影的实体;里面装满了球拍、球和其他物品

=>物理实体-具有物理存在的实体

=>实体-被感知、已知或推断为有自己独特存在的实体,无论是活的还是非活的

Wordnet可以使用Java通过its访问。
在继续使用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的人的超词。