Háttér
Tavaly október végén részt vettünk a NetAcademia által szervezett IT Forum 2015 konferencián, ahol egy bemutatóval egybekötött előadás keretében arról beszéltünk, hogy a jelenleg saját szerverünkön működő csalásdetektáló rendszerünk hogyan valósítható meg felhőben, egészen pontosan a Microsoft Cortana Analytics Suite-ben.
Kommentár
A jelenleg működő rendszerbe naponta érkeznek új adatok a megrendelőnknél bejelentett káreseményekről és az abban résztvevőkről. Ezek automatikus feldolgozása, majd az egyes káresemények minősítése, csalás-valószínűség szerinti pontozása a feladatunk.
Ezen kívül bizonyos időközönként arról is kapunk információkat, hogy a kárszakértői vizsgálat mely káreseményekkel kapcsolatban állapított meg biztosítási csalást, túlzott kárigényt stb., azaz hogy mely káreseményeket tekinthetjük fraud-nak. Ezek segítenek a rendszerünk folyamatos „újratanításában”, a csalásokkal kapcsolatban feltárt mintázatok aktualizálásában.
Az adatok fogadásában és letárolásában, valamint az eredmények automatikus megküldésében rejlő feladatok mellett a legizgalmasabb kihívást az adatok előkészítése, feldolgozása jelenti. A csalásdetektálást ugyanis egy három pilléren nyugvó rendszer végzi, amely három teljesen eltérő adatforrásból dolgozik.
1. Klasszikus adatbányászat
Az első, „klasszikus adatbányászatot” tartalmazó pillér a kárban résztvevő ügyfelek nyers és képzett alapadatai, valamint a csalások közötti összefüggések feltárását szolgálja.
2. Kárhálózat adatbányászata
A második pillér a „kárháló adatbányászata”. Ehhez létrehozzuk a káresemények közötti kapcsolatokat tartalmazó hálózatot, és a káresemények hálózati tulajdonságai alapján is előrejelzést adunk arra, hogy a károk mekkora valószínűséggel tekinthetők fraud-nak. Károk közötti kapcsolatnak tekintjük például azt, ha két káreseményben előfordul ugyanaz a személy („erős él”), két káreseményben megtalálhatók ugyanazok a járművek (rendszám- és alvázszám él), stb.
A kárhálózatban a hálózati paraméterek és a csalások kapcsolatának többdimenziós vizsgálatán kívül azt is megvizsgáljuk, hogy az egyes káresemények hány lépés távolságra találhatóak korábbi csalásoktól, azaz a károk egy „távolság alapú pontszámot” is kapnak a hálózatban elfoglalt helyük alapján.
3. Céghálózati és csődkockázati adatok adatbányászata
A fentieken túl azt is megvizsgáljuk, hogy a károkban szereplő magánszemélyek és vállalatok milyen céges kapcsolatokkal rendelkeznek. Ehhez a csalásdetektáláshoz használt adatainkat összekapcsoljuk a céginformációs, csőd-előrejelző és céghálózati kapcsolatokat tartalmazó rendszerünkkel, és megvizsgáljuk, hogy a rejtett céges kapcsolatok (pl. egy káresemény szereplője tulajdonos egy másik kárban szereplő cégben), vagy a cégek esetében a különböző kockázatok (pl. magas csőd-valószínűség) hogyan függnek össze a csalás valószínűségével.
Miután az ügyfelek alapadatait, a káresemények közötti kapcsolatokat és a káreseményekben résztvevők céges kapcsolatait tartalmazó adatokat is elkészítettük, kiszámításra kerül egy összegzett csalásvalószínűség-pontszám, amit az ügyfelünk részére automatikusan megküldünk. Ennek segítségével a káresemények vizsgálata során a kárszakértők a gyanús esetekre fókuszáltan, hatékonyabban tudják munkájukat végezni.
Csalásdetektálás a Cortina Analytics Suite-ben
A fentiekben vázolt feladatok automatikus, napi, azonnali végrehajtását a Microsoft Cortana Analytics Suite felhő alapú megoldásai faltól-falig támogatják. Ezekkel megoldható adatbázisokból, különféle szenzoroktól, vagy akár okos eszközökről érkező adatok letárolása, nagy adathalmazok kezelése, utóbbiak gyors, hatékony és egyszerű felhasználása, elemzése. A Cortana Analytics Suite ezeken kívül tartalmaz további, az eredmények üzleti felhasználását, automatizált döntéshozatali folyamatokba való beépítését, illetve dinamikus vizualizációját támogató szolgáltatásokat is.
Az Azure Machine Learning
Az előadásunkon arra fókuszáltunk, hogy a káresemények csalásvalószínűség alapján történő (fentiekben vázolt) értékelése miként valósítható meg az Microsoft Azure Machine Learning-ben. A Machine Learning Studio felhasználóbarát vizuális felületén a gépi tanulási alkalmazások felépítéséhez szükséges néhány „alapkőből” előállítható a három-pilléren alapuló pontszámító rendszer.
Ehhez a három adatforrást (alapadatok, kárgráf, és céginformációs adatok) kell véletlenszerűen tanító- és tesztadatbázisra bontanunk (Split doboz), melyek közül az előbbin osztályozó modelleket tanítunk be (Train doboz és Classification csoport), utóbbin teszteljük ezek predikciós teljesítményét (Evaluate Model doboz) és a jobban teljesítő modelleket választjuk az előrejelzéshez. Mindhárom pillérben ezeket választjuk a fraud-valószínűség és a fraud-tipp kiszámításához (Score Model doboz). Az Azure Machine Learning Studio-ban található R és Python nyelvi modulok segítségével az egyes káresemények fraud-októl való távolságának viszonylag összetett számítását is el tudjuk végezni a kárgrfáfon (Execute R-script doboz).
Végezetül az eredményeket a károk egyedi azonosítója szerint összekapcsolhatjuk (Join doboz). Az AML Studio természetesen tartalmaz az utóbbihoz hasonló további adattranszformációs lehetőségeket, melyek segítségével tisztíthatók és előkészíthetőek a felhőben tárolt adatok.
A feldolgozott adatokból dolgozó, egyszerűen összeállítható Machine Learning alkalmazás néhány kattintással Web Service-szé alakítható, amely a Cortana Analytics Suite részeként az újonnan beérkező adatokat automatikusan képes pontozni a létrehozott modellek alapján, ezeket pedig a korábban említett rendszereknek automatizáltan továbbadhatjuk letárolás, vizuális megjelenítés stb. céljából. Ezen kívül egy nagyon rövid programsorral a modellek bizonyos időközönkénti újratanítását is beállíthatjuk, így a kárszakértői vizsgálatok eredményeivel (új fraud-ok) tovább finomíthatjuk, frissíthetjük a rendszerünket.