大數(shù)據(jù)中非結(jié)構(gòu)化數(shù)據(jù)的挖掘:文本
一、 點(diǎn)擊流中的非結(jié)構(gòu)化文本數(shù)據(jù)都有哪些?
首先來(lái)定性什么是非結(jié)構(gòu)化文本數(shù)據(jù),這里指的是點(diǎn)擊流原始數(shù)據(jù)中以文字形式展現(xiàn)的數(shù)據(jù),包括原始LOG日志以及已經(jīng)被結(jié)構(gòu)化入庫(kù)中的部分?jǐn)?shù)據(jù),比如Adobe Analytics的Data Feed,Webtrekk中的Raw Data。當(dāng)然,有些數(shù)據(jù)雖然是文本或字符串的形式,但并不是真正意義上的非結(jié)構(gòu)化,比如瀏覽器的類型信息、推薦來(lái)源,雖然取值為文本,但取值都有規(guī)律,這些數(shù)據(jù)在數(shù)據(jù)庫(kù)中更多的是作為外鍵(FK)關(guān)聯(lián)到維度表,因此都不算嚴(yán)格意義上的非結(jié)構(gòu)化數(shù)據(jù)。 真正的非結(jié)構(gòu)化文本數(shù)據(jù),包括:
-
搜索詞:我們永遠(yuǎn)無(wú)法準(zhǔn)確定義用戶的搜索詞都有哪些;
-
完整URL地址:尤其是含有特定監(jiān)測(cè)Tag的地址;
-
特定監(jiān)測(cè)標(biāo)簽:通常鑒于以URL Tag形式進(jìn)行監(jiān)測(cè)的情形;
-
頁(yè)面名稱:名稱的規(guī)范性取決于系統(tǒng)配置信息;
-
用戶自定義標(biāo)簽:比如用戶對(duì)自身的評(píng)價(jià)標(biāo)簽——偉岸、高富帥等;
-
文章特定信息:如文章摘要、關(guān)鍵字等,跟用戶一樣,文章信息也是因文章而已;
-
用戶評(píng)論、咨詢內(nèi)容:絕對(duì)的非結(jié)構(gòu)化段落;
-
唯一設(shè)備號(hào):如IMEI、MAC等(這部分通常會(huì)作為關(guān)聯(lián)主鍵和唯一識(shí)別標(biāo)示,不會(huì)作為規(guī)則提取的字段);
這些信息的特點(diǎn)是:①取值通常是文本或字符串,②長(zhǎng)度不一致,單值結(jié)果的長(zhǎng)度可能是1個(gè)字節(jié)甚至是1000個(gè)字節(jié)不等,③無(wú)明確的值域范圍。
二、 這些數(shù)據(jù)都是從哪來(lái)的?
這些數(shù)據(jù)通常都是用戶自定義的,另外也包括由于系統(tǒng)產(chǎn)生或收集的非結(jié)構(gòu)化數(shù)據(jù)本身。
自定義非結(jié)構(gòu)化文本數(shù)據(jù)。這些信息通常都是在工具中通常都是自定義的維度獲取,比如webtrends中的metea、Adobe Analytics中自定義Prop和eVar、UA中的Dimension等,如Adobe Analytics中的Prop的字段是以varchar(100)的格式定義的,這意味著如果需要收集數(shù)據(jù)的單個(gè)結(jié)果長(zhǎng)度超過(guò)100個(gè)字節(jié),結(jié)果將被截?cái)?;而eVar的字段格式與Prop相同,但程度更長(zhǎng),是255,所以從底層數(shù)據(jù)支持的角度考慮,如果在自定義維度時(shí),在不考慮路徑應(yīng)用的情況下盡量使用eVar來(lái)定義。
系統(tǒng)獲取的非結(jié)構(gòu)化文本數(shù)據(jù)。比如通過(guò)Adobe分類規(guī)則生成器、處理規(guī)則或JS自動(dòng)復(fù)制變量值的形式都會(huì)產(chǎn)生。
三、 非結(jié)構(gòu)化文本數(shù)據(jù)的應(yīng)用場(chǎng)景在哪?
通常情況下,非結(jié)構(gòu)化的數(shù)據(jù)可以跟結(jié)構(gòu)化的數(shù)據(jù)一樣,作為分析的維度應(yīng)用到各種報(bào)表或OLAP中;但這僅僅能發(fā)揮其一小部分作用,原因是只靠固定維度的常規(guī)分析難以挖掘非結(jié)構(gòu)化數(shù)據(jù)中隱含的知識(shí)點(diǎn),因此我們需要借用數(shù)據(jù)挖掘的相關(guān)技術(shù)。 以搜索詞為例,站內(nèi)搜索詞基本上每個(gè)工具都會(huì)監(jiān)測(cè) ,但是搜索詞的常規(guī)應(yīng)用場(chǎng)景大多集中在以下幾種:
-
對(duì)運(yùn)營(yíng)體系來(lái)講,看下最近用戶熱搜了哪些詞,哪些詞有什么樣的變化趨勢(shì),并結(jié)合轉(zhuǎn)化效果來(lái)指導(dǎo)搜索詞運(yùn)營(yíng);
-
對(duì)采銷商品體系來(lái)講,挖掘下購(gòu)買某些品類的用戶通常會(huì)通過(guò)哪些詞進(jìn)行搜索,以此來(lái)提高在這些展現(xiàn)結(jié)果頁(yè)的排名以獲得更好的展示和點(diǎn)擊,創(chuàng)造售賣機(jī)會(huì);
-
對(duì)搜索產(chǎn)品開(kāi)發(fā)而言,用戶搜索后的結(jié)果數(shù)、排序功能、篩選等功能怎樣,引發(fā)了用戶的哪些連環(huán)反應(yīng),為產(chǎn)品功能優(yōu)化提供參考;
-
對(duì)SEO和SEM來(lái)講,站內(nèi)的搜索詞可以作為站外SEM選詞、匹配規(guī)則調(diào)整和站內(nèi)頁(yè)面SEO優(yōu)化的參考…
這些場(chǎng)景固然有用且實(shí)用,但其中有一個(gè)問(wèn)題,除了SEO和SEM對(duì)于關(guān)鍵字的選擇和拓展上,可以采用全量的方式應(yīng)用以外,其他的業(yè)務(wù)體系都無(wú)法直接拿來(lái)復(fù)用。換句話說(shuō),SEO和SEM可以把所有關(guān)鍵字拿來(lái)用,但其他業(yè)務(wù)部門只能用到其中一部分,原因是大量關(guān)鍵詞從單純從字面上無(wú)法挖掘深層價(jià)值。 舉個(gè)例子,比如家電采銷需要過(guò)濾出某段時(shí)間家電相關(guān)搜索詞,通過(guò)搜索某些關(guān)鍵詞詞根,然后用正則或模糊匹配來(lái)搜索結(jié)果并作進(jìn)一步分析,但總有很大一部分次是業(yè)務(wù)無(wú)法提取的價(jià)值所在,比如:
-
“三星”和“note2”,沒(méi)有經(jīng)驗(yàn)的人是無(wú)法知曉二者是如何關(guān)的?
-
搜索“三星”的,你并不知道他想找的是三星手機(jī)還是三星電視;
-
我在一次訪問(wèn)中搜索了n多詞,到底想找什么還是隨便看看?
-
作為家電品類的目標(biāo)客戶,通常會(huì)搜索哪些詞?
-
隱藏用戶搜索詞中的特定需求有哪些——比如超薄、紅色還是商務(wù)特點(diǎn)?
四、非結(jié)構(gòu)化文本數(shù)據(jù)的挖掘?qū)崿F(xiàn)
默認(rèn)我們都是通過(guò)Data Feed或Raw Data的形式進(jìn)行挖掘,因此這里講省略掉數(shù)據(jù)監(jiān)測(cè)收集和入庫(kù)的過(guò)程,只從數(shù)據(jù)挖掘的角度進(jìn)行探討。
1. 基于關(guān)聯(lián)規(guī)則的文本挖掘
關(guān)聯(lián)規(guī)則中最常用的是Apriori,其核心是基于兩階段頻集思想的遞推算法,該關(guān)聯(lián)規(guī)則在分類上屬于單維、單層、布爾關(guān)聯(lián)規(guī)則,常用于事務(wù)性的挖掘規(guī)則中(所謂事務(wù)性規(guī)則是事件間的關(guān)聯(lián),無(wú)事件概念),比如在一次事件中通常哪兩種事件或事物一起發(fā)生。 這種關(guān)聯(lián)規(guī)則的問(wèn)題在于缺乏時(shí)間的因素,只能判斷同期內(nèi)發(fā)生事件。比如用關(guān)聯(lián)規(guī)則出現(xiàn)的問(wèn)題可能是:搜索了三星的用戶還搜索了蘋果,這種結(jié)果應(yīng)用在搜索功能體驗(yàn)上沒(méi)有問(wèn)題,但是如果應(yīng)用在有強(qiáng)烈時(shí)間關(guān)系的場(chǎng)景下就有問(wèn)題了:
A、B兩篇文章,分別是上下文兩部分,這兩部分通過(guò)關(guān)聯(lián)規(guī)則提示相關(guān)性必然非常強(qiáng),但里面的推薦邏輯是看了A(上文)后才看B(下文),而不是先推薦看B,再看A;
A、B兩個(gè)商品有強(qiáng)烈的關(guān)聯(lián),假設(shè)A為鼠標(biāo),B為筆記本,通常是先購(gòu)買筆記本,然后才是購(gòu)買鼠標(biāo),如果再買了鼠標(biāo)之后推薦買筆記本,顯示失去了邏輯關(guān)系。
諸如此類的應(yīng)用場(chǎng)景非常多,核心是要把事物發(fā)生的先后順序考慮在里面。因此關(guān)聯(lián)規(guī)則通常適用于沒(méi)有明顯時(shí)間序列的業(yè)務(wù)應(yīng)用場(chǎng)景,另外對(duì)于支持度和置信度的設(shè)置都要根據(jù)實(shí)際業(yè)務(wù)經(jīng)驗(yàn)來(lái)調(diào)整,過(guò)低的支持度和置信度出來(lái)的規(guī)則沒(méi)有意義,過(guò)高的設(shè)置又帶來(lái)規(guī)則過(guò)少。 關(guān)聯(lián)規(guī)則相對(duì)其他數(shù)據(jù)挖掘模型簡(jiǎn)單,更易于業(yè)務(wù)理解和應(yīng)用,通常解釋的是“干了某件事之后還會(huì)干什么事”,比如:
-
搜了某個(gè)關(guān)鍵字之后用戶還會(huì)搜索什么?
-
看了某頁(yè)面/文章/評(píng)論之后用戶還會(huì)看什么?
-
從某個(gè)渠道進(jìn)入之后通常還會(huì)從那個(gè)渠道進(jìn)入?
2. 序列模式挖掘
序列模式挖掘解釋的關(guān)系跟關(guān)聯(lián)模型相同,只不過(guò)把時(shí)間因素考慮在內(nèi),算法包括三類:
-
類Apriori算法:典型代表GSP算法,SPADE算法;
-
基于劃分模式的生長(zhǎng)算法:典型代表是FreeSpan和PrefixSpan算法;
-
基于序列比較的算法:代表為Disc-all;
整體來(lái)看PrefixSpan和Disc-all在算法效率和性能表現(xiàn)上會(huì)更好,同時(shí),考慮到業(yè)務(wù)對(duì)時(shí)間上的約束條件,比如我們分析發(fā)現(xiàn),用戶的存留周期只有1年,那么我們只想對(duì)1年內(nèi)發(fā)生重復(fù)行為的用戶進(jìn)行針對(duì)性動(dòng)作,1年就是我們的約束條件。這也是在做基于時(shí)間序列也需要考慮的因素。
3. 文本聚類挖掘
聚類分析是業(yè)務(wù)進(jìn)入數(shù)據(jù)挖掘場(chǎng)景最基本的需求,通常的需求如,描述某類用戶的基本特征,同時(shí),這些特征可以作為進(jìn)一步挖掘和分析的基本條件。聚類分析中最常用的算法是K-MEANS聚類和兩步聚類,由于聚類方法簡(jiǎn)單實(shí)用,在此做分析下二者的差異點(diǎn)和主要應(yīng)用點(diǎn):
K-MEANS聚類:客戶特征整體分群分析,大量會(huì)員或用戶進(jìn)行分群,找到不同群體突出特點(diǎn)。特點(diǎn):①噪點(diǎn)過(guò)濾(但是不能控制過(guò)濾程度),②分組數(shù)自動(dòng)/指定皆可,③通過(guò)標(biāo)準(zhǔn)化減少極值影響。
兩步聚類:兩步聚類與K均值應(yīng)用場(chǎng)景一致,特點(diǎn):①要求指定分組數(shù),一定經(jīng)驗(yàn)要求,②受極值、噪點(diǎn)影響大且不能設(shè)置,③大數(shù)據(jù)量時(shí)開(kāi)銷資源大,④受初始質(zhì)點(diǎn)選擇分類受影響大。
通常我們會(huì)把文本中的字段作為聚類的變量,以此來(lái)挖掘某類用戶的具體特征。文本聚類常用的業(yè)務(wù)場(chǎng)景是:把用戶分類,然后查看某類用戶中哪些特征較為明顯,然后針對(duì)性的做進(jìn)一步細(xì)分和挖掘,比如: 把購(gòu)買的用戶分成3類(既可以指定,也可以系統(tǒng)自動(dòng)分類),然后找到每類用戶中的突出特點(diǎn),如A類用戶對(duì)優(yōu)惠券、折扣的敏感度高,那么可以結(jié)合其他特征定義為價(jià)格主導(dǎo)型客戶;B類用戶對(duì)產(chǎn)品需求集中度高,但受價(jià)格波動(dòng)和其他因素影響較小,屬于產(chǎn)品導(dǎo)向型;C類用戶對(duì)評(píng)論、咨詢、分享的參與率高,并且明顯影響其購(gòu)買決策,那么這類用戶屬于輿論導(dǎo)向型。將這些用戶簡(jiǎn)單分類之后,再深挖其中每類用戶受其中每個(gè)變量的影響程度,比如結(jié)合決策列表和決策樹(shù)深挖其購(gòu)買決策影響因素,找到某類用戶影響決策的最終因素。
4. 文本規(guī)則提取
所謂的文本規(guī)則提取,指的是把文本作為用戶提取規(guī)則的一個(gè)變量,通常用決策樹(shù)、SVM、SLRM來(lái)提取業(yè)務(wù)規(guī)則,比如要找到購(gòu)買家電類的用戶,他們對(duì)產(chǎn)品有哪些需求點(diǎn),可以通過(guò)以下幾種方式提取規(guī)則:
決策樹(shù):決策樹(shù)挖掘模式通常使用C 5.0、C&RT、CHAID、QUEST等,決策樹(shù)模型的特點(diǎn)是以樹(shù)狀展現(xiàn)規(guī)則,并按照規(guī)則對(duì)目標(biāo)的影響程度分支,非常利于業(yè)務(wù)理解和規(guī)則提取。
文本規(guī)則提取通常也叫做分類,意思是把具備某類目標(biāo)的用戶中影響因素***的幾個(gè)規(guī)則提取出來(lái)。這是業(yè)務(wù)應(yīng)用最常用的一種數(shù)據(jù)挖掘模型,常用于:
-
在已經(jīng)找到的目標(biāo)用戶群體中,發(fā)現(xiàn)流失用戶的集中特點(diǎn),比如***一次購(gòu)買間隔超過(guò)6個(gè)月,此時(shí)可以對(duì)超過(guò)6個(gè)月的用戶做流失前的挽回;
-
要針對(duì)A類商品促銷,可以針對(duì)購(gòu)買了A類商品的用戶進(jìn)行規(guī)則挖掘,可能找到的是上次購(gòu)買的是C商品,同時(shí)收入高于1000,地域是北京的用戶,此時(shí)直接提取出具備該規(guī)則的用戶進(jìn)行精準(zhǔn)營(yíng)銷;
-
比如現(xiàn)在有一批新品需要推廣,需要找到目標(biāo)人群,可以針對(duì)已知人群進(jìn)行挖掘,最終出來(lái)的結(jié)果可能是搜索搜索了黑色、篩選了“新品上架”、年齡是25歲以下的女性用戶,針對(duì)具備這些規(guī)則的用戶的精準(zhǔn)營(yíng)銷必然具有很好的效果和拉升作用;
-
把客戶進(jìn)行A/B/C分級(jí)之后,找到A類客戶評(píng)論、標(biāo)簽和關(guān)鍵字中的關(guān)鍵字段,找到各類用戶的典型情感標(biāo)簽。
以上四類是文本數(shù)據(jù)挖掘中最常用的場(chǎng)景,由于文本的限制,文本不能參與到數(shù)據(jù)挖掘中對(duì)變量類型要求是數(shù)據(jù)值相關(guān)的字符集的建模中。但文本經(jīng)過(guò)處理后可以作為建模的重要變量,并且該變量由于非結(jié)構(gòu)化的屬性,具有更多的色彩。
在文本挖掘中,充滿挑戰(zhàn)的是對(duì)文本段落的挖掘和關(guān)鍵字的提取,比如用戶在一段評(píng)論中,如何提取大段文字中的關(guān)鍵字標(biāo)簽是關(guān)鍵,當(dāng)然欣喜的是國(guó)內(nèi)已經(jīng)有些公司有實(shí)力做文本關(guān)鍵字的提取,同時(shí)結(jié)合SEO的方法基本能有效提煉大段文字中的關(guān)鍵字。
但另一個(gè)挑戰(zhàn)是文本的“語(yǔ)意”。由于文本在漢語(yǔ)中的豐富的色彩,對(duì)文本的感情屬性的判斷需要根據(jù)語(yǔ)境,比如“很好”這個(gè)詞,普通情況下是贊美的語(yǔ)意,但如果上文說(shuō)到是負(fù)面,再結(jié)合這個(gè)詞,則明顯是諷刺的意思。文本語(yǔ)意挖掘在用戶輿論風(fēng)向標(biāo)、用戶評(píng)價(jià)積極性、用戶滿意度和好感度中的應(yīng)用及其重要,目前尚沒(méi)有有效的機(jī)器解決方案,當(dāng)前更多的是結(jié)合機(jī)器算法以及人工識(shí)別是主流解決方法。
當(dāng)然,隨著機(jī)器學(xué)習(xí)算法的深入研究以及CPU性能的提高,機(jī)器很有可能達(dá)到或超過(guò)人腦的能力,屆時(shí)可能會(huì)實(shí)現(xiàn)對(duì)語(yǔ)言的判斷,另外通過(guò)人工干預(yù)預(yù)設(shè)固定場(chǎng)景和學(xué)習(xí)路徑,也許會(huì)解決中國(guó)語(yǔ)言中語(yǔ)境的問(wèn)題。