Токенизация японского текста в 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()
может принимать функцию в качестве аргумента, для случаев, подобных этим.