Skip to content

LeonaNedeljkovic/SoftComputing2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

SoftComputing2019


Pre pokretanja projekta trebalo bi instalirati:
  • tensorflow
  • tensorlayer
  • tqdm
  • keras
  • nltk
  • pandas
  • numpy

Takođe bi trebalo skinuti sleće fajlove i smestiti ih u folder "data":

Pokretanje istreniranog modela

Da biste pokrenuli aplikaciju i samostalno testirali model koji smo trenirale, potrebno je pokrenuti fajl main.py. Tada putem konzole možete prosleđivati rečenice i aplikacija će izbacivati odgovore na njih.

Radi lakše i brže provere, možete pokrenuti i fajl check_sentences.py. U ovom slučaju, u aplikaciji se prosleđuju pitanja koja smo mi izdvojile i prikazuju se zajedno sa izbačenim odgovorom.

Postupak pripreme dataseta

U daljem tekstu ćemo detaljno objasniti postupak po kom smo dataset pripremile za treniranje i koji bi se mogao ponoviti u slučaju kreiranja novog dataseta.

1. Pokretanje read_data.py

Pokretanjem ovog fajla želimo da iz prvobitnog dataset-a izdvojimo samo one podatke koji su nam potrebni za obučavanje naše mreže. Naš prvobitni dataset predstavlja fajl RC_2013-06, koji sadrži sve komentare ostavljene na Reddit-u juna 2013. godine, zadate u JSON formatu. Uz određene kriterijume, iz ovog JSON fajla smo izdvojile komentare i njihove "najbolje" podkomentare i smestile ih u bazu podataka, odnosno u databaseChatbot.db. Ovaj korak nama je trajao nekoliko sati.

2. Pokretanje generate_to_from.py

Nakon pokretanja ovog fajla, podaci iz databaseChatbot.db se smeštaju u dva nova fajla: from.txt i to.txt. Prvi fajl sadrži input rečenice, a drugi odgovarajuće output-e ili odgovore na rečenice iz prvog fajla. Svaka linija u from.txt fajlu odgovara istoj liniji u to.txt fajlu.

3. Pokretanje filter_data.py

U ovom koraku se iz from.txt i to.txt filtriraju sve rečenice, reči i simboli koji nisu odgovarajući za treniranje naše mreže. Kao rezultat pokretanja ovog fajla generišu se train_from_filtered i train_to_filtered.

4. Pokretanje correct_data.py

U ovom koraku se uz pomoć NLTK biblioteke koriguju neke od nepravilno napisanih reči kako ne bi stvarale teškoće prilikom obučavanja mreže. Kao rezultat pokretanja ovog fajla generišu se train_from_corrected i train_to_corrected.

5. Pokretanje generate_metadata.py

Pokretanjem ovog fajla, generiše se metadataFirst.pkl, koji sadrži sve input rečenice iz dataseta i odgovarajuće outpute. Svaki input i output je predstavljen nizom brojeva, a svakom broju odgovara jedna reč. Takođe ovaj fajl sadrži tokenizer koji sadrži informaciju o vezi između brojeva i reči u vidu rečnika, kao i odgovarajuće metode za konverziju reči u brojeve i obrnuto. Ovaj fajl će se koristiti pri treningu i pri kasnijem korišćenju obučene mreže.

Treniranje neuronske mreže

Nakon što je dataset kompletno pripremljen, može se preći na korak obučavanja mreže. Da bi se obučavanje mreže pokrenulo, potrebno je pokrenuti train.py.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages