Подтвердить что ты не робот

Извлечение именных фраз из текстового файла с использованием синтаксического анализа на основе stanford

У меня есть текст, который я хочу извлечь из него существительные. Я могу легко получить набранный парсер для текста, который у меня есть, но интересно, как я могу извлечь существительные фразы в тексте?

4b9b3361

Ответ 1

Вы можете извлечь существительные фразы из дерева, используя следующий код. Предполагается, что вы проанализировали предложение, хранящееся в синтаксическом разборе (т.е. Синтаксический анализ выводится методом применения класса LexicalizedParser)

public static List<Tree> GetNounPhrases()
{

    List<Tree> phraseList=new ArrayList<Tree>();
    for (Tree subtree: parse)
    {

      if(subtree.label().value().equals("NP"))
      {

        phraseList.add(subtree);
        System.out.println(subtree);

      }
    }

      return phraseList;

}

Ответ 2

Попробуйте эту ссылку . Я не уверен, что теггер stanford pos и теггер, доступные в corenlp, являются одинаковыми или нет, но я нашел эту ссылку более полезной.

После маркировки PoS вам придется обнаруживать шаблоны, подобные этому (Прилагательное | Существительное) * (Предположение предлога)? (Прилагательное | Существительное) * Существительное

Попробуйте ссылку для получения подробной информации об обнаружении фразельных имен.

Ответ 3

Вы можете использовать NLP Stanford Core для пометки POS. Вы можете найти пример кода http://nlp.stanford.edu/software/corenlp.shtml#Usage, который может стать хорошей отправной точкой для экспериментов. Вам нужно будет предоставить tokenize, split и pos как свойства. Это выводит список токенов с соответствующими тегами.

Весь список тегов можно просмотреть в http://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html. Все теги существительных начинаются с NN. Выполнение этой проверки даст вам необходимые токены.