隨著AI模型的普及應(yīng)用與高速發(fā)展,主要的云廠商與AI大廠提供了對(duì)應(yīng)的服務(wù)支持,使得業(yè)務(wù)的應(yīng)用可以輕松對(duì)接AI算法,使其在實(shí)際項(xiàng)目中落地。
我個(gè)人也是極度推崇在項(xiàng)目中應(yīng)用AI算法更輕松更數(shù)智化的兌現(xiàn)功能。
雖然AI門檻很高,但隨著時(shí)間的推移與AI模型的發(fā)展,我相信對(duì)于普通的程序猿來(lái)說(shuō),還是可以入手且實(shí)際開發(fā)應(yīng)用AI算法模型。
閱讀《基于 Flink ML 搭建的智能運(yùn)維算法服務(wù)及應(yīng)用》一文后,對(duì)其中日志聚類算法有了些思考。
概述
日志聚類,簡(jiǎn)而言之是對(duì)海量日志的分析;其分析處理鏈路可以分為如下流程:日志采集 -> 預(yù)處理 -> 分詞和特征表示 -> 聚類和標(biāo)注;也可以概述為數(shù)據(jù)收集及預(yù)處理、文本向量化、文本相似度計(jì)算、文本分類四部分。
算法模型分析
針對(duì)如上的鏈路流程做一個(gè)拆分?jǐn)⑹觥?/p>
日志采集
常用的日志采集方案是寫完數(shù)據(jù)庫(kù)多寫一遍ElasticSearch;目前我個(gè)人推薦的方案是基于Flink CDC組件來(lái)采集。
預(yù)處理
一般來(lái)說(shuō),預(yù)處理階段是在業(yè)務(wù)中常用的一個(gè)階段,根據(jù)業(yè)務(wù)的不同做不同的處理,比如精簡(jiǎn)文本刪除不必要的語(yǔ)氣詞、標(biāo)點(diǎn)符號(hào)、替換占位符等等。日志一般都是非結(jié)構(gòu)化的文本類型數(shù)據(jù),由于開發(fā)人員的開發(fā)習(xí)慣與團(tuán)隊(duì)開發(fā)規(guī)范的約束,每個(gè)人記錄的日志模板可能是不一樣的,因此,需要對(duì)日志文本做一次常見的預(yù)處理—————?jiǎng)h除不必要的語(yǔ)氣詞等。
分詞和特征表述
分詞
其實(shí)對(duì)于分詞,我一開始想到的就是ElasticSearch中很重要的一個(gè)組件模塊——————分析器。分析器由字符過(guò)濾器、分詞器、詞語(yǔ)(token)過(guò)濾器組成。在我看來(lái),預(yù)處理流程與分詞流程其實(shí)可以歸納為分析器的處理。
對(duì)于分詞,當(dāng)前主要有兩種算法,一種是基于已有的詞典庫(kù),一種是基于統(tǒng)計(jì)的機(jī)器學(xué)習(xí)。
基于詞典的分詞算法分為以下幾種:正向最大匹配法、逆向最大匹配法和雙向匹配分詞法等?;谠~典的分詞算法是應(yīng)用最廣泛、分詞速度最快的?;诮y(tǒng)計(jì)的機(jī)器學(xué)習(xí)算法法是HMM、CRF、SVM、深度學(xué)習(xí)等算法,比如stanford、Hanlp分詞工具是基于CRF算法。
常見的分詞器都是使用機(jī)器學(xué)習(xí)算法和詞典相結(jié)合,一方面能夠提高分詞準(zhǔn)確率,另一方面能夠改善領(lǐng)域適應(yīng)性。
特征表述
將分詞后的詞作為特征列表,基于此列表,對(duì)日志做向量化的構(gòu)建。通過(guò)TF-IDF算法對(duì)關(guān)鍵詞做統(tǒng)計(jì)分析,得到詞向量后,再做一次相似度比較,最終就可以得到向量。
其實(shí)我理解這里就是在做文本相似度匹配的處理。一般都是處理文本向量化。
聚類
最后通過(guò)聚類算法:層次聚類算法、K-means算法等來(lái)得到我們的聚類結(jié)果,也就是各個(gè)日志模板所對(duì)應(yīng)的日志類別。
總結(jié)
在上份工作中,其實(shí)就遇到了類似的問題,當(dāng)時(shí)我們有大量的日志數(shù)據(jù),且需要基于這些日志數(shù)據(jù)做分析推送對(duì)應(yīng)的解決策略以及解答給客戶或是一線。但由于當(dāng)時(shí)所有的開發(fā)人員都做的是業(yè)務(wù)開發(fā),對(duì)機(jī)器學(xué)習(xí)及應(yīng)用壓根就不清楚(嚴(yán)格來(lái)說(shuō),都沒有考慮過(guò)從這方面入手),所以導(dǎo)致當(dāng)時(shí)的運(yùn)維量和客戶的反饋不太好;當(dāng)時(shí)我花了不少時(shí)間分析過(guò)如何解決,受限于當(dāng)時(shí)的認(rèn)知與能力,畫過(guò)一個(gè)簡(jiǎn)單的流程圖,但很難落地,而且沒有足夠的理論與算法的支持,相比較現(xiàn)在的解決方案,那真是沒眼看。目前來(lái)看,日志聚類的應(yīng)用完全是可以落地到當(dāng)時(shí)的業(yè)務(wù)上的。
參考
基于 Flink ML 搭建的智能運(yùn)維算法服務(wù)及應(yīng)用
對(duì)智能化運(yùn)維中日志聚類分析的一些思考
SREWorks v1.5 版本發(fā)布 | 基于實(shí)時(shí)作業(yè)平臺(tái)的日志聚類開源文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-595244.html
揭秘阿里云Flink智能診斷利器——Fllink Job Advisor文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-595244.html
到了這里,關(guān)于聊聊日志聚類算法及其應(yīng)用場(chǎng)景的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!