徐亞鳳 牡丹江大學(xué)
隨著以博客、社交網(wǎng)絡(luò)、基于位置服務(wù)為代表的新型發(fā)布方式的不斷涌現(xiàn),以及互聯(lián)網(wǎng)、云計(jì)算、移動(dòng)和物聯(lián)網(wǎng)的迅猛發(fā)展,數(shù)據(jù)正在以前所未有的速度不斷增長(zhǎng)和累積,大數(shù)據(jù)時(shí)代已經(jīng)到來(lái)。
移動(dòng)設(shè)備、RFID、無(wú)線傳感器等無(wú)處不在,隨著數(shù)以億計(jì)用戶的互聯(lián)網(wǎng)服務(wù)中產(chǎn)生巨量的交互,它們每時(shí)每刻都在產(chǎn)生大量的數(shù)據(jù)。要處理的數(shù)據(jù)量之大,數(shù)據(jù)的增長(zhǎng)速度之快,對(duì)數(shù)據(jù)處理的實(shí)時(shí)性、有效性提出了更高的要求,傳統(tǒng)的數(shù)據(jù)處理技術(shù)手段無(wú)法滿足要求,新的大數(shù)據(jù)技術(shù)如分布式緩存使用、基于MPP的分布式數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)、各種NoSQL分布式存儲(chǔ)方案等不斷涌現(xiàn)。
Hadoop是由Apache基金會(huì)開(kāi)發(fā)的分布式存儲(chǔ)與計(jì)算框架,Hadoop由兩個(gè)重要的模塊組成,一個(gè)是Hadoop分布式文件系統(tǒng)HDFS,另一個(gè)是分布式計(jì)算系統(tǒng)Map Reduce。目前,由于Hadoop具有硬件成本低廉、軟件體系開(kāi)源、較好的靈活性、允許用戶進(jìn)行代碼修改,同時(shí)能支持海量數(shù)據(jù)存儲(chǔ)和計(jì)算任務(wù)等特點(diǎn),Hadoop被很多大的互聯(lián)網(wǎng)公司所追捧,百度的搜索日志分析,騰訊、淘寶和支付寶的數(shù)據(jù)倉(cāng)庫(kù)都可以看到Hadoop的身影。
在微博營(yíng)銷推廣的需求不斷上漲的趨勢(shì)下,微博營(yíng)銷也正在趨于多元化,微博的營(yíng)銷價(jià)值日益凸顯。隨著大數(shù)據(jù)技術(shù)的不斷發(fā)展,精準(zhǔn)營(yíng)銷在互聯(lián)網(wǎng)廣告領(lǐng)域中的應(yīng)用變得如火如荼,較傳統(tǒng)的廣告而言,廣告模式發(fā)生了很大的變化。通過(guò)智能的大數(shù)據(jù)分析,如用戶喜好、人群地域、關(guān)注習(xí)慣等多個(gè)維度建立目標(biāo)用戶畫像,提升觸達(dá)目標(biāo)受眾的精準(zhǔn)度。制定多元化微博推廣策略,對(duì)不同的微博推廣資源進(jìn)行有效組合,從而提升品牌的微博營(yíng)銷效果,實(shí)現(xiàn)推廣目標(biāo)最大化。
在海量的微博下,我們需要計(jì)算出每篇微博里的熱點(diǎn)詞,然后根據(jù)熱點(diǎn)詞的權(quán)重?cái)?shù)據(jù)進(jìn)行廣告投放,以達(dá)到智能廣告營(yíng)銷的目的??梢酝ㄟ^(guò)對(duì)每條微博進(jìn)行中文分詞,得到該微博的所有詞條,從而對(duì)每條微博的分詞結(jié)果中的所有詞條進(jìn)行計(jì)數(shù)統(tǒng)計(jì),然后使用公式W=TF+log(N/DF)計(jì)算微博中詞條的權(quán)重(公式中W代表該詞的權(quán)重,TF表示該詞在微博中出現(xiàn)的次數(shù),N是所有微博條數(shù),DF是所有微博中出現(xiàn)該詞的條數(shù)),以此實(shí)現(xiàn)數(shù)學(xué)建模。
通過(guò)數(shù)學(xué)建模,可以計(jì)算出每篇微博中熱點(diǎn)詞條,權(quán)重越大,說(shuō)明該詞條越能代表該博文的主要內(nèi)容。從而可以推送相應(yīng)的廣告至相應(yīng)的詞條。如某篇文章中的“打車”是主要詞條,就可以在該篇博文中投放打車軟件的廣告了。
這 里 應(yīng) 用 了 TF-IDF(term frequency-inverse document frequency)模型的思想,這種模型思想主要用于信息檢索與數(shù)據(jù)挖掘的常用加權(quán)技術(shù)。TF是指詞頻(Term Trequency),TDF是指逆文本頻率指數(shù)(Inverse Document Frequency)。
TF-IDF作為一種用來(lái)評(píng)估一個(gè)詞條在一個(gè)文件集或一個(gè)語(yǔ)料庫(kù)中的重要程度的統(tǒng)計(jì)方法,當(dāng)詞條在文件中出現(xiàn)的次數(shù)不斷增加,詞條的重要性也隨之呈正比增加,但也會(huì)隨著它在語(yǔ)料庫(kù)中出現(xiàn)的頻率成反比下降。目前,TF-IDF加權(quán)的各種形式常被搜索引擎應(yīng)用,作為文件與用戶查詢之間相關(guān)程度的度量或評(píng)級(jí)。除TF-IDF外,互聯(lián)網(wǎng)上的搜索引擎還會(huì)使用基于鏈接分析的評(píng)級(jí)方法,以確定文件在搜尋結(jié)果中出現(xiàn)的順序。
在實(shí)際項(xiàng)目中,我們更建議計(jì)算所有微博中所有詞組在該微博中的權(quán)重。因?yàn)槿绻@次推送的是打車廣告,只計(jì)算打車的權(quán)重就好了,但如果同時(shí)又要進(jìn)行豆?jié){機(jī)廣告,重新計(jì)算一次豆?jié){的權(quán)重就不是合適的做法了。一次將所有詞的權(quán)重計(jì)算出來(lái),根據(jù)需要提取即可。當(dāng)然,具體解決方案還應(yīng)取決于項(xiàng)目的具體業(yè)務(wù)情況。
下面,以1500篇左右的微博為例,分析程序?qū)崿F(xiàn)過(guò)程。根據(jù)詞語(yǔ)權(quán)重計(jì)算公式,要計(jì)算W,首先要計(jì)算出TF、N和DF的值。
現(xiàn)假設(shè)微博的一行數(shù)據(jù)即為一個(gè)微博的帖子,則根據(jù)MapReduce的工作原理,通過(guò)讀取樣本中的一行微博數(shù)據(jù),對(duì)微博內(nèi)容進(jìn)行分詞,得到許多需要計(jì)算權(quán)重的詞條,進(jìn)而統(tǒng)計(jì)出每一詞條在該微博中出現(xiàn)的次數(shù)。
Mapper的輸出value可以確定為1,key如果是詞本身的話,則到Reduce方法中計(jì)算的將會(huì)是所有微博中該詞出現(xiàn)的次數(shù),所有,key除了詞還要帶上一個(gè)唯一的微博Id標(biāo)識(shí),這樣,相同微博中的相同詞會(huì)被送到相同的Reduce中。在Mapper做分詞和輸出的時(shí)候,也可以順便將N計(jì)算出來(lái),每次輸入都是一條微博,把key固定,value為1,Reduce中直接累加就可以得到N的值。
對(duì)于DF,直接從原始的微博數(shù)據(jù)中計(jì)算每個(gè)詞的DF比較復(fù)雜,我們可以在TF的輸出結(jié)果的基礎(chǔ)上進(jìn)行DF的計(jì)算。
最 后, 我 們 采 用DistributedCache, 將N、NF的 值 從DistributedCache中取出來(lái),存入兩個(gè)Map集合中,讀取TF結(jié)果文件對(duì)每個(gè)詞進(jìn)行建設(shè)輸出即可得到結(jié)果。
5.1 求解中文分詞和計(jì)算N
(1)Mapper類實(shí)現(xiàn)
(2)Reducer類實(shí)現(xiàn)
5.2 TF求解。在中文分詞的計(jì)算結(jié)果的基礎(chǔ)上,對(duì)博文中的詞條進(jìn)行計(jì)
(1)Mapper類實(shí)現(xiàn)
(2)Reducer類實(shí)現(xiàn)
(1)Mapper類實(shí)現(xiàn)
(2)Reducer類實(shí)現(xiàn)
以上采用TF-IDF算法模型,對(duì)微博中的熱點(diǎn)詞頻及詞重進(jìn)行了統(tǒng)計(jì)計(jì)算,在實(shí)際應(yīng)用中,我們可以根據(jù)市場(chǎng)應(yīng)用人群的特點(diǎn)及社會(huì)政治因素等多方面的綜合考量,進(jìn)而進(jìn)行廣告的投放與營(yíng)銷。