1.将txt文本用word2vec将每个词转换成词向量
2.将300维度的词向量用pca转换为2维
3.将2维的数据作为k-means聚类的输入
text.txt:作为训练的文本(最好是英文,如果是中文的话可以再用jieba库把中文解析)
word_model.txt:创建一个空的文本
data.csv:创建一个空的csv文件
#1。将文本的标点替换成空格
import re
import os
list=[',','?','.','?','!','*','(',')','“','”',':','"','`','\''] ##要替换的标点符号做成一个列表
with open('text.txt','r') as f: ##text.txt是用来训练的文本(英文小说)
result = f.read()
for i in range(len(list)):
result=result.replace(list[i],' ')
with open('text.txt','w') as w:
w.write(str(result))
##2。wordvec2获取词向量
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence
def wordsCluster(text, vectorSize): ##text:输入文本的本地路径 vectorSize:词向量大小(多少维度)
name = []
data = open(text, 'r', encoding='utf-8')
for line in data.readlines():