Documente Academic
Documente Profesional
Documente Cultură
Top 3 Forum Topics - Machine Learning
Top 3 Forum Topics - Machine Learning
Task 2
Diaconescu Cosmin
Telecom Academy
Cerinta proiectului
Acest task o să fie compus dintr-o parte fixă și o parte în care fiecare va putea să își
etaleze creativitatea.
În ceea ce privește partea fixă, o să trebuiască să extrageți TOP 3 topicuri dintr-un anumit
post de Stackoverflow.
Observatii
1. Aceasta reprezinta o aplicatie in care va fi folosit algoritmul TF-IDF.
2. Cel mai important aspect in realizearea acestui task este prelucrarea cat mai buna a
textului.
3. Inainte de a afisa top 3 topicuri, textul a fost folosit pentru diverse aplicatii (grafic
frecvente, wordcloud etc)
4. Pentru a testa aceasta aplicatie, la sfarsit au fost introduse un titlu si un body care mai
apoi au fost prelucrate si din care am extras top 3 topicuri.
5. Pentru aceasta aplicatie, am folosit Anaconda - Jupyter Notebook.
Desfasurarea lucrarii
1. Dupa ce fisierul de tip csv a fost salvat in calculator, au fost alese doar coloanele de
interes, body si title.
2. Se poate observa faptul ca titlul ocupa doar 5961 randuri, in timp ce body-ul are 8993
randuri.
3. Prelucrarea textului este formata din 2 functii definite body_nlp si title_nlp prin care
dorim sa scapam de stop_words, sa aducem cuvintele la forma de baza din dictionar si sa
eliminam anumite grupuri precum: „<p>” , „</p>” etc.
4. Deoarece am intampinat anumite erori, coloanele body si title au fost transformate in
stringuri , iar mai apoi am adaugat in locul 1 si 3 coloanele noi (title_final2 si
body_final2) cu textul prelucrat.
5. In continuare, a fost realizat cate un wordcloud pentru cuvintele din titlu si mai apoi din
body.
9. Deoarece s-a cerut ca top 3 topicuri sa fie din body + text, am realizat o noua coloana in
care au fost concatenate datele din body_final2 si title_final2 cu denumirea title_body.
10. Din sklearn a fost importat modulul TfidfVectorizer pentru a afla direct scorul tf-idf. Am
antrenat modelul pe textul din title_body si am aflat topul celor mai importante cuvinte
care ar putea fi un topic pentru propozitiile cu indexul 0 si 1
tf_idf_scores tf_idf_scores
11. Ultima etapa a constat in realizeaza unui titlu si a unui body nou pe care le-am presupus
introduse de la tastatura. ( Jupyter Notebook a avut ceva buguri in sensul in care folosind
input se bloca / nu mai rula deloc )
12. Acest titlu + body au fost prelucrate cu ajutorul functiilor precizate anterior si au fost
adaugate intr-o lista de tip array, care mai apoi a fost adaugata la lista principala . Noul
scor TF-IDF a fost astfel apelat pentru ultimul element al listei finale.