Rapid Automatic Keyword Extraction (RAKE) Algorithm

A 'Java' implementation of the RAKE algorithm ('Rose', S., 'Engel', D., 'Cramer', N. and 'Cowley', W. (2010) ), which can be used to extract keywords from documents without any training data.


Linux Build Status


You can get the stable version on CRAN:


The development version of the package requires you to compile the latest Java source code in rapidrake-java, so it's not as simple as making a call to devtools::install_github().

What is rapidraker?

rapidraker is an R package that provides an implementation of the same keyword extraction algorihtm (RAKE) as slowraker. However, rapidraker::rapidrake() is written in Java, whereas slowraker::slowrake() is written in R. This means that you can expect rapidrake() to be considerably faster than slowrake().


rapidrake() has the same arguments as slowrake(), and both functions output the same type of object. You can therefore substitue rapidrake() for slowraker() without making any additional changes to your code.

rakelist <- rapidrake(txt = dog_pubs$abstract[1:5])

rapidrake() outputs a list of data frames. Each data frame contains the keywords that were extracted for an element of txt:

#> # A rakelist containing 5 data frames:
#>  $ :'data.frame':    61 obs. of  4 variables:
#>   ..$ keyword:"assistance dog identification tags" ...
#>   ..$ freq   :1 1 ...
#>   ..$ score  :11 ...
#>   ..$ stem   :"assist dog identif tag" ...
#>  $ :'data.frame':    90 obs. of  4 variables:
#>   ..$ keyword:"current dog suitability assessments focus" ...
#>   ..$ freq   :1 1 ...
#>   ..$ score  :22 ...
#>   ..$ stem   :"current dog suitabl assess focus" ...
#> #...With 3 more data frames.

You can bind these data frames together using slowaker::rbind_rakelist():

rakedf <- rbind_rakelist(rakelist, doc_id = dog_pubs$doi[1:5])
head(rakedf, 5)
#>                         doc_id                            keyword freq score                   stem
#> 1 10.1371/journal.pone.0132820 assistance dog identification tags    1  10.8 assist dog identif tag
#> 2 10.1371/journal.pone.0132820          animal control facilities    1   9.0     anim control facil
#> 3 10.1371/journal.pone.0132820          emotional support animals    1   9.0      emot support anim
#> 4 10.1371/journal.pone.0132820                   small body sizes    1   9.0        small bodi size
#> 5 10.1371/journal.pone.0132820       seemingly inappropriate dogs    1   7.9    seem inappropri dog

Learning more

  • To learn more about the API used by both slowraker and rapidraker, head over to slowraker's webpage.


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.1.3 by Christopher Baker, 19 days ago


Report a bug at https://github.com/crew102/rapidraker/issues

Browse source code at https://github.com/cran/rapidraker

Authors: Christopher Baker [aut, cre]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports rJava, openNLPdata, slowraker, utils

Suggests knitr, rmarkdown, testthat

System requirements: Java (>= 8)

See at CRAN