Online újságcikkek analízise Természetes Nyelvfeldolgozással, a felhőben

Calendar  2020.08.11     Calendar      

Körülmények

Nagy mennyiségű online újságcikk feldolgozása és kategorizálása jellemzőik alapján, a cím, a tartalom, a szerző és a dátum megállapításával.

Kihívás

Az ügyfelünknek egy megbízható, robusztus és folyamatosan működő adatfeldolgozó rendszerre volt szüksége, amely skálázható is. Többszáz hírportál és egyéb weboldal teljes tartalmát kellett valósidőben menteni. Az elmentett adatokon az ügyfél saját szolgáltatását, valamilyen analitikai feladatot végzett el. Ehhez a feladathoz egy olyan rendszerre volt szükségük, amely beazonosítja az online cikkek főbb építőköveit, vagyis a címet, a szerzőt, a dátumot, és a tartalmi részt, majd ezeket megfelelő kategóriák alatt el is menti. Minden más adatot (beleértve például a képeket, banner hirdetéseket) “más” indexeléssel kellett ellátni és figyelmen kívül hagyni. Mivel az új tartalmak áradata sosem szűnik meg, ezért végtelen skálázhatóságra volt szükség. Ezen kívül egy összekötő megoldást is ki kellett dolgoznunk, ami lehetővé teszi, hogy az általunk legyűjtött adat automatikusan, erőfeszítés nélkül és folyamatosan be legyen csatornázva az ügyfél analitikai rendszerébe.

Megoldás

Építettünk egy ún. scraping eszközt, amely előre meghatározott webcímeket keres fel, ott megnyit minden egyes linket, azokat priorizálva, amelyeket cikk-ként azonosít. Először a legfrissebbekkel kezd. Ha a linkelt oldalon talál linket, azt is megnyitja. Egészen addig folytatja ezt, amíg a linkelt oldalon már nem talál további linket. A Proof of Concept jól működött, bebizonyította, hogy az alkalmazott gépi tanulásos modell megfelelő megoldást kínál. Ezután el kellett érni, hogy a modell végtelenül skálázható és folyamatosan működőképes legyen. Ehhez a felhőtechnológia alkalmazása tűnt járható útnak. Az AWS segítségével elértük a dinamikus skálázhatóságot, amire egy fizikai szerver nem lenne képes. A projekthez ugyanakkor egy hibrid “serverless” metódusra is szükség volt, mivel bizonyos adatokat folyamatosan elérhetően kellett tárolni.

Hatások, eredmények

Az ügyfél 5-10 ezer webcímet szkennelt minden nap. A szoftvert nem kellett leállítani a folyamatos fejlesztés közben sem. Folyamatosan monitoroztuk a memóriafelhasználást és egyéb paramétereket. 15 “crawler” dolgozott 45 szálon, mint egy 100 Gb adatot generálva óránként. A metódus sikeresen átment a stresszteszteken és még mindig használatban van, kevesebb, mint 1 százalékos hibarátával.

Ügyfél

Szolgáltató

Üzleti funkció

Termékfejlesztés