建模困難,缺乏行為數(shù)據(jù)?了解一下聯(lián)系人倒排表特征吧

1 評(píng)論 2753 瀏覽 8 收藏 11 分鐘
🔗 技术知识、行业知识、业务知识等,都是B端产品经理需要了解和掌握的领域相关的知识,有助于进行产品方案设计和评估

編輯導(dǎo)語(yǔ):建模,是為了理解事物而對(duì)事物做出的一種抽象,是對(duì)事物的一種無(wú)歧義的書(shū)面描述。建模是研究系統(tǒng)的重要手段和前提,凡是用模型描述系統(tǒng)的因果關(guān)系或相互關(guān)系的過(guò)程都屬于建模。如果在建模的過(guò)程中發(fā)現(xiàn)缺乏行為數(shù)據(jù),你該怎么辦?針對(duì)這個(gè)問(wèn)題,本文作者為我們分析了聯(lián)系人倒排表。

一、聯(lián)系人倒排表特征簡(jiǎn)介

1. 使用背景

在構(gòu)建用戶風(fēng)控評(píng)分卡時(shí),工程師們經(jīng)常為特征數(shù)量和數(shù)據(jù)維度所困。特別是實(shí)時(shí)評(píng)分卡,因?yàn)閷?shí)時(shí)申請(qǐng)用戶往往缺乏行為數(shù)據(jù)而使得模型構(gòu)建困難。

在大集群數(shù)據(jù)計(jì)算時(shí),使用圖數(shù)據(jù)效率又不是很高。因此,倒排表成了一個(gè)可以高效率挖掘用戶關(guān)系特征的重要方向,倒排表特征是新申請(qǐng)用戶關(guān)聯(lián)到老平臺(tái)用戶的特征。

2. 倒排表特征簡(jiǎn)介

倒排表區(qū)別于正向表,和傳統(tǒng)的倒排索引區(qū)別于正向索引有類(lèi)似之處。

例如:關(guān)系人電話倒排表也是通過(guò)在正向關(guān)系表的用戶-聯(lián)系人電話維度表(圖一),導(dǎo)出逆向的倒排的聯(lián)系人電話-用戶的維度(圖二)。但倒排表和倒排索引不同的地方在于,電話與電話之間和用戶與用戶之間不存在先后關(guān)系。

圖一:用戶-聯(lián)系人電話的正向表

圖二:聯(lián)系人電話-用戶的倒排表

倒排表特征區(qū)別于常規(guī)特征,倒排表特征的主鍵往往不是用戶身。

例如:常規(guī)特征如表1所示,主鍵是用戶本身,常規(guī)特征也是屬于用戶本身的。但是,倒排表特征的主鍵卻不是用戶本身。從根本上說(shuō),這個(gè)倒排表特征是屬于對(duì)應(yīng)的主鍵的,聯(lián)系人倒排表特征的主鍵則是聯(lián)系人電話,如表2所示。

表一:常規(guī)特征表

表二:聯(lián)系人倒排特征表

倒排表特征的使用是通過(guò)用戶的某項(xiàng)用戶數(shù)據(jù),關(guān)聯(lián)成用戶本身的特征。

例如:本文要介紹的聯(lián)系人倒排表特征是,先拿到這個(gè)用戶擁有的電話號(hào),然后再去聯(lián)系人倒排表中查找這個(gè)電話號(hào)的倒排表統(tǒng)計(jì)特征。除了聯(lián)系人電話這個(gè)主鍵外,還可以使用地址或設(shè)備信息作為主鍵。在本文中主要介紹以聯(lián)系人電話為主鍵的倒排表特征。

3. 倒排表特征的結(jié)構(gòu)

要制作倒排表特征總共需要準(zhǔn)備與制作4張表。分別是:倒排關(guān)系表,用戶特征表,倒排用戶特征表和倒排特征最終表。

它們的關(guān)系如圖三所示:

圖三:倒排表特征制作結(jié)構(gòu)

首先,倒排關(guān)系表和用戶特征表合成成倒排用戶特征表;然后,使用倒排用戶特征表計(jì)算出倒排特征最終表;最后,用過(guò)倒排特征最終表關(guān)聯(lián)用戶數(shù)據(jù)得出倒排表特征。

我會(huì)在下文中分別介紹這4張表的作用和制作方法。

二、聯(lián)系人倒排表特征的制作

1. 聯(lián)系人倒排關(guān)系表

倒排關(guān)系表是由原始關(guān)系數(shù)據(jù)生成的一張關(guān)系表。

例如:聯(lián)系人倒排關(guān)系表是一張聯(lián)系人電話和現(xiàn)有用戶的關(guān)系表,表中的聯(lián)系人電話和用戶關(guān)系是通過(guò)通訊錄數(shù)據(jù)或者電商下單購(gòu)買(mǎi)數(shù)據(jù)等提取出的;例如:在電商下單數(shù)據(jù)中,每一條數(shù)據(jù)都有收貨人電話和下單用戶的用戶id。

如果,用戶1給電話a和電話b下過(guò)單,記:

  1. 電話a與用戶1有關(guān)系
  2. 電話b與用戶1有關(guān)系

共兩條數(shù)據(jù)。

如果,用戶2給電話b和電話c下過(guò)單,則記下:

  1. 電話b與用戶2有關(guān)系
  2. 電話c與用戶2有關(guān)系

共兩條數(shù)據(jù)。

因此,關(guān)系人倒排表會(huì)如表3中記錄所示,共4條數(shù)據(jù)。表中,主鍵是電話,每行數(shù)據(jù)對(duì)應(yīng)一個(gè)電話和下單用戶的關(guān)系。

表三:聯(lián)系人倒排關(guān)系表

2. 用戶特征表

用戶特征表是一張用戶對(duì)應(yīng)的常規(guī)特征表,和我們構(gòu)建風(fēng)控評(píng)分卡時(shí)使用的常規(guī)特征表一樣。主鍵是用戶本身,包含一些用戶的重要常規(guī)特征,甚至可以包含該用戶行為評(píng)分卡的分?jǐn)?shù),如表四所示。

表四:用戶特征表

3. 聯(lián)系人倒排用戶特征表

倒排用戶特征表是由倒排關(guān)系表和用戶特征表,以用戶為key,合成的表,如表五所示。聯(lián)系人倒排用戶特征表中的主鍵依然是聯(lián)系人電話,每行數(shù)據(jù)對(duì)應(yīng)了這個(gè)電話關(guān)聯(lián)到的用戶和該用戶的特征。

表五:聯(lián)系人倒排用戶特征表

4.?聯(lián)系人倒排特征最終表

倒排特征最終表是使用倒排用戶特征表計(jì)算。在聯(lián)系人倒排特征最終表中計(jì)算方法是通過(guò)group by主鍵,求電話關(guān)聯(lián)到所有用戶的特征的mean值,max值或者比例。

如表六所示,聯(lián)系人倒排特征最終表的主鍵依然是聯(lián)系人電話,每行數(shù)據(jù)代表了該電話關(guān)聯(lián)到的用戶的統(tǒng)計(jì)特征。

表六:聯(lián)系人倒排特征最終表

下文會(huì)介紹在離線訓(xùn)練和線上預(yù)測(cè)時(shí)如何使用倒排特征最終表生成倒排表特征。

三、聯(lián)系人倒排表特征的使用

1.?離線計(jì)算與訓(xùn)練的使用

在訓(xùn)練模型之前,需要先離線計(jì)算好倒排特征最終表。

在訓(xùn)練時(shí),按用戶數(shù)據(jù)關(guān)聯(lián)倒排特征最終表中的主鍵,如圖四所示。最后,在訓(xùn)練模型時(shí)把關(guān)聯(lián)到的倒排表特征按照普通特征放入模型中即可。這里有很多坑點(diǎn),請(qǐng)參考下文的總結(jié)與坑點(diǎn)。

圖四:線上倒排表特征使用流程

2.?線上實(shí)時(shí)使用

線上實(shí)時(shí)使用倒排表特征也需要提前生成好倒排特征最終表。

如圖五所示,線上新用戶申請(qǐng)時(shí),用線上用戶數(shù)據(jù)去查倒排特征最終表。從而生成該用戶的倒排表特征,再放入線上評(píng)分卡模型中預(yù)測(cè)分?jǐn)?shù)。

圖五:線上倒排表特征使用流程

四、總結(jié)與坑點(diǎn)

1.?總結(jié)

本文中介紹了,為了解決在構(gòu)建申請(qǐng)?jiān)u分卡時(shí)申請(qǐng)用戶因?yàn)槿狈π袨閿?shù)據(jù)而使得模型構(gòu)建困難的問(wèn)題,使用了倒排表特征。倒排表是一個(gè)可以挖掘用戶關(guān)系的特征構(gòu)建方向,通常在構(gòu)建模型中占據(jù)著重要地位。

2.?坑點(diǎn)

構(gòu)建倒排表特征時(shí)有非常多坑點(diǎn),這里總結(jié)了幾個(gè)供大家參考:

1)坑點(diǎn)1:線上和線下電話存輸格式不一

在構(gòu)建聯(lián)系人倒排關(guān)系表時(shí),原始數(shù)據(jù)來(lái)源于通訊錄數(shù)據(jù)或者電商產(chǎn)品購(gòu)買(mǎi)數(shù)據(jù)。

在這些數(shù)據(jù)里面的電話可能是沒(méi)有加國(guó)家和地區(qū)號(hào)的,但線上傳輸數(shù)據(jù)是有可能是加了國(guó)家和地區(qū)號(hào)的電話,這里一定要注意先統(tǒng)一規(guī)劃好電話號(hào)格式。

2)坑點(diǎn)2:使用未來(lái)數(shù)據(jù)

構(gòu)建離線訓(xùn)練模型的倒排特征最終表時(shí),要注意構(gòu)建的倒排關(guān)系表和用戶特征表這兩張表都應(yīng)該有觀察截止時(shí)間,并且關(guān)系和數(shù)據(jù)都應(yīng)該只使用在觀察截止時(shí)間前的數(shù)據(jù)。

3)坑點(diǎn)3:訓(xùn)練數(shù)據(jù)中,放入自己關(guān)聯(lián)自己的數(shù)據(jù)

使用倒排表特征的目的是讓新用戶在申請(qǐng)時(shí)多一點(diǎn)關(guān)聯(lián)特征,所以,我們?cè)谟?xùn)練的時(shí)候也要盡量模擬新用戶申請(qǐng)的場(chǎng)景。

如果我們使用的是老用戶去模擬新用戶構(gòu)建模型的情況,請(qǐng)一定記得在離線特征生成時(shí)去掉自己關(guān)聯(lián)自己的數(shù)據(jù),防止模型過(guò)擬合。

例如:電商下單數(shù)據(jù)中用戶給自己下的單,不應(yīng)該出現(xiàn)在離線訓(xùn)練的倒排關(guān)系表里面。

 

本文由 @FAL金科應(yīng)用研院 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自 unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 不錯(cuò) 內(nèi)容??

    回復(fù)
专题
16626人已学习16篇文章
对于很多软件工程师来说,工作内容都与界面设计有很大的关联。本专题的文章分享了界面设计方法。
专题
13009人已学习12篇文章
要想判断一个行业的趋势,就要做好行业分析。本专题的文章分享了如何撰写行业分析报告。
专题
14217人已学习13篇文章
如果做小红书运营?本专题的文章分享了小红书流量密码。
专题
33749人已学习16篇文章
信息流背后有着怎样的逻辑和策略?
专题
12153人已学习14篇文章
随着科技的发展,AI技术渗透进各个行业里边,AI图像生成和识别技术有了更大的突破性,本专题的文章分享了AI图像识别。
专题
85594人已学习22篇文章
不能用C端产品思维套在B端产品上哦。