Semantle, på norsk!
Dette prosjektet er en norsk kopi av David Turners Semantle og er laget med hjelp av LTG Oslo sine word embeddings datasett
Dette repoet er backenden for prosjektet. Frontenden kan du finner her
Docker
- Skriv denne kommandoen for å kjøre backenden.
docker run -d -p 5000:5000 --name normantle-backend ghcr.io/lblend/normantle:latest
Vi anbefaler at du bruker kommandoen gitt ovenfor. Du står derimot fritt til å endre variabler til eget ønske om du vet hva du driver med.
Manuelt
- Last ned repoet og installer avhengigheter
- Python 3.10+
- Pip
-
Kjør installasjonsskriptet
sh setup.sh
Merk deg at dette skriptet antar at PATH til python er satt til python3
. Hvis dette ikke er tilfellet for deg, må du huske å endre skriptet eller PATHen din.
- Kjør APIet
uvicorn src.main:app --host 0.0.0.0 --port 5000 --proxy-headers
Det ligger også en docker-compose fil i dette repoet som vil sette opp både backend og frontend gjennom Docker. Merk deg derimot at bruk av denne metoden kan sette restriksjoner på konfigurasjonen din. Se frontendrepoet for mer info.
Dette prosjektet tar i modell #93 fra LTG Oslo sitt word embeddings repository. Grunnen til at denne modellen ble valgt over f.eks. en med større vokabulær har mye med de underliggende korpora. Etter litt anekdotisk eksperimentering kom det frem at modellene som tar i bruk NoWaC og NBDigital korpusene inneholdt mange ord som ikke er norske. Dette påvirket spillets gang til en såpass stor grad at disse ble valgt bort.
Modellene inneholder mange ord som ikke passer seg til spillet. Dette er gjerne stopwords eller andre ord som forkortelser osv. For å "løse" dette har jeg valgt å filtrere bort alle ord som er stoppord ifølge NLTK-pakken samt ord som inneholder store bokstaver eller er kortere enn tre bokstaver lange.
Takk til LtgOslo som har publisert word2vec-modellen. Uten dem ville ikke dette prosjektet vært mulig.