- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
内蒙古工业大学数据科学与应用学院
机器学习课程实验报告
姓名:张国林
学号:20231100537
班级:23级网安
日期:2024.1.14
一、实验内容
词嵌入。实现word2vec中的Skip-gram模型。
二、实验环境
在实验进行的环境为IntelCorei5-10500×6处理器,12G运行内存,NvidiaRTX2060SUPER显卡。网络基于pytorch1.8.1框架进行搭建,编程环境为Python3.7.16.
三、数据集介绍
原始新闻数据集为news.txt.
以新闻分类为目标,具体内容如下
实验方案
使用的是skip-gram模型来进行词嵌入。
拿到news.txt数据集后处理思路如下:
实现是一种非end-end的算法,每个中间步骤的输出都会对最后的输出有很大影响。word2vec是连接词和embedding的桥梁,决定着最终算法的上下限,这也是非end-end算法的缺点。word2vec的输入是分词后的结果,处理输入数据:
最后计算相似度构建损失函数,每个词语的embedding是由id查表得到的。
Word2vec就是利用最大似然估计来求解某一现象(即用背景词估计中心词)发生概率最大时的参数(wordembedding)问题。在skip-gram模型中对应的正样本是中心词的window_size里的背景词,而负样本又称噪声词,可以是词典中任意词,一般依照词频来选择。通过负样本和正样本分别对输入(即中心词)计算相似度来设计loss,负采样主要解决计算词典中的词与中心词的相似度计算量过大问题。不加入负采样计算相似度时,要遍历整个字典,计算复杂度为n(V),V为词典大小,通过负采样可以用预先设定的负样本取值neg_count来bound住计算范围。
主要代码
原始新闻数据集为news.txt,先进行数据预处理得到分词后的文件:
importjieba
importpandasaspd
fromsklearnimportpreprocessing
importre
importnumpyasnp
fromcollectionsimportdeque
importoperator
np.random.seed(0)
classDataPreprocess():
def__init__(self,inputdata_path,stopword_path):
self.dataed,self.labeled=self.dataload(inputdata_path,stopword_path)
defdataload(self,inputdata_path,stopword_path):
train_data=pd.read_csv(inputdata_path,delimiter=\t,
lineterminator=\n,encoding=UTF-8,header=None)
rawlabellist=[]
datalist=[[]for_inrange(train_data.shape[0])]
foriinrange(train_data.shape[0]):
rawlabellist.append(train_data.iloc[i,0])
labellist=preprocessing.LabelEncoder().fit_transform(rawlabellist)
foriinrange(train_data.shape[0]):
datalist[i]=train_data.iloc[i,1]
withopen(stopword_path,r,encoding=UTF-8)asf:
self.stopword=[]
forlineinf.readlines():
self.stopword.append(line.strip())
returndatalist,labellist
defstopworddelete(self,sentence):
word_n
文档评论(0)