信用卡賬單采集解析系統設計
YEP(Yirendai Enabling Platform)是致力於為中國金融科技行業提供信用評估、風險控制和精準獲客的金融科技能力共享平臺。宜人貸借款已使用YEP的智能分發平臺,為合作夥伴推薦更適合其產品的用戶。
宜人蜂巢是數據科學驅動的互聯網風控科技平臺;通過科技與大數據預測借款人的信用、償還能力;並實別欺詐、助力貸中貸後風險管理等;從而將公平的信用擴展到更多的人。宜人蜂巢於2013年由李善任先生在宜信宜人貸內部組建團隊並成功孵化的項目,通過8大維度:金融、電商、社交、保險、社保、行為、位置等約20種數據源,千余維度特征,億級關系網絡等,幫助企業做出更明智的信貸決策,以擴大公平和透明信貸的可用性。
目前查詢量超過6000萬次,體驗用戶超過3000萬。通過宜人蜂巢科技平臺的促成的放款額已突破1200億;同時,YEP以宜人蜂巢為代表,從2017年開始為市場和行業賦能,已有諸多來自銀行、持牌消金、慈善等行業的百家以上的優秀企業紛紛接入宜人蜂巢的服務;宜人蜂巢正在將自身最引領科技能力賦予行業生態,助力普惠金融業態健康和諧發展!
一. 簡介
傳統的信用審批流程需要申請人填寫大量的申請資料,再由工作人員手工錄入申請人的信息到系統裏才開始信審,隨著大數據金融的發展,建立了這套賬單采集解析系統(以下簡稱:MFA)。在申請人授權之後,MFA對客戶郵箱中的信用卡賬單數據進行實時采集解析,提取客戶的信用卡額度、消費、還款等信息,形成結構化的輸出數據,作為客戶信用審批的依據,大大降低信審的成本,提高了信審效率。
MFA目前支持對11種郵箱進行采集,44家銀行的信用卡賬單進行解析。
一個完整的采集解析流程如下:
用戶在授權采集信用卡賬單之前,要先確認自己的郵箱中是否包含有效的信用卡賬單。
接收用戶授權信息:MFA接收用戶郵箱的登錄信息,包括用戶名、密碼等。
登錄郵箱並采集賬單郵件:MFA使用用戶郵箱的登錄信息進行模擬登錄,通過郵件過濾器的篩選,采集到信用卡賬單郵件。
賬單反欺詐:通過反欺詐引擎,實時甄別虛假賬單和非一手賬單。
解析賬單:對賬單內容進行解析,整理成可輸出的結構化數據。
二. 賬單采集
賬單郵件的采集支持兩種方式:POP3協議和WEB頁面,通過郵件過濾器的篩選只采集信用卡賬單郵件。采集流程如下:
選擇采集器:不同的郵箱種類對應不同的采集器,MFA通過郵箱賬號自動匹配相應的采集器。
POP3方式登錄/采集:通過郵箱POP3協議進行登錄與采集。
過濾郵件:郵件過濾器可以過濾掉不符合條件的郵件,例如非信用卡賬單郵件、過期賬單郵件等。郵件過濾器可以進行靈活配置,目前過濾準確度可以到達99%。
WEB方式登錄/采集:如果通過POP3的方式采集失敗,則通過郵箱WEB頁面進行登錄與采集。
2.1 某Q郵箱登錄
某Q郵箱WEB登錄目前需要進行滑塊驗證碼的驗證,MFA通過對滑塊驗證碼前端JS代碼進行反混淆、解密、模擬移動軌跡等,突破了滑塊驗證碼的驗證規則,提高了模擬登錄的成功率。下圖是該郵箱頁面滑塊驗證碼的加密參數示例:
2.2 某易郵箱登錄
某易郵箱WEB頁面登錄采用網易易盾驗證,MFA通過對易盾驗證圖片二次整合、中文坐標識別、鼠標移動軌跡加密等方式,突破了易盾驗證規則,提高了模擬登錄的成功率。下圖是該郵箱登錄頁面易盾驗證示例:
三. 信用卡賬單反欺詐
信用卡賬單反欺詐是通過賬單反欺詐引擎對郵件進行實時甄別。該引擎綜合運用數據分析與挖掘、計算機視覺和機器學習等人工智能技術,分別通過對郵件頭前端攔截甄鑒與郵件內容深度挖掘提煉出數百維度的賬單行為特征,通過郵件發送路徑反向追蹤、 黑白名單篩選、欺詐規則引擎決策輸出等,實時甄別虛假賬單和非一手賬單。
3.1 SPF
SPF(Sender Policy Framework),發信者策略架構,是為了防範垃圾郵件而提出來的一種DNS記錄類型,它是一種TXT類型的記錄,用於登記某個域名擁有的用來外發郵件的所有IP地址。它向收信者表明,哪些郵件服務器是經過某個域名認可會發送郵件的。賬單反欺詐引擎通過SPF技術識別郵件的發送者是否是可信的。
假設郵件服務器收到了一封郵件,來自主機的 IP 是173.194.72.103,並且聲稱發件人為[email protected]。為了確認發件人不是偽造的,郵件服務器會去查詢example.com的 SPF 記錄。如果該域的 SPF 記錄設置允許 IP 為173.194.72.103的主機發送郵件,則服務器就認為這封郵件是合法的,如果不允許,則通常會退信,或將其標記為垃圾/仿冒郵件。
3.2 特征分析
分為郵件行為特征分析與賬單特征分析,通過對3000GB數據量進行分析,提煉出 44家銀行,約2700個行為樣本,以這些樣本為參照,可以快速識別郵件中的異常行為;通過對上千種賬單內容分析,提煉出一套通用的金額計算規則,維度包括卡號、金額、持卡人等,利用這套規則可以從賬單內容上識別欺詐行為。下圖為識別出的虛假重復賬單:
3.3 機器學習
選取占比較大的郵箱和銀行賬單數據作為樣本,通過大數據技術分析歷史數據,提煉出十幾種特征,並將特征值標準化處理,通過ID3算法構造出決策樹,利用決策樹對賬單進行分類,達到賬單反欺詐甄別的目的。
● ID3算法
通過計算每個屬性的信息增益,認為信息增益高的是欺詐賬單屬性,每次劃分選取信息增益最高的屬性為劃分標準,重復這個過程,直至生成一個能完美分類訓練樣例的決策樹。算法示意圖:
四. 賬單解析
為應對繁多的銀行信用卡賬單樣式,解析功能是根據賬單模板進行解析,每個賬單模板對應一種賬單樣式。當銀行信用卡賬單樣式發生變化時,需要對賬單模板進行更新,以保證解析結果的正確性。目前系統中已包含將近500個模板,已完全覆蓋所支持的44家銀行的信用卡賬單樣式。目前只對詳版賬單(包含交易記錄)進行解析,不對簡版賬單進行解析。
解析流程如下:
接收賬單原文數據:信用卡賬單原文數據是指銀行發送到客戶郵箱的信用卡賬單,或網上銀行的信用卡賬單頁面。數據格式必須為HTML,目前不支持其它格式的賬單數據。賬單原文數據示例:
簡化原文數據:對賬單原文數據進行過濾和去噪的過程,包括去除HTML標簽、去除廣告圖片等。簡化後的賬單數據示例:
判斷是否需要解析:在進行正式解析之前,根據賬單內容中的關鍵字信息判斷是否需要進行解析,例如:建設銀行賬單中若不包含“最低還款額”,則不進行解析,因為在建設銀行賬單中不包含“最低還款額”的賬單屬於簡版賬單或沒有有效金融信息的賬單。
遍歷解析模板並進行匹配:遍歷賬單所屬銀行下面的所有模板,使用這些模板對賬單進行解析,根據解析內容的完整性對每個模板進行打分,分值越高表示模板的匹配程度越高。最後,會將分值最高的模板的解析結果返回。
五. 解析結果
解析後的結構化數據包含兩部分:賬單詳情和交易明細,具體字段及描述如下表:
賬單詳情:
字段 | 描述 |
billBaseInfoId | 賬單ID。賬單唯一識別碼。 |
currencyCode | 幣種編碼,目前只支持解析人民幣:RMB。 |
newBalanceAmount | 本期應還款總額 |
billDate | 賬單日 |
cashLimit | 取現額度 |
creditLimit | 信用額度 |
balanceBF | 上期賬單金額(上期應還款金額) |
newCharges | 本期賬單金額(本期新增消費金額) |
cardNo | 卡號(末四位) |
minPayment | 本期最低還款額 |
adjustment | 本期調整金額 |
interest | 循環利息 |
paymentDueDate | 到期還款日 |
cardholder | 持卡人 |
paymenBF | 上期還款金額 |
bankCode | 銀行編碼 |
isOriginal | 是否一手賬單, 0:不是,1:是,2轉發。該字段是賬單反欺詐引擎的判定結果。 |
交易明細:
字段 | 描述 |
id | 交易明細ID。交易明細唯一識別碼。 |
amount | 結算金額 |
cardNo | 卡號 |
billBaseInfoId | 賬單ID。賬單唯一識別碼,每個賬單對應多條交易明細。 |
currencyCode | 幣種編碼,目前只支持解析人民幣:RMB。 |
description | 交易摘要 |
transactionDate | 交易日 |
postDate | 記賬日 |
bankCode | 銀行編碼 |
billDetailCategoryId | 交易分類ID |
periodNo | 分期當前期數 |
periodTotal | 分期總期數 |
信用卡賬單采集解析系統設計