Skip to content
Snippets Groups Projects
INSTALL.md 4.04 KiB
Newer Older
# Install instructions

This provides instructions for seting up the software on a freshly installed debian 9 system. It will most likely work on any recent ubuntu system too, though there may be some hickup with the python versions.

## Installing Debian

This assumes a standard install of debian was made using the [smallcd AMD64](https://www.debian.org/distrib/netinst#smallcd) debian image. It was tested selecting only the base system with the standard system utilities (which contain python) and no gui.
This guide assumes during setup a user named rasa was created, though this shouldn't be too hard to adapt to.

### Hypervisor specific steps

#### Hyper-V

Nothing to do, works out of the box.

#### KVM

Not tested.

#### VirtualBox

Works.

## Installing sudo

Though not required we'll make rasa a sudoer for convenience reasons.

First log in as root and run

```shell
apt-get install sudo
```

Next we'll make the `rasa` user a sudoer

```shell
usermod -aG sudo rasa
```

All done here. `exit` and log in as rasa.

## Seting up python for cleanNLP

Just to make sure we update the system with. We'll also need gcc nad git, so go ahead and install em.

```shell
sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get install gcc git build-essential python-dev -y
```

Next, install miniconda:

```shell
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x84_64.sh
```

Defaults are fine here.

Log out and back in.

Now we create an environment for spacy and install it:

```shell
conda create -n spcy python=3
conda activate spcy
pip install spacy
python -m spacy download en
conda deactivate
```

## Installing R

_There is a script that will do all these things for you. If you want to use it skip ahead to **Cloning the project** and be sure to execute the script as described there_ 

We need to add the cran repository to sources.list as the r packages in the debian repositories are somewhat out of date.

For that we'll need a few packages

```shell
sudo apt install dirmngr --install-recommends
sudo apt install software-properties-common apt-transport-https -y
```

Now we'll add the key for the cran ppa and add the ppa

```shell
sudo apt-key adv --keyserver keys.gnupg.net --recv-key 'E19F5F87128899B192B1A2C2AD5F960A256A04AF'
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/debian stretch-cran35/'
```

Finally we may install R

```shell
sudo apt-get update
sudo apt-get install r-base-dev
```

While we're at it, we install a few more things we need for some R packages and also git.

```shell
sudo apt-get install libcurl4-openssl-dev libssl-dev libxml2-dev git -y
```

## Cloning the project

Run:

```shell
git clone https://git.informatik.uni-leipzig.de/text-mining-chatbot/wiki-rasa.git
cd wiki-rasa
```

_If skipping the steps above run the install script now._ 

```shell
./install.sh
```

## Installing R Packages

This needs to be done from an Interactive R console as R will ask wheather to use an personal library the first time installing packages. To do this, open R and type the following:

```r
install.packages(readLines("packages.list"))
```

This will install all the packages required. When asked if you want to use a personal library say yes and accept the defaults.

## Bot Setup

In order to setup and run the [Rasa Bot](https://rasa.com/docs/) we recommend to use a [conda](https://conda.io/docs/user-guide/getting-started.html#managing-environmentsß) environment again with Python 3.6.7

```
conda create -n rasa_env python=3.6.7
source activate rasa_env
```

You need to install [Rasa Core](https://rasa.com/docs/core/installation/) and [Rasa NLU](https://rasa.com/docs/nlu/installation/) to run the Bot

```
pip install rasa_nlu
pip install rasa_core
```

Install the pipeline

```
pip install sklearn_crfsuite
pip install spacy

python -m spacy download en_core_web_md
python -m spacy link en_core_web_md en
```

Now you can train and run the bot

```
cd rasa/
make train
```

```
make run
```

Run in [Debug Mode](https://rasa.com/docs/core/debugging/) for more logging

```
make run-debug
```