final
This commit is contained in:
parent
0340c3426a
commit
f14fca673c
23
readme.md
23
readme.md
@ -2,13 +2,13 @@
|
||||
|
||||
Od dawna zastanawiałem się nad stworzeniem małej gry w której wcielamy się w rolę propagandzisty totalitarnego państwa (takiego jak fikcyjna Arstotzka z Papers Please). Gra miałaby polegać na pisaniu odpowiednich przemów i tekstów marszy zależenie od sytuacji. W ramach projektu postanowiłem spróbować wykonać chociaż jeden z komponentów.
|
||||
|
||||
Sprawdzamy czy nasz tekst nadaje się do dalszej analizy poprzed binarną klasyfikację czy jest to marsz, przemowa lub nie.
|
||||
Sprawdzamy czy nasz tekst nadaje się do dalszej analizy poprzez binarną klasyfikację czy jest to marsz, przemowa lub nie.
|
||||
|
||||
Moje dane pochodzą głównie ze strony http://www.sovmusic.ru/english/, gdzie ktoś przez wiele lat gromadził teksty komunistycznych pieśni.
|
||||
Drugim, mniejszym źródłem była strona na której umieszczone zostały przetłumaczone na angielski rozkazy i pisma Stalina podczas drugiej wojny światowej.
|
||||
Drugim, mniejszym źródłem była strona na której umieszczone zostały przetłumaczone na angielski rozkazy i pisma Stalina z drugiej wojny światowej.
|
||||
https://www.marxists.org/reference/archive/stalin/works/decades-index.htm. Jest tego dużo, więc zrobiłem bota do ściągania danych `stalin_war_crawler.py` i `stalin_trockizm_crawler.py`
|
||||
|
||||
Przykłady innych tekstów znalazłem na https://github.com/Lyrics/lyrics
|
||||
Przykłady innych tekstów, normalnych piosenek znalazłem na https://github.com/Lyrics/lyrics
|
||||
|
||||
Największym problemem okazał się format zbioru piosenek z rosyjskiej strony - jest to ogromny, tabelkowy dokument .html, z którego było cięzko wyciągnąć teksty. Do tego, teksty są w różnych językach - trzeba było je znormalizować do jednego języka. Wybrałem angielski, bo google translate najlepiej działa na tym języku. W celu masowego tłumaczenia napisałem skrypt (`piosenki/translate.py`) wyciągający teksty i używający popularnego exploita w google translate poprzez bibliotekę `googletrans` do pythona (`pip3 install googletrans`). Przetłumaczone teksty są zapisywane do osobnych plików.
|
||||
|
||||
@ -73,9 +73,22 @@ Mimo wielu nazw w obu tekstach, są one klasyfikowane na dwie różne klasy. Dod
|
||||
|
||||
|
||||
Ostatecznie wyniki
|
||||
```
|
||||
```sh
|
||||
$python3 stats.py
|
||||
Precision: 0.9636363636363636
|
||||
Recall: 1.0
|
||||
f1: 0.9814814814814815
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
Żeby samemu wszsytko włączyć:
|
||||
|
||||
```sh
|
||||
$python3 vowpalize.py
|
||||
$python3 prepareTestFiles.py
|
||||
$vw --binary vowpal.txt --passes 5 -c -k -f model.model --loss_function logistic -b 24 --nn 20
|
||||
|
||||
$vw -t -i model.model -p pred.pred test.txt
|
||||
$python3 stats.py
|
||||
```
|
||||
Jest zbiór test i dev. Co ciekawe, na test wychodzą lepsze wyniki niż na dev :joy:
|
Loading…
Reference in New Issue
Block a user