Как я могу получить гипернымы из нескольких слов

Я хочу получить "гипернымы" из нескольких слов. как у меня есть строка, которая содержит следующие слова.

1) яблоко
2) банан
3) гепатит
4) дерево
5) манго

Итак, я хочу получить "гиперны" всех слов. любой может поделиться кодом, пожалуйста.

3 ответа

Что такое гипернымы?

Ответ: слово с широким значением, составляющее категорию, в которую попадают слова с более конкретными значениями; вышестоящий Например, цвет является гиперным красного.

я перечисляю код для извлечения дерева гиперонимов... он даст вам детальное дерево любого слова, которое присутствует в словаре 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;
    }

Прежде всего, вы должны сохранить слово в массиве, а остальная часть кода выглядит следующим образом. если кому-то нужен весь код, он / она может связаться со мной g.mail: 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]);

Просто используйте Набор для хранения всех Гипернамов, затем итерируйте.

Используйте Wordnet.

Доступ к Wordnet можно получить с помощью Java через API Java. Прежде чем перейти к API, сначала разберитесь со структурой библиотеки wordnet на ее портале.

Другие вопросы по тегам