欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python代碼如何實(shí)現(xiàn)余弦相似性計(jì)算

 更新時(shí)間:2020年02月09日 11:41:15   作者:郭雪原  
這篇文章主要介紹了python代碼如何實(shí)現(xiàn)余弦相似性計(jì)算,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python代碼如何實(shí)現(xiàn)余弦相似性計(jì)算,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

A:西米喜歡健身

B:超超不愛健身,喜歡打游戲

step1:分詞

A:西米/喜歡/健身

B:超超/不/喜歡/健身,喜歡/打/游戲

step2:列出兩個(gè)句子的并集

西米/喜歡/健身/超超/不/打/游戲

step3:計(jì)算詞頻向量

A:[1,1,1,0,0,0,0]

B:[0,1,1,1,1,1,1]

step4:計(jì)算余弦值

余弦值越大,證明夾角越小,兩個(gè)向量越相似。

step5:python代碼實(shí)現(xiàn)

import jieba
import jieba.analyse
 
def words2vec(words1=None, words2=None):
  v1 = []
  v2 = []
  tag1 = jieba.analyse.extract_tags(words1, withWeight=True)
  tag2 = jieba.analyse.extract_tags(words2, withWeight=True)
  tag_dict1 = {i[0]: i[1] for i in tag1}
  tag_dict2 = {i[0]: i[1] for i in tag2}
  merged_tag = set(tag_dict1.keys()) | set(tag_dict2.keys())
  for i in merged_tag:
    if i in tag_dict1:
      v1.append(tag_dict1[i])
    else:
      v1.append(0)
    if i in tag_dict2:
      v2.append(tag_dict2[i])
    else:
      v2.append(0)
  return v1, v2
 
 
def cosine_similarity(vector1, vector2):
  dot_product = 0.0
  normA = 0.0
  normB = 0.0
  for a, b in zip(vector1, vector2):
    dot_product += a * b
    normA += a ** 2
    normB += b ** 2
  if normA == 0.0 or normB == 0.0:
    return 0
  else:
    return round(dot_product / ((normA**0.5)*(normB**0.5)) * 100, 2)
   
def cosine(str1, str2):
  vec1, vec2 = words2vec(str1, str2)
  return cosine_similarity(vec1, vec2)
 
print(cosine('阿克蘇蘋果', '阿克蘇蘋果'))

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • keras和tensorflow使用fit_generator 批次訓(xùn)練操作

    keras和tensorflow使用fit_generator 批次訓(xùn)練操作

    這篇文章主要介紹了keras和tensorflow使用fit_generator 批次訓(xùn)練操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • VS Code配置Anaconda Python環(huán)境的詳細(xì)教程

    VS Code配置Anaconda Python環(huán)境的詳細(xì)教程

    在 Visual Studio Code (VS Code) 中可以使用 Anaconda 環(huán)境進(jìn)行 Python 開發(fā),可以充分利用 Anaconda 提供的包管理和虛擬環(huán)境功能,同時(shí)享受 VS Code 提供的強(qiáng)大開發(fā)工具和調(diào)試功能,本文主要介紹了VS Code配置Anaconda Python環(huán)境的詳細(xì)教程,需要的朋友可以參考下
    2024-09-09
  • Python解析、提取url關(guān)鍵字的實(shí)例詳解

    Python解析、提取url關(guān)鍵字的實(shí)例詳解

    今天小編就為大家分享一篇Python解析、提取url關(guān)鍵字的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python Mysql自動(dòng)備份腳本

    Python Mysql自動(dòng)備份腳本

    測(cè)試系統(tǒng)環(huán)境 Windows 2003 python 2.5.1 mysql 5.0.1 應(yīng)該只適用于Win,因?yàn)檎{(diào)用了CMD。 增量備份,因?yàn)樽杂?,?shù)據(jù)庫(kù)不大。
    2008-07-07
  • python下載衛(wèi)星云圖合成gif的方法示例

    python下載衛(wèi)星云圖合成gif的方法示例

    這篇文章主要介紹了python下載衛(wèi)星云圖合成gif的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Yolov5更換BiFPN的詳細(xì)步驟總結(jié)

    Yolov5更換BiFPN的詳細(xì)步驟總結(jié)

    將YOLOv5中的PANet層修改為EfficientDet-BiFPN,實(shí)現(xiàn)自上而下與自下而上的深淺層特征雙向融合,明顯提升YOLOv5算法檢測(cè)精度,下面這篇文章主要給大家介紹了關(guān)于Yolov5更換BiFPN的詳細(xì)步驟,需要的朋友可以參考下
    2022-12-12
  • Python使用Numpy實(shí)現(xiàn)Kmeans算法的步驟詳解

    Python使用Numpy實(shí)現(xiàn)Kmeans算法的步驟詳解

    將物理或抽象對(duì)象的集合分成由類似的對(duì)象組成的多個(gè)類的過程被稱為聚類。這篇文章主要介紹了Python使用Numpy實(shí)現(xiàn)Kmeans算法,需要的朋友可以參考下
    2021-11-11
  • 在matlab中創(chuàng)建類似字典的數(shù)據(jù)結(jié)構(gòu)方式

    在matlab中創(chuàng)建類似字典的數(shù)據(jù)結(jié)構(gòu)方式

    這篇文章主要介紹了在matlab中創(chuàng)建類似字典的數(shù)據(jù)結(jié)構(gòu)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • django開發(fā)之settings.py中變量的全局引用詳解

    django開發(fā)之settings.py中變量的全局引用詳解

    當(dāng)網(wǎng)站里面的一些內(nèi)容,如郵箱,網(wǎng)站標(biāo)題,網(wǎng)站的描述,這些東西我們可以存在數(shù)據(jù)庫(kù)中也可以存放在我們的setting 文件中,這篇文章主要給大家介紹了django中settings.py變量的全局引用的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-03-03
  • TensorFlow利用saver保存和提取參數(shù)的實(shí)例

    TensorFlow利用saver保存和提取參數(shù)的實(shí)例

    今天小編就為大家分享一篇TensorFlow利用saver保存和提取參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評(píng)論