V tem repozitoriju se nahaja rezultat aktivnosti A3.2 Orodje za avtomatsko ekstrakcijo relacij za gradnjo semantične mreže in Semantična mreža oz. avtomatsko zgrajena baza znanja, ki je nastalo v okviru projekta Razvoj slovenščine v digitalnem okolju.
Navodila in napotki za uporabo orodja, za ročno urejanje strojnih prevodov, so na sledeči povezavi.
Vse komponente so pripravljene v obliki slik Docker, torej je potrebno imeti tega nameščenega.
Imamo sledeče datoteke, ki se preslikajo v podatkovno bazo v dockeru.
Podrobnejši opis strukture teh datotek je dostopen na sledeči povezavi.
code
└──dbseed
├──dev.tsv
├──test.tsv
├──train.tsv
├──relations.tsv
├──defaultComments.tsv
└──user.tsv
Lahko jih tudi poljubno preimenujemo, kar nato v code/dbseed/Dockerfile prilagodimo. (V tej reviziji smo to načeloma tudi storili)
Za posodobitev teh vrednosti v že obstoječem dockeru, je treba izvesti sledeč ukaz pred compose up
.
docker-compose build
Za tem, ko nastavimo okoljske spremenljivke, v konzoli v direktoriju code
(cd code) izvedemo sledeč ukaz:
docker compose up --build -d
Pred zagonom je potrebno nastaviti okoljske spremenljivke (angl. eviroment variables). Sledeče je potrebno nastaviti na dveh mestih.
- V
code
in vcode/app
ustvarimo.env
- V vsako izmed teh dveh
.env
datotek prekopiramo vrednosti iz.env.template
, torej:code/.env.template
->code/.env
code/app/.env.template
->code/app/.env
- Izpolnimo vrednosti v na novo narejenih
.env
datotekah
Spremenljivka | Opis |
---|---|
DB_NAME | Ime podatkovne baze |
DB_HOST | Gostitelj podatkovne baze (npr. db ) |
DB_USER | Uporabniško ime uporabnika baze |
DB_PASS | Geslo uporabnika baze |
DB_PORT | Port podatkovne baze |
DB_EXPORTING | Sestavljen parameter (načeloma nepotreben, se uporablja le v eni metoid. Se bo morda v kasnejši različici odstranil) Format: mongodb://rootUsername:rootPssword@dbHost:dbPort (tega ročn hardcodajte) |
APP_PORT | (integer) Vrata glavne aplikacije, npr. 3000 , bo aplikacija dostopna na localhost:3000 |
MONGO_INITDB_USER | MongoDb začetni uporabnik |
MONGO_INITDB_PASSWORD | Njegovo geslo |
MONGO_EXPRESS_USER | Mongo express začetni uporabnik |
MONGO_EXPRESS_PASSWORD | Njegovo geslo |
DBSEED_USER | Uporabniško ime (načeloma so ta in ta dva zgoraj lahko enaka, po želji...) |
DBSEED_PASS | Njegovo geslo |
DBSEED_DBSAFEUSER | Uporabniško ime uporabnika dbseed baze. (Načeloma enako kot DB_USER) |
DBSEED_DBSAFEPASS | Geslo tega. (Načeloma enako kot DB_PASS) |
SINONIMIDB_USER | Uporabniško ime uporabnika baze sinonimov |
SINONIMIDB_PASS | Geslo tega |
Uporabljen je Express.js v arhitekturnem slogu MVC. V app/app.js je napisan usmernik (angl. router), ki privzeto preslika naslove URL aplikacije /<Controller>/<Action>
v ustrezno funkcijo znotraj posameznega Controllerja. Tako npr. /Record/editFile
izvede klic funkcije editFile. Za razširjanje funkcionalnosti je priporočeno poznavanje tehnologije Node.js
Uporabljena je podatkovna baza MongoDB z uradno sliko Docker. Prilagajanje je mogoče znotraj datotek docker-compose.yml ter db/Dockerfile.
Ob prvem zagonu Docker vsebnika se baza napolni s podatki - strojno generiranimi prevodi. Izvorne datoteke je mogoče zamenjati, vendar je zaradi preslikav izvirnik - prevod potrebno zlepiti (konkatenirati) datoteke TSV tako, kot je demonstrirano v implementaciji. Lepljenje je mogoče realizirati na poljuben način, npr. s pomočjo skripte dbseed/merger.py.
Za sinonime sta uporabljeni sliki Docker, opisani v sinonimiapi in sinonimidb.
Operacijo Razvoj slovenščine v digitalnem okolju sofinancirata Republika Slovenija in Evropska unija iz Evropskega sklada za regionalni razvoj. Operacija se izvaja v okviru Operativnega programa za izvajanje evropske kohezijske politike v obdobju 2014-2020.