Токенизация японского текста в R: токенизируется только первая строка указанного столбца

Я пытаюсь токенизировать коллекцию твитов с японским токенизатором. RMeCab конкретно функция RMeCabDF (для данных).

Документация гласит следующее использование:

RMeCabDF

Описание

RMeCabDF принимает кадры данных в качестве первого аргумента и анализирует столбцы, указанные во втором аргументе. Пустые данные должны быть заменены на NA. Если 1 обозначен как третий аргумент, он возвращает каждую морфему в ее основной форме.

использование

RMeCabDF(dataf, coln, mypref, dic = "", mecabrc = "" и т. Д. = "")

аргументы

dataf data.frame

номер столбца или имя колонки, которые включают японские предложения

mypref По умолчанию, равным 0, возвращаются те же морфемные формы, которые появляются в тексте. Если обозначено 1, то вместо них используются основные формы.

dic для указания пользовательского словаря, ex ishida.dic

mecabrc не реализован (указать файл ресурсов mecab)

и т. д. другие варианты mecab

Поэтому после этого я использую следующий код для токенизации номера столбца 89 в кадре данных trump_ja:

trump_ja_tokens <- RMeCabDF(trump_ja, coln = 89)

Это приводит к List of 1 - но, как видите, в фрейме данных 989 строк.

введите описание изображения здесь

Куда делись мои другие ряды?

Нужно ли токенизировать строку за строкой? Если да, есть ли способ автоматизировать этот процесс, чтобы избежать ввода 1000 строк кода (или использовать Excel для создания 1000 строк кода)?

1 ответ

Вы можете использовать RMeCab токенизатор с tidytext, так, как это сделал этот пользователь. Вы бы настроили это так:

df %>%
    unnest_tokens(word, text, token = RMeCab::RMeCabC)

где df это ваш фрейм данных, word новый столбец, который вы собираетесь создать, и text это старый столбец, который у вас уже есть, который содержит текст, который вы хотите маркировать. token аргумент в unnest_tokens() может принимать функцию в качестве аргумента, для случаев, подобных этим.

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