Contains the tool for viewing valency frames and adding user-defined senses to underlying sentences.
Go to file
2019-04-28 01:03:44 +02:00
data make sskj-senses 2019-04-28 01:03:44 +02:00
dip_src modifying frames api 2019-03-28 19:17:45 +01:00
dockerfiles Add backend-prod target (debug, 0.0.0.0, 8084) 2019-04-22 23:38:47 +02:00
old_api_examples some more old_api output 2019-04-06 17:39:55 +02:00
src make sskj-senses 2019-04-28 01:03:44 +02:00
test_make added env.local -- gitignored credentials file 2019-04-15 17:03:39 +02:00
.gitignore filtering some words in index 2019-04-27 20:24:11 +02:00
.gitmodules make fill_database 2019-03-17 17:25:59 +01:00
env.default added env.local -- gitignored credentials file 2019-04-15 17:03:39 +02:00
Makefile make sskj-senses 2019-04-28 01:03:44 +02:00
README.md a 2019-04-21 19:18:40 +02:00

cjvt-valency

Required submodules:

  • https://gitea.cjvt.si/kristjan/cjvt-corpusparser.git
$ git submodule init
$ git submodule update

Components

Credentials

Copy env.default to env.local (gitignored).
Modify database credentials in env.local.
The file is used by make.

Database (2 containers)

Set db admin, user, pass, etc in 'Makefile'.
Spin up the database service and create users:
Make sure you create a folder for the data on host machine (see mongodb-stack.yml volumes.

$ mkdir -p ${HOME}/mongo_container/data/  # default one
# $ make database-clean  # opt, removes docker services, not data
$ make database-service
$ make database-users  # only first time; user data persists too

Populate the database with data form files:

  • ssj500k.xml
  • kres.xml
  • kres_SRL.json

Set path to files in Makefile.

# spin up a container with python env
$ make python-env

# install our packages
$ make python-env-install

# run the code
# beforehand, set the data files in Makefile
# instead of mounting directories into the container, you can
# create a link inside ./data, that points to the desired location 

# I've separated the processes for better memory management
$ make fill-database-ssj

$ make fill-database-kres
# You can detach from the running process using Ctrl-p + Ctrl-q



# this is a long operation
# if running on a remote server, use nohup:
$ nohup $(make fill-database > fill-database.log) &

If all goes well, we should be able to inspect the database, filled with corpora, on 0.0.0.0:8087.

Flask backend (1 container)

Relies heavily on the database. Set that up first.

# spin up container
$ make python-env

# install our packages
$ make python-env-install

# needs to be ran once to modify a new database
$ make backend-prepare-db

# with debugger
$ make backend-dev

# production
$ make backend-prod

API endpoints:

  • GET word list (pre-cached)
  • GET reduced frames (pre-cached)
  • POST senses
  • User auth logic

Vue frontend (1 container)

Relies on Flask backend.
Before running make, you might need to set the correct api address.
Check ./src/frontend_vue/config/config_prod.json.
bash

# $ make frontend-dev  # development
$ make frontend-prod

App available on: http://0.0.0.0:8080.