Если у вас есть обученный тегер, вы можете сначала пометить свой текст, а затем использовать классификатор NE, поставляемый с NLTK.
Текст с тегами должен быть представлен в виде списка
sentence = 'The U.N.'
tagged_sentence = [('The','DT'), ('U.N.', 'NNP')]
Тогда классификатор ne будет вызываться следующим образом
nltk.ne_chunk(tagged_sentence)
Возвращает дерево.Классифицированные слова будут отображаться как узлы дерева внутри основной структуры.Результат будет включать, если это ЛИЦО, ОРГАНИЗАЦИЯ или GPE.
Чтобы узнать наиболее релевантные термины, вы должны определить меру «релевантности».Обычно используется tf / idf , но если вы рассматриваете только один документ, частоты может быть достаточно.
С помощью NLTK легко вычислить частоту каждого слова в документе.Сначала вам нужно загрузить свой корпус, и как только вы загрузите его и получите текстовый объект, просто вызовите:
relevant_terms_sorted_by_freq = nltk.probability.FreqDist(corpus).keys()
Наконец, вы можете отфильтровать все слова в релевантном_термсе_сортированном_б_фреке, которые не принадлежат списку сетевых элементов.слов.
NLTK предлагает онлайн-версию полной книги , которую я считаю интересной начать с