Skip to content

e-mental-health/orange-hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orange hackathon

DOI fair-software.eu Research Software Directory Quality Gate Status Codacy Badge Maintainability CII Best Practices

The Orange Hackathon was a software development event in which researchers and students expanded the platform system Orange with modules which can automatically analyze online therapeutic therapies

The hackathon was a part of the project What Works When for Whom in which three partners collaborate: Tactus, Psychology, Health and Technology of the University of Twente and the Netherlands eScience Center.

The contact person for this hackathon is Erik Tjong Kim Sang [email protected]

Installation

In order to use the software developed in the hackathon, you need to have Orange running at your computer. Next you need to install the hackathon software by following the instructions below or by watching our installation videos (video 1, video 2)

Orange installation

We install Orange via Anaconda:

  1. Download Anaconda from http://www.anaconda.com/distribution (choose the operation system of your computer: Windows, macOS or Linux)
  2. When the download is complete: start the Anaconda prompt: under Windows: Anaconda prompt under Anaconda3
  3. In the Anaconda3 window, type:
  • conda config --add channels conda-forge (followed by Enter)
  • conda install orange3
  • conda install orange3-text
  • on Windows: mkdir %userprofile%\orange
  • cd %userprofile%\orange (or cd $HOME/orange on macOS or Linux)
  • git clone https://github.com/e-mental-health/orange-hackathon

Starting Orange

  1. start the Anaconda prompt: under Windows: Anaconda prompt under Anaconda3
  2. In the Anaconda3 window, type:
  • cd %userprofile%\orange\orange-hackathon (or cd ~/orange/orange-hackathon)
  • pip install .
  • python -m Orange.canvas

Widgets

Mail2Tsv: Convert email files to .tsv files, for easy importing as a corpus.

Instructions: select your input folder, and fill in the filter. All files from the subdirectories will be attempted to convert. By default the filter is set to all_documents/ and inbox/, resulting in only the conversion of files inside those subdirectories.

Once a batch of emails is converted, it will be automatically send them out as a corpus, if any other node is connected. If emails have previously been converted, and the output path/file is still a valid .tsv file, it is enough to press the "Output file > corpus" button. This button only needs to be pressed in a fresh session, if the convert button has been pressed, the output file will automatically be converted.

  • this widget requires Tkinter to be installed

EmailSorter: Sorts emails converted by the Mail2Tsv widget in chronological order, based on the "date" column.

Instructions: No interaction is required, it will start automatically once it receives an input. Clicking on the widget will give the option to sort in ascending, or descending order.

External data

The WRAD.Wt dictionary used by the module DAAP can be downloaded from

https://github.com/DAAP/WRAD

Note that we also use the text module of Orange3

Examples

Small pipeline

Medium pipeline

Tactus pipeline

The Tactus pipeline is used for filtering and visualizing the therapy mails from the organization Tactus in the project What Works When for Whom. It contains six modules:

  1. Tactus Mail Loader: read all mails of one therapy session (xml data)
  2. Sort Emails: sort mails chronologically
  3. Mark duplicates: mark all phrases of 20 tokens or longer that appeared in an earlier mail
  4. Remove Marked Text: remove all marked text from the mails
  5. LIWC: perform LIWC analysis of the mail text: count relevant tokens
  6. Line Plot: make a graph of the counted tokens