Skip to content

jboynyc/textnets

Repository files navigation

Textnets: text analysis with networks

Launch on Binder CI Status Documentation Status Published in Journal of Open Source Software

textnets represents collections of texts as networks of documents and words. This provides novel possibilities for the visualization and analysis of texts.

Bipartite network graph

Network of U.S. Senators and words used in their official statements following the acquittal vote in the 2020 Senate impeachment trial (source).

textnets is free software under the terms of the GNU General Public License v3.

The ideas underlying textnets are presented in this paper:

Christopher A. Bail, "Combining natural language processing and network analysis to examine how advocacy organizations stimulate conversation on social media," Proceedings of the National Academy of Sciences of the United States of America 113, no. 42 (2016), 11823–11828, doi:10.1073/pnas.1607151113.

Initially begun as a Python implementation of Chris Bail's textnets package for R, textnets now comprises several unique features for term extraction and weighing, visualization, and analysis.

Features

textnets builds on spaCy, a state-of-the-art library for natural-language processing, and igraph for network analysis. It uses the Leiden algorithm for community detection, which is able to perform community detection on the bipartite (word–group) network.

textnets is installable using the pip and nix package managers. It requires Python 3.9 or higher.

textnets integrates seamlessly with Python's excellent scientific stack. That means that you can use textnets to analyze and visualize your data in Jupyter notebooks!

Read the documentation to learn more about the package's features.

Citation

Using textnets in a scholarly publication? Please cite this paper:

@article{Boy2020,
  author   = {John D. Boy},
  title    = {textnets},
  subtitle = {A {P}ython Package for Text Analysis with Networks},
  journal  = {Journal of Open Source Software},
  volume   = {5},
  number   = {54},
  pages    = {2594},
  year     = {2020},
  doi      = {10.21105/joss.02594},
}

Learn More

Documentation https://textnets.readthedocs.io/
Repository https://github.com/jboynyc/textnets
Issues & Ideas https://github.com/jboynyc/textnets/issues
PyPI https://pypi.org/project/textnets/
FOSDEM ’22 https://fosdem.org/2022/schedule/event/open_research_textnets/
DOI 10.21105/joss.02594
Archive 10.5281/zenodo.3866676
textnets logo