引言
今天重溫經(jīng)典著作《黑客與畫家》米辐,書中防止垃圾郵件的一種方法一章中介紹了作者識(shí)別垃圾郵件的方法不是通過直覺上的特征識(shí)別币喧,而是轉(zhuǎn)向使用統(tǒng)計(jì)學(xué)方法(貝葉斯判斷)的過程。我突然意識(shí)到和兩個(gè)月之前解決一個(gè)需求的方案有異曲同工之處。
需求
團(tuán)隊(duì)編輯人員的工作是收集網(wǎng)上最新的資訊錄入到公司的平臺(tái)上蜓萄,小編們發(fā)現(xiàn)各平臺(tái)發(fā)布的資訊有可能會(huì)重復(fù)(換了個(gè)標(biāo)題或改了些內(nèi)容)。由于每天要錄入的文章很多且每個(gè)小編都負(fù)責(zé)各版塊澄峰,經(jīng)常會(huì)錄入重復(fù)的文章嫉沽。
思路
我當(dāng)時(shí)腦洞大開地想到可以統(tǒng)計(jì)每篇文章中詞頻出現(xiàn)最多的top100單詞,然后比較每篇文章top100的詞的重復(fù)個(gè)數(shù)來檢測是否是相似的文章俏竞。
分詞
對錄入db的每篇文章去噪后使用SCWS中文分詞引擎先分好詞绸硕,統(tǒng)計(jì)每個(gè)單詞出現(xiàn)的次數(shù),排好序魂毁,將出現(xiàn)次數(shù)最多的top100(測試發(fā)現(xiàn)100個(gè)已經(jīng)足夠用了)單詞入庫玻佩。
相似度檢測
對新錄的文章先分詞,得到top100詞席楚,然后和db的每篇文章的top100詞比較(db取數(shù)據(jù)可能有瓶頸咬崔,可以考慮用緩存),計(jì)算(可以使用多線程)重復(fù)詞出現(xiàn)的比例換算出相應(yīng)的相似度(%)。功能上線兩個(gè)月烦秩,除了可愛的小編偶爾撒撒嬌抱怨下速度垮斯,其它妥妥的,給自己點(diǎn)個(gè)贊只祠。
啟發(fā)
發(fā)散自己的思維兜蠕,構(gòu)建自己的知識(shí)體系,擴(kuò)充知識(shí)面抛寝。