尝试在 Python 中对 10k 到 30k 文本运行 GermanSentiment,总是崩溃?可能数据集太大?

问题描述 投票:0回答:1

我想对 2 个推文数据集进行情感分析,一个包含 9k 字符串,另一个包含 30k 字符串。我已经导入了 GermanSentiment,它在 GitHub 上的演示代码中运行得很好,但是当我将它应用到 30k 或 9k 集时,它导致我的 CPU 峰值如此之快,以至于我不得不将笔记本电脑置于待机状态,然后终止该命令线以重新获得控制权。 我认为这是计算能力的问题,我在我的塔式电脑上尝试了它,具有更多的CPU+GPU能力,它也导致CPU飙升至100%并给我

Failed to initialize NumPy: _ARRAY_API not found (Triggered internally at ..\torch\csrc\utils\tensor_numpy.cpp:84.)
尽管已安装 NumPy。

德国情绪有限制吗?我是不是做错了什么?

尽我所能添加我的代码片段。在我的电脑上,我还得到:

NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

代码:

from germansentiment import SentimentModel
import json
from tqdm import tqdm
#import csv
import re
import argparse
import xmltodict
import mdb_reader
import csvReader
import jsonReader
from pathlib import Path

def check_sentiment(tweet_set_1, tweet_set_2, sm_model):
    model = sm_model

    for tweet_set in tqdm([tweet_set_2]):
        texts = [tweet_set[tweet]["text"] for tweet in tweet_set]
    #breakpoint()
        
        result = model.predict_sentiment(tqdm(texts))
        print(result)

### Sentiment Analyse ###

    model = SentimentModel()

    #texts = [
    #"Mit keinem guten Ergebniss","Das ist gar nicht mal so gut",
    #"Total awesome!","nicht so schlecht wie erwartet",
    #"Der Test verlief positiv.","Sie fährt ein grünes Auto."]
       
    #result = model.predict_sentiment(texts)
    #print(result)

    check_sentiment(tweet_poli, tweet_other, model)

python nlp sentiment-analysis bert-language-model
1个回答
0
投票

如果不知道“tweet_set_1”或“tweet_set_2”的格式,你的问题很难回答。一个可用的 Colab 笔记本会非常有帮助。

但是,这条线看起来不对:

result = model.predict_sentiment(tqdm(texts))

根据数据量,这将失败。

试试这个:

result = [model.predict_sentiment(text) for text in texts]
© www.soinside.com 2019 - 2024. All rights reserved.