如何用bert做微信公众号自动问答问题

bert不说了,用它主要是公司客户先把客户拉进公众号,然后写好了问答卷子给我,让公众号自己先回答问题。具体思路就是直接用bert的transformer做特征提取,也不fine tune,直接把他的输出接着往下面贯,具体如下:
1 用哈工大训练好的bert,这样程序自动拉pretrained

    from transformers import BertTokenizer, BertModel, BertForMaskedLM
    mod_name="hfl/chinese-roberta-wwm-ext-large"
    tokenizer=BertTokenizer.from_pretrained(mod_name)
    model=BertModel.from_pretrained(mod_name)
    

2 因为一个回答对应的问题表述有很多种,把问题分类别,相同答案的是一类,那么nlp就成分类问题。把bert的cls输出直接套分类(比如直连接)模型。此外加个什么都不是类别。这个类别样本那多了去。

3 接着来了个问题,发现模型给了两个输出,last hidden 和pooler_output。 last的第一个向量是cls我是知道的,那么这个pooler_output是啥?

    encoded_input = tokenizer(s4, return_tensors='pt')
    output = model(**encoded_input)
    print (output["last_hidden_state"][0])
    print (output["pooler_output"])

4 找梯子谷歌了,这个pooler是cls做线性变化接着再tan来的。那么到底用哪个?其实两个都可以,但是看了几个回答,说hidden的第一个效果可能更好。

特此记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值