1. 信息多而且雜,即使我只訂閱或者關注了某些類別,推送的消息首先是太多其次是不相關。太多的信息我消費不了,不相關的信息我比較反感。
2. 現(xiàn)在的APP號稱可以進行精準和個性化的推薦,頭條做的還行,但是感覺不能及時的捕捉用戶的興趣變化,推薦的結(jié)果變化也小, 驚喜度不夠。
3. 聚合類的新聞資訊有很多重復性的內(nèi)容,而且很多只是簡單的抓取和展現(xiàn),對閱讀的方式和體驗都沒有太大改善。
以上大概是用過之后感覺有些不便的地方,之前做過一段時間的推薦和文本處理相關的事情,加上自己有些想法,就想實現(xiàn)一個簡單的系統(tǒng),拿自己做個試驗試試,也好驗證下自己的想法,針對以上問題,個人的想法是1. 每天給用戶展現(xiàn)一定數(shù)量的有價值的新聞,即限制推送給用戶新聞的數(shù)量,相關性方面需要針對用戶的特征建模,預期效果不太明顯,只能通過一些策略來控制,比如最熱和相關結(jié)合,某個事件或者某個類別展現(xiàn)一條新聞等策略實現(xiàn)。2. 針對用戶的行為及時更新用戶的特征權(quán)重,及讓變化更實時一點。3. 很多人看文章只是看文章的大意,很少通讀全文的,如果能對文章進行摘要,對APP類的應該會比較好,但是現(xiàn)在對中文貌似沒有好的摘要方法,只能不斷的進行嘗試改進,我會用之前文章介紹的摘要算法進行實驗,結(jié)合中文的詞法和語義做些嘗試。
以上純粹是個人的觀點和看法,肯定有不妥的地方,這方面有想法的可以在一起交流下。
目前開發(fā)工作已經(jīng)進行了一些,之前一直用java來做web相關的服務和設計,奈何一般的云服務器跑java的話費用較高,故采用了python來進行相關的開發(fā)工作。系統(tǒng)的簡單設計如下:
系統(tǒng)主要分為OnLine Service, OffLine Service, 其中OnLine 部分主要進行以下操作:
a). Fetcher利用UA和PA來獲取推薦展示的新聞數(shù)據(jù),首先會向redis請求相關數(shù)據(jù)計算,然后到MySql獲取數(shù)據(jù),目前假定MySql可以滿足一定量的并發(fā)請求,以后可以考慮按照數(shù)據(jù)類型在MySql前面再加一層緩存。
b). Updater主要是根據(jù)用戶行為來更新緩存中的UA權(quán)重,這樣下次就可以根據(jù)用戶的最新行為進行推薦展示。
目前采用的方式是tornado 框架來提供web服務,redis作為緩存存儲數(shù)據(jù),mysql作為底層數(shù)據(jù)存儲, rabbitmq 來作為消息隊列,jieba分詞器來進行中文分詞,redis + mysql 目前已經(jīng)實現(xiàn),web主要剩下頁面的設計和實現(xiàn),特征提取和摘要正在進行,由于事情比較多,可能最后實現(xiàn)的跟文章中說的會有很大區(qū)別,接下來會講部分想法的實現(xiàn)過程和效果, 具體取決于進度和工作了,如果有興趣可以一起交流。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com