怎么seo网站排名wordpress搭建电影
news/
2025/10/1 13:53:35/
文章来源:
怎么seo网站排名,wordpress搭建电影,如何建立一个永久网站,深圳网站建设制作1、自己准备训练语料文件
根据自己的业务场景准备训练数据#xff0c;比如用户在商城上的同购行为序列或同浏览行为序列。
我们希望通过自己训练业务相关的语料word2vec模型来获得词嵌入、词相关性查询等。
1.1 准备语料库文件
# 示例#xff1a;准备自己的一个大规模的语…1、自己准备训练语料文件
根据自己的业务场景准备训练数据比如用户在商城上的同购行为序列或同浏览行为序列。
我们希望通过自己训练业务相关的语料word2vec模型来获得词嵌入、词相关性查询等。
1.1 准备语料库文件
# 示例准备自己的一个大规模的语料库文件
df spark.sql(
select hist_item_seq from dmb_dev.dmb_dev_item_sku_sequencewhere item_seq_len 2group by hist_item_seq
)
df.show(6, False)corpus_file large_corpus_sku_name.txt
df.toPandas().to_csv(corpus_file, sep , indexFalse, modew,headerFalse )五粮液 金密鉴 52度浓香型高度白酒 500ml 五粮液红密鉴陈酿6瓶整箱装,五粮液 金密鉴 52度浓香型高度白酒 500ml 五粮液红密鉴
陈酿6瓶整箱装,五粮液WULIANGYE酒五粮液密鉴浓香型白酒礼盒白酒整箱口粮酒送礼收藏宴请佳品 52度 500mL 6瓶 红密鉴,五粮液W
ULIANGYE酒五粮液密鉴浓香型白酒礼盒白酒整箱口粮酒送礼收藏宴请佳品 52度 500mL 6瓶 红密鉴
珍酒贵州珍酒 珍十五 2021年份酒 53度酱香型白酒 送礼商务 53%vol 500mL 6瓶 整箱装,珍酒贵州珍酒 珍十五 2021年份酒 53度酱香型白
酒 送礼商务 53%vol 500mL 6瓶 整箱装,珍酒珍十五 酱香型白酒整箱装 53度 500ml*6瓶酒中珍品 大曲坤沙
茅台MOUTAI 汉酱酒 酱香型白酒 51度 500ml*6瓶 整箱装,习酒贵州习酒 53度 圆习酒 老习酒 500ml*6 整箱装 酱香型白酒,剑南春
水晶剑 浓香型白酒 喜宴名酒 38度 500mL 6瓶 整箱装
洋河 蓝色经典 天之蓝 42度 520ml*6瓶 整箱装 绵柔浓香型白酒 送礼,洋河【官方授权】蓝色经典 口感绵柔浓香型500ml*2瓶白酒 梦之蓝M3 45度 礼盒装,洋河 梦之蓝M3 45度 500ml*2瓶 礼盒装 绵柔浓香型白酒,洋河梦之蓝M3 52度 500ml*2瓶 礼盒装 绵柔浓香型白酒,洋河
之蓝M3 52度 500ml*2瓶 礼盒装 绵柔浓香型白酒
五粮液股份 五粮春 浓香型四川宜宾白酒粮食酒 五粮春 45度 500ml*6瓶整箱,五粮液股份 五粮春 浓香型四川宜宾白酒粮食酒 五粮春 45
度 500ml*6瓶整箱,洋河 梦之蓝M6 52度 550ml*2瓶 礼盒装 绵柔浓香型白酒
茅台MOUTAI53度500ml贵州茅台酒 飞天茅台,茅台MOUTAI53度500ml贵州茅台酒 飞天茅台 2023单瓶500ML,茅台MOUTAI贵州茅台
酒 飞天茅台礼盒 53度 酱香型白酒 500ml*2两瓶装
2、全量自训练word2vec模型
2.1 读取语料文件
# 定义函数来读取语料库文件
def read_corpus(file_path):lines []with open(file_path, r, encodingutf-8) as f:for i, line in enumerate(f):lines.append(line.replace(,).replace( ,).strip().split(,)) # 每行按,分割好了return linescorpus read_corpus(corpus_file)
corpus[:5] 2.2 训练 Word2Vec 模型
# 设置 Word2Vec 模型的参数
vector_size 20 # 设置词向量的维度
window 5 # 窗口大小控制上下文窗口的大小
min_count 2 # 最小词频过滤掉低频词
sg 0 # 0表示使用 CBOW 模型1示使用 Skip-Gram 模型# 训练 Word2Vec 模型
model Word2Vec(corpus, vector_sizevector_size, windowwindow, min_countmin_count, sgsg)2.3 保存和读取模型
# 保存训练好的模型
model.save(word2vec_model_1batch_train_sku_name.w2v)# 模型加载
import gensim
model1 gensim.models.word2vec.Word2Vec.load(word2vec_model_1batch_train_sku_name.w2v).wv
model1.similarity(茅台贵州茅台53度飞天茅台500ml*1瓶酱香型白酒单瓶装, 剑南春 水晶剑 52度 500ml*6瓶 浓香型白酒 整箱装) 2.4 查看TopN相似和 词与词之间的相似系数
# 查看商品 TopN 相似性商品
model.wv.most_similar(国台 十五年 酱香型白酒 53度 500ml单瓶装 15酱酒 茅台镇纯粮食酱酒, topn10)for item_ta in [茅台贵州茅台53度飞天茅台500ml*1瓶酱香型白酒单瓶装, 剑南春 水晶剑 52度 500ml*6瓶 浓香型白酒 整箱装]:# 查看print(\n%s商品 TopN 相似性商品为: %item_ta)print(model.wv.most_similar(item_ta, topn10))2.5 获取用户向量
# 获取用户向量
model.wv[茅台贵州茅台53度飞天茅台500ml*1瓶酱香型白酒单瓶装] 3、增量训练word2vec模型
3.1 增量训练
from gensim.models import Word2Vec
import logging# 设置日志级别以便查看进度
logging.basicConfig(format%(asctime)s : %(levelname)s : %(message)s, levellogging.INFO)# 假设有一个大规模的语料库文件
corpus_file large_corpus_sku_name.txt# 定义 Word2Vec 模型的参数
vector_size 100 # 词向量维度
window 5 # 窗口大小
min_count 5 # 最小词频过滤掉低频词
workers 4 # 使用多少个 CPU 核心来训练模型# 初始化空的 Word2Vec 模型
model Word2Vec(vector_sizevector_size, windowwindow, min_countmin_count, workersworkers)# 逐步加载和训练数据
def read_and_train_model(model, corpus_file, chunk_size10000):with open(corpus_file, r, encodingutf-8) as f:lines []for i, line in enumerate(f):lines.append(line.strip().replace(,).split(,)) # 假设每行已经分好词了按空格分割if i 0 and i % chunk_size 0:if model.corpus_count 0:# 第一次建立词汇表model.build_vocab(lines)else:# 更新词汇表model.build_vocab(lines, updateTrue)# 训练模型model.train(lines, total_exampleslen(lines), epochsmodel.epochs)# 清空 lines 列表以便下一个批次数据lines []# 处理最后一个不完整的数据块if lines:if model.corpus_count 0:model.build_vocab(lines)else:model.build_vocab(lines, updateTrue)model.train(lines, total_exampleslen(lines), epochsmodel.epochs)# 开始增量学习
read_and_train_model(model, corpus_file)# 保存训练好的模型
model.save(word2vec_model_increase_train_sku_name.w2v)3.2 查看商品 TopN 相似性商品
# 查看商品 TopN 相似性商品
model.wv.most_similar(茅台MOUTAI53度飞天酱香型白酒500ml单瓶装, topn10)4、模型局限性: 不能识别不在语料库中的词 5、解决方法使用fasttext模型
5.1 fasttext模型训练
from gensim.models import FastText
# 模型训练
model FastText(vector_size20, window3, min_count1) # instantiate
model.build_vocab(corpus_iterablecorpus)
model.train(corpus_iterablecorpus, total_exampleslen(corpus), epochs10) #或者
model2 FastText(vector_size20, window3, min_count1, sentencescommon_texts, epochs10)5.2 查询不在词库中的词向量
print(model.wv[【浓香】五粮液甲辰龙年纪念酒5瓶装])
print(model.wv.most_similar(【浓香】五粮液甲辰龙年纪念酒5瓶装, topn10)) 到这里虽然能解决不在词库中词的词向量查询问题但高相关词(商品)的检索又变得有偏了缺乏一定的多样性。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923904.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!