Nyiptakeun sistem otomatis pikeun merangan penyusup dina situs (penipuan)

Salila genep bulan panungtungan kuring geus nyieun sistem pikeun merangan panipuan (aktivitas panipuan, panipuan, jsb) tanpa infrastruktur awal pikeun ieu. Gagasan dinten ieu anu kami mendakan sareng dilaksanakeun dina sistem kami ngabantosan urang ngadeteksi sareng nganalisis seueur kagiatan panipuan. Dina tulisan ieu, kuring hoyong ngobrol ngeunaan prinsip anu urang laksanakeun sareng naon anu urang laksanakeun pikeun ngahontal kaayaan sistem ayeuna, tanpa lebet kana bagian téknis.

Prinsip sistem urang

Nalika anjeun nguping istilah sapertos "otomatis" sareng "panipuan," anjeun paling dipikaresep mimiti mikir ngeunaan pembelajaran mesin, Apache Spark, Hadoop, Python, Airflow, sareng téknologi sanés tina ékosistem Apache Foundation sareng widang Data Science. Jigana aya hiji aspék ngagunakeun alat-alat ieu anu biasana henteu disebatkeun: aranjeunna meryogikeun prasyarat anu tangtu dina sistem perusahaan anjeun sateuacan anjeun tiasa dianggo. Pondokna, anjeun peryogi platform data perusahaan anu kalebet danau data sareng gudang. Tapi kumaha upami anjeun henteu gaduh platform sapertos kitu sareng masih kedah ngembangkeun prakték ieu? Prinsip di handap ieu anu kuring bagikeun di handap parantos ngabantosan urang ngahontal titik dimana urang tiasa difokuskeun ningkatkeun ideu tinimbang milarian anu tiasa dianggo. Nanging, ieu sanés dataran proyék. Aya kénéh loba hal dina rencana ti sudut pandang téhnologis jeung produk.

Prinsip 1: Niley Usaha Kahiji

Urang nempatkeun "nilai bisnis" di forefront sadaya usaha urang. Sacara umum, naon waé sistem analisa otomatis kalebet kana grup sistem kompléks kalayan tingkat otomatisasi sareng pajeulitna téknis anu luhur. Nyiptakeun solusi anu lengkep bakal nyandak seueur waktos upami anjeun nyiptakeunana ti mimiti. Urang mutuskeun pikeun nempatkeun nilai bisnis kahiji jeung completeness téhnologis kadua. Dina kahirupan nyata, ieu hartosna urang henteu nampi téknologi canggih salaku dogma. Urang milih téknologi anu paling cocog pikeun urang ayeuna. Kana waktosna, sigana urang kedah nerapkeun deui sababaraha modul. Ieu kompromi anu kami tampi.

Prinsip 2: kecerdasan Augmented

Atuh bet lolobana jalma anu teu deeply aub dina ngamekarkeun solusi mesin learning bisa mikir yén ngagantikeun manusa mangrupa tujuan. Nyatana, solusi pembelajaran mesin jauh tina sampurna sareng ngan ukur di daérah anu tangtu tiasa diganti. Kami nampik ide ieu ti mimiti kusabab sababaraha alesan: data henteu saimbang dina kagiatan curang sareng henteu mampuh nyayogikeun daptar fitur anu lengkep pikeun modél pembelajaran mesin. Kontras, urang milih pilihan kecerdasan ditingkatkeun. Ieu konsép alternatif tina kecerdasan jieunan anu museurkeun kana peran ngarojong AI, emphasizing kanyataan yén téhnologi kognitif dimaksudkeun pikeun ngaronjatkeun kecerdasan manusa tinimbang ngaganti eta. [1]

Kumargi kitu, ngembangkeun solusi pembelajaran mesin lengkep ti mimiti ngabutuhkeun usaha anu ageung, anu bakal ngalambatkeun nyiptakeun nilai pikeun bisnis urang. Kami mutuskeun pikeun ngawangun sistem kalayan aspék pembelajaran mesin anu terus-terusan ngembang dina bimbingan para ahli domain kami. Bagian anu nangtang pikeun ngembangkeun sistem sapertos kitu nyaéta yén éta kedah nyayogikeun analis kami kasus sanés ngan ukur naha éta kagiatan curang atanapi henteu. Sacara umum, naon waé anomali dina paripolah palanggan mangrupikeun pasualan anu curiga yén spesialis kedah nalungtik sareng ngabales kumaha waé. Ngan ukur sabagian tina kasus anu dilaporkeun ieu tiasa leres-leres digolongkeun salaku panipuan.

Prinsip 3: Platform Analytics Beunghar

Bagian anu paling nangtang tina sistem kami nyaéta verifikasi tungtung-ka-tungtung tina alur kerja sistem. Analis sareng pamekar kedah gampang kéngingkeun set data sajarah sareng sadaya métrik anu dianggo pikeun analisa. Salaku tambahan, platform data kedah nyayogikeun cara anu gampang pikeun ngalengkepan métrik anu tos aya sareng anu énggal. Prosés anu urang jieun, sareng ieu sanés ngan ukur prosés parangkat lunak, kedah ngamungkinkeun urang gampang ngitung deui période saméméhna, nambihan métrik énggal sareng ngarobih ramalan data. Urang tiasa ngahontal ieu ku cara ngumpulkeun sadaya data anu ngahasilkeun sistem produksi urang. Dina hal ieu, data laun-laun bakal jadi gangguan. Urang bakal kedah nyimpen jumlah tumuwuh data nu urang teu make jeung ngajaga eta. Dina skenario kitu, data bakal jadi beuki loba teu relevan kana waktu, tapi tetep merlukeun usaha urang pikeun ngatur eta. Pikeun kami, data hoarding teu asup akal, jadi urang mutuskeun nyandak pendekatan béda. Urang mutuskeun pikeun ngatur toko data real-time sabudeureun entitas udagan nu urang rék mengklasifikasikan, sarta nyimpen ngan data anu ngamungkinkeun urang pikeun pariksa période panganyarna na relevan. Tangtangan pikeun usaha ieu nyaéta sistem kami hétérogén, kalayan sababaraha toko data sareng modul parangkat lunak anu peryogi perencanaan ati-ati pikeun beroperasi sacara konsisten.

Konsep desain sistem kami

Kami ngagaduhan opat komponén utama dina sistem kami: sistem pangémutan, komputasi, analisa BI sareng sistem tracking. Aranjeunna ngalayanan tujuan khusus, terasing, sareng kami tetep terasing ku nuturkeun pendekatan desain khusus.

Nyiptakeun sistem otomatis pikeun merangan penyusup dina situs (penipuan)

Desain dumasar-kontrak

Anu mimiti, urang sapuk yén komponén ngan kedah ngandelkeun struktur data tangtu (kontrak) nu diliwatan diantara aranjeunna. Ieu ngagampangkeun pikeun ngahijikeun antara aranjeunna sareng henteu maksakeun komposisi khusus (sareng urutan) komponén. Contona, dina sababaraha kasus ieu ngamungkinkeun urang pikeun langsung ngahijikeun sistem asupan jeung sistem tracking waspada. Dina kasus sapertos kitu, ieu bakal dilakukeun saluyu sareng kontrak waspada anu sapuk. Ieu ngandung harti yén duanana komponén bakal terpadu ngagunakeun kontrak nu sagala komponén séjén bisa ngagunakeun. Kami moal nambihan kontrak tambahan pikeun nambihan panggeuing kana sistem pelacak tina sistem input. Pendekatan ieu merlukeun pamakean jumlah minimum kontrak anu tos ditangtukeun sareng nyederhanakeun sistem sareng komunikasi. Intina, urang nyandak pendekatan anu disebut "Desain Kahiji Kontrak" sareng nerapkeunana kana kontrak streaming. [2]

Streaming dimana-mana

Nyimpen sareng ngatur kaayaan dina sistem pasti bakal ngakibatkeun komplikasi dina palaksanaanna. Sacara umum, kaayaan kedah diaksés tina komponén naon waé, kedah konsisten sareng nyayogikeun nilai anu paling ayeuna dina sadaya komponén, sareng kedah dipercaya kalayan nilai anu leres. Salaku tambahan, gaduh telepon ka panyimpenan anu terus-terusan pikeun nyandak kaayaan pangénggalna bakal ningkatkeun jumlah operasi I/O sareng pajeulitna algoritma anu dianggo dina saluran pipa sacara real-time. Kusabab ieu, kami mutuskeun pikeun ngahapus panyimpenan kaayaan, upami mungkin, lengkep tina sistem kami. Pendekatan ieu ngabutuhkeun yén sadaya data anu diperyogikeun kalebet kana blok data anu dikirimkeun (pesen). Contona, upami urang kudu ngitung jumlah total sababaraha observasi (jumlah operasi atawa kasus kalawan ciri nu tangtu), urang ngitung eta dina mémori sarta ngahasilkeun aliran nilai sapertos. Modul anu gumantung bakal ngagunakeun partisi sareng batching pikeun ngabagi aliran kana éntitas sareng beroperasi dina nilai panganyarna. Pendekatan ieu ngaleungitkeun kabutuhan panyimpen disk anu tetep pikeun data sapertos kitu. Sistem kami nganggo Kafka salaku calo pesen sareng tiasa dianggo salaku pangkalan data sareng KSQL. [3] Tapi ngagunakeun éta bakal ngahijikeun solusi urang pisan ka Kafka, sareng urang mutuskeun pikeun henteu nganggo éta. Pendekatan anu kami pilih ngamungkinkeun urang ngagentos Kafka sareng calo pesen anu sanés tanpa parobihan internal utama kana sistem.

Konsep ieu lain hartosna urang teu make gudang disk jeung database. Pikeun nguji jeung nganalisis kinerja sistem, urang kudu nyimpen jumlah signifikan data dina disk nu ngagambarkeun rupa metrics jeung kaayaan. Titik penting di dieu nyaéta yén algoritma real-time henteu gumantung kana data sapertos kitu. Dina kalolobaan kasus, kami nganggo data anu disimpen pikeun analisis offline, debugging sareng ngalacak kasus khusus sareng hasil anu ngahasilkeun sistem.

Masalah sistem urang

Aya sababaraha masalah anu kami parantos direngsekeun ka tingkat anu tangtu, tapi peryogi solusi anu langkung wijaksana. Ayeuna kuring ngan ukur hoyong nyebatkeun aranjeunna di dieu sabab unggal titik patut tulisan sorangan.

  • Urang masih kudu nangtukeun prosés jeung kawijakan nu ngarojong akumulasi data bermakna na relevan pikeun analisis data otomatis urang, kapanggihna, sarta éksplorasi.
  • Incorporation hasil analisis manusa kana prosés otomatis nyetel sistem pikeun ngapdet eta kalawan data panganyarna. Ieu sanés ngan ukur ngamutahirkeun modél urang, tapi ogé ngamutahirkeun prosés urang sareng ningkatkeun pamahaman data urang.
  • Pananjung kasaimbangan antara pendekatan deterministik IF-ELSE jeung ML. Aya anu nyarios, "ML mangrupikeun alat pikeun anu nekat." Ieu ngandung harti yén anjeun bakal hoyong nganggo ML nalika anjeun henteu ngartos deui kumaha ngaoptimalkeun sareng ningkatkeun algoritma anjeun. Di sisi anu sanésna, pendekatan deterministik henteu ngijinkeun deteksi anomali anu henteu diantisipasi.
  • Urang peryogi cara basajan pikeun nguji hipotesis atanapi korelasi antara métrik dina data.
  • Sistim nu kudu boga sababaraha tingkat hasil positif sabenerna. Kasus panipuan ngan ukur bagian tina sadaya kasus anu tiasa dianggap positip pikeun sistem. Salaku conto, analis hoyong nampi sadaya kasus anu curiga pikeun verifikasi, sareng ngan sabagian leutik di antarana anu panipuan. Sistim kudu éfisién nampilkeun sakabeh kasus ka analis, paduli naha éta téh panipuan sabenerna atawa ngan kabiasaan curiga.
  • Platform data kedah tiasa nyandak set data sajarah kalayan itungan anu dihasilkeun sareng diitung dina laleur.
  • Gampang sareng otomatis nyebarkeun salah sahiji komponén sistem dina sahenteuna tilu lingkungan anu béda: produksi, ékspérimén (béta) sareng pikeun pamekar.
  • Jeung tukang tapi teu saeutik. Urang kedah ngawangun platform uji kinerja anu beunghar dimana urang tiasa nganalisa modél urang. [4]

rujukan

  1. Naon ari Augmented Intelligence?
  2. Ngalaksanakeun Métodologi Desain API-Kahiji
  3. Kafka Transforming Jadi "Database Streaming Acara"
  4. Ngartos AUC - kurva ROC

sumber: www.habr.com

Tambahkeun komentar