如何使用 BERT 或类似的东西对文本文件进行标记?

数据挖掘 Python nlp nltk 伯特
2022-03-04 12:28:03

我想在项目中使用推特数据集,推文内容如下所示:

tweet_ID         tweet_text

12324124         some text here that has been twitted bla bla bla
35325323         some other text, trump, usa , merica ,etc.
56743563         bla bla text whatever tweet bla bla

现在我想最终得到一个包含 tweet_ID 和一些矢量编码的文件。我正在阅读有关 BERT、ROBERTA 等的信息。有没有办法在不编写大量样板代码的情况下简单地生成这些编码?

1个回答

使用Huginface 的 Transformers,它的样板应该不多。

使用 PyTorch 的最小示例:

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')
input_ids = torch.tensor(tokenizer.encode("Hello, my dog is cute")).unsqueeze(0)  # Batch size 1
outputs = model(input_ids)
last_hidden_states = outputs[0]  # The last hidden-state is the first element of the output tuple

根据您要处理的数据方式,您可能希望稍微加快速度。在这种情况下,您应该分批进行,这需要进行填充并将填充掩码传递给模型。