ftn-ai-lab / ori-2019-siit

Repozitorijum kursa Osnovi računarske inteligencije - SIIT - 2018/19
0 stars 0 forks source link

Automatska sumarizacija teksta pomocu grafova #7

Open bandjeo opened 5 years ago

bandjeo commented 5 years ago
  1. TextRank TextRank je algoritam za rangiranje rečenica u tekstu po ugledu na PageRank algoritam. Pravi se graf od teksta, tako što čvorovi grafa predstavljaju rečenice, a grane se ubacuju između svake dve rečenice sa zajedničkim rečima. Težine se dodaju granama na osnovu toga koliko zajedničkih reči rečenice imaju, po formuli: sličnost(a,b)=broj_zajedničkih_reči(a,b)/(log|a| + log|b|). Оva formula uračunava to da duže rečenice imaju više zajedničkih reči tako što kažnjava duže rečenice. Zatim se iterira TextRank alglritam do konvergencije. Najbolje rangirane rečenice se uzimaju kao sažetak teksta. Alternativno, tražiće se nabliža putanja od prve do poslednje rečenice (neophodno dodatno povezati svaku rečenicu sa njenom narednom, kako bi se osiguralo postojanje puta) pomoću BFS i UCS algoritma. Cena grane će biti usklađena sa njenom težinom.

  2. Pristup pomoću imenica Ovaj pristup zahteva dodatno predprocesiranje. Pošto se koriste imenice za rangiranje, potrebno je da ih bude što više u tekstu. Koristi se pronoun resolution za koji je potrebno prvo tagovati reči njihovim kategorijama. Graf se gradi tako što se za čvorove uzmu sve imenice iz teksta. Grane se postavljaju između imenica koje se nalaze u istoj rečenici, a težina grane se određuje na osnovu njihove distance (broj imenica izmedju njih). Rank svake rečenice se dobija sabiranjem rankova svih njenih imenica. Prilikom odabira najbitnijih rečenica, nakon što se rečenica odabere, rankovi njenih imenica se smanjuju množenjem sa nekim faktorom y, kako bi se izbegle ponovljene imenice.

Tehnologija koja će biti korišćena je Python3, uz pandas, nltk biblioteke za procesiranje teksta, i neuralcoref biblioteku za pronoun resolution.

Nešto više o ovome možete pročitati u seminarskom radu koji sam radio sa kolegama.

lukic-aleksandar commented 5 years ago

Tema odobrena. Ostavi link ka GitHub repozitorijumu projekta. Srećan rad.