pke (python keyphrase extraction) is an open-source Python toolkit for keyphrase extraction, the natural language processing task of picking the few words or phrases that best summarise a document. It was written by Florian Boudin and described in a paper at the COLING 2016 conference.
pke gives one standard API for every model. A program loads a document as text, the extractor selects candidate phrases (for TopicRank, sequences of nouns and adjectives), weights them, and returns the n best phrases with their scores. Text processing relies on the spaCy library and its language models. The toolkit implements statistical models (TfIdf, KPMiner, YAKE), graph-based models that score candidates with a random walk over a graph of words (TextRank, SingleRank, TopicRank, PositionRank, MultipartiteRank) and the supervised model Kea, and ships with supervised models trained on the SemEval-2010 dataset. Each step of the pipeline can be changed or extended, and the project includes benchmark results on common datasets.
pke is free and open source under the GPL-3.0 license, installed with pip directly from its GitHub repository.