【发布时间】:2021-07-24 19:57:15
【问题描述】:
我构建了一个 BERT 模型,现在我有了一个块,可以很好地对文本列中的每一行进行逐一分类。 Pandas 数据框是这样的:
text
0 working add oil
1 @KristianaNKOTB you're welcome
2 is going to bed, work in the morning boo but t...
3 @sparky_habbo - uni & assignments happened...
4 Can't wait to have chinese food! Still disappo...
文本列中每一行的分类代码如下:
text = [df[0]]
pred_tokens = map(tokenizer.tokenize, text)
pred_tokens = map(lambda tok: ["[CLS]"] + tok + ["[SEP]"], pred_tokens)
pred_token_ids = list(map(tokenizer.convert_tokens_to_ids, pred_tokens))
pred_token_ids = map(lambda tids: tids +[0]*(data.max_seq_len-len(tids)),pred_token_ids)
pred_token_ids = np.array(list(pred_token_ids))
predictions = model.predict(pred_token_ids).argmax(axis=-1)
df = pd.DataFrame(predictions, columns = ['emotion'])
df
例如,如果我们要分类df.text[0],所以'working add oil',是1还是0,我使用这段代码,结果是这样的:
emotion
0 1
但是现在我如何通过遍历行来预测数据框中的每一行?
【问题讨论】:
标签: python pandas loops iterator iteration