您的位置:首页 > 科技 > 能源 > 市场营销策划方案格式模板_济南的网站制作公司_建站优化推广_cilimao磁力猫最新版地址

市场营销策划方案格式模板_济南的网站制作公司_建站优化推广_cilimao磁力猫最新版地址

2024/11/17 5:33:24 来源:https://blog.csdn.net/m0_37134868/article/details/143562443  浏览:    关键词:市场营销策划方案格式模板_济南的网站制作公司_建站优化推广_cilimao磁力猫最新版地址
市场营销策划方案格式模板_济南的网站制作公司_建站优化推广_cilimao磁力猫最新版地址

转载自:| 03_language_model/03_Bert完形填空.ipynb | 基于transformers使用Bert模型做完形填空 |Open In Colab |

完形填空

利用语言模型,可以完成完形填空(fill mask),预测缺失的单词。
当前,效果最好的语言模型是Bert系列的预训练语言模型。

!pip install transformers
import osfrom transformers import pipelineos.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
model_name = "hfl/chinese-macbert-base"nlp = pipeline("fill-mask",model=model_name,tokenizer=model_name,device=-1,  # gpu device id)
from pprint import pprintpprint(nlp(f"明天天{nlp.tokenizer.mask_token}很好?"))
print("*" * 42)
pprint(nlp(f"明天心{nlp.tokenizer.mask_token}很好?"))
print("*" * 42)
pprint(nlp(f"张亮在哪里任{nlp.tokenizer.mask_token}?"))
print("*" * 42)
pprint(nlp(f"少先队员{nlp.tokenizer.mask_token}该为老人让座位。"))

模型默认保存在:~/.cache/huggingface/transformers

不通过pipeline,可以自己写预测逻辑:

from transformers import AutoModelWithLMHead, AutoTokenizer
import torch# tokenizer = AutoTokenizer.from_pretrained("distilbert-base-cased")
# model = AutoModelWithLMHead.from_pretrained("distilbert-base-cased")
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelWithLMHead.from_pretrained(model_name)sequence = f"明天天{nlp.tokenizer.mask_token}很好."
input = tokenizer.encode(sequence, return_tensors="pt")
mask_token_index = torch.where(input == tokenizer.mask_token_id)[1]
token_logits = model(input).logits
mask_token_logits = token_logits[0, mask_token_index, :]
top_5_tokens = torch.topk(mask_token_logits, 5, dim=1).indices[0].tolist()
for token in top_5_tokens:print(sequence.replace(tokenizer.mask_token, tokenizer.decode([token])))

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com