0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Python語(yǔ)言的RFM模型講解

數(shù)據(jù)分析與開(kāi)發(fā) ? 來(lái)源:CDA數(shù)據(jù)分析師 ? 作者:CDA數(shù)據(jù)分析師 ? 2022-03-15 15:38 ? 次閱讀

背景

RFM(Recency Frequency Monetary)模型是衡量客戶(hù)價(jià)值和客戶(hù)創(chuàng)利能力的重要工具和手段。在眾多的客戶(hù)關(guān)系管理(CRM)的分析模式中,RFM模型是被廣泛提到的。

RFM模型是屬于業(yè)務(wù)分析方法與模型中的部分。它的本質(zhì)是用戶(hù)分類(lèi)。本文將用現(xiàn)代最流行的編程語(yǔ)言---Python語(yǔ)言來(lái)實(shí)踐課堂上講解的RFM模型,將用戶(hù)進(jìn)行分類(lèi)。

本文采用Anaconda進(jìn)行Python編譯,主要涉及的Python模塊:

  • pandas

  • matplotlib

  • seaborn

  • datetime

本章分為三部分講解:

1.RFM模型原理與步驟

2.Python分布實(shí)現(xiàn)RFM

3.總結(jié)

RFM模型原理與步驟

RFM模型的思路是:該模型是根據(jù)用戶(hù)歷史行為數(shù)據(jù),結(jié)合業(yè)務(wù)理解選擇劃分維度,實(shí)現(xiàn)用戶(hù)分類(lèi),助力用戶(hù)精準(zhǔn)營(yíng)銷(xiāo)。此外,還學(xué)習(xí)了構(gòu)建RFM模型的步驟:

  • 獲取R、F、M三個(gè)維度下的原始數(shù)據(jù)

  • 定義R、F、M的評(píng)估模型與判斷閾值

  • 進(jìn)行數(shù)據(jù)處理,獲取R、F、M的值

  • 參照評(píng)估模型與閾值,對(duì)用戶(hù)進(jìn)行分層

  • 針對(duì)不同層級(jí)用戶(hù)制定運(yùn)營(yíng)策略

上面步驟可以知道,我們需要有RFM三個(gè)維度,根據(jù)我們?cè)跇I(yè)務(wù)分析方法課程中學(xué)到的,業(yè)務(wù)分析模型離不開(kāi)指標(biāo),而指標(biāo)是對(duì)度量的匯總。因此,在找出RFM三個(gè)維度后,需要對(duì)每個(gè)維度下度量實(shí)現(xiàn)不同匯總規(guī)則。下面講述對(duì)R、F、M三個(gè)維度下的度量如何進(jìn)行匯總。

1.R代表最近一次消費(fèi),是計(jì)算最近一次消費(fèi)時(shí)間點(diǎn)和當(dāng)前時(shí)間點(diǎn)的時(shí)間差。因此,這里需要用到多維數(shù)據(jù)透視分析中的基本透視規(guī)則---最小值MIN求出最小的時(shí)間差。

2.F代表消費(fèi)頻次,是在指定區(qū)間內(nèi)統(tǒng)計(jì)用戶(hù)的購(gòu)買(mǎi)次數(shù)。因此,這里需要用到多維數(shù)據(jù)透視分析中的基本透視規(guī)則---技術(shù)類(lèi)COUNT(技術(shù)類(lèi)不去重指標(biāo))統(tǒng)計(jì)用戶(hù)的購(gòu)買(mǎi)次數(shù)。

3.M代表消費(fèi)金額,是指在指定區(qū)間內(nèi)統(tǒng)計(jì)用戶(hù)的消費(fèi)總金額,因此,這里需要用到求和類(lèi)指標(biāo),也即基本透視規(guī)則中的合計(jì)規(guī)則---SUM。

在對(duì)得到RFM模型中的指標(biāo)值后最重要的一步就是分層,根據(jù)我們?cè)谡n堂上學(xué)到的內(nèi)容,大部分的用戶(hù)分層是根據(jù)經(jīng)驗(yàn)來(lái)分層的,本文在追求數(shù)據(jù)的客觀性下采取統(tǒng)計(jì)學(xué)中的等距分箱方法來(lái)進(jìn)行分層,對(duì)R、F、M三個(gè)維度分成兩類(lèi)。

綜上,我們大致了解了如何構(gòu)建RFM模型,下面以Python實(shí)現(xiàn)RFM模型,并對(duì)每一步進(jìn)行詳細(xì)的講解。

03 Python實(shí)現(xiàn)RFM模型

數(shù)據(jù)準(zhǔn)備

本文所需的數(shù)據(jù)是一家公司對(duì)2021年10月底至今的客戶(hù)購(gòu)買(mǎi)行為數(shù)據(jù),(前十二行)如圖下:

abd337c8-91e2-11ec-952b-dac502259ad0.png

其中,uid代表客戶(hù)的id,是存在重復(fù)情況的。prince維度代表客戶(hù)每發(fā)生一次交易行為所花費(fèi)的金額。time為客戶(hù)發(fā)生交易行為的時(shí)間。

數(shù)據(jù)讀取與理解

在得到一份數(shù)據(jù)之后,我們第一步就是要理解數(shù)據(jù)的業(yè)務(wù)意義,以及對(duì)數(shù)據(jù)表的EDA(探索性分析),這里通過(guò)如下代碼,發(fā)現(xiàn)以下特征:

abeab51a-91e2-11ec-952b-dac502259ad0.png

具體代碼(包含Python導(dǎo)入包部分)如下:

#導(dǎo)入相關(guān)包
importpandasaspd
importtime
importnumpyasnp
importseabornassns
importmatplotlib.pyplotasplt
plt.rcParams['font.sans-serif']=["SimHei"]
plt.rcParams["axes.unicode_minus"]=Falsesns.set(style="darkgrid")

#數(shù)據(jù)讀取與查看
data=pd.read_excel('data.xlsx')
data.head()
data.isnull().sum()#查看缺失值
data.duplicated().sum()#重復(fù)值,但是不刪
data.dtypes#查看數(shù)據(jù)類(lèi)型
data.describe()

#創(chuàng)建dataframe,存放RFM各值
data_rfm=pd.DataFrame()

接下來(lái)進(jìn)行R、F、M指標(biāo)值構(gòu)建。

時(shí)間維度處理

從上文可以知道time維度,即每筆交易行為發(fā)生的時(shí)間是字符串object的格式,而在Python中我們對(duì)時(shí)間作差需要的是datetime格式,因此利用pandas庫(kù)中的pd.to_datetime函數(shù)將時(shí)間格式進(jìn)行轉(zhuǎn)換,代碼如下:

data['time']=pd.to_datetime(data['time'])

得到的前五行數(shù)據(jù)如圖下,可以看到數(shù)據(jù)類(lèi)型變成了datetime64[ns]

abffd4f4-91e2-11ec-952b-dac502259ad0.png

統(tǒng)計(jì)每筆訂單產(chǎn)生時(shí)間與當(dāng)前時(shí)間的差(這里的當(dāng)前時(shí)間是2021年12月11日),得到的差是timedelta64[ns]類(lèi)型

ac1717fe-91e2-11ec-952b-dac502259ad0.png

可以看到時(shí)間差中包含了day、時(shí)、分、秒4個(gè)維度,但是這里我們僅需要day維度,因此我們用astype()函數(shù)將類(lèi)型轉(zhuǎn)為僅含有day維度的timedelta64[D]類(lèi)型。具體代碼如下:

#統(tǒng)計(jì)沒(méi)條數(shù)據(jù)與當(dāng)前日期的時(shí)間差
##計(jì)算相差天數(shù)
data['R']=(pd.datetime.now()-data['time'])
##將時(shí)間差timedelta格式轉(zhuǎn)化為需要的日格式
data['R']=data['R'].astype('timedelta64[D]').astype('int')

tips:這里可能會(huì)報(bào)警告:FutureWarning: The pandas.datetime class is deprecated and will be removed from pandas in a future version. Import from datetime module instead.讀者無(wú)需理會(huì),這是由于我們所用的pd.datetime.now()是一個(gè)比較舊的函數(shù),以后將會(huì)廢棄。

統(tǒng)計(jì)R值

在上面我們已經(jīng)創(chuàng)建了名為data_rfm的表結(jié)構(gòu)的數(shù)據(jù)框,因此,將下面統(tǒng)計(jì)的R值放入其中。R值得統(tǒng)計(jì)是找客戶(hù)最近發(fā)生交易行為日期與當(dāng)前日期的差。換一種思路就是找所有時(shí)間差中的最小值。

因此利用pandas中的groupby函數(shù)對(duì)每個(gè)用戶(hù)以上一步統(tǒng)計(jì)的R值作為分組依據(jù)進(jìn)行分組,并求出最小值。具體代碼如下:

data_rfm=pd.merge(data_rfm,data.groupby('uid')['R'].min(),
left_on='user_id',right_on='uid')

統(tǒng)計(jì)F值

F值得統(tǒng)計(jì)就是統(tǒng)計(jì)指定區(qū)間內(nèi)的消費(fèi)頻次,而指定區(qū)間一般為人為設(shè)定,這里我們?nèi)∪繑?shù)據(jù),即2021年10月底至今作為指定區(qū)間。

本文利用value_counts()函數(shù)對(duì)uid進(jìn)行統(tǒng)計(jì)即為每個(gè)用戶(hù)得消費(fèi)頻次,同時(shí)將結(jié)果合并到data_rfm數(shù)據(jù)框中。

#統(tǒng)計(jì)指定區(qū)間內(nèi)的消費(fèi)頻次
data_rfm['user_id']=data['uid'].value_counts().index
data_rfm['F']=data['uid'].value_counts().values

統(tǒng)計(jì)M值

本文以uid作為分組依據(jù)對(duì)price字段進(jìn)行求和,得到求和類(lèi)指標(biāo)M值。此外,將結(jié)果合并到data_rfm數(shù)據(jù)框中。

data_rfm=pd.merge(data_rfm,data.groupby('uid')['price'].sum(),
left_on='user_id',right_on='uid')
data_rfm.rename(columns={'price':'M'},inplace=True)

上述代碼中出現(xiàn)了pandas庫(kù)中得合并語(yǔ)法merge(),merge()函數(shù)采取的是橫向合并,不同于MYSQL,不需要指定左表還是右表為主表,只需要提供左表與右表的公共字段在各表中的名稱(chēng)即可。

由于data_rfm數(shù)據(jù)表中的user_id是去重的,因此將其作為主鍵。而data.groupby('uid')['price'].sum()得到的表格也是去重的,因此我們可以采取多維數(shù)據(jù)模型中的連接對(duì)應(yīng)關(guān)系---一對(duì)一對(duì)兩表進(jìn)行合并。公共字段為:左表的uid,右表的user_id

最終表格結(jié)果如下,展現(xiàn)前18行:

ac2cd22e-91e2-11ec-952b-dac502259ad0.png

數(shù)據(jù)分箱

在得到R、F、M三個(gè)指標(biāo)值后,我們需要對(duì)這三個(gè)指標(biāo)進(jìn)行分類(lèi),并將每個(gè)用戶(hù)進(jìn)行分層。

本文不采取人為主觀性的經(jīng)驗(yàn)法則劃分,而是采取等距分箱的方式劃分,等距分箱的原理較簡(jiǎn)單,這里寫(xiě)出步驟:

  • 從最小值到最大值之間,均分為$N$等份(這里$N$取為2)。

  • 如果 $A$,$B$ 為最小最大值, 則每個(gè)區(qū)間的長(zhǎng)度為 $W=(B?A)/N$ ,.

  • 則區(qū)間邊界值為$A+W$,$A+2W$,….$A+(N?1)W$ 。這里只考慮邊界,采用左閉右開(kāi)的方式,即每個(gè)等份的實(shí)例數(shù)量不等。

在Python中可以利用pandas庫(kù)中的cut()函數(shù)輕松實(shí)現(xiàn)上述等距分箱,同時(shí)將結(jié)果R_label,F_labelM_label合并到data_rfm數(shù)據(jù)框中具體代碼如下:

#分箱客觀左閉右開(kāi)
cut_R=pd.cut(data_rfm['R'],bins=2,right=False,labels=range(1,3)).astype('int')
data_rfm['R_label']=cut_R

cut_F=pd.cut(data_rfm['F'],bins=2,right=False,labels=range(1,3)).astype('int')
data_rfm['F_label']=cut_F

cut_M=pd.cut(data_rfm['M'],bins=2,right=False,labels=range(1,3)).astype('int')
data_rfm['M_label']=cut_M

由于利用cut()函數(shù)得到的是區(qū)間形式的值,因此需要賦予label值進(jìn)行虛擬變量引用。label值使用1和2,對(duì)應(yīng)的區(qū)間為從小到大。具體代表意思如下表:

ac4e7226-91e2-11ec-952b-dac502259ad0.jpg

得到最終的表格形式如下:

ac628266-91e2-11ec-952b-dac502259ad0.png

用戶(hù)分類(lèi)

在得到每個(gè)用戶(hù)的R、F、M三個(gè)維度的label值后,最后就是需要對(duì)用戶(hù)進(jìn)行分類(lèi),分類(lèi)的原則如圖下:

ac8f2e7e-91e2-11ec-952b-dac502259ad0.png

利用pandas庫(kù)中的·terrows()函數(shù)循環(huán)遍歷每個(gè)用戶(hù)行為記錄,將符合上述條件的劃分對(duì)應(yīng)的類(lèi),具體代碼如下:

fori,jindata_rfm.iterrows():
ifj['R_label']==2andj['F_label']==2andj['M_label']==2:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='重要價(jià)值用戶(hù)'
ifj['R_label']==2andj['F_label']==1andj['M_label']==2:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='重要發(fā)展用戶(hù)'
ifj['R_label']==1andj['F_label']==2andj['M_label']==2:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='重要保持用戶(hù)'
ifj['R_label']==1andj['F_label']==1andj['M_label']==2:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='重要挽留用戶(hù)'
ifj['R_label']==2andj['F_label']==2andj['M_label']==1:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='一般價(jià)值用戶(hù)'
ifj['R_label']==2andj['F_label']==1andj['M_label']==1:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='一般發(fā)展用戶(hù)'
ifj['R_label']==1andj['F_label']==2andj['M_label']==1:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='一般保持用戶(hù)'
ifj['R_label']==1andj['F_label']==1andj['M_label']==1:
data_rfm.loc[i,'用戶(hù)類(lèi)別']='一般挽留用戶(hù)'

條形圖可視化用戶(hù)類(lèi)別

利用seaborn畫(huà)圖庫(kù)對(duì)已劃分類(lèi)別的用戶(hù)進(jìn)行技術(shù)統(tǒng)計(jì)與可視化,得到如下圖表

acabd60a-91e2-11ec-952b-dac502259ad0.png

可以看出,大部分的用戶(hù)屬于一般發(fā)展用戶(hù)與一般挽留用戶(hù)。而對(duì)于一般發(fā)展用戶(hù)而言采取的策略為挖掘需求,后者則是放棄治療。因此,可以看出該公司在10月底至今的時(shí)間段內(nèi),用戶(hù)流失較多,但是可發(fā)展的用戶(hù)同樣是非常多的,想要提高收入,對(duì)一般發(fā)展用戶(hù)入手是成本少,效率高的選擇。

總結(jié)

RFM模型同時(shí)還利用了多維數(shù)據(jù)透視分析和業(yè)務(wù)分析方法兩個(gè)模塊的內(nèi)容。所以說(shuō)實(shí)踐是檢驗(yàn)和鞏固學(xué)到的東西的最好方法。

例如一級(jí)的??碱}上,我們常碰到一個(gè)模擬題,包含RFM模型劃分規(guī)則和一張帕累托圖,問(wèn)題是在公司有限成本下提高公司收入,需要針對(duì)哪種用戶(hù)營(yíng)銷(xiāo)最好,答案是一般發(fā)展用戶(hù)。相信大家一開(kāi)始都很疑惑為什么選這個(gè),這時(shí)候如果像本文一樣對(duì)一份數(shù)據(jù)進(jìn)行實(shí)踐,這樣你就會(huì)更加理解為什么是這個(gè)答案。

審核編輯:郭婷


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4805

    瀏覽量

    84919

原文標(biāo)題:基于客觀事實(shí)的 RFM 模型(Python 代碼)

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    語(yǔ)言模型管理的作用

    要充分發(fā)揮語(yǔ)言模型的潛力,有效的語(yǔ)言模型管理非常重要。以下,是對(duì)語(yǔ)言模型管理作用的分析,由AI部
    的頭像 發(fā)表于 01-02 11:06 ?99次閱讀

    語(yǔ)言模型開(kāi)發(fā)框架是什么

    語(yǔ)言模型開(kāi)發(fā)框架是指用于訓(xùn)練、推理和部署大型語(yǔ)言模型的軟件工具和庫(kù)。下面,AI部落小編為您介紹大語(yǔ)言
    的頭像 發(fā)表于 12-06 10:28 ?163次閱讀

    語(yǔ)言模型開(kāi)發(fā)語(yǔ)言是什么

    在人工智能領(lǐng)域,大語(yǔ)言模型(Large Language Models, LLMs)背后,離不開(kāi)高效的開(kāi)發(fā)語(yǔ)言和工具的支持。下面,AI部落小編為您介紹大語(yǔ)言
    的頭像 發(fā)表于 12-04 11:44 ?189次閱讀

    對(duì)比Python與Java編程語(yǔ)言

    Python與Java都是目前非常流行的編程語(yǔ)言,它們各有其獨(dú)特的優(yōu)勢(shì)和適用場(chǎng)景。以下是對(duì)這兩種編程語(yǔ)言的對(duì)比: 一、語(yǔ)法和易用性 Python 語(yǔ)法簡(jiǎn)潔,代碼更易讀,非常適合初學(xué)者。
    的頭像 發(fā)表于 11-15 09:31 ?393次閱讀

    【《大語(yǔ)言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)篇

    學(xué)習(xí)方法。其中文本向量化中的三種編碼方式:獨(dú)熱編碼、靜態(tài)編碼和動(dòng)態(tài)編碼,這些概念描述是需要時(shí)間仔細(xì)研究理解的。 1.5章節(jié)終于開(kāi)始講解語(yǔ)言模型了,這也是基礎(chǔ)篇的最后一章節(jié),占據(jù)了基礎(chǔ)篇的一半篇幅
    發(fā)表于 07-25 14:33

    Python語(yǔ)言基礎(chǔ)2

    電子發(fā)燒友網(wǎng)站提供《Python語(yǔ)言基礎(chǔ)2.rar》資料免費(fèi)下載
    發(fā)表于 07-17 17:23 ?1次下載

    python訓(xùn)練出的模型怎么調(diào)用

    Python中,訓(xùn)練出的模型可以通過(guò)多種方式進(jìn)行調(diào)用。 1. 模型保存與加載 在Python中,訓(xùn)練好的模型需要被保存,以便在其他程序或會(huì)
    的頭像 發(fā)表于 07-11 10:15 ?2171次閱讀

    語(yǔ)言模型(LLM)快速理解

    自2022年,ChatGPT發(fā)布之后,大語(yǔ)言模型(LargeLanguageModel),簡(jiǎn)稱(chēng)LLM掀起了一波狂潮。作為學(xué)習(xí)理解LLM的開(kāi)始,先來(lái)整體理解一下大語(yǔ)言模型。一、發(fā)展歷史大
    的頭像 發(fā)表于 06-04 08:27 ?1057次閱讀
    大<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>模型</b>(LLM)快速理解

    語(yǔ)言模型:原理與工程時(shí)間+小白初識(shí)大語(yǔ)言模型

    解鎖 我理解的是基于深度學(xué)習(xí),需要訓(xùn)練各種數(shù)據(jù)知識(shí)最后生成自己的的語(yǔ)言理解和能力的交互模型。 對(duì)于常說(shuō)的RNN是處理短序列的數(shù)據(jù)時(shí)表現(xiàn)出色,耳真正厲害的是Transformer,此框架被推出后直接
    發(fā)表于 05-12 23:57

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的應(yīng)用

    ,它通過(guò)抽象思考和邏輯推理,協(xié)助我們應(yīng)對(duì)復(fù)雜的決策。 相應(yīng)地,我們?cè)O(shè)計(jì)了兩類(lèi)任務(wù)來(lái)檢驗(yàn)大語(yǔ)言模型的能力。一類(lèi)是感性的、無(wú)需理性能力的任務(wù),類(lèi)似于人類(lèi)的系統(tǒng)1,如情感分析和抽取式問(wèn)答等。大語(yǔ)言
    發(fā)表于 05-07 17:21

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的評(píng)測(cè)

    地提升工作效率。大語(yǔ)言模型的代碼類(lèi)評(píng)測(cè)任務(wù)包括:1)代碼生成評(píng)估,如生成逆轉(zhuǎn)字符串的Python函數(shù);2)代碼糾錯(cuò)評(píng)估,如識(shí)別并修正JavaScript代碼中的錯(cuò)誤;3)代碼解釋評(píng)估,如解釋冒泡排序算法
    發(fā)表于 05-07 17:12

    【大語(yǔ)言模型:原理與工程實(shí)踐】探索《大語(yǔ)言模型原理與工程實(shí)踐》2.0

    《大語(yǔ)言模型“原理與工程實(shí)踐”》是關(guān)于大語(yǔ)言模型內(nèi)在機(jī)理和應(yīng)用實(shí)踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的實(shí)踐案例,幫助讀者理解如何將理論知識(shí)應(yīng)用于解決實(shí)際問(wèn)題。書(shū)中的案
    發(fā)表于 05-07 10:30

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的基礎(chǔ)技術(shù)

    全面剖析大語(yǔ)言模型的核心技術(shù)與基礎(chǔ)知識(shí)。首先,概述自然語(yǔ)言的基本表示,這是理解大語(yǔ)言模型技術(shù)的前提。接著,詳細(xì)介紹自然
    發(fā)表于 05-05 12:17

    【大語(yǔ)言模型:原理與工程實(shí)踐】揭開(kāi)大語(yǔ)言模型的面紗

    語(yǔ)言模型(LLM)是人工智能領(lǐng)域的尖端技術(shù),憑借龐大的參數(shù)量和卓越的語(yǔ)言理解能力贏得了廣泛關(guān)注。它基于深度學(xué)習(xí),利用神經(jīng)網(wǎng)絡(luò)框架來(lái)理解和生成自然語(yǔ)言文本。這些
    發(fā)表于 05-04 23:55

    【大語(yǔ)言模型:原理與工程實(shí)踐】探索《大語(yǔ)言模型原理與工程實(shí)踐》

    《大語(yǔ)言模型》是一本深入探討人工智能領(lǐng)域中語(yǔ)言模型的著作。作者通過(guò)對(duì)語(yǔ)言模型的基本概念、基礎(chǔ)技術(shù)
    發(fā)表于 04-30 15:35