删除python中的停止字

2024-10-01 17:33:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个删除停止字的算法。 我正在将一个txt文件转换成一个列表,从而传入删除的算法。在

文件行示例:

'mora vai nascer viver cair falar','positivo'
'deixa ver entendi vai crescer vai passar ve','positivo'
'so deveria ter foi agradeco de passei passei fez','positivo'
'nunca nao nao muito nao mais','negativo'
'a nao ate infelizmente ai ate quando','negativo'
'nao perto nao quanto menos nao sim nao nem simplesmente','negativo'

编码

^{pr2}$

错误

Traceback (most recent call last):
     File "C:/Users/Rivaldo/PycharmProjects/Mineracao/Principal.py", line 22, in <module>
          print (removestopword(baseTeste))
     File "C:/Users/Rivaldo/PycharmProjects/Mineracao/Principal.py", line 17, in removestopword
          for(palavras, emocao) in texto:
   ValueError: too many values to unpack

Tags: 文件in算法principalusersfileatenao
2条回答

下面是我该怎么做的。在

stopwords = ['a', 'agora', 'algum', 'alguma', 'aquele', 'aqueles', 'de', 'deu', 'do', 'e', 'estou', 'esta', 'esta',
     'ir', 'meu', 'muito', 'mesmo', 'no', 'nossa', 'o', 'outro', 'para', 'que', 'sem', 'talvez', 'tem', 'tendo',
     'tenha', 'teve', 'tive', 'todo', 'um', 'uma', 'umas', 'uns', 'vou']

def remove_stopwords(text):
    phrases = []
    for (sentence, _) in text:
        sentence_without_stopwords = [word for word in sentence.split() if word not in stopwords]
        phrases.append(sentence_without_stopwords)
    return phrases

with open('input.txt') as raw_text:
    sentence_sentiments = []
    lines = [line for line in raw_text]
    for line in lines:
        sentence, sentiment = line.split(',')
        sentence_sentiments.append((sentence[1:-1], sentiment[1:-1]))
    print(remove_stopwords(sentence_sentiments))

请注意,在您提供的代码中,baseTeste是一个数组,它包含字符串列表,表示输入文件的行。这不是您想要的,因为您试图在这些行中的(sentence, sentiment)对上循环(for(palavras, emocao) in texto:)。因此,您错过了将每一行拆分为(sentence, sentiment)对的中间步骤。在

试试这个:

with open('BasePalavras.txt') as arquivo:
    baseTeste = [linha.strip().split(',') for linha in arquivo]


stopwords = ['a', 'agora', 'algum', 'alguma', 'aquele', 'aqueles', 'de', 'deu', 'do', 'e', 'estou', 'esta', 'esta',
         'ir', 'meu', 'muito', 'mesmo', 'no', 'nossa', 'o', 'outro', 'para', 'que', 'sem', 'talvez', 'tem', 'tendo',
         'tenha', 'teve', 'tive', 'todo', 'um', 'uma', 'umas', 'uns', 'vou']

def removestopword(texto):
    frases=[]
    for (palavras, emocao) in texto:
        semstopwords = [p for p in palavras.split() if p not in stopwords]
        frases.append((semstopwords, emocao))
    return frases

print (removestopword(baseTeste))

baseTeste = [linha.strip() for linha in arquivo]更改为baseTeste = [linha.strip().split(',') for linha in arquivo]

以及

semstopwords = [p for p in palavras.splits() if p not in stopwords]到{}。在

相关问题 更多 >

    热门问题