当前位置: 首页 > news >正文

网站搜索功能设计怎么建设电影网站

网站搜索功能设计,怎么建设电影网站,企业官网设计图,开发高端市场1 案例描述 案例#xff1a;加载Transformers库中的BERT模型#xff0c;并用它实现完形填空任务#xff0c;即预测一个句子中缺失的单词。 2 代码实现#xff1a;使用BERT模型实现完形填空任务 2.1 代码实现#xff1a;载入词表#xff0c;并对输入的文本进行分词转化--… 1 案例描述 案例加载Transformers库中的BERT模型并用它实现完形填空任务即预测一个句子中缺失的单词。 2 代码实现使用BERT模型实现完形填空任务 2.1 代码实现载入词表并对输入的文本进行分词转化---BERT_MASK.py第1部分 import torch from transformers import BertTokenizer, BertForMaskedLM# 1.1 载入词表并对输入的文本进行分词转化 # 加载预训练模型 tokenizer BertTokenizer.from_pretrained(bert-base-uncased)# 输入文本BERT模型需要特殊词来标定句子 # [CLS]标记一个段落的开始。一个段落可以有一个或多个句子但是只能有一个[CLS]。[CLS]在BERT模型中还会被用作分类任务的输出特征。 # [SEP]标记一个句子的结束。在一个段落中可以有多个[SEP]。 text [CLS] Who is Li BiGor ? [SEP] Li BiGor is a programmer [SEP] tokenized_text tokenizer.tokenize(text) # 使用词表对输入文本进行转换。与中文分词有点类似。由于词表中不可能覆盖所有的单词因此当输入文本中的单词不存在时系统会使用带有通配符的单间以“#”开头的单词将其拆开。 print(词表转化结果,tokenized_text) # 词表转化结果[[CLS],who,is,li,big,##or,?,[SEP],li,big,##or,is,a,programmer,[SEP]]2.2 代码实现遮蔽单词并将其转换为索引值---BERT_MASK.py第2部分 # 1.2 遮蔽单词并将其转换为索引值使用标记字符[MAS]代替输入文本中索引值为8的单词对“Li”进行遮蔽并将整个句子中的单词转换为词表中的索引值。 masked_index 8 # 掩码一个标记再使用BertForMaskedLM预测回来 tokenized_text[masked_index] [MASK] # 标记字符[MASK]是BERT模型中的特殊标识符。在BERT模型的训练过程中会对输入文本的随机位置用[MASK]字符进行替换并训练模型预测出[MASK]字符对应的值。 print(句子中的索引,tokenized_text) # 句子中的索引[[CLS],who,is,li,big,##or,?,[SEP],[MASK],big,##or,is,a,programmer,[SEP]] # 将标记转换为词汇表索引 indexed_tokens tokenizer.convert_tokens_to_ids(tokenized_text) # 将输入转换为PyTorch张量 tokens_tensor torch.tensor([indexed_tokens]) print(句子中的向量,tokens_tensor) # 句子中的向量tensor([[101,2040,2003,5622,2502,2953,1029,102,103,2502,2953,2003,1037,20273,102]]) 2.3 代码实现加载预训练模型并对遮蔽单词进行预测---BERT_MASK.py第3部分 # 1.3 加载预训练模型并对遮蔽单词进行预测 # 指定设备 device torch.device(cuda:0 if torch.cuda.is_available() else cpu) print(device) # 加载预训练模型 (weights) model BertForMaskedLM.from_pretrained(bert-base-uncased) # 用BertForMaskedLM类加载模型该类可以对句子中的标记字符[MASK]进行预测。 model.eval() model.to(device) # 段标记索引定义输入的BertForMaskedLM类句子指示参数用于指示输入文本中的单词是属于第一句还是属于第二句。属于第一句的单词用0来表示一共8个)属于第二句的单词用1来表示一共7个)。 segments_ids [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1] segments_tensors torch.tensor([segments_ids]).to(device)tokens_tensor tokens_tensor.to(device)# 预测所有的tokens with torch.no_grad():# 将文本和句子指示参数输入模型进行预测。# 输出结果是一个形状为[11530522]的张量。其中1代表批次个数15代表输入句子中的15个单词30522是词表中单词的个数。# 模型的结果表示词表中每个单词在句子中可能出现的概率。outputs model(tokens_tensor, token_type_idssegments_tensors) predictions outputs[0] # [1, 15, 30522] # 预测结果从输出结果中取出[MASK]字符对应的预测索引值。 predicted_index torch.argmax(predictions[0, masked_index]).item() # 将预测索引值转换为单词。 predicted_token tokenizer.convert_ids_to_tokens([predicted_index])[0] print(预测词为:, predicted_token) # 预测词为: li 3 代码总览---BERT_MASK.py import torch from transformers import BertTokenizer, BertForMaskedLM# 1.1 载入词表并对输入的文本进行分词转化 # 加载预训练模型 tokenizer BertTokenizer.from_pretrained(bert-base-uncased)# 输入文本BERT模型需要特殊词来标定句子 # [CLS]标记一个段落的开始。一个段落可以有一个或多个句子但是只能有一个[CLS]。[CLS]在BERT模型中还会被用作分类任务的输出特征。 # [SEP]标记一个句子的结束。在一个段落中可以有多个[SEP]。 text [CLS] Who is Li BiGor ? [SEP] Li BiGor is a programmer [SEP] tokenized_text tokenizer.tokenize(text) # 使用词表对输入文本进行转换。与中文分词有点类似。由于词表中不可能覆盖所有的单词因此当输入文本中的单词不存在时系统会使用带有通配符的单间以“#”开头的单词将其拆开。 print(词表转化结果,tokenized_text) # 词表转化结果[[CLS],who,is,li,big,##or,?,[SEP],li,big,##or,is,a,programmer,[SEP]]# 1.2 遮蔽单词并将其转换为索引值使用标记字符[MAS]代替输入文本中索引值为8的单词对“Li”进行遮蔽并将整个句子中的单词转换为词表中的索引值。 masked_index 8 # 掩码一个标记再使用BertForMaskedLM预测回来 tokenized_text[masked_index] [MASK] # 标记字符[MASK]是BERT模型中的特殊标识符。在BERT模型的训练过程中会对输入文本的随机位置用[MASK]字符进行替换并训练模型预测出[MASK]字符对应的值。 print(句子中的索引,tokenized_text) # 句子中的索引[[CLS],who,is,li,big,##or,?,[SEP],[MASK],big,##or,is,a,programmer,[SEP]] # 将标记转换为词汇表索引 indexed_tokens tokenizer.convert_tokens_to_ids(tokenized_text) # 将输入转换为PyTorch张量 tokens_tensor torch.tensor([indexed_tokens]) print(句子中的向量,tokens_tensor) # 句子中的向量tensor([[101,2040,2003,5622,2502,2953,1029,102,103,2502,2953,2003,1037,20273,102]])# 1.3 加载预训练模型并对遮蔽单词进行预测 # 指定设备 device torch.device(cuda:0 if torch.cuda.is_available() else cpu) print(device) # 加载预训练模型 (weights) model BertForMaskedLM.from_pretrained(bert-base-uncased) # 用BertForMaskedLM类加载模型该类可以对句子中的标记字符[MASK]进行预测。 model.eval() model.to(device) # 段标记索引定义输入的BertForMaskedLM类句子指示参数用于指示输入文本中的单词是属于第一句还是属于第二句。属于第一句的单词用0来表示一共8个)属于第二句的单词用1来表示一共7个)。 segments_ids [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1] segments_tensors torch.tensor([segments_ids]).to(device)tokens_tensor tokens_tensor.to(device)# 预测所有的tokens with torch.no_grad():# 将文本和句子指示参数输入模型进行预测。# 输出结果是一个形状为[11530522]的张量。其中1代表批次个数15代表输入句子中的15个单词30522是词表中单词的个数。# 模型的结果表示词表中每个单词在句子中可能出现的概率。outputs model(tokens_tensor, token_type_idssegments_tensors) predictions outputs[0] # [1, 15, 30522] # 预测结果从输出结果中取出[MASK]字符对应的预测索引值。 predicted_index torch.argmax(predictions[0, masked_index]).item() # 将预测索引值转换为单词。 predicted_token tokenizer.convert_ids_to_tokens([predicted_index])[0] print(预测词为:, predicted_token) # 预测词为: li
http://wiki.neutronadmin.com/news/248187/

相关文章:

  • 宿迁莱布拉网站建设广东贸易网站建设
  • 湛江做网站开发手机上怎么做自己卖菜的网站
  • 个人开办导航网站需要怎么做与网站建设有关的招标文件
  • 镇江还有什么网站吗上海环球金融中心电梯
  • 阿里云建站百度收录吗建立主题网站的知识点
  • 2015做那个网站致富网站备案都审核什么
  • ps做电商网站流程wordpress点击图片不显示
  • 网站建设联系我们多样化的网站建设公司
  • 网站备案的网站名称WordPress 处理表单
  • 设计汽车网站学院网站建设计划
  • 做网站的关键词内蒙古建设工程交易服务中心网站
  • 做网站哪家公司便宜.tech 域名 网站
  • 网站不收录是什么原因百度排行榜风云榜小说
  • 公司网站建设开发方案重庆网站供奉
  • 管理系统网站在百度做推广需要网站
  • 网站自动提交收录wordpress时区
  • 网站如何申请微信支付功能产品宣传短视频
  • 苏州网站制作的公司网络建设推广推荐
  • 东莞做网站价格南宁哪些公司专业做网站
  • 机关事业单位网站建设简单的网站类型有哪些内容
  • 婚庆设备租赁网站源码建筑面积计算规范2023下载最新版
  • 省品牌建设联合会网站深圳国际设计学院
  • 广西网站设计服务seo怎么优化关键词排名培训
  • 徐州网站开发价位个体户公司名称怎么取
  • 电子商务网站建设要求学网站建设哪里好
  • 网站开发销售怎么做wordpress 页面调新闻
  • 网站建设哪家好推荐万维科技上海每44秒就有一人死于新冠
  • 上海企业建站 免费德维尔全屋定制官方网站
  • 专业做阿里巴巴网站的公司保险网站 源码
  • 东莞网站seo公司哪家大西安建设网站制作