<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【內含文件】網易云音樂的隨機播放到底是怎么做的?

          共 2140字,需瀏覽 5分鐘

           ·

          2022-01-21 20:17

          上班開會,下班工作,仿佛已經成了產品經理常態(tài)。隨著你忙完當天的工作,時針也悄悄越過了11點,熟練的帶上耳機,打開最喜歡的歌單,點下隨機播放的按鈕,寄希望于算法能給你一天疲憊的工作帶來點未知的新鮮,緊接著叫車回家。

          ?

          在等車的過程中,一直在思考 —— 隨機播放算法是如何給隨機的?



          「隨機播放」是有魅力的,你永遠不知道下一曲是什么,有可能上一曲也“物是人非”。于是求證了下網易云播放器的產品經理,他說常見的「隨機播放」有兩種,一種是 Random 算法 ,一種是 Shuffle 算法。

          ?

          Shuffle 一般叫【洗牌算法】,原理就類似撲克洗牌一樣,將不同數量的撲克隨意亂洗牌,然后排序。歌單隨機播放也是同理,每次播放時,會將這個歌單里的所有歌曲隨意洗牌,從而得到一個亂序的新歌單。Shuffle 其實也叫【偽隨機算法】。

          ?

          Random 才是真正的隨機播放,他沒有列表的概念,也沒有上一曲和下一曲的概念,隨機播放和“抓鬮”一樣,是未知的。

          ?

          那怎么判斷是【偽隨機】還是【真隨機】呢?其實只要點“上一曲”,判斷條件是:

          • 如果切換的是你剛才聽過的那一首歌,那就是【偽隨機】的 Shuffle 算法;

          • 如果每次切換的都是不同的歌,那就是【真隨機】的 Random 算法。

          ?

          目前基本上市面上的音樂平臺都用的是 Shuffle 洗牌算法。為什么呢?從理論上來說,它更具備可控性,既能滿足用戶隨機音樂播放的需求,又能避免重復聽一首歌。

          ?

          了解清楚隨機播放的兩個算法后,咱再往深一點思考下——更好的隨機算法是怎樣的?

          ?

          其實我個人感覺網易云音樂的隨機算法有問題:感覺歌單中某些歌曲永遠隨機不到,有時候歌單中刪除的歌曲也被隨機到了。

          ?

          后面據了解,網易云音樂并非只是對歌單進行簡單洗牌,而是會在洗牌算法中摻雜更多的用戶策略和數據策略。他們經過調研發(fā)現,用戶想要的其實不是真正的【隨機播放】,而是用戶不知道聽哪首歌,想要系統(tǒng)幫他做決定。并且更重要的是——符合他的品味和當前的心情。

          ?

          而現實是——隨機算法能幫他解決隨意聽歌,但是不能解決符合他當時心情的歌曲,因為隨機算法并不知道用戶真正想要什么?但是網易云音樂有足夠大的個人聽歌數據,其實通過用戶策略和數據策略,能幫用戶找到符合他的品味的歌曲。

          ?

          你會發(fā)現,推薦歌單中能找到你想聽的歌曲。比如:

          ?

          產品經理在夜深人靜寫文檔畫原型時,點開隨機播放,你很大概率不會聽金屬、搖滾的音樂,而是結合你聽歌歷史,工作日時間點,更多給你隨機到輕音樂、保命曲。

          ?

          你發(fā)現——每年聽歌年終報告,就詳細記錄了你夜里不睡覺循環(huán)了多少遍哪首歌,將你扒的一干二凈。回過來看,其實我覺得好的隨機算法應該具備以下四個重要特征:

          • 首先是 Shuffle 洗牌算法策略更靈活一些,盡可能的隔開單一歌手、單一專輯,讓用戶從感覺上是一個隨機列表;

          • 然后記錄用戶本地/最近的聽歌記錄,盡量在隨機時不被推薦出來,保證隨機新鮮感;

          • 接著在本地記錄用戶操作行為,比如跳過某一類歌曲的次數,對用戶不感興趣的歌曲過濾或降權,對隨機列表精選;

          • 最后豐富歌曲標簽庫,根據場景,推薦本地適合的歌曲優(yōu)先播放。

          ?

          其中,有一點基礎性的工作必須要做——用戶畫像的完整性。除了看國內的產品,也可以挖掘下國外的 Spotify,該產品算是洗牌算法2.0版,雖說非常智能,依然有很多用戶對其嗤之以鼻,所以 Spotify 的產品經理開始思考為什么用戶會嗤之以鼻?

          ?

          Spotify 的算法是 Fisher-Yates 洗牌算法。(在結尾我也為大家準備了洗牌算法的三種策略)我用一張簡單的圖展示下該洗牌算法:



          你會發(fā)現,對于洗牌算法①的用戶最核心的想法是不希望一位歌手在短時間重復出現,這和“賭徒謬論”是一樣的,連續(xù)幾次都沒贏,都會認為下一把贏的概率會大很多,其實呢?每次的概率是相同且獨立的。

          ?

          所以呢?用戶如果連續(xù)聽到某一歌手的歌曲時,用戶就會覺得算法有問題。對吧。

          ?

          但是對于②來說,用戶就能更接受一些,因為似乎達到了真正的隨機,對不對?因為既滿足了歌曲的新鮮感,又避免了重復和單調。經過改進后,這個算法叫抖動算法。(是Shuffle 洗牌算法的升級版)

          ?

          回過頭看,各家的隨機播放列表都是基于洗牌算法,也都在基礎上加了自己的“秘制調料”,吐槽或褒獎,都在用戶的言語間……但是呢?隨著獲取海量用戶的聽歌習慣,往往洗牌算法越來越人性化,越聽越懂你。

          ?

          這就是算法的魅力……

          ?

          John為你準備了 Shuffle 的三種算法,公眾號私信回復“洗牌”,即可獲取。非常有意思哈。

          ?

          記得幫John文章分享,在看喲。感謝。



          John的視頻號現在基本上每周一更,也是分享產品經理干貨。幾分鐘梳理清楚一個非常重要的知識點。可以去關注關注。


          用一個視頻告訴你產品規(guī)劃的通用公式,前提是一定要清楚產品業(yè)務


          一個視頻聊清楚B端和C端產品的區(qū)別。


          其他更多內容,可以去看視頻號主頁??梢猿兄Z讀友的是——每條視頻和每篇文章,必將經得起時間的檢驗。

          瀏覽 311
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  男女拍拍120秒 | 操多水美女在线视频 | 色欲综合网 | 俺来也俺去也 | 欧美,三级黄 |