code/topicmodels.R

library(lucrosCessantes)
library(lsa)
library(slam)
library(stringr)
library(tm)
library(topicmodels)

mydir <- "/home/rbstern/Desktop/papers/jurimetria/lucros cessantes/data"

ementas <- d_lc[,6]
ementas <- ementas[!is.na(ementas)]

pt_conjuncoes <- c("e", "nem", "mas", "tambem", "como", "bem", "porem",
                   "todavia", "contudo", "entretanto", "entanto", "ou",
                   "ora", "quer", "ja", "logo", "portanto", "por", "assim",
                   "conseguinte", "que", "porque", "porquanto", "pois",
                   "sendo", "visto", "como", "tal", "tao", "tanto", 
                   "assim", "conforme", "segundo", "consoante", "mesmo",
                   "mais", "ainda", "se", "bem", "embora", "se", "caso",
                   "contanto", "salvo", "medida", "quanto", "fim",
                   "quando", "enquanto", "sempre", "depois")
pt_direito     <- c("acolhimento", "agravo", "apelo", "apelacao", 
                    "artigo", "autos", "autor", "acao", 
                    "causa", "civil", "comarca",
                    "dano", "decisao", "defesa", "dever", "direito",
                    "embargo", "ementa", 
                    "instrumento", "lei", "lide", "mora",
                    "processo", "parcial", "parte", "pedido", 
                    "procedencia", "provido", "provimento",
                    "re", "recurso", "relatorio", "reu", 
                    "sentenca", "valor")
pt_direito_abr <- c("art", "cpc", "fls")
pt_lucros      <- c("cessantes", "indenizacao", "lucros", "responsabilidade")
pt_lugares     <- c("sao", "paulo")
pt_generico    <- c("nao", "sim")
pt_preposicoes <- c("a", "ante", "apos", "ate", "com", "contra", "de", "desde",
                    "para", "per", "perante", "por", "sem", "sob", "sobre", "tras")
pt_meses       <- c("janeiro", "fevereiro", "abril", "maio", "junho", "julho",
                    "agosto", "setembro", "outubro", "novembro", "dezembro")
pt_verbos      <- c("comprovar", "discutir", "julgar", "relatar")
banned_words <- c(pt_conjuncoes,
                  pt_direito,
                  pt_direito_abr,
                  pt_lucros,
                  pt_generico,
                  pt_preposicoes, 
                  pt_meses,
                  pt_verbos,
                  stopwords("portuguese"))
banned_words_stem <- stemDocument(banned_words, language="portuguese")

limpa_ementa <- function(text)
{
  text <- text %>% tolower                  #retirar maiusculas
  text <- iconv(text, to="ASCII//TRANSLIT") #retirar acentos
  text <- gsub("[[:digit:][:punct:]]", "", text)
  text <- stripWhitespace(text)
  text <- paste(stemDocument(unlist(strsplit(text, " ")), language="pt"), collapse=" ")
  
  text <- removeWords(text, banned_words_stem)
  text <- stripWhitespace(text)
  return(text)
}

ementas_clean <- sapply(ementas, limpa_ementa)
ementas_corpus <- ementas_clean %>% VectorSource %>% VCorpus
ementas_tm <- DocumentTermMatrix(ementas_corpus)
ementas_tm_2 <- removeSparseTerms(ementas_tm, 0.999)
ementas_tm_2

ementas_lda <- LDA(ementas_tm_2, 5)
terms(ementas_lda, k=10)
jtrecenti/lucrosCessantes documentation built on May 20, 2019, 3:17 a.m.