如何解决字符串相似度散点图
我有一个字符串列表(150 万个),其中的字符串列表像
['zzh2z24nV5Rl5TMKpSZFGBINFUVq','zzDD78WbbuiJmuu39V0opHMzArTU','zz+GR08MrX9sDVH14wK0ql3z7Hh22+mj2IhnxO/69b0=','zytUgOn10HEL2P1nt0JN','zxwQJmJQp0MILZt1vKyhnSg65RgF','zxnJy0uha0iIZdRxS6GhA%2BSxpvQdqiguF8fws11Xqcw%3D','zxfea5z0riInF4qMqkXLoZv96k2a','zxJSM5pcPRN8YTz/gm5mf2Y61M3A26biLsUMKlu20OE=','zwgOkuH7AmkDxOUz3FD7xFAkTgvCBd46IVTOsEXZxOM%3D','zvvxBkk9qVyxvMrqZ3xC9aOE9ufKIt6jNbxhUphKkow%3D','zvYYj1FYNsX5EBN8mS+fhTi5bNcJrdp+KnJPf9vG1cg=',...]
我想绘制最相似单词的图形,例如 this 。至少1-2千。 而且我还需要一个类似向量/单词的列表。 我做什么:
-
我将字符串视为句子,因此字符串中的任何符号都是一个单词。
-
我选择唯一的字符串并使用 split like 将它们转换成句子
list_of_sentences = [['2','2','1','%','7','C','8','6','9','5','b','0','d','e','9'],[...],... ]
-
将单词转化为向量
model = Word2Vec(list_of_sentences[:1000]),min_count=2,size=50,workers=4)
-
从模型中提取词向量的词汇并折叠到二维,绘制图形
def tsne_plot(model):
labels = []
tokens = []
for word in model.wv.vocab:
tokens.append(model[word])
labels.append(word)
tsne_model = TSNE(perplexity=40,n_components=2,init='pca',n_iter=2500,random_state=23)
new_values = tsne_model.fit_transform(tokens)
x = []
y = []
for value in new_values:
x.append(value[0])
y.append(value[1])
plt.figure(figsize=(10,10))
for i in range(len(x)):
plt.scatter(x[i],y[i])
plt.annotate(labels[i],xy=(x[i],y[i]),xytext=(5,2),textcoords='offset points',ha='right',va='bottom')
plt.show()
tsne_plot(model)
但我得到的是字符相似度的 graph,而不是符号相似度的字符串
我做错了什么以及如何获得相似字符串的列表?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。