Skip to main content

Ananse

This project is a collaboration between Dr. Effah Antwi,Research Scientist, Natural Resources Canada, Canadian Forest Service and Dr Wiafe Owusu-Banahene, Department of Computer Engineering, School of Engineering Sciences, University of Ghana, Legon, Accra, Ghana. The Ananse package is a python package designed to partially automate search term selection and writing search strategies for systematic reviews. Read the documentation at baasare.github.io/ananse and ananse.readthedocs.io/

Setup

Ananse requires python 3.7 or higher

Using pip

pip install ananse

Directly from the repository

git clone https://github.com/baasare/ananse.git
python ananse/setup.py install

Quick start

Writing your own script

from ananse import Ananse

min_len = 1 # minimum keyword length
max_len = 4 # maximum keyword length


# Create an instance of the package
test_run = Ananse()


# Import your naive search results from the current working directory
imports = test_run.import_naive_results(path="./")

# Columns to deduplicate imported search results
columns =  ['title', 'abstract']


#de-duplicate the imported search results
data = test_run.deduplicate_dataframe(imports, columns)


#extract keywords from article title and abstract as well as author and database tagged keywords
all_terms = test_run.extract_terms(data, min_len=min_len, max_len=max_len)


#create Document-Term Matrix, with columns as terms and rows as articles
dtm, term_column = test_run.create_dtm(data.text, keywords=all_terms, min_len=max_len, max_len=max_len)


#create co-occurrence network using Document-Term Matrix
graph_network = test_run.create_network(dtm, all_terms)


#plot histogram and node strength of the network
test_run.plot_degree_histogram(graph_network)
test_run.plot_degree_distribution(graph_network)


#Determine cutoff for the relevant keywords
cutoff_strengths = test_run.find_cutoff(graph_network, "spline", "degree", degrees=3, knot_num=1, percent=0.879956,
                                            diagnostics=True)


#get suggested keywords and save to a csv file
suggested_keywords = test_run.get_keywords(graph_network, "degree", cutoff_strengths, save_keywords=True)


#Print suggested keywords
for word in suggested_keywords:
   print(word)

Using Ananse Test Script

python tests/ananse_test

References

This is a python implementation of the R package as mentioned in paper An automated approach to identifying search terms for systematic reviews using keyword co‐occurrence networks by Eliza M. Grames, Andrew N. Stillman Morgan W. Tingley and Chris S. Elphick

Metadata

Release files for ananse 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ananse 1.1.2
File Size Uploaded
ananse-1.1.2.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ananse 1.1.2
File Interpreter ABI Platform
ananse-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / ananse-1.1.2.tar.gz

Download URL ananse-1.1.2.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c97cc4b339b1c00a85804e124d0eae7d7b6c31454b363bb8a41d57610fac02b5
BLAKE2b-256 checksum
How to use checksums
5c57eb78e081cdab578c9ae40fcf11568b01c93caf601f1664ae73034cce6ecd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

Release files / ananse-1.1.2-py3-none-any.whl

Download URL ananse-1.1.2-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89b439f42fed067bbe2ad15a7ef39639c18a03c7688b28d53a50902b00b906cf
BLAKE2b-256 checksum
How to use checksums
ca5f43b42e0dc5a25be36efe112b3444082fd2cfffb3dc397ea20c42026f37a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.7

2 release files

1.0.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page