結合基於規則和人工智能模型打擊金融欺詐
2021年1月19日 在工程的博客
金融服務業(FSI)衝根本性變革,提供交易功能和促進支付通過新的數字渠道保持競爭力。不幸的是,這些能力承受的速度和便利也受益騙子。
欺詐在金融服務仍然是頭號威脅組織的底線了創紀錄的高增加整體欺詐和近年來多元化。最近的一項調查普華永道概述了驚人的全球欺詐行為的影響。例如,僅在美國,企業2019年總計420億美元的成本,和47%的受訪公司欺詐在過去24個月。
所以公司應該如何應對的威脅日益加大欺詐?騙子利用新的數字景觀的功能,意味著組織必須打擊欺詐實時同時又保持了客戶體驗。進一步闡述,金融機構利用兩個關鍵杠杆減少欺詐損失:有效的欺詐預防策略和退款給客戶。beplay体育app下载地址都存在優點和缺點,因為它們直接影響客戶體驗。在這個博客中,我們描述了如何構建一個欺詐檢測和預防框架使用磚“現代的數據體係結構,可以有效地平衡欺詐預防戰略和政策來改善複蘇,同時保持最高的客戶滿意度。
挑戰在構建可伸縮的、健壯的框架
構建一個欺詐防範框架往往不僅僅是建立一個高度精確的機器學習(ML)模型由於不斷變化的景觀和客戶期望。通常,這涉及到一個複雜的ETL過程的決策科學設置結合了規則引擎和一個毫升平台。Beplay体育安卓版本這樣一個平台的要求包括可伸縮性和隔離的多個工作區跨地區團Beplay体育安卓版本隊建立在開源標準。通過設計,這樣一個環境中賦予數據科學家,工程師和分析師的數據在一個安全的環境中進行協作。
我們將首先看看使用數據Lakehouse架構結合磚”企業平台Beplay体育安卓版本支持所有的下遊應用的基礎設施需求一個欺詐防範應用程序。在這個博客中,我們也將引用Lakehouse稱為磚的核心組成部分達美航空發動機,這是一個高性能的可伸縮性和性能對大數據的查詢引擎設計工作負載,和MLflow,一個完全毫升治理管理工具來跟蹤毫升實驗並迅速productionalize他們。
客戶360年數據湖
在金融服務業,尤其是構建欺詐防範應用程序時,我們經常需要統一來自各種數據源的數據,通常在pb的規模從多個字節。隨著技術的迅速變化和金融服務集成新係統,數據存儲係統必須跟上不斷變化的基礎數據格式。與此同時,這些係統必須使有機進化數據管道,同時保持高效。我們建議三角洲湖作為一個一致的存儲層建立在開源標準,使存儲和計算的功能保持在最前沿的異常檢測模型。
數據工程師就可以輕鬆連接各種外部數據管道和支付網關使用磚攝入的合作夥伴網絡統一成員的事務、性能和貿易曆史。正如前麵提到的,關鍵是計算新特性和更新現有的數據流。預先計算的特性是曆史聚合的例子對下遊成員賬戶曆史或統計平均重要分析報告和加速毫升模型的再培訓。磚的三角洲湖和本地達美航空發動機為此構建完全可以加快速度特性發展使用Spark-compatible api執行質量約束工程團隊的最高水平。
一個平台Beplay体育安卓版本服務欺詐防範所有用例
因為我們的欺詐檢測方法包括一套規則和ML,磚適合,因為它是一個多樣化的角色需要創建規則和ML模式——即業務分析師、領域專家和數據科學家。在以下部分中,我們將概述磚的不同組件映射到角色和規則如何滿足使用MLflow毫升,共享筆記本和磚SQL。
合作的能力為用戶使用多個工作區,同時提供隔離用戶級別的是金融服務的關鍵。與磚的企業雲服務體係結構,一個組織可以在幾分鍾內創建新的工作區。這是策劃一個欺詐檢測框架時極有幫助的,因為它創造了組織了各種各樣的產品,企業集團用戶和CI / CD編製在每個組。例如,信用卡業務集團用戶可以從存款,孤立和每個業務部門可以控製模型構件的開發和推廣。
基於規則的係統與人工智能相結合
映射用戶和磚的組件
欺詐檢測的開發周期始於業務分析師和領域專家經常貢獻首次發現的主要部分,包括示例規則集。這些常識規則涉及靠得住的特性(如客戶位置和距離):
快速執行
FSI b)更容易解釋的和可靠的
c)減少假陽性(即假下降通過規則框架)
d)足夠靈活增加了欺詐模型所需的訓練數據的範圍
而規則的第一道防線和公司整體欺詐策略的一個重要組成部分,金融服務行業一直在引領發展,采用尖端的ML算法與規則集。下麵的設計層顯示了幾個組件使用規則集和ML模型相結合的方法。現在讓我們來看看每個組件和角色的典型工作流世衛組織將支持各自的操作。
探索規則使用SQL功能
探索性數據分析,磚的攻擊欺詐提供了兩種途徑的分析師角色:磚SQL / Python / R-supported筆記本數據科學與工程和數據磚的SQL商業情報和決策。磚SQL是一個環境,其中用戶可以構建儀表盤來獲取曆史信息,查詢數據表輕鬆、湖和鉤BI工具進行進一步的探索。如下所示,分析師有能力創建儀表板與描述性統計,然後過渡到一個個人欺詐預測的調查來驗證一個特定的事務被選為欺詐的原因。
此外,用戶可以編輯任何底層查詢驅動的儀表板和訪問數據的目錄對象通知湖未來的特性,可以作為基於規則的一部分/毫升欺詐預防算法。特別是,用戶可以開始使用規則集切片數據,最終進入生產模式。看到下麵的圖片,這凸顯了SQL查詢編輯器以及協作和易用性特性如下:beplay娱乐ios
- 查詢共享和重用性相同的查詢可以多個儀表盤,要求底層SQL端點上的負載,允許更高的並發性
- 查詢格式化——改善可讀性和易於使用的SQL數據磚
- 分享——查詢可以共享跨業務分析師、領域專家和數據科學家的頂部右邊“分享”功能
規則和模型編製框架
我們已經介紹了利用規則集的好處在我們的欺詐檢測的實現。然而,重要的是要認識到嚴格的限製基於規則的引擎,即:
- 嚴格的基於規則的方法實施今天成為明天過期因為騙子經常更新策略。然而,隨著新的欺詐模式出現,分析師將爭相開發新的規則來檢測新實例,導致維護成本高。此外,有硬成本無法快速檢測欺詐行為給更新的數據——毫升方法可以幫助加快時間檢測欺詐行為,從而節省商家的潛在損失
- 規則缺乏一係列的結論從而忽略了風險承受能力,因為它們不能提供一個欺詐的概率
- 精度會由於缺少互動規則當評估欺詐性交易,導致損失
欺詐檢測框架發展,我們建議與ML模型相結合的混合方法規則集。為此,我們使用了一個業務邏輯編輯器在圖形界麵開發規則,由係統常用的如Drools規則製定簡單。具體地說,我們交互代碼規則節點圖和參考現有MLflow模型(使用其毫升注冊表URI,比如模型:/ fraud_prediction /生產)信號,一毫升模型,數據科學家開發的同事,後加載並用來預測輸出執行上麵的規則。每個規則從三角洲湖表使用一個特性,它已經被數據工程團隊和策劃是立即可用一旦添加功能(見模式演化的更多細節在這裏如何簡單的向表添加特性,改變的整個生命周期中一個毫升項目)。
我們創建一個邏輯流程通過迭代添加每個規則(如授權金額應小於現金可用資金帳戶作為基準規則)和添加指示邊緣可視化決策過程。在串聯,我們的數據科學家可能毫升模型由訓練數據發現的欺詐實例。數據分析師,我們可以簡單的注釋注意捕捉毫升的執行模型給我們一個概率的欺詐交易的評估。
注意:在下麵的圖片中,底層標記語言(靜),它包含所有的規則是基於XML的,所以不管或gui的工具用於生成規則,是很常見的提取規則集和圖形結構從底層平麵文件或XML(例如,一個係統Drools)。
裝配一個規則集和模型步驟之後,如上所述,我們可以將整個視覺流編碼到一個決策在磚欺詐檢測引擎。即,我們可以提取靜Kogito工具和標記直接上傳成磚作為一個文件。由於.dmn文件節點和邊緣的內容,代表規則和模型執行的順序,我們可以利用圖結構。幸運的是,我們可以使用一個網絡分析Python包,networkx,攝取,驗證和遍曆圖。這個包將作為欺詐評分的基礎框架。
進口networkx作為nxxmldoc = minidom.parse (“DFF_Ruleset.dmn”)itemlist = xmldoc.getElementsByTagName (“靜:決定”)G = nx.DiGraph ()為項在itemlist:node_id = item.attributes [“id”)valuenode_decision =str(item.attributes [“名字”]value)G。add_node (node_id、決策= node_decision)infolist = item.getElementsByTagName (“靜:informationRequirement”)如果(len(infolist) >0):信息= infolist [0]為要求的事情在info.getElementsByTagName (“靜:requiredDecision”):parent_id = req.attributes [“href”].value.split (“#”)(-1]G。add_edge (parent_id node_id)
現在我們有元數據和工具,我們將使用MLflow包裝混合規則集和模型到一個自定義Pyfunc模型,這是一個輕量級的包裝我們將使用欺詐評分。唯一的假設模型,注釋,用於DAG(有向無環圖),注冊MLflow模型中的注冊表和有一個專欄叫“預測”作為我們的概率。框架pyfunc協調器模型(利用networkx)將遍曆圖直接從XML內容和執行規則,導致一個“批準”或“拒絕”狀態一旦pyfunc呼籲推理。
下麵是一個示例DAG提到的規則編輯器創建的。我們的編碼規則和模型的混合已經預注冊(附件所示的筆記本)。規則文件本身保存在模型構件,在推理時,所有的規則和模型從雲存儲、加載和使用的模型(在這種情況下,欺詐檢測模型)從MLflow模型加載注冊在一個實時的數據管道。注意,在一個示例運行例如事務,第三示例輸入規則是不滿意,所以節點被標記為紅色,這表明欺詐交易。
進一步了解模型執行規則,這是自定義的一個片段Pyfunc本身,它使用pandasql編碼字符串從XML規則集的SQL case語句設置一個簡單的國旗。這將導致輸出的協調器,用於指定一個欺詐或有效的事務。
進口mlflow.pyfunc類DFF_Model(mlflow.pyfunc.PythonModel):進口networkx作為nx進口熊貓作為pd從pandasql進口sqldf“‘對於基於規則,我們隻是匹配記錄與預定義的SQL where子句如果規則匹配,返回1,否則為0“‘deffunc_sql(自我,sql):從pandasql進口sqldf#我們不執行比賽,我們隻是返回一個函數#這允許我們定義函數隻有一次deffunc_sql2(input_df):pred = sqldf (“選擇其他{}1 0時從input_df預測”。格式(sql)) .predicted.iloc [0]返回pred返回func_sql2
決策和服務
最後,我們將展示一個端到端的架構是什麼樣子的欺詐檢測框架。值得注意的是,我們有了什麼數據科學家和數據分析師工作,即規則集和模型。這些是在決策層結合測試什麼模式將被視為欺詐或有效。規則集本身作為構件存儲在定製MLflow Pyfunc模型和推理時候可以加載在內存中,這是在Python conda環境測試期間完成的。最後,一旦決策框架可以晉升為生產、有部署相關的幾個步驟:
- 編碼的決策框架是一個定製的pyfunc模型,可以加載到集裝箱碼頭工人的實時推理。
- 基地MLflow容器用於推斷應該部署ECR(亞馬遜),ACR (Azure)或一般碼頭工人中心。
- 一旦部署到容器服務框架(的部,或自定義k8部署),服務是指容器存儲庫和MLflow模型庫應用程序端點站起來。由於服務層是基於k8和一個輕量級pyfunc模型,模型推理相對比較快。的情況下推理要求次秒級(ms)延遲、邏輯可以改寫在C語言中,或其他框架。
- 快速查找曆史數據實時得分時,數據可以被加載到內存中的數據庫從客戶360之前創建的特色商店。最後,一個企業案例管理係統可以與客戶界麵的湖360年數據捕獲評分結果和從部署容器。
構建一個現代欺詐框架
雖然是一個共享的責任供應商和金融服務組織之間有效地打擊欺詐,通過部署有效的欺詐預防策略,FSIs可以減少直接經濟損失和提高客戶的信任從更少的錯誤的下降。beplay体育app下载地址正如我們所看到的調查,欺詐迅速多樣化和金融行業已經轉向分析模型和ML管理損失,增加客戶滿意度。這是一個很大的使命建立和維護基礎設施來支持多個產品團隊和角色,這將直接影響公司的收入底線。
我們認為這個解決方案解決了關鍵領域的可伸縮性在雲中,欺詐預防工作流管理和組織的生產級開源毫升框架,建立和維護一個現代詐騙和金融犯罪管理基礎設施,拉近不同內部團隊之間的對齊。
這個解決方案加速器是一個係列的第1部分對構建詐騙和金融犯罪的解決方案使用磚的統一的分析平台。Beplay体育安卓版本試試以下筆記本磚利用人工智能的力量降低聲譽風險。聯係我們更多地了解我們如何協助FSIs類似的用例。
的筆記本電腦
檢查解決方案加速器下載筆記本在這個博客。