In [ ]:
# Require the packages
require(ggplot2)
library(repr)

options(repr.plot.width=15, repr.plot.height=4.5)

In [ ]:
ladder_results_dir <- "../resources/results/ladder_results_sensem/140"
bootstrap_results_dir <- "../resources/results/results_semisupervised_sensem_7k/140"
lemma_data <- data.frame(iteration=integer(), sense=character(), count=integer(), experiment=character())

for(exp in c("bow_logreg", "wordvec_mlp_2_0", "wordvecpos_mlp_2_0")) {
    data <- read.csv(paste(bootstrap_results_dir, exp, "targets_distribution", sep="/"), header = F)
    names(data) <- c("iteration", "sense", "count")
    data$experiment <- exp
    lemma_data <- rbind(lemma_data, data)
}

for(exp in c("vec", "vecpos")) {
    data <- read.csv(paste(ladder_results_dir, exp, "population_growth", sep="/"), header = F)
    names(data) <- c("iteration", "sense", "count")
    data$experiment <- exp
    lemma_data <- rbind(lemma_data, data)
}

lemma_data$experiment <- factor(lemma_data$experiment, levels=c("bow_logreg", "wordvec_mlp_2_0",
                                                                "wordvecpos_mlp_2_0", "vec", "vecpos"))
levels(lemma_data$experiment) <- c("Naive Bootstrap\nBag-of-Words\n& Logistic Regression",
                                   "Naive Bootstrap\nWord Embeddings\n& Multilayer Perceptron",
                                   "Naive Bootstrap\nWord Embeddings\nand PoS\n& Multilayer Perceptron",
                                   "Ladder Networks\nWord Embeddings\n& Multilayer Perceptron",
                                   "Ladder Networks\nWord Embeddings\nand PoS\n& Multilayer Perceptron")

In [ ]:
p <- ggplot(lemma_data, aes(x=iteration, y=count, fill=sense))
p <- p + facet_wrap(~ experiment, scales = 'free', ncol=5)
p <- p + geom_area(position="fill")
p <- p + scale_x_continuous(breaks=seq(0, 20, 2))
p <- p + scale_y_continuous(breaks=seq(0, 1, 0.1), labels=seq(0, 100, 10))
p <- p + labs(title="Population percentage per sense for lemma \"limitar\"", y="Percent", x="Iteration Number")
p <- p + scale_fill_brewer(name="Sense", palette = "Accent", direction = 1,
                          breaks=c("limitar-04", "limitar-03", "limitar-02", "limitar-01"))
p <- p + theme(
      plot.title=element_text(size=15, face="bold", margin=margin(10, 0, 10, 0), vjust=1, lineheight=0.6),
      strip.text.x=element_text(size=10),
      axis.title.x=element_text(size=12, margin=margin(10, 0, 0, 0)),
      axis.title.y=element_text(size=12, margin=margin(0, 10, 0, 0)),
      legend.title=element_text(face="bold", size=13),
      legend.text=element_text(size=11),
      legend.key.height=unit(1.5,"line")
  )
p

In [ ]:
# Save the plot
ggsave("~/Google Drive/Posgrado/WSD with WE/papers/esslli/plots/limitar.png", plot=p, width=15, height=4.5)

In [ ]:
library(grid)
library(gridExtra)

In [ ]:
options(repr.plot.width=10.5, repr.plot.height=18)
ggsave("plots/population_progres.png", plot=grid.arrange(p1, p2, p3, p4, ncol = 1), width=10.5, height=18)

In [ ]:
levels(lemma_data$experiment)

In [ ]: