fasttext 错误:预测一次处理一行(删除 '\n')

Osc*_*sca 3 pandas fasttext

您好,我有一个包含文本的数据框列。我想使用 fasttext 模型来进行预测。我可以通过将文本数组传递给 fasttext 模型来实现此目的。

import fasttext
d = {'id':[1, 2, 3], 'name':['a', 'b', 'c']}
df = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)

我从系列中删除了“\n”

name_list = df['name'].tolist()
name_list = [name.strip() for name in name_list]
Run Code Online (Sandbox Code Playgroud)

并做出预测model.predict(name_list)

然而,我得到了ValueError: predict processes one line at a time (remove '\n')

我的列表中没有 '\n' 并且'\n' in name_list返回False

我还发现了一个有类似问题的帖子,但仍然遇到同样的错误。

predictions=[]
for line in df['name']:
    pred_label=model.predict(line, k=-1, threshold=0.5)[0][0]
    predictions.append(pred_label)
df['prediction']=predictions
Run Code Online (Sandbox Code Playgroud)

小智 7

在给出 model.predict(name_list) 之前,尝试给出一个 for 循环:

for item in name_list:
   item = item.replace("\n"," ")
   model.predict(item)
Run Code Online (Sandbox Code Playgroud)