{"id":16516831,"url":"https://github.com/adamspannbauer/lexrankr","last_synced_at":"2026-02-26T16:02:46.324Z","repository":{"id":56936946,"uuid":"64403231","full_name":"AdamSpannbauer/lexRankr","owner":"AdamSpannbauer","description":"Extractive Text Summariztion with lexRankr (an R package implementing the LexRank algorithm)","archived":false,"fork":false,"pushed_at":"2022-12-05T17:02:47.000Z","size":763,"stargazers_count":21,"open_issues_count":5,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-09T21:39:27.288Z","etag":null,"topics":["lexrank","lexrank-algorithm","nlp","r","r-package","rstat"],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdamSpannbauer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-28T14:40:34.000Z","updated_at":"2024-02-06T13:46:21.000Z","dependencies_parsed_at":"2023-01-24T08:16:00.481Z","dependency_job_id":null,"html_url":"https://github.com/AdamSpannbauer/lexRankr","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/AdamSpannbauer/lexRankr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamSpannbauer%2FlexRankr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamSpannbauer%2FlexRankr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamSpannbauer%2FlexRankr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamSpannbauer%2FlexRankr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdamSpannbauer","download_url":"https://codeload.github.com/AdamSpannbauer/lexRankr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamSpannbauer%2FlexRankr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29863785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lexrank","lexrank-algorithm","nlp","r","r-package","rstat"],"created_at":"2024-10-11T16:27:06.553Z","updated_at":"2026-02-26T16:02:46.277Z","avatar_url":"https://github.com/AdamSpannbauer.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lexRankr: Extractive Text Summariztion in R\n\n[![Build Status](https://travis-ci.org/AdamSpannbauer/lexRankr.svg?branch=master)](https://travis-ci.org/AdamSpannbauer/lexRankr) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/AdamSpannbauer/lexRankr?branch=master\u0026svg=true)](https://ci.appveyor.com/project/AdamSpannbauer/lexRankr)  [![Coverage Status](https://img.shields.io/codecov/c/github/AdamSpannbauer/lexRankr/master.svg)](https://codecov.io/github/AdamSpannbauer/lexRankr?branch=master) [![CRAN\\_Status\\_Badge](http://www.r-pkg.org/badges/version/lexRankr)](https://CRAN.R-project.org/package=lexRankr) ![](http://cranlogs.r-pkg.org/badges/grand-total/lexRankr) [![Last Commit](https://img.shields.io/github/last-commit/AdamSpannbauer/lexRankr.svg)](https://github.com/AdamSpannbauer/lexRankr/commits/master)\n\n## Installation \n\n```r\n##install from CRAN\ninstall.packages(\"lexRankr\")\n\n#install from this github repo\ndevtools::install_github(\"AdamSpannbauer/lexRankr\")\n```\n\n## Overview\nlexRankr is an R implementation of the LexRank algorithm discussed by Güneş Erkan \u0026 Dragomir R. Radev in [LexRank: Graph-based Lexical Centrality as Salience in Text Summarization](http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume22/erkan04a-html/erkan04a.html).  LexRank is designed to summarize a cluster of documents by proposing which sentences subsume the most information in that particular set of documents.  The algorithm may not perform well on a set of unclustered/unrelated set of documents.  As the white paper's title suggests, the sentences are ranked based on their centrality in a graph.  The graph is built upon the pairwise similarities of the sentences (where similarity is measured with a modified idf cosine similarity function).  The paper describes multiple ways to calculate centrality and these options are available in the R package.  The sentences can be ranked according to their degree of centrality or by using the Page Rank algorithm (both of these methods require setting a minimum similarity threshold for a sentence pair to be included in the graph).  A third variation is Continuous LexRank which does not require a minimum similarity threshold, but rather uses a weighted graph of sentences as the input to Page Rank.\n\n*note: the lexrank algorithm is designed to work on a cluster of documents. LexRank is built on the idea that a cluster of docs will focus on similar topics*\n\n*note: pairwise sentence similarity is calculated for the entire set of documents passed to the function.  This can be a computationally instensive process (esp with a large set of documents)*\n\n## Basic Usage\n```r\nlibrary(lexRankr)\nlibrary(dplyr)\n\ndf \u003c- tibble(doc_id = 1:3, \n             text = c(\"Testing the system. Second sentence for you.\", \n                      \"System testing the tidy documents df.\", \n                      \"Documents will be parsed and lexranked.\"))\n                      \ndf %\u003e% \n    unnest_sentences(sents, text) %\u003e% \n    bind_lexrank(sents, doc_id, level = 'sentences') %\u003e% \n    arrange(desc(lexrank))\n```\n\n## More Examples\n\n* [Vignette](https://CRAN.R-project.org/package=lexRankr/vignettes/Analyzing_Twitter_with_LexRankr.html)\n* [Summarizing Web Articles with R using lexRankr](https://adamspannbauer.github.io/2017/12/17/summarizing-web-articles-with-r/)\n* [lexRankr \u0026 Twitter: find a user's most representative tweets](https://adamspannbauer.github.io/2017/03/09/lexrankr--twitter-find-a-users-most-representative-tweets/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamspannbauer%2Flexrankr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamspannbauer%2Flexrankr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamspannbauer%2Flexrankr/lists"}