Создание документов и вокаба в формате LDA с использованием предварительно неопубликованных токенов - PullRequest
0 голосов
/ 24 октября 2019

Я работаю над задачей анализа настроений на данных на иностранном языке (упрощенный китайский). Хотя эту задачу легко реализовать в текстовых данных на английском языке, работать с текстом на китайском языке довольно сложно, поскольку широко используемый подход unnest_token() не совсем работает с текстом на китайском языке, и для этого могут потребоваться пользовательские стоп-словасписок для удаления лишних слов из корпуса. Поэтому я попросил коллегу поработать над китайским текстом, поставив и поставив перед ним задачи по очистке, и затем я объединил очищенный текст (который представлен в формате списка списков) с соответствующими документами и рейтингом настроения, как показанов example data ниже. Очищенные тексты хранятся в столбце text, который должен соответствовать их оригинальному документу, сохраненному в столбце documents той же строки.

Однако, если я хочу преобразовать записи столбца text в формат LDA (который состоит из индексированного documents и списка vocab) для дальнейшей обработки с использованием tidy -типаприложений, сохраняя длину documents нового объекта LDA одинаковой с длиной исходного documents в example_dat, так что все они совпадают со своими doc_id, как я могу этого достичь?

library(tidytext)
library(tidyverse)
library(tm)
library(dplyr)

# load the data
example_dat <-  readRDS(file = gzcon(url("https://www.dropbox.com/s/7pdezjoom8urftu/example_dat.rds?dl=1")))

names(example_dat)
[1] "doc_id"    "text"      "rating"    "documents"

example_dat$text[1]
[[1]]
[1] "正名"   "奥委会" "踢出"   "奥运"   "舞台"   "台独"  
[7] "作作"   "踢"     "好"  

# want to convert to something like this, I will need to create a vocab to have each token in the corpus labelled
$`1`
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    1    2    3    4
[2,]    1    1    1    1    1
...