最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python文本數(shù)據(jù)相似度的度量

 更新時(shí)間:2018年03月12日 08:32:07   作者:大鄧  
這篇文章主要為大家詳細(xì)介紹了python文本數(shù)據(jù)相似度的度量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

編輯距離

編輯距離,又稱為L(zhǎng)evenshtein距離,是用于計(jì)算一個(gè)字符串轉(zhuǎn)換為另一個(gè)字符串時(shí),插入、刪除和替換的次數(shù)。例如,將'dad'轉(zhuǎn)換為'bad'需要一次替換操作,編輯距離為1。

nltk.metrics.distance.edit_distance函數(shù)實(shí)現(xiàn)了編輯距離。

from nltk.metrics.distance import edit_distance

str1 = 'bad'
str2 = 'dad'
print(edit_distance(str1, str2))

N元語(yǔ)法相似度

n元語(yǔ)法只是簡(jiǎn)單地表示文本中n個(gè)標(biāo)記的所有可能的連續(xù)序列。n元語(yǔ)法具體是這樣的

import nltk

#這里展示2元語(yǔ)法
text1 = 'Chief Executive Officer'

#bigram考慮匹配開(kāi)頭和結(jié)束,所有使用pad_right和pad_left
ceo_bigrams = nltk.bigrams(text1.split(),pad_right=True,pad_left=True)

print(list(ceo_bigrams))
[(None, 'Chief'), ('Chief', 'Executive'), 
('Executive', 'Officer'), ('Officer', None)]

2元語(yǔ)法相似度計(jì)算

import nltk

#這里展示2元語(yǔ)法
def bigram_distance(text1, text2):
  #bigram考慮匹配開(kāi)頭和結(jié)束,所以使用pad_right和pad_left
  text1_bigrams = nltk.bigrams(text1.split(),pad_right=True,pad_left=True)
  
  text2_bigrams = nltk.bigrams(text2.split(), pad_right=True, pad_left=True)
  
  #交集的長(zhǎng)度
  distance = len(set(text1_bigrams).intersection(set(text2_bigrams)))
  
  return distance


text1 = 'Chief Executive Officer is manager'

text2 = 'Chief Technology Officer is technology manager'

print(bigram_distance(text1, text2)) #相似度為3

jaccard相似性

jaccard距離度量的兩個(gè)集合的相似度,它是由 (集合1交集合2)/(結(jié)合1交結(jié)合2)計(jì)算而來(lái)的。

實(shí)現(xiàn)方式

from nltk.metrics.distance import jaccard_distance

#這里我們以單個(gè)的字符代表文本
set1 = set(['a','b','c','d','a'])
set2 = set(['a','b','e','g','a'])

print(jaccard_distance(set1, set2))

0.6666666666666666

masi距離

masi距離度量是jaccard相似度的加權(quán)版本,當(dāng)集合之間存在部分重疊時(shí),通過(guò)調(diào)整得分來(lái)生成小于jaccard距離值。

from nltk.metrics.distance import jaccard_distance,masi_distance

#這里我們以單個(gè)的字符代表文本
set1 = set(['a','b','c','d','a'])
set2 = set(['a','b','e','g','a'])

print(jaccard_distance(set1, set2))
print(masi_distance(set1, set2))

0.6666666666666666
0.22000000000000003

余弦相似度

nltk提供了余弦相似性的實(shí)現(xiàn)方法,比如有一個(gè)詞語(yǔ)空間

word_space = [w1,w2,w3,w4]

text1 = 'w1 w2 w1 w4 w1'
text2 = 'w1 w3 w2'

#按照word_space位置,計(jì)算每個(gè)位置詞語(yǔ)出現(xiàn)的次數(shù)

text1_vector = [3,1,0,1]
text2_vector = [1,1,1,0]

[3,1,0,1]意思是指w1出現(xiàn)了3次,w2出現(xiàn)了1次,w3出現(xiàn)0次,w4出現(xiàn)1次。

好了下面看代碼,計(jì)算text1與text2的余弦相似性

from nltk.cluster.util import cosine_distance

text1_vector = [3,1,0,1]
text2_vector = [1,1,1,0]

print(cosine_distance(text1_vector,text2_vector))

0.303689376177

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

相關(guān)文章

  • easy_install python包安裝管理工具介紹

    easy_install python包安裝管理工具介紹

    在python里要實(shí)現(xiàn)像ruby的gem遠(yuǎn)程包自動(dòng)安裝和卸載的工具就是easy_install
    2013-02-02
  • Python制作簡(jiǎn)易版2048小游戲

    Python制作簡(jiǎn)易版2048小游戲

    2048作為經(jīng)典的手機(jī)端游戲一直深受大家的喜愛(ài),本文將利用Python中的Pygame模塊制作簡(jiǎn)單版的2048游戲,感興趣的小伙伴可以了解一下
    2022-07-07
  • Python中的defaultdict與__missing__()使用介紹

    Python中的defaultdict與__missing__()使用介紹

    下面這篇文章主要給大家介紹了關(guān)于Python中defaultdict使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 如何用Python破解wifi密碼過(guò)程詳解

    如何用Python破解wifi密碼過(guò)程詳解

    這篇文章主要介紹了如何用Python破解wifi密碼過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • np.concatenate()函數(shù)數(shù)組序列參數(shù)的實(shí)現(xiàn)

    np.concatenate()函數(shù)數(shù)組序列參數(shù)的實(shí)現(xiàn)

    本文主要介紹了np.concatenate()函數(shù)數(shù)組序列參數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 利用Anaconda簡(jiǎn)單安裝scrapy框架的方法

    利用Anaconda簡(jiǎn)單安裝scrapy框架的方法

    今天小編就為大家分享一篇利用Anaconda簡(jiǎn)單安裝scrapy框架的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 讓你一文弄懂Pandas文本數(shù)據(jù)處理

    讓你一文弄懂Pandas文本數(shù)據(jù)處理

    文本數(shù)據(jù)具有數(shù)據(jù)維度高、數(shù)據(jù)量大且語(yǔ)義復(fù)雜等特點(diǎn),是一種較為復(fù)雜的數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于Pandas文本數(shù)據(jù)處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • 超級(jí)詳細(xì)實(shí)用的pycharm常用快捷鍵

    超級(jí)詳細(xì)實(shí)用的pycharm常用快捷鍵

    本文詳細(xì)總結(jié)了Pycharm的常用快捷鍵,下文介紹使用方法和場(chǎng)景, 并不需要記憶這些快捷鍵, 你只需要知道有這些快捷鍵, 再需要用的時(shí)候查看一下, 用的多了自然也就記住了,需要的朋友可以參考下
    2021-05-05
  • 詳解用Python為直方圖繪制擬合曲線的兩種方法

    詳解用Python為直方圖繪制擬合曲線的兩種方法

    這篇文章主要介紹了詳解用Python為直方圖繪制擬合曲線的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題

    解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題

    今天小編就為大家分享一篇解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01

最新評(píng)論

辽阳县| 建宁县| 武安市| 华容县| 九台市| 抚远县| 启东市| 项城市| 鄢陵县| 普陀区| 汾西县| 遵义县| 郓城县| 荆门市| 湾仔区| 花莲县| 竹北市| 瓮安县| 婺源县| 沙田区| 吉水县| 和静县| 陆良县| 凤城市| 加查县| 连城县| 英德市| 齐齐哈尔市| 双牌县| 峨边| 静乐县| 清丰县| 西乡县| 武安市| 凤阳县| 广东省| 平远县| 纳雍县| 绥德县| 武山县| 河西区|