学习算法,最重要的是对python中各种数据结构的了解。因为在学习各种模型的过程中,我们喂给模型的数据到底长什么样子,出来的又是什么样子,只有做到心中有数,才能更好的写出相应的代码,更好的了解模型的内涵。
对于Word2Vec这种词嵌入(embding)模型,有两种喂数据的方式
1、下面这是一个txt文件,注意,这个文件是以空格的方式分词的,其中的标点符号是中文的,因为没有去除停用词,所以不要误会成以英文逗号分隔的。
读入并喂给Word2Vec的代码如下
from gensim.models import word2vec
imp=r'C:\Users\shawnlisong\Desktop\aaaaa\bbb.txt'
sentence=word2vec.LineSentence(imp)
model2=word2vec.Word2Vec(sentence,sg=1,min_count=1)
很简单,我们主要是用到了一个LineSentence函数,这个函数可以直接读取txt文件,并转换成可以喂给Word2Vec模型。
至于上面的txt是怎么写入呢,很简单的代码,如下
dataframe=pd.read_csv(r'C:\Users\shawnlisong\Desktop\aaaaa\aaaa.csv',encoding='gbk')
dataframe['bbb']=dataframe['aaa'].apply(lambda x:' '.join(jb.cut(x)))
dataframe['bbb'].to_csv(r'C:\Users\shawnlisong\Desktop\aaaaa\bbb.txt',index=False)
第一行读入DataFrame,第二行对DataFrame中的aaa列进行分词,第三行写入txt,就是最开始的图片,推荐用这种方式
2、
数据结构为
sentence=[['我','爱','打','篮球'],['dog','喜欢','去','公园','玩耍']]
代码执行如下