AI產品經理需要了解的數據知識:餘弦相似度

2021-01-20 人人都是產品經理

本文概括介紹了餘弦相似度是什麼、如何應用以及案例說明,目的是希望我們產品經理在設計相關跟相似度功能或是利用相似性功能解決某一業務的場景時能利用上餘弦相似度,並希望您讀完對自己在設計相關推薦業務、搜索業務、識別業務時能有更深層次的理解。

在機器學習算法中,有很多方法計算某個對象之間的距離或是相似性,餘弦相似度是通過衡量兩個向量間的夾角大小,通過夾角的餘弦值表示結果,餘弦相似度的取值為[-1,1],值越大表示越相似。

計算餘弦值的公式如下:

注釋:其中a和b代表兩個向量(向量是在空間中具有大小和方向的量,在數據計量中表示帶箭頭的線段,相關向量知識可自行閱讀相關文獻)。

如果是在二維空間,餘弦相似度的值通過如下公式計算:

對於以上公式的理解,我們可以看如下兩圖(二維向量圖和餘弦定理)

以上左圖是將a\b兩個向量二維化,右圖是餘弦定理,通過餘弦定理與二維空間結合,即可推導出來二維空間下計算兩個向量的餘弦相似性公式。(有興趣的同學可以看上面兩個圖,自行推導一下)

如果假設空間是多維的,那麼餘弦相似度公式可擴展如下公式:

以上是對餘弦相似度概括解釋,以及公式演化形式,在下一節將會對以上公式的應用說明,請各位同學先好好理解以上公式。

一、餘弦相似度應用說明

餘弦相似度在度量文本相似度、用戶相似度、物品相似度的時候都較為常用。

案例一:文本相似度

比如有如下兩個句子:

句子A:他不僅是一個歌手,還是一個舞者;句子B:他既是一個歌手,也是一個舞者。

那麼如何計算以上兩個句子的相似度,首先我們要找到如何評價這兩個句子,用什麼方法將這兩個句子向量化?我們最直觀的看,連個句子用詞相近,那句子整體相似度就高,因此我們從詞頻入手,來計算其相似性。

首先,進行分詞處理:

句子A:他 不僅 是 一個 歌手 還 是 一個 舞者句子B:他 既 是 一個 歌手 也 是 一個 舞者

其次,列出所有的詞:

他 不僅 既 是 一個 歌手 還 也 舞者

第三步:計算詞頻

句子A: 他(1) 不僅(1) 既(0) 是(2) 一個(2) 歌手(1) 還(1) 也(0) 舞者(1)句子B:他(1) 不僅(0) 既(1) 是(2) 一個(2) 歌手(1) 還(0) 也(1) 舞者(1)

第四步:

我們總結出來兩個句子的詞頻向量:句子A(1,1,0,2,2,1,1,0,1)句子B(1,0,1,2,2,1,0,1,1)

這樣問題就變成了如何計算這兩個向量的相似程度。都是從原點([0, 0, …])出發,指向不同的方向的向量。

通過公式計算得出:

A和B的餘弦相似度=

通過餘弦相似度公式,我們計算出來這來兩句話意思很相近。

我們通過這個案例不難發現,想要利用餘弦相似性公式來計算兩者之間的相似性,首先要確定向量化的方法(比如本案例中,通過將連個句子通過分詞的方式,計算詞頻來向量化),理解向量值的多維度(我們通過分詞可以得出來9各維度的向量值),然後將向量化後將值帶入到公式中,去計算相似度。

通過以上案例我們可以聯想其他案例,比如對於兩篇文章,連個實體的相似性對比,我們可以通過向量化關鍵詞、實體畫像特徵等進行向量化,然後通過這些特徵向量化的維度值,進行計算相似性。

案例二:用戶相似度

比如一個外賣平臺,兩個用戶A和B,外賣新出了兩款新品套餐,分別是a和b,用戶A對這兩款新品的評分是1分和2分,b對這兩款新品的評分是4分和5分,我們通過餘弦相似度來評價一下兩個用戶的相似度。

假如我們將對這新品套餐評分作為特徵向量,兩個產品的評分分別連個維度的向量值,是那麼A和B的特徵向量分別是(1,2)、(4、5),我們代入公式計算得出:0.98。

通過公式計算發現兩個相似度很高,但是這跟我們直覺判斷這兩個應該相似度很低才是,這說明我們選定好評價的特徵向量後,對於向量值的的確定出現了問題,我們對(1,2)、(4、5)進行轉換,變成與平均分3的差額,的出來新的向量值(-2,-1)、(1、2)之後,重新計算得出相似度為-0.8,那麼我們看這個結果比較接近事實。

通過這個案例我們可以看到:再找到特徵向量後,對於向量值的取值與評價也需要靈活考慮,可以結合統計學知識。

二、總結

對於產品經理,尤其是對於AI產品經理,在理解和運用餘弦相似性時需要考慮一下問題:

首先,餘弦相似性是對兩個對象之間的比較,將兩個對象向量化,向量化的過程中,我們要找到兩個對象比較的基礎;也就是特徵,真對與不同特徵賦予向量值的意義,並且在選取向量值時,定量化的評分要符合邏輯,然後通過公式計算相似性。

其次,餘弦相似性很難做到向量長度的歸一化。

比如兩篇文章,講的同一個事情,一篇200字,一篇5000字。假如通過關鍵詞相似可以判定兩個文章是高度相似的,假如我們還是用內容分詞通過詞頻的方式,那麼有很大可能是不相似的,因為詞量差距太大。因此我們選取的特徵向量儘量少維度,但是又能全面評價二者的指標。

除此之外,關於相似性的判斷,在機器學習中除了餘弦相似性還有其他方法,比如歐氏距離、皮爾遜相關度、傑卡德(Jaccard)相似度等方法,有興趣的小夥伴可以進一步了解。

本文由 @羅飛 原創發布於人人都是產品經理。未經許可,禁止轉載

題圖來自 Unsplash ,基於 CC0 協議

相關焦點

  • 01數據產品經理從零到一:數據產品能力模型構建
    本文共分四個部分,第一部分,從招聘市場需求入手,看市場上的招聘高級數據產品經理都需要掌握哪些硬實力;第二部分,結合一些數據產品經理的分享,梳理數據產品經理的朋友圈,因為溝通者一定程度決定了需要掌握多少「共通語言」;第三部分,構建數據產品經理能力模型,第四部分,詳解一些數據產品常常接觸的概念和系統。
  • 今日頭條:AI助力用戶推薦 (上)
    同時,社交化推薦系統改善了傳統推薦系統中用戶之間的關注度和信任度問題。頭條用戶推薦原理:頭條用AI算法給用戶推薦內容和商務及服務,主要根據用戶在頭條上瀏覽、評價、關注、點讚收藏和發布的文本數據、標籤數據和圖像數據之間的語義關聯來構建用戶的興趣表達,通過計算目標用戶和候選用戶之間的餘弦相似度來為目標用戶推薦相同或相似的好友,進而為用戶推薦適合用戶的內容和服務。
  • 產品經理需了解的架構圖/結構圖知識
    產品經理在工作過程中會遇到各種架構圖(結構圖),這些名詞很容易混淆。一般情況下,3-5年經驗、善於總結歸納的產品經理才能逐步理解這些概念的含義,並且相對靈活的運用到工作中。下面針對這些概念來系統地梳理一下,同時也是加深自己的理解和認知,希望能有所啟發。
  • 產品經理能力模型二三話
    騰訊的產品經理能力模型剛入行的時候,也參加過培訓班,當時大概是大四。培訓班的主講是騰訊的一位PM,在課上,他給我們展示了騰訊產品經理的能力模型,參見下表。表格中所列的能力模型現在已經流傳很廣了。它把產品經理的能力分為四類:通用能力、專業知識、專業技能和組織影響力。
  • 記者也得做產品經理?詳述新聞業為何需要產品思維
    為了更有效率地考慮每個部門的需求和期望,產品經理必須是「系統性思考者」。產品經理需要「跨界」和串聯的能力,以便與新聞編輯室、技術團隊、設計師和業務人員進行溝通和合作。第四,產品經理必須成為一名通才。產品經理這個職位,需要許多技術知識,包括編程和用戶體驗設計。因此,產品經理是通才,而不是只專注於一個學科,他們能夠解決整個媒體組織中的問題。
  • 轉崗產品經理,應該準備些什麼?
    除了一些比較特殊的產品需要用到很多的技術知識,其他的產品只需要知道基礎的產品知識就可以了。我後面可能還會單獨寫一篇介紹基礎技術知識的文章,在這裡,我先把大概的類別說一下:SDK的相關知識、接口的調用過程、進程和線程的區別、客戶端和後端的交互過程、web端和服務後臺的交互流程、APP和OS版本升級的流程等,這些都需要了解。5.
  • 全媒派 | 新聞業需要產品思維嗎?詳述記者如何成為產品經理
    產品經理經常需要需要解決公司內部跨部門的問題。為了更有效率地考慮每個部門的需求和期望,產品經理必須是「系統性思考者」。產品經理需要「跨界」和串聯的能力,以便與新聞編輯室、技術團隊、設計師和業務人員進行溝通和合作。 第四,產品經理必須成為一名通才。產品經理這個職位,需要許多技術知識,包括編程和用戶體驗設計。
  • 轉型AI產品經理,原來不需要學那麼深的算法和數學模型
    本文作者是從網際網路產品經理轉型成了AI工程師,其文章特點是能通過簡單有趣的文字介紹AI技術概念。本文是他的第一篇文章,以饗大家。Hello,World!大概可以用以下幾個標籤簡單概括我:前網際網路產品經理、大學學渣、非計算機專業、不懂編程,可以說是除了瞎逼逼,啥也不會…
  • 數據看板搭建攻略,數據產品經理必看!
    什麼是數據看板 數據看板一般用作後臺系統的首頁,主要呈現公司當前業務相關或運營管理相關數據和圖表,方便公司內部人員實時了解公司內情,掌握業務發展情況,並能夠對數據變化做出業務決策。
  • 【乾貨】牛逼產品經理的18種能力
    行業融入(Industry Intimating)了解公司所屬行業的上下遊產業鏈,政策環境,最新的行業動態等。個人的產品項目在行業處於領先水平,有較高的知名度,同時個人能力為行業認知,有一定的影響力。8.關聯知識:心理學、美學基礎、財務知識、辦公技能等(RelevantKnowledge)能綜合考慮並有效應用相關知識為產品服務。9.產品規劃,版本發布(Product Planning)準確把握用戶需求,進行優先級排序,明確版本規劃,通過迭代實現產品目標。
  • 醫療產品經理應該具備哪些能力?
    更不是所有的傳統醫療產品都適合網際網路化,它有可能智慧化,接變化等等多種可能性,醫療產品經理這個職位,其實更偏向於醫療的屬性,需要了解醫療細分領域的行業特性的同時深入了解多種用戶角色的需求。對於產品的閉環以及業務邏輯深入的復盤以及探索,必要時需進行合理的用戶調研。也可藉助過往的數據,了解產品設計過程中可能存在的問題,接下來的工作就是產品的設計階段。可在設計階段我們需要輸出的是需求文檔也可能是解決方案,並據此調整日後的工作安排進行設計。在這個設計階段與正常的產品經理設計階段有一點小區別,就是更應該分清楚是項目化的產品還是平臺化的產品才去設計。
  • 產品經理是誰?產品經理是做什麼的人?產品經理調色板
    科學家客觀分析數據,尋找技術方案。我深以為然。但作為一名產品經理,我不能用比喻的方法定義產品經理這個職位,它需要一個定義。產品經理的工作中,有一條鏈路是「發現-定義-解決問題」,另一條鏈路我選擇了產品經理橫向拉通的對象:收集需求要頻繁的與用戶互動,尋找解決方案需要與技術(我將後端人員統稱為技術)溝通。把這兩條鏈路繪製成軸,我發現了以下四種「產品經理」:
  • 產品經理需要哪些基本素質?
    於是,開始注意自己的表現:擔心說錯話:開會的時候,不會打斷別人的談話,尤其是和自己的產品無關時,即使觀點不同,如果不被點名,不會主動交流,因為擔心自己不夠了解對方的業務邏輯說錯話;容易被說服:開發同學說功能實現不了,測試同學說邏輯似乎有問題,都會讓自己遲疑;
  • 對標騰訊產品經理能力模型,你還差哪幾點?
    產品經理是一個多面手,在日常工作中涉及的範圍十分廣泛,從產品的idea到規劃設計,從開發到測試,從上市到運營,以及數據分析、產品培訓等等,不同行業對產品經理的要求也多有不同。之前也提到過,網際網路和軟體行業的產品經理最是相似,所以老王打算從自身的實際情況出發,整理一份理想的產品經理能力素質框架,分析一下自身的情況,然後一點點完善自身。老王知道有很多大公司內部,是有產品經理能力素質規範以及考核梯度的,不幸的是老王沒有參與過類似的培訓,所以我打算運用產品經理出色的執行力,自己去尋找這樣一份能力素質規範。
  • 從理論到實踐,一文詳解 AI 推薦系統的三大算法
    ● 對於登錄用戶,亞馬遜中國則給出了完全不同的推薦方式,網站會根據用戶的歷史瀏覽記錄在登入界面首屏展現出一個今日推薦的欄目,緊接著是最近一次瀏覽商品的記錄和根據該物品所給的產品推薦(「根據瀏覽推薦給我的商品」、「瀏覽XX產品的用戶會買XX的概率」),值得注意的是,每個頁面最下方網站都會根據用戶的瀏覽行為做響應推薦,如果沒有瀏覽記錄則會推薦「系統暢銷品」(13頁,50款商品)。
  • 分享產品經理的推廣經驗
    作為一名產品經理,本文作者敘述了他晉升述職的過程,並總結了一些經驗,與你分享。簡單分享一些晉升述職的要點,不講廢話只講乾貨。本篇以產品經理的角度切入,其他崗位可以自己結合實際取精華、去糟粕。一、PPT文檔相關做PPT文檔之前,要先get這幾個關鍵詞:目標、思路、重點、數據。
  • B端產品經理入門的第一年做了什麼?
    其中,在《B端產品經理必修課》裡作者對產品經理的必備技能做了如下歸納:通過書中的技能描述及結合我的工作實際情況,我先學習了產品原型設計軟體的使用、產品文檔的撰寫、項目管理的知識以及進行了一些軟技能的磨練。
  • 一個產品新人如何通過產品經理大會破解迷茫
    編輯導讀:對於產品經理來說,不斷學習新的知識,和優秀前輩們交流經驗是進步的捷徑之一。本文作者作為一名產品新人,對自身職業發展有些許迷茫,但是參加完產品經理大會後解答了他的很多疑惑,並與你分享他的感悟。我現在做的B端產品需求明了、規則明確、成熟穩重,並不能勾起我的熱愛。以我對自己的了解,能讓我熱愛的產品它最好的需求、規則一定永遠是下一個,而這樣的產品大概率出自C端產品,所以我的答案其實已經有了。二、產品經理的網趙徵宇老師分享的產品經理的網內容十分精彩,可惜作為產品新人我只能領悟其中一部分。
  • 正弦定理和餘弦定理的證明過程匯總和適用的條件
    在銳角三角形的證明過程是需要有輔助線,同理可證後面的證明的過程都是道理相似,輔助線不同。在鈍角三角形中的證明過程仍然是要藉助輔助線來完成。同理後面證明的過程也是輔助線有所改變。特別的有兩角夾邊,不能直接運用正弦定理,需要根據三角形內角和算出第三邊後才能使用正弦定理。
  • 產品經理晉升心得分享
    作為一名產品經理,本文作者敘述了他晉升述職的過程,並總結了一些經驗,與你分享。簡單分享一些晉升述職的要點,不講廢話只講乾貨。本篇以產品經理的角度切入,其他崗位可以自己結合實際取精華、去糟粕。一、PPT文檔相關做PPT文檔之前,要先get這幾個關鍵詞:目標、思路、重點、數據。