專利名稱::基于數(shù)據(jù)挖掘的顧客推薦系統(tǒng)及其方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)庫信息檢索領(lǐng)域,特別涉及對(duì)數(shù)據(jù)信息進(jìn)行挖掘向顧客推薦的信息檢索領(lǐng)域。
背景技術(shù):
:當(dāng)今時(shí)代是信息技術(shù)的時(shí)代,互聯(lián)網(wǎng)在人們的生活中占據(jù)了相當(dāng)大的比重,網(wǎng)上購物就是其中之一。為此,電子商務(wù)網(wǎng)站都以獲得最大利益為目標(biāo),用技術(shù)和非技術(shù)的方法,增加注冊(cè)顧客、增加訂單量、提供優(yōu)質(zhì)的服務(wù)。在這些狀況下,電子商務(wù)網(wǎng)站個(gè)性化推薦技術(shù)就應(yīng)運(yùn)而生。目前,國內(nèi)的一些推薦技術(shù)大多采用比較原始的方法最原始的方法是"數(shù)據(jù)庫査詢",通過sql語句找到數(shù)據(jù)庫中同作者、同分類主題等等的商品,推薦給顧客;"問巻反饋"方式,通過提問,讓顧客回答回答一些問題,直接了解顧客的喜好,推薦合適的商品;此外還有"關(guān)聯(lián)規(guī)則"等形式的推薦方法。以上這些方法,在推薦的準(zhǔn)確性、實(shí)時(shí)性等方面不夠理想,推薦的自動(dòng)化程度和持久性程度低,缺乏個(gè)性化。相比而言,國外的推薦技術(shù)較為領(lǐng)先"基于內(nèi)容過濾的推薦"是信息過濾的派生和繼續(xù),通過相關(guān)特征來定義所要推薦的商品,也可以稱之為"商品與商品的相關(guān)性推薦",但是這種技術(shù)最大的缺點(diǎn)是必須分析資源的內(nèi)容信息,因此對(duì)音樂、圖像、視頻等信息無能為力,無法分析信息的質(zhì)量,無法提供新穎的推薦;"基于協(xié)同過濾的推薦"是基于其他用戶對(duì)某一信息的評(píng)價(jià)來向某一用戶進(jìn)行推薦。但是要獲得滿意的效果,必須得到準(zhǔn)確的用戶信息,這需要建立在擁有大量的用戶信息數(shù)據(jù)的基礎(chǔ)上,所以,對(duì)于一些數(shù)據(jù)存儲(chǔ)規(guī)模有限的使用方有相當(dāng)程度的應(yīng)用局限性,這也使得協(xié)同過濾技術(shù)的應(yīng)用領(lǐng)域較為狹窄;此外,還有"基于用戶統(tǒng)計(jì)信息的推薦"、"基于效用的推薦"、"基于知識(shí)的推薦"等等都有其優(yōu)缺點(diǎn)。針對(duì)目前現(xiàn)有的相對(duì)領(lǐng)先的推薦技術(shù),無論從用戶還是服務(wù)提供者的角度出發(fā),即有其各自的優(yōu)點(diǎn),但是都存在著或多或少的缺點(diǎn),見下表-<table>tableseeoriginaldocumentpage4</column></row><table>
發(fā)明內(nèi)容本發(fā)明的目的是為了克服目前技術(shù)中的上述缺點(diǎn)。本發(fā)明系統(tǒng)由數(shù)據(jù)準(zhǔn)備和實(shí)時(shí)推薦兩部分組成,如圖l所示。數(shù)據(jù)準(zhǔn)備部分包括如下模塊源數(shù)據(jù)提取模塊從數(shù)據(jù)庫中提取一定時(shí)間跨度的訂單數(shù)據(jù)、瀏覽日志、搜索日志等等,能反映"顧客-商品"關(guān)系的數(shù)據(jù)集;訂單數(shù)據(jù)提取模塊提取每條訂單中的有用信息,如購買日期、購買人、購買商品等數(shù)據(jù);計(jì)算模型模塊通過分析這些信息,建立"顧客-商品"計(jì)算模型;相似顧客計(jì)算模塊按照顧客——該顧客購買的商品——該商品被其他顧客購買的關(guān)系,針對(duì)模型中的每個(gè)顧客,從該顧客本身出發(fā),找到他所對(duì)應(yīng)的商品,再從商品出發(fā),找到和他存在關(guān)系的顧客,然后運(yùn)用核心公式計(jì)算他們之間的相似度,得到相似顧客的倒排文件和索引以及顧客購買記錄。實(shí)時(shí)推薦部分包括如下模塊推薦結(jié)果生成模塊找到該顧客的相似顧客集合和相應(yīng)的購買記錄;通過排序算法,從縱向給顧客排序,從橫向給每個(gè)相似顧客的購買商品排序,盡可能體現(xiàn)原顧客的興趣;將展示推薦的結(jié)果。這里每個(gè)部分及模塊都是本發(fā)明得以實(shí)現(xiàn)并成功應(yīng)用的基礎(chǔ),構(gòu)成了一個(gè)技術(shù)系統(tǒng)。具體包括以下步驟A.準(zhǔn)備原始數(shù)據(jù)源可以是訂單數(shù)據(jù),或是瀏覽日志,搜索日志等等;B.提取數(shù)據(jù)項(xiàng)取得數(shù)據(jù)源中有用的計(jì)算信息,如時(shí)間、人、商品等;C.建立計(jì)算模型通過分析提取的數(shù)據(jù),建立表示哪些顧客購買了哪些商品、哪些商品被哪些顧客購買過等關(guān)系"顧客-商品"計(jì)算模型;D.計(jì)算相似顧客按照以物聚人的思路,用核心計(jì)算公式計(jì)算每個(gè)顧客的相似顧客集合.E.顧客推薦為顧客顯示他的相似顧客及他們所購買過的商品,相似顧客之間的順序和每個(gè)顧客購買商品之間的順序由核心排序算法決定。其中D步驟的核心計(jì)算公式有很多種選擇,比如(1)Ll—Norm算法(2)L2—Norm算法(3)Mil算法:<formula>formulaseeoriginaldocumentpage5</formula>顯10B,i^-IBn外lg(4)COS算法:<formula>formulaseeoriginaldocumentpage5</formula>以上例舉了4個(gè)比較常用的公式,計(jì)算的側(cè)重點(diǎn)和效果各不相同,其他還有一些公式,選用哪種,由具體需求決定,即可單獨(dú)使用,也可以組合使用。本發(fā)明符合顧客客觀的實(shí)際的購物趨勢(shì)和興趣習(xí)慣,提高了推薦的效果和質(zhì)量,并能給予實(shí)時(shí)的反饋,適應(yīng)當(dāng)前電子商務(wù)個(gè)性化推薦的發(fā)展,最大程度地實(shí)現(xiàn)電子商務(wù)的個(gè)性化,提供一種智能的在線購物向?qū)Чδ?,抓住顧客的喜好,提高用戶網(wǎng)上購物的感受,從而留住老的顧客,獲得更多的新顧客,達(dá)到利益最大化。圖l是本發(fā)明的系統(tǒng)流程圖。圖2是本發(fā)明的數(shù)據(jù)處理模塊流程圖。圖3是本發(fā)明的計(jì)算模型倒排及索引結(jié)構(gòu)圖。圖4是本發(fā)明的計(jì)算相似顧客流程圖。圖5是本發(fā)明的推薦結(jié)果生成展示過程圖具體實(shí)施例方式數(shù)據(jù)準(zhǔn)備部分歩驟l:原始數(shù)據(jù)提取提取3個(gè)月的訂單數(shù)據(jù)OrderInfo.txt,格式為(時(shí)間顧客ID商品ID商品名)例如OrderInfo.txt的前20行的數(shù)據(jù)顯示時(shí)間顧客ID商品ID商品名20070715CIPINamel20070717CIP2Name220070721C3PINamel20070722C5P2Name220070725CIP4Name420070803C4P7Name720070805CIP3Name320070812C3P2Name220070825C2P2Name220070827C5P5Name520070827C5P3Name320070828C4P9Name920070828C3P4Name420070828C3P8Name820070829CIP5Name520070829C5P8Name820070829C4P4Name420070830CIP8Name8<table>tableseeoriginaldocumentpage7</column></row><table>步驟2:相關(guān)字段信息提取如圖2所示。提取相關(guān)數(shù)據(jù)項(xiàng)(有用信息),對(duì)數(shù)據(jù)項(xiàng)排序。在該例中,提取相關(guān)數(shù)據(jù)項(xiàng)時(shí),提取訂單數(shù)據(jù)中的OrderDate(購買時(shí)間)、CustID(顧客ID)、ProID(商品ID),存貯在包含這三個(gè)整型字段的結(jié)構(gòu)中,寫入二進(jìn)制文件中,并按照各個(gè)單元結(jié)構(gòu)中的CustID和ProID分別排序,生成下表的兩個(gè)中間結(jié)果文件<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>步驟3:生成"顧客-商品"計(jì)算模型由上一步生成的兩個(gè)結(jié)果文件,生成"顧客-商品"計(jì)算模型。在該實(shí)例中,計(jì)算模型主要表示哪些顧客購買了哪些商品、哪些商品被哪些顧客購買過等關(guān)系,可以概括為顧客購物模型和商品被購買模型。顧客購物模型表示每個(gè)顧客買過哪些商品,是一個(gè)倒排表結(jié)構(gòu)(C-P倒排表)。商品被購買模型表示每個(gè)商品被哪些顧客夠買過,也是一個(gè)倒排表結(jié)構(gòu)(P-C倒排表)。通過讀取步驟2產(chǎn)生的兩個(gè)中間結(jié)果文件,生成上述兩個(gè)倒排表,見下表所示,以及兩個(gè)査詢索引(C-P倒排索引和P-C倒排索引),如圖3所示。<table>tableseeoriginaldocumentpage8</column></row><table>步驟4:相似顧客計(jì)算①、核心計(jì)算公式"顧客推薦系統(tǒng)"的核心算法,即相似顧客計(jì)算。這里以"cos算法"為例,它是采用一種基于條目之間的協(xié)同過濾的推薦算法,即余弦公式。它對(duì)具有相同或相似購買行為的顧客進(jìn)行配對(duì),并統(tǒng)計(jì)他們的相似程度,對(duì)顧客的購買行為進(jìn)行向量化,然后對(duì)向量進(jìn)行公式計(jì)算,最后形成一個(gè)相似的條目矩陣?!?.5......^其中,在具體實(shí)例中向量A:表示顧客A購買過的商品。向量B:表示顧客B購買過的商品。分子含義在顧客A和顧客B購買過的相同的商品數(shù)量。分母含義表示顧客A購買過的商品數(shù)量的開方和表示顧客B購買過的商品數(shù)量的開方的乘積,作用是去除噪音。②、計(jì)算相似顧客流程,如圖4所示a)進(jìn)行內(nèi)存映射讀取對(duì)磁盤上的兩個(gè)倒排表;b)對(duì)于C-P倒排表中的顧客Ci,查詢他的購買記錄,得到商品集合ProList;c)遍歷ProList中的每個(gè)商品,查詢倒排表P-C,獲取購買過該商品的顧客集合CustList;d)遍歷CustList,查找C-P倒排表獲取該顧客購買過的商品集合,與原顧客Ci購買的商品兩兩配對(duì),生成規(guī)則(Custi-Custj-Count);e)通過計(jì)算公式以及規(guī)則,計(jì)算顧客Ci和CustList中的每個(gè)顧客的相似度,排序后記錄結(jié)果;f)返回b,直到遍歷完所有的Ci例如,計(jì)算C1的相似顧客時(shí)——得到C1購買的商品P1、P2、P3、P4、P5、P8——查找P-C倒排表,分別找到也購買過這些商品的顧客P1(C3)、P2(C2、C3、C5)、P3(C5)、P4(C2、C3、C4)、P5(C2、C5)、P8(C3、C4、C5)統(tǒng)計(jì)這些顧客(C2、C3、C4、C5)和C1的規(guī)則Cl-C2-3、Cl-C3-4、Cl-C4-2、Cl-C5-4——計(jì)算C1和(C2、C3、C4、C5)之間的相似度Cl-C2:「3「Cl-C3:「4「Cl-C42因此,接著上例,得到相似顧客結(jié)果CI:C5(0.8165)C3(0.6667)C2(0.6124)C攀4082)C2:Cl(0.6124)C3(0.6124)C5(0.5)4Cl-C5:實(shí)時(shí)推薦部分接著上例,當(dāng)用戶查看他的推薦時(shí)——根據(jù)該用戶的ID找到他的相似顧客(之前的步驟中已經(jīng)計(jì)算得到)——得到這些相似顧客的購買記錄(商品ID和購買時(shí)間)——為相似顧客以及每個(gè)相似顧客購買的商品分別排序——按照排序后的順序展示推薦結(jié)果該例中,對(duì)相似顧客排序時(shí),可以參考四個(gè)因素,分別是該顧客的購買數(shù)量、和原顧客購買相同商品的數(shù)量、和原顧客購買相關(guān)商品的數(shù)量、和原顧客購買不相關(guān)商品的數(shù)量。綜合這四個(gè)因素,計(jì)算出一個(gè)權(quán)重值,為相似顧客排序。這里的相關(guān)商品是指商品和商品之間的相似關(guān)系,該例中定義為A商品和B商品被相同的若干個(gè)顧客同時(shí)購買過,那么A商品和B商品之間就是相關(guān)商品,他們之間的相關(guān)指數(shù)也可以由之前提到的公式來量化。上面提到的購買相關(guān)商品的數(shù)量,是指原顧客購買的商品的相關(guān)商品集合和相似顧客購買的商品的重復(fù)個(gè)數(shù),同理,和原顧客購買不相關(guān)商品的數(shù)量就是指上述兩個(gè)集合中不相同的商品個(gè)數(shù)。為每個(gè)相似顧客的商品排序時(shí),考慮推薦商品(相似顧客購買的商品)和原顧客購買商品間的關(guān)系,即推薦的商品是否符合原顧客的興趣,把符合興趣的排前面。度量的原則是把推進(jìn)商品分為三類,如下圖附圖5推薦結(jié)果生成展示過程考慮原顧客A的相似顧客B時(shí),B的推薦價(jià)值由B與A都購買過的相同商品集Sl、相關(guān)商品集S2,以及無關(guān)商品集S3比例決定。其中,共同購買的部分S1是最符合原顧客A興趣的,但是這部分的商品A已經(jīng)買了,不做推薦考慮。相關(guān)商品S2表示B購買的商品屬于A購買的商品的相關(guān)商品集合的商品,顧客更關(guān)心S2的商品。無關(guān)商品S3可以認(rèn)為是開拓、發(fā)覺原顧客A潛在興趣的商品,也許會(huì)喜歡,但是不能確定,所以排在后面。根據(jù)上例,顧客C1的推薦結(jié)果-——找至IJC1的相似顧客C5、C3、C2、C4——去除購物量小的顧客,排序——獲取相似顧客購買的商品,排序,并去除C1已經(jīng)購買的商品——得到結(jié)果推薦顧客C3推薦理由共同興趣(Pl/P2/P4/P8)推薦商品P6P9推薦顧客C4推薦理由共同興趣(P4/P8)推薦商品P7P9推薦顧客C2推薦理由共同興趣(P2/P4/P5)推薦商品P9權(quán)利要求1.一種基于數(shù)據(jù)挖掘的顧客推薦系統(tǒng),由數(shù)據(jù)準(zhǔn)備和實(shí)時(shí)推薦兩部分組成,數(shù)據(jù)準(zhǔn)備部分包括如下模塊源數(shù)據(jù)提取模塊從數(shù)據(jù)庫中提取一定時(shí)間跨度的能反映“顧客一商品”關(guān)系的數(shù)據(jù)集;訂單數(shù)據(jù)提取模塊提取每條訂單中的有用信息數(shù)據(jù);計(jì)算模型模塊通過分析這些信息,建立“顧客-商品”計(jì)算模型;相似顧客計(jì)算模塊按照顧客——該顧客購買的商品——該商品被其他顧客購買的關(guān)系,運(yùn)用核心公式計(jì)算他們之間的相似度,得到相似顧客的倒排文件和索引以及顧客購買記錄;實(shí)時(shí)推薦部分包括如下模塊推薦結(jié)果生成模塊找到該顧客的相似顧客集合和相應(yīng)的購買記錄;通過排序算法,從縱向給顧客排序,從橫向給每個(gè)相似顧客的購買商品排序,盡可能體現(xiàn)原顧客的興趣;將展示推薦的結(jié)果。2.—種基于數(shù)據(jù)挖掘的顧客推薦方法,具體包括以下步驟A.準(zhǔn)備原始數(shù)據(jù)源訂單數(shù)據(jù)、瀏覽日志、搜索日志等;B.提取數(shù)據(jù)項(xiàng)取得數(shù)據(jù)源中有用的計(jì)算信息,如時(shí)間、人、商品等;C.建立計(jì)算模型通過分析提取的數(shù)據(jù),建立"顧客-商品"計(jì)算模型;D.計(jì)算相似顧客用核心計(jì)算公式計(jì)算每個(gè)顧客的相似顧客集合;E.顧客推薦為顧客顯示他的相似顧客及他們所購買過的商品。3.如權(quán)利要求2所述的一種基于數(shù)據(jù)挖掘的顧客推薦方法,其特征在于其中D步驟的核心計(jì)算公式可選擇L1—Norm算法、L2—Norm算法、Mil算法、COS算法等,可單獨(dú)使用,也可以組合使用。全文摘要本發(fā)明公開了一種基于數(shù)據(jù)挖掘的顧客推薦系統(tǒng)及其方法,該系統(tǒng)由數(shù)據(jù)準(zhǔn)備和實(shí)時(shí)推薦兩部分組成,其中數(shù)據(jù)準(zhǔn)備部分包括源數(shù)據(jù)提取模塊,訂單數(shù)據(jù)提取模塊,計(jì)算模型模塊,相似顧客計(jì)算模塊,其中實(shí)時(shí)推薦部分包括推薦結(jié)果生成展示模塊;其方法是準(zhǔn)備數(shù)據(jù)源并提取有關(guān)數(shù)據(jù)項(xiàng),建立“顧客-商品”計(jì)算模型,計(jì)算出每個(gè)顧客的相似顧客集合,把這些相似顧客購買了對(duì)商品推薦給該顧客。從而抓住顧客的喜好,提供一種智能的在線購物向?qū)Чδ埽岣吡擞脩艟W(wǎng)上購物的感受,達(dá)到商務(wù)網(wǎng)站的利益最大化。文檔編號(hào)G06Q30/00GK101206751SQ200710301708公開日2008年6月25日申請(qǐng)日期2007年12月25日優(yōu)先權(quán)日2007年12月25日發(fā)明者研張,楊曹,王洪濤申請(qǐng)人:北京科文書業(yè)信息技術(shù)有限公司