GithubHelp home page GithubHelp logo

tixierae / gow_tools Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 6.0 16 KB

Functions for creating and analyzing word co-occurrence networks in Python and R

Python 37.80% R 62.20%
nlp graphs networks text-mining network-analysis graph-mining igraph python r keyword-extraction extractive-summarization

gow_tools's Introduction

What is this repository for?

This repo provides functions for creating and analyzing word co-occurrence networks in Python and R. Examples are provided in the gow_toy scripts.

What are word co-occurrence networks?

To get a feel for what word co-occurrence networks are, what they can be used for, and the impact of the different parameters, have a look at this interactive web app (GoWvis). You can paste your own text and download the graph edgelist.

In this repository, word co-occurrence networks are defined in the manner of Mihalcea and Tarau (2004). Some more recent papers using word co-occurrence networks can be found below.

Cite

If you use some of the code in this repo, please cite:

@inproceedings{tixier2016gowvis,
  title={Gowvis: a web application for graph-of-words-based text visualization and summarization},
  author={Tixier, Antoine and Skianis, Konstantinos and Vazirgiannis, Michalis},
  booktitle={Proceedings of ACL-2016 System Demonstrations},
  pages={151--156},
  year={2016}
}

[link]

Other relevant literature

AAAI 2020:

@article{nikolentzos2019message,
  title={Message Passing Attention Networks for Document Understanding},
  author={Nikolentzos, Giannis and Tixier, Antoine J-P and Vazirgiannis, Michalis},
  journal={arXiv preprint arXiv:1908.06267},
  year={2019}
}

[link]

ASONAM 2019:

@inproceedings{tixier2019perturb,
  title={Perturb and combine to identify influential spreaders in real-world networks},
  author={Tixier, Antoine J-P and Rossi, Maria Evgenia G and Malliaros, Fragkiskos D and Read, Jesse and Vazirgiannis, Michalis},
  booktitle={Proceedings of the 2019 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining},
  pages={73--80},
  year={2019}
}

[link]

ACL 2018:

@inproceedings{shang2018unsupervised,
  title={Unsupervised Abstractive Meeting Summarization with Multi-Sentence Compression and Budgeted Submodular Maximization},
  author={Shang, Guokan and Ding, Wensi and Zhang, Zekun and Tixier, Antoine Jean-Pierre and Meladianos, Polykarpos and Vazirgiannis, Michalis and Lorr{\'e}, Jean-Pierre},
booktitle={Proceedings of the 2018 Conference of the Association for Computational Linguistics},
  year={2018}
}

[link]

EMNLP 2016:

@inproceedings{tixier2016graph,
  title={A graph degeneracy-based approach to keyword extraction},
  author={Tixier, Antoine and Malliaros, Fragkiskos and Vazirgiannis, Michalis},
  booktitle={Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing},
  pages={1860--1870},
  year={2016}
}

[link]

gow_tools's People

Contributors

tixierae avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gow_tools's Issues

Multiple issues - Copy of graph object, degree calculation of core decomposition

  1. On line #117 of library.py, the code "gg = copy.deepcopy(g)" throws the below error:

File "C:\ProgramData\Anaconda3\lib\copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "C:\ProgramData\Anaconda3\lib\copy.py", line 275, in _reconstruct
y = func(*args)
File "C:\ProgramData\Anaconda3\lib\copy.py", line 274, in
args = (deepcopy(arg, memo) for arg in args)
File "C:\ProgramData\Anaconda3\lib\copy.py", line 150, in deepcopy
y = copier(x, memo)
File "C:\ProgramData\Anaconda3\lib\copy.py", line 241, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "C:\ProgramData\Anaconda3\lib\copy.py", line 150, in deepcopy
y = copier(x, memo)
File "C:\ProgramData\Anaconda3\lib\copy.py", line 216, in _deepcopy_list
append(deepcopy(a, memo))
File "C:\ProgramData\Anaconda3\lib\copy.py", line 169, in deepcopy
rv = reductor(4)

TypeError: can't pickle dict_values objects

  1. If skipped the copying part, i.e. instead of copying, just assign gg=g, then on line #141 of library.py file throws the below error:

File "~\gow_tools-master\Python\library.py", line 141, in core_dec
new_degrees = gg.strength(weights=gg.es['weight'])

ValueError: iterable must yield numbers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.