MyVeli / tiralabra

0 stars 1 forks source link

Tiralabra, 1. vertaisarviointi #1

Open Jikke opened 2 years ago

Jikke commented 2 years ago

Moikat kanssaopiskelijalta! :wave:

Alkuhöpinoitä

Itsellänikin on projektin aiheena trie-tietorakenteen hyödyntäminen tekstin tuottamiseen Markovin ketjun avulla. Ensinäkin sain ajatuksia toteutustavastasi myös omaan työhöni, joten kiitos siitä! Itse lähdin rakentamaan tietokantaa luomani trie_node -luokan varaan, kuten sinäkin. Toteutukseni on toistaiseksi vain ensimmäisen asteen Markovin ketju. Uskoisin, että astetta nostettaessa tulee noden avaimen olla 2, 3, 4.. jne. pitkä lista sanoja. Sinulla tämä oli jo paljon pidemmälle ja paremmin toteutettu, niin voit ohittaa nämä :smile: . Nodet ovat triessä avain-arvo pareja, joiden avaimena on sana itse ja arvona dictionary opetusdatan perusteella tätä sanaa seuraavista sanoista muodostetuista trie-nodeista. Lisäksi nodeissa on kenttä sanan esiintymismäärälle edellisen sanan jälkeen. Itse trie-puu on oma luokkansa, jonka juurena on trienode avaimella *. Tämä luokka käsittelee lauseiden lisäyksen ja hakemisen puusta. Puun syvyys määräytyy Markovin ketjun asteen mukaan, esim 2. asteella puun syvyys olisi 3 (* on juuri). Lausetta muodostettaessa lehdestä hypätään takaisin juuren lapsiin, josta ilmentyminä löytyvät kaikki sanat/sanajoukot trie-nodeina. Täten sama avain on puussa periaatteessa useassa eri paikassa. Nodet eivät ole kuitenkaan identtisiä, sillä esiintymismäärät vaihtelevat sen mukaan, mitä sanaa/sanoja kyseinen node seuraa. En väitä, että tapani tehdä tämä on paras. Itselleni totetuts on jatkuvaa painimista kysymyksen "Onko tässä tavassa mitään järkeä?" kanssa. Halusin kuitenkin jakaa ajatukseni, koska itse olen muiden ajatuksia kipeästi kaivannut kurssin aikana :slightly_smiling_face:

Konkreettista palautetta koodisi rakenteesta

MyVeli commented 2 years ago

Moi!

Kiitos palautteesta ja kommenteista! Muokkasin ohjelmaa niin, että tallennan nyt nodeihin sanoja kirjainten sijaan.

Mukavaa kurssin jatkoa ja joulun odottelua!