基於單詞相似度對智慧型合約名稱聚類(K means)

2021-09-26 04:53:18 字數 1195 閱讀 4972

注:

1.每次操作結果不同是因為該演算法的起始點是隨機的

2.之後要實現對該方法評估的功能

3.之後會實現選擇最佳的k值

import jieba

import csv

import numpy as np

from sklearn.feature_extraction.text import tfidfvectorizer

from sklearn.cluster import kmeans

def jieba_tokenize(text):

return jieba.lcut(text)

# takenizer=jieba_tokenize為分詞函式,lowercase為是否將文字轉換成小寫

tfidf_vectorizer = tfidfvectorizer(tokenizer=jieba_tokenize, lowercase=true)

# 需要進行聚類的文字集

file=open('c:\\users\\86049\\desktop\\contract_info.csv',encoding='utf-8')

reader=csv.reader(file)

text_list=

for row in reader:

# 將列表型別轉換為字串型別

text=''.join(row)

#將字串加入列表中

# 用文字集建立詞袋模型

tfidf_matrix = tfidf_vectorizer.fit_transform(text_list)

# 使用k-means進行文字聚類

num_clusters = 5

km_cluster = kmeans(n_clusters=num_clusters, max_iter=300, n_init=1, init='k-means++',n_jobs=1)

#各自文字的所被分配到的類索引

result = km_cluster.fit_predict(tfidf_matrix)

ans=np.zeros((100), dtype=np.int)

for i in result:

ans[i]=ans[i]+1

for i in range(0,num_clusters):

print(ans[i])

歐基里德距離計算相似度評價值

歐幾里得距離評價方法已經過人們一致評價的物品為座標軸,然後將參與評價的人繪製在圖上並考察他們彼此距離,計算出每一軸上的差值,求平方後再相加,最後對總和求平方根。critics gene michael claudia mick jack toby from math import sqrt def ...

中文單詞的表示以及相似度計算方法

詞的獨熱表示 one hot representation 給定乙個詞典 我,是,計算機專業,的,學生 1 求給定單詞的表示 我 1,0,0,0,0 計算機專業 0,0,1,0,0 學生 0,0,0,0,1 每個單詞的長度是詞典的長度,詞典長度為5,對於詞典和第乙個單詞 我 來說,詞典中 我 出現,...

語言條件語序心得 語言相似度對學習有多大影響?

首先說明,這不是一篇回答,而是向大家求教。我們經常會碰到類似問題,比如 母語為普通話者學習粵語,母語為西班牙語者學習葡萄牙語,母語為英語者學習德語,這三者相比,何者更難?www.zhihu.com 究其本質,都是在 目標語言 方言和母語的相似度對於學習者的影響。兩種語言 方言間學習難度的大小,不完全...