国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ElasticS earch的科技服務(wù)推薦系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2024-04-29 08:32勇,劉菲,蒙
甘肅科技 2024年3期
關(guān)鍵詞:排位字段熱詞

劉 勇,劉 菲,蒙 杰

(甘肅省科學(xué)技術(shù)情報(bào)研究所∕甘肅省科技評(píng)價(jià)監(jiān)測(cè)重點(diǎn)實(shí)驗(yàn)室,甘肅 蘭州 730000)

1 研究概述

1.1 研究背景與意義

隨著更多的社會(huì)資源進(jìn)行網(wǎng)絡(luò)化和數(shù)據(jù)化,大數(shù)據(jù)所能承載的價(jià)值不斷提升,應(yīng)用邊界不斷擴(kuò)大,使用戶獲取各方面的信息更加便捷,幫助用戶在繁復(fù)的信息中能夠精準(zhǔn)快速的篩選出自己所需的信息至關(guān)重要。推薦引擎技術(shù)已經(jīng)滲入生活之中,如淘寶的猜你喜歡、QQ 的好友推薦、今日頭條的文章推薦、網(wǎng)易云音樂(lè)的曲目推薦、Gmail 的廣告推送等。用戶看似使用的是同一款軟件,但呈現(xiàn)的頁(yè)面結(jié)果卻是千人千面,這都與基于大數(shù)據(jù)不同維度的個(gè)性化推薦有關(guān)[1]。對(duì)于用戶而言,提高單位時(shí)間的信息價(jià)值,減少噪聲干擾的同時(shí)得到更好的信息體驗(yàn);從應(yīng)用角度來(lái)說(shuō),可以精準(zhǔn)地定位到不同的用戶,提高推廣效果,減少用戶流失的可能性。推薦系統(tǒng)已成為互聯(lián)網(wǎng)公司營(yíng)銷(xiāo)體系中非常重要的一環(huán)并有實(shí)際的收益[2]。

1.2 研究現(xiàn)狀

推薦是各大互聯(lián)網(wǎng)公司十分重要的營(yíng)收手段,一直備受工業(yè)界與學(xué)術(shù)界的關(guān)注。過(guò)去幾年,推薦系統(tǒng)由早期的協(xié)同過(guò)濾算法[3]發(fā)展到MF模型、再到之后的Wide&Deep,以及基于Network Embedding的方法,可以明顯地看到基于神經(jīng)網(wǎng)絡(luò)的方法正在逐漸占據(jù)主要位置,而GNN的出現(xiàn)又一次加速了技術(shù)趨勢(shì)[4]。由于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)的成熟,以及對(duì)各種復(fù)雜特征的應(yīng)用方法逐步穩(wěn)定。

在工業(yè)界,國(guó)內(nèi)科技公司如京東、淘寶等都在普遍利用機(jī)器學(xué)習(xí)來(lái)構(gòu)建推薦系統(tǒng),推薦系統(tǒng)普遍應(yīng)用于生活中并且取得了明顯進(jìn)步,但也面臨著數(shù)據(jù)稀少、用戶行為的復(fù)雜性、業(yè)務(wù)的多樣性、冷啟動(dòng)、精確性的兩難窘境。

在學(xué)術(shù)界,中國(guó)學(xué)者在推薦系統(tǒng)中廣泛應(yīng)用深度學(xué)習(xí)技術(shù),如卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等,以提高推薦性能[5]。一些研究關(guān)注將社交網(wǎng)絡(luò)信息整合到推薦系統(tǒng)中,以提高個(gè)性化推薦的準(zhǔn)確性。針對(duì)多種類型的數(shù)據(jù)(文本、圖像、音頻等)進(jìn)行推薦的研究逐漸增多,這有助于更全面地了解用戶興趣。針對(duì)實(shí)時(shí)性要求較高的應(yīng)用,研究者致力于設(shè)計(jì)能夠快速適應(yīng)用戶興趣變化的實(shí)時(shí)推薦系統(tǒng)。

1.3 創(chuàng)新點(diǎn)及優(yōu)勢(shì)

(1)系統(tǒng)采用ElasticSearch 搜索引擎,相較于關(guān)系型數(shù)據(jù)庫(kù),檢索速度更快。

(2)系統(tǒng)采用ElasticSearch 搜索引擎,引用第三方插件IKAnanlyzer分詞器,增加自定義詞庫(kù)對(duì)數(shù)據(jù)進(jìn)行分詞處理,讓搜索引擎更加高效和準(zhǔn)確。

(3)系統(tǒng)有效的解決了冷啟動(dòng)問(wèn)題。對(duì)于用戶冷啟動(dòng)問(wèn)題,解決辦法是將所有用戶近幾天查看的相關(guān)產(chǎn)品推薦給新用戶。對(duì)于物品冷啟動(dòng)問(wèn)題,文章的解決辦法是增加資源最近上新時(shí)間權(quán)重,將新增的物品推薦給可能會(huì)感興趣的用戶。

(4)對(duì)于開(kāi)發(fā)者而言,無(wú)需了解太多復(fù)雜算法,大大減少了學(xué)習(xí)成本,極大地提高了開(kāi)發(fā)效率。

2 推薦系統(tǒng)的設(shè)計(jì)

該系統(tǒng)以科技創(chuàng)新公共服務(wù)平臺(tái)積累的大量科技服務(wù)、科研店鋪、科學(xué)儀器、技術(shù)轉(zhuǎn)移、專家信息等數(shù)據(jù)為支撐,依托ElasticSearch 大數(shù)據(jù)分析挖掘技術(shù),采用TF-IDF、LUCentere、熱詞統(tǒng)計(jì)發(fā)現(xiàn)算法等算法,計(jì)算每個(gè)文檔的相關(guān)性得分,對(duì)其進(jìn)行推薦排序。系統(tǒng)功能結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)功能結(jié)構(gòu)圖

2.1 數(shù)據(jù)抽取子系統(tǒng)

(1)數(shù)據(jù)導(dǎo)入

將科技資源、科研服務(wù)等數(shù)據(jù)信息從SQLServer關(guān)系型數(shù)據(jù)庫(kù)中采用Python 程序異步批量導(dǎo)入ElasticSearch 中,其中數(shù)據(jù)字段包含主要介紹內(nèi)容、時(shí)間、名稱、所屬科學(xué)領(lǐng)域、收藏?cái)?shù)、收藏區(qū)間上升數(shù)、點(diǎn)擊量、點(diǎn)擊區(qū)間上升數(shù)、點(diǎn)贊數(shù)、點(diǎn)贊區(qū)間上升數(shù),每12 h 運(yùn)行一次Python 程序進(jìn)行一次定時(shí)數(shù)據(jù)更新。

(2)用戶行為存儲(chǔ)

在ElasticSearch 中創(chuàng)建一個(gè)用于存儲(chǔ)用戶搜索、瀏覽、購(gòu)買(mǎi)、評(píng)論等信息的索引,將用戶的id、所查看服務(wù)的分類、服務(wù)名稱、服務(wù)內(nèi)容、服務(wù)所屬店鋪等信息存入該索引中。數(shù)據(jù)類型見(jiàn)表1。

表1 數(shù)據(jù)存儲(chǔ)類型

其中用戶點(diǎn)擊時(shí)間存儲(chǔ)為日期類型,便于后續(xù)進(jìn)行時(shí)間區(qū)間檢索;服務(wù)名稱與服務(wù)內(nèi)容存儲(chǔ)為全文本(text)類型,便于日后進(jìn)行排序聚合,其他存儲(chǔ)均為關(guān)鍵字(keyword)類型。

ElasticSearch 中字符類型包括text 類型與keyword類型,text類型的數(shù)據(jù)被用來(lái)索引長(zhǎng)文本,在建立索引文檔之前會(huì)被分詞器進(jìn)行分詞,轉(zhuǎn)化為詞組。經(jīng)過(guò)分詞機(jī)制之后ES 允許檢索到該文本切分而成的詞語(yǔ),但是text類型的數(shù)據(jù)不能用來(lái)過(guò)濾、排序和聚合等操作。keyword 類型不支持文本分詞但可以進(jìn)行過(guò)濾、排序和聚合。

text 類型的字段若想進(jìn)行排序和聚合,則需要在設(shè)置字段時(shí)設(shè)置fielddata為“true”。fielddata的結(jié)構(gòu)與正排索引非常相像,構(gòu)建和管理都在內(nèi)存中并常駐于JVM內(nèi)存堆,加載太多的數(shù)據(jù)到內(nèi)存會(huì)導(dǎo)致垃圾回收(gc)緩慢,甚至可能導(dǎo)致OutOfMemory 異常,一般不推薦使用[6]。為了限制fielddata使用大量的內(nèi)存,則需要設(shè)置indices.fielddata.cache.size 參數(shù),該參數(shù)控制fielddata 堆內(nèi)存分配。當(dāng)執(zhí)行一個(gè)查詢需要訪問(wèn)新的字段值的時(shí)候,將會(huì)把值加載到內(nèi)存,然后試著把它們加入到fielddata。如果fielddata大小超過(guò)指定的大小,為了騰出空間,別的值就會(huì)被驅(qū)逐出去。默認(rèn)情況下,這個(gè)參數(shù)設(shè)置的是無(wú)限制,即Elasticsearch 將永遠(yuǎn)不會(huì)把數(shù)據(jù)從fielddata里替換出去,這個(gè)設(shè)置是一個(gè)保護(hù)措施,而不是一個(gè)內(nèi)存不足的解決方案。使用默認(rèn)的設(shè)置,來(lái)自老索引的fielddata不會(huì)被清除出去,fielddata會(huì)一直增長(zhǎng)直到阻止你繼續(xù)加載fielddata,在那時(shí)程序?qū)?huì)被卡住。為了避免這類情形產(chǎn)生,需在config∕elasticsearch.yml 文件里加上indices.fielddata.cache.size的值為20%的配置給fielddata 設(shè)置一個(gè)上限,最久未使用(LRU)的fielddata 將會(huì)被回收,給新加載的數(shù)據(jù)騰出空間。

(3)文本分詞

由于ElasticSearch 的內(nèi)置分詞器對(duì)中文有一定的局限性,本系統(tǒng)引用第三方插件IKAnanlyzer分詞器,IK分詞器包含ik_max_word和ik_smart兩種分詞模式[7]。ik_max_word 為最大限度分詞,而ik_smart盡量以詞語(yǔ)的形式分詞。IK分詞器雖然優(yōu)于ES提供的默認(rèn)分詞器,但是仍存在一個(gè)弊端,即不能識(shí)別網(wǎng)絡(luò)中的熱詞或者一些小區(qū)名等,故需自定義一些詞匯用于分詞處理。首先定義擴(kuò)展字典,如“蘭州大學(xué)”“科學(xué)技術(shù)”“高新技術(shù)企業(yè)”等的專有名詞,可在分詞時(shí)不拆分;再定義擴(kuò)展停止詞字典,如“①”“&”“雖說(shuō)”等一些無(wú)關(guān)緊要的語(yǔ)氣助詞、動(dòng)詞、形容詞等,可在分詞時(shí)對(duì)停用詞進(jìn)行屏蔽與過(guò)濾處理[8]。

2.2 數(shù)據(jù)分析子系統(tǒng)

(1)過(guò)濾與聚合

根據(jù)用戶ID 對(duì)近1 個(gè)月到近7 d、近7 d 兩個(gè)時(shí)間段的行為進(jìn)行聚類統(tǒng)計(jì),再對(duì)所有用戶近1 個(gè)月到近7 d、近7 d兩個(gè)時(shí)間段的行為進(jìn)行聚類。

采用熱詞統(tǒng)計(jì)發(fā)現(xiàn)算法中的加權(quán)變化率對(duì)熱詞進(jìn)行計(jì)算。首先對(duì)近7 d聚類的采錄訪問(wèn)主題詞進(jìn)行循環(huán),當(dāng)其中元素的字符長(zhǎng)度小于2,跳出本次循環(huán)執(zhí)行下一次循環(huán)。否則,判斷其中元素是否存在于近1 月至7 d 聚類出現(xiàn)結(jié)果全集中。若匹配到之前存在這個(gè)詞,則令匹配到之前的次數(shù)為近1 月至7 d聚類出現(xiàn)結(jié)果全集中該元素出現(xiàn)的總次數(shù),否則令匹配到之前的次數(shù)為0。該元素加權(quán)變化率:

其中:CZ為近7 d 搜索次數(shù),Cqq為匹配到之前的次數(shù)。若加權(quán)變化率小于0,則將該元素放入停用詞數(shù)組中,否則判斷停用詞數(shù)組中是否包含該元素。若停用詞數(shù)組包含該元素則跳出此次循環(huán)進(jìn)入下一循環(huán),若不包含該元素則令該元素權(quán)重為1.1×該元素加權(quán)變化率,將該元素和權(quán)重放入熱詞數(shù)組中,具體流程如圖2所示。

圖2 熱詞加權(quán)流程圖

其中WQ為近1月至7 d聚類出現(xiàn)結(jié)果全集,CQ為近1月至近7 d聚類檢索總次數(shù),WZ為近7 d搜索詞全集,CZ為近7 d搜索總次數(shù),Cqq為匹配到為近1 月至近7 天的搜索次數(shù),stopWord 為停用詞,topicWord為熱詞,RateWithWeight為加權(quán)變化率。

(2)相似度計(jì)算

采用TF-IDF、LUCentere相關(guān)性等算法,將熱詞集合與庫(kù)中數(shù)據(jù)進(jìn)行相似度計(jì)算排序。

首先提取熱詞,通過(guò)標(biāo)題、內(nèi)容、單位等字段進(jìn)行匹配,將最小匹配度設(shè)置為80%,按照相關(guān)度進(jìn)行排序顯示。其中在標(biāo)題字段上加權(quán)重,使得詞干出現(xiàn)在標(biāo)題字段上比出現(xiàn)在其他字段上的文檔匹配分值高。

其次,按受歡迎度提升權(quán)重,將收藏?cái)?shù)、收藏區(qū)間上升數(shù)、點(diǎn)擊量、點(diǎn)擊區(qū)間上升數(shù)、點(diǎn)贊數(shù)、點(diǎn)贊區(qū)間上升數(shù)、產(chǎn)品上新時(shí)間作為考慮因素分別設(shè)置權(quán)重進(jìn)行分值處理計(jì)算。公式為:

其中:old_score 為之前分?jǐn)?shù)值;new_score 為現(xiàn)在分?jǐn)?shù)值;number_of_votes表示收藏?cái)?shù);收藏區(qū)間上升數(shù)等考慮因素的值,factor 值大于1 會(huì)提升效果,factor值小于1會(huì)降低效果。

然后,對(duì)文檔中的發(fā)布時(shí)間字段設(shè)置一個(gè)理想的值,如果實(shí)際的值越偏離這個(gè)理想值(無(wú)論是增大還是減小),就越不符合期望,分?jǐn)?shù)就越低。系統(tǒng)采用高斯衰減函數(shù),若將當(dāng)前日期設(shè)的為原點(diǎn),所有距原點(diǎn)前7 d 范圍內(nèi)的位置的評(píng)分是1.0,距原點(diǎn)30 d的位置評(píng)分是0.5。

最后,將各個(gè)部分分值相加合并成一個(gè)綜合的分值,然后再將綜合的分值與查詢分?jǐn)?shù)相乘,見(jiàn)表2。

表2 文檔得分表

2.3 智能推薦子系統(tǒng)

經(jīng)過(guò)數(shù)據(jù)采集、清洗、導(dǎo)入、用戶行為存儲(chǔ)、文本分析、過(guò)濾、聚合、相似度計(jì)算、倒排索引等操作,采用Bootstrap 框架進(jìn)行前端頁(yè)面的顯示,利用Ajax技術(shù)實(shí)現(xiàn)前后端交互,采用HTTP 協(xié)議與數(shù)據(jù)庫(kù)通信,網(wǎng)絡(luò)采用FTTX+LAN 光纖線路實(shí)現(xiàn)訪問(wèn)ChinaNET和CerNET自動(dòng)分流。

2.4 系統(tǒng)性能測(cè)試

系統(tǒng)測(cè)試數(shù)據(jù)主要源于科技創(chuàng)新公共服務(wù)平臺(tái)經(jīng)過(guò)特殊處理后的歷史數(shù)據(jù),數(shù)據(jù)量約有1萬(wàn)條,搜索性能見(jiàn)表3。

表3 搜索測(cè)試結(jié)果

從表3 分析可知,對(duì)于大量的數(shù)據(jù)檢索,ES 檢索所花費(fèi)的時(shí)間遠(yuǎn)低于傳統(tǒng)的數(shù)據(jù)庫(kù)檢索。

3 相關(guān)技術(shù)

3.1 熱詞統(tǒng)計(jì)發(fā)現(xiàn)算法

求熱詞時(shí),單純比較每天詞條的出現(xiàn)次數(shù)是不行的,主要是需要比較多天之間的出現(xiàn)次數(shù)。具體有以下算法。

(1)排位差

算法的核心思想是根據(jù)詞語(yǔ)每天出現(xiàn)次數(shù)求出其排在第幾,之后計(jì)算2 d的排位差,根據(jù)排位差求熱度。

首先,統(tǒng)計(jì)每一個(gè)詞在昨天和前天出現(xiàn)的次數(shù),并找出排位前N 的詞語(yǔ)集合。其次,計(jì)算每個(gè)詞兩天的排位差。最后,根據(jù)詞語(yǔ)的排位差進(jìn)行排序,其中排位變化最大的就是最熱的詞。

如果昨天出現(xiàn)的詞前天也同樣存在則排位差的公式為:

式中:Position(w,昨日)表示詞條昨日排位,Position(w,前日)表示詞條前日排位。若昨天出現(xiàn)的詞前天并未出現(xiàn)則排位差的公式為:

式中:N為詞條前日全部排位數(shù)。詞條這兩天的排位差PositionChange越小,表示其越火。雖然此算法比較笨,必須作三次排序,但是挑選出的詞語(yǔ)效果還是比較好的。

(2)變化率

算法核心思想是根據(jù)詞語(yǔ)2 d的出現(xiàn)次數(shù)求出其出現(xiàn)次數(shù)的比值,根據(jù)比值求出其熱度。

首先,統(tǒng)計(jì)每一個(gè)詞在昨天和前天出現(xiàn)的次數(shù),并找出排位前N 的詞語(yǔ)集合。其次,計(jì)算每個(gè)詞這兩天的變化率,即今日次數(shù)∕昨日次數(shù)。最后,根據(jù)詞語(yǔ)的變化率進(jìn)行排序,其中變化率最大的就是最熱的詞。公式如下:

式中:Cz為某詞昨日訪問(wèn)頻次,Cq為某詞前日訪問(wèn)頻次。該算法雖然簡(jiǎn)單,但是對(duì)于訪問(wèn)次數(shù)少但變化率大的詞語(yǔ)會(huì)占便宜。

(3)加權(quán)變化率

加權(quán)變化率是對(duì)于算法2 的修正,考慮搜索量因素,根據(jù)詞語(yǔ)2 d 的出現(xiàn)次數(shù)和其在總搜索次數(shù)的站的份額求出比值,根據(jù)比值求出其熱度。

首先,統(tǒng)計(jì)每一個(gè)詞在昨天和前天出現(xiàn)的次數(shù),并找出排位前N 的詞語(yǔ)集合。

其次,對(duì)每一個(gè)詞,計(jì)算每個(gè)詞這2 d的加權(quán)變化率。

式中,CZ為昨日搜索總頻次,CQ為前日搜索總頻次。最后,根據(jù)詞語(yǔ)的加權(quán)變化率進(jìn)行排序,其中加權(quán)變化率最大的就是最熱的詞。

3.2 Lucene的實(shí)用評(píng)分函數(shù)

Lucene[9]的評(píng)分是叫做TF∕IDF 算法,根據(jù)分詞詞庫(kù),所有文檔在建立索引的時(shí)候進(jìn)行分詞劃分。進(jìn)行搜索的時(shí)候,也對(duì)搜索的短語(yǔ)進(jìn)行分詞劃分。lucene的算法簡(jiǎn)單來(lái)說(shuō)就是將搜索的短語(yǔ)進(jìn)行分詞得出分詞項(xiàng),每個(gè)分詞項(xiàng)和每個(gè)索引中的文檔根據(jù)TF∕IDF進(jìn)行詞頻出現(xiàn)的評(píng)分計(jì)算[10]。然后每個(gè)分詞項(xiàng)的得分相加,就是這個(gè)搜索對(duì)應(yīng)的文檔得分,公式為:

式中:score(q,d)是文檔d與查詢q的相關(guān)度評(píng)分。

queryNorm(q)為查詢歸一因子,查詢歸一因子將查詢歸一化,使最終的得分不至于太大,從而具有一定的可比性。

coord(q,d)是協(xié)調(diào)因子表示輸入的Token 被文檔匹配到的比例,可以為那些查詢?cè)~包含度高的文檔提供獎(jiǎng)勵(lì),文檔里出現(xiàn)的查詢?cè)~越多,它越有機(jī)會(huì)成為好的匹配結(jié)果。如果檢索“你好朋友”,設(shè)每一個(gè)詞的權(quán)重為1.2,若沒(méi)用協(xié)調(diào)因子,最終評(píng)分會(huì)是文檔里所有詞權(quán)重的總和。比如文檔里有“你好”這一詞則評(píng)分為1.2;文檔里有“你好朋友”則評(píng)分為2.4。協(xié)調(diào)因子將評(píng)分與文檔里匹配詞的數(shù)量相乘,然后除以查詢里所有詞的數(shù)量,如果使用協(xié)調(diào)因子,文檔里有“你好”評(píng)分會(huì)變成1.1×1∕2=0.6,文檔里有“你好朋友”評(píng)分會(huì)變成2.4×2∕2=2.4。

tf(tind)是詞t 在文檔d 中的詞頻,頻率越高,得分越高。

idf(t)指的是詞在集合所有文檔里出現(xiàn)的頻率越高,權(quán)重越低,可以快速縮小范圍找到感興趣的文檔。

t.getBoost()是查詢中使用的權(quán)重。

norm(t,d)為長(zhǎng)度的加權(quán)因子,主要是為了在文檔都匹配的情況下將較短的文檔增加權(quán)重排在前面。

∑(tinq)是查詢q中每個(gè)詞t對(duì)于文檔d的權(quán)重和。

3.3 聚合分析

聚合分析運(yùn)算是數(shù)據(jù)庫(kù)中重要的特性,對(duì)于數(shù)據(jù)分析場(chǎng)景尤為重要。類似于關(guān)系型數(shù)據(jù)庫(kù)中的SUM、AVG、GROUP BY 等,ElasticSearch 也提供了豐富的聚合運(yùn)算方式,可以滿足大部分分析和查詢場(chǎng)景。桶的叫法和SQL 里面分組的概念是類似的,一個(gè)桶就類似SQL 里面的一個(gè)group,多級(jí)嵌套的aggregation,類似SQL 里面的多字段分組?;诜治鲆?guī)則的不同,ES 將聚合分析主要?jiǎng)澐譃镸etric、Bucket、Pipeline及Matrix[11]。

(1)Metric

Metric 是指標(biāo)分析聚合,其主要分為單值分析和多值分析這兩類。

單值分析可以同時(shí)使用多個(gè)單值分析關(guān)鍵詞返回多個(gè)結(jié)果。主要包括以下:

min:返回?cái)?shù)值類型字段的最小值。

max:返回?cái)?shù)值類型字段的最大值。

avg:返回?cái)?shù)值類型字段的平均值。

sum:返回?cái)?shù)值類型字段值的總和。

cardinality:返回不重復(fù)的總個(gè)數(shù)。

weight avg:在計(jì)算平均數(shù)時(shí)會(huì)使用另外一個(gè)字段作為每個(gè)文檔的權(quán)重。

value count:統(tǒng)計(jì)某字段所有有值的文檔數(shù)。

多值分析可以輸出多個(gè)結(jié)果。主要包括以下:

stats:一次性返回所有單值結(jié)果。

extended_stats:對(duì)stats進(jìn)行擴(kuò)展,包含更多,如:方差,標(biāo)準(zhǔn)差,標(biāo)準(zhǔn)差范圍等。

percentile:百分位數(shù)統(tǒng)計(jì),比如用于統(tǒng)計(jì)95%的員工工資都小于某個(gè)值或者大于某個(gè)值。

percentile rank:和percentile 統(tǒng)計(jì)方向相反,比如用于統(tǒng)計(jì)工資小于2 萬(wàn)的員工落在哪個(gè)百分比上。

top hits:一般用于在查詢結(jié)果中返回每個(gè)桶(bucket)中的頂部N 個(gè)文檔,使用時(shí)一般需要帶上排序信息。

(2)Bucket

分桶聚合,將滿足同一種條件的數(shù)據(jù)放在一個(gè)桶中,類似于關(guān)系型數(shù)據(jù)庫(kù)中的group by 語(yǔ)法,根據(jù)一定規(guī)則按照維度進(jìn)行劃分成不同的桶。與指標(biāo)聚合不同的是,桶聚合可以進(jìn)行嵌套,大桶里面可以套小桶,對(duì)大桶的數(shù)據(jù)再次篩選并且可以嵌套多層。常見(jiàn)的有以下5類:

Terms:直接按照term 進(jìn)行分桶,類似數(shù)據(jù)庫(kù)group by 以后求和,如果是text 類型,按分詞后的結(jié)果分桶。

Range:按指定數(shù)值范圍進(jìn)行分桶。

Date Range:按指定日期范圍進(jìn)行分桶。

Histogram:直方圖,按固定數(shù)值間隔策略進(jìn)行數(shù)據(jù)分割。

Date Histogram:日期直方圖,按固定時(shí)間間隔進(jìn)行數(shù)據(jù)分割。

(3)Pipeline

管道分析類型,支持對(duì)聚合分析的結(jié)果再次進(jìn)行聚合分析,且支持鏈?zhǔn)秸{(diào)用。pipeline的分析結(jié)果會(huì)輸出到原結(jié)果中,因輸出位置不同,分為:Parent和Sibling。Sibling 是同級(jí)聚合,對(duì)當(dāng)前同一級(jí)的聚合數(shù)據(jù)進(jìn)行處理,操作后的數(shù)據(jù)不會(huì)影響其他聚合的輸出,會(huì)生成新的桶,使用兄弟管道聚合同級(jí)必須有兩個(gè)或以上的聚合。Parent是對(duì)父聚合處理后的數(shù)據(jù)進(jìn)行處理,返回值不會(huì)生成新桶,而是在原有桶內(nèi)。

(4)Matrix

矩陣聚合,類似于分別使用Metric 的多值聚合對(duì)數(shù)據(jù)進(jìn)行聚合,并且不支持腳本。

4 結(jié)語(yǔ)

文章依托ElasticSearch 大數(shù)據(jù)分析挖掘技術(shù),通過(guò)熱詞統(tǒng)計(jì)算法挑選出個(gè)人用戶和全部用戶的前100的熱詞,再將其與庫(kù)中文檔進(jìn)行相似度計(jì)算,對(duì)科技服務(wù)的喜愛(ài)度、點(diǎn)擊率權(quán)重提升,最后進(jìn)行綜合評(píng)分。結(jié)合個(gè)人用戶與全部用戶喜愛(ài)度,通過(guò)設(shè)置不同權(quán)重來(lái)推薦商品,不僅滿足用戶個(gè)性化推薦,而且使推薦商品更加多樣。使用ElasticSearch提高了推薦速度、簡(jiǎn)化開(kāi)發(fā)步驟,采用文章推薦方法提高了推薦的準(zhǔn)確性,并且有效的解決了“冷啟動(dòng)”問(wèn)題。但還存在不足,之后將深度挖掘數(shù)據(jù),發(fā)現(xiàn)更多符合用戶感興趣的信息,進(jìn)一步提高推薦的多樣性。

猜你喜歡
排位字段熱詞
圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
熱詞
熱詞
熱詞
熱詞
我刊影響因子及學(xué)科排位再創(chuàng)新高
我刊影響因子及學(xué)科排位再創(chuàng)新高
康康日記
2014年云南科技進(jìn)步水平排位前移的主要影響因素分析及對(duì)策建議
CNMARC304字段和314字段責(zé)任附注方式解析