1

ハグ顔の BERTweet 実装 ( https://huggingface.co/docs/transformers/model_doc/bertweet ) を使用しています。いくつかのツイートをエンコードして、さらに処理 (予測) するために転送したいと考えています。問題は、比較的長い文をエンコードしようとすると、モデルでエラーが発生することです。

例:

import torch
from transformers import AutoModel, AutoTokenizer
from DataLoader import DataLoader
   
bertweet = AutoModel.from_pretrained("vinai/bertweet-base")
tokenizer = AutoTokenizer.from_pretrained("vinai/bertweet-base", normalization=True) # Automatic normalization of tweets by enabling normalization


line = "SC has first two presumptive cases of coronavirus , DHEC confirms HTTPURL via @USER :cry: SC has first two presumptive cases of coronavirus , DHEC confirms HTTPURL via @USER :cry: SC has first two presumptive cases of coronavirus , DHEC confirms HTTPURL via @USER :cry: SC has first two presumptive cases of coronavirus , DHEC confirms HTTPURL via @USER :cry: SC has first two presumptive cases of coronavirus , DHEC confirms HTTPURL via @USER :cry: SC has first two presumptive cases of coronavirus , DHEC confirms HTTPURL via @USER :cry: SC has first two presumptive cases of coronavirus , DHEC confirms  "
input_ids = torch.tensor([tokenizer.encode(line)]) 

print(input_ids)
with torch.no_grad():
    features = bertweet(input_ids)

コンソール出力:

RuntimeError: The expanded size of the tensor (136) must match the existing size (130) at non-singleton dimension 1.  Target sizes: [1, 136].  Tensor sizes: [1, 130]

ただし、次のように変更するlineと:

line = "SC has first two presumptive cases of coronavirus , DHEC confirms HTTPURL via @USER :cry:"

の場合、モデルは文を正常にエンコードします。それは予想される動作ですか?BERT は 1 文に最大 512 語までということを私は知っています。BERTweet は基本的に微調整された BERT です。長い文を削除するのは良い考えですか?それは私の問題に対する許容できる解決策でしょうか? 前もって感謝します。

4

0 に答える 0