首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将情感分析模型同时应用于文本列中?

如何将情感分析模型同时应用于文本列中?
EN

Stack Overflow用户
提问于 2022-07-19 15:51:47
回答 2查看 41关注 0票数 0

我正在使用德国情操测试数据帧(df)中德语tweet(文本)的情感。

为此,我将使用以下代码:

代码语言:javascript
复制
from germansentiment import SentimentModel
model = SentimentModel()

df['sentiment'] = ''
for i in range(len(df)):
    df['sentiment'][i] = model.predict_sentiment([df['text'].iloc[i]])
    print(df['sentiment'][i])

因为我正在遍历所有比130,000+更多的行,因此完成任务需要花费很长时间。

有没有更好的方法来做这件事,这样会花费更少的时间?

EN

回答 2

Stack Overflow用户

发布于 2022-07-19 22:19:57

你可以检查你所有的推特是否都是唯一的。如果它们不是,我建议只对唯一的数据进行编码,并使用它作为一个查找表来填充数据。

否则,您也可以使用lambda而不是for loop。根据用例的不同,它可以更快。

我也建议,如果你不需要打印,删除这一行。如果您想要跟踪您的循环的进度,有更好的方法来这样做。

准确地说,我可能会做这样的事情:

代码语言:javascript
复制
from tqdm.auto import tqdm
tqdm.pandas()
df['sentiment'] = df['text'].progress_apply(lambda text: model.predict_sentiment(text))

这应该得到与循环相同的输出。进度将显示为一个条形图,并计算完成所需的时间。没有打印,你应该已经更快,蓝光也可以加快你的速度。

票数 1
EN

Stack Overflow用户

发布于 2022-07-19 23:13:24

在你联系的文件上找了半秒钟.这是更好的解决办法:

代码语言:javascript
复制
df['text'] = model.predict_sentiment(df['text'].tolist())

您只需要将一个列表传递给model.predict_sentiment一次,就可以得到一个预测列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73040053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档