Проблема с токенизатором Nltk

      from nltk.tokenize import RegexpTokenizer
tokenizer = RegexpTokenizer(r'\w+')
dataset['text'] = dataset['text'].apply(lambda word_list: [tokenizer.tokenize(word) for word in word_list])
dataset['text'].head()

Приведенный выше код показывает ошибку

ожидаемая строка или объект, похожий на байты, получен «список»

1 ответ

Предполагая, что dataset['text'] содержит строки, попробуйте внести это изменение в свой код. Если ваша цель — маркировать каждую отдельную строку в столбце dataset['text'], вам необходимо применить токенизатор к каждой строке, а не к каждому слову в строке.

      dataset['text'] = dataset['text'].apply(lambda text: tokenizer.tokenize(text))
dataset['text'].head()

Если dataset['text'] сам по себе представляет собой список списков (где каждый внутренний список содержит слова), то нам нужно использовать другой подход.

Другие вопросы по тегам