Токенизация базы данных песен - PullRequest
0 голосов
/ 16 мая 2018

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

#Works on the whole dataframe

library(dplyr)
library(tokenizers)
library(tidytext)


biggie <- read.csv("C:/Users/First.Last/Desktop/biggie.csv", stringsAsFactors=FALSE)

colnames(biggie)[1] <- 'biggie'



bigsplit <- biggie %>% 
  unnest_tokens(word, biggie)

Сначала я подумал, что проблема в том, что индексирование изменило исходный кадр данных из списка нахарактер.Итак, я добавил дополнительный шаг, чтобы превратить подмножество обратно в фрейм данных.Когда я тестировал типы объектов с помощью typeof (), все они возвращались в виде списков, поэтому я подумал, что это сработает, когда я пропущу его через строку unnest_tokens.Тем не менее, я получаю эту ошибку, когда запускаю строки:

Ошибка в check_input (x): ввод должен быть символьным вектором любой длины или списком символьных векторов, каждый из которых имеет длину 1.

#Here is where it breaks

bigtest <- biggie[1:10,]
bigtest <- data.frame(bigtest)
colnames(bigtest) <- 'biggie'

bigind <- bigtest %>% 
  unnest_tokens(word, 'biggie')

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

summary(bigtest)

summary of bigtest

...