我怎么能得到多个单词的上位词

问题描述 投票:-3回答:3

我希望获得多个单词的“上位词”。例如,有一个字符串,其中包含以下单词:

1)苹果 2)香蕉 3)肝炎 4)树 5)芒果

欲望输出是我必须表现出像Sense 1:

苹果: - (果实有红色或黄色或绿色的皮肤,甜到挞酥脆的白色肉)

=>可食用的水果 - (种子植物的可食用生殖体,特别是有甜肉的植物)

=>生产,绿色商品,绿色杂货,花园卡车 - (为市场种植的新鲜水果和蔬菜)

=>食物,固体食物 - (任何用作营养来源的固体物质(与液体相对);“食物和饮料”)

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

=>物质,物质 - (具有质量和占据空​​间的物质;“原子是物质中最小的不可分割的单位”)

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

=>实体 - (被认知或已知或被推断为具有其自身独特存在的(生物或非生命))

=>水果 - (种子植物的成熟繁殖体)

=>生殖结构 - (参与其繁殖的植物部分)

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

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

=>自然物体 - (自然发生的物体;不是人造的物体)

=>整体,单位 - (被视为单一实体的部分集合;“该部分与整体相比有多大?”;“团队是一个单位”)

=>对象,物理对象 - (有形和可见的实体;可以投射阴影的实体;“它充满了球拍,球和其他物体”)

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

=>实体 - (被认知或已知或被推断为具有其自身独特存在的(生物或非生命))

=>梨果,假果 - (肉质果实(苹果或梨或相关水果),有种子室和外部肉质部分)

=>水果 - (种子植物的成熟繁殖体)

=>生殖结构 - (参与其繁殖的植物部分)

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

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

=>自然物体 - (自然发生的物体;不是人造的物体)

=>整体,单位 - (被视为单一实体的部分集合;“该部分与整体相比有多大?”;“团队是一个单位”)

=>对象,物理对象 - (有形和可见的实体;可以投射阴影的实体;“它充满了球拍,球和其他物体”)

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

=>实体 - (被认知或已知或被推断为具有其自身独特存在的(生物或非生命))

java arraylist wordnet hypernym
3个回答
0
投票

使用Wordnet

可以使用Java通过其Java API访问Wordnet。在继续API之前,首先要了解其门户网站上wordnet库的结构。


0
投票

只需使用Set来存储所有Hypernyms然后迭代。


0
投票

什么是上位词?

答案:具有广泛含义的词构成一个具有更具体含义的词落入的类别;一个上级。例如,颜色是红色的上位词。

我列出了用于提取上位词树的代码...它将为您提供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;
    }

首先,您必须将单词存储在数组中,其余代码如下所示。如果有人需要整个代码,那么他/她可以联系我gmail:nabeel raza 174

        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]);
© www.soinside.com 2019 - 2024. All rights reserved.