Токенизация и декодирование - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь токенизировать свои данные, но я очень много борюсь. Обратите внимание, что я новичок в НЛП.

Вот как выглядят мои данные (называемые спамом):

Out[8]: 
                                            text
0  Free entry in 2 a wkly comp to win FA Cup fina...
1  FreeMsg Hey there darling it's been 3 week's n...
2  WINNER!! As a valued network customer you have...
3  Had your mobile 11 months or more? U R entitle...
4  SIX chances to win CASH! From 100 to 20,000 po...

И это то, что я пробовал до сих пор.

def tokenize(text):
    tokens = [token for token in simple_preprocess(text) 
                              if token not in STOPWORDS]
    return [token for token in tokens 
                            if token not in custom_stopwords]
tokenize(spam)

Когда я запускаю это, я получаю следующую ошибку:

TypeError: декодирование в str: нужен объект, похожий на байты, найден DataFrame

Итак, я попытался расшифровать его так:

open(spam).read().decode('utf-8')

Но это также приводит к ошибке:

TypeError: ожидаемый объект str, bytes или os.PathLike, а не DataFrame

Итак, глядя на ошибки, я вижу, что проблема в том, что спам - это фрейм данных, но я не знаю, что с этим делать.

Я также пытался использовать функцию the nltk.tokenize(), но это дало мне еще одну ошибку

TypeError: объект 'module' не вызывается

1 Ответ

0 голосов
/ 16 марта 2019

Вы должны применить свою функцию к столбцу:

spam["text"].apply(tokenize)
...