我正在尝试创建一个Shiny应用程序,它将根据我从博客,新闻和Twitter获得的信息,将一个词作为输入并预测下一个单词。我创建了ngram.rds,包括创建一个语料库,然后对其进行标记,最后创建一个ngram。
这就是我在我的服务器上的内容.R为我的Shiny应用程序:
library(shiny)
library(tm)
library(data.table)
library(quanteda)
library(dplyr)
shinyServer(function(input, output) {
setwd("/Users/alishaqazi/Downloads")
wp<- reactive({
ngram <- readRDS("ngram.rds")
y <- kwic(ngram, input)
ydt <- as.data.table(y)
ychar <- as.character(ydt)
ydfm <- dfm(ychar, remove_punct=TRUE, remove_numbers=TRUE)
w <- textstat_frequency(ydfm)
wordPrediction <- w[[2,1]]
wordPrediction
})
output$wordPrediction <- renderPrint({
wp()
})
})
它似乎有效,但生成结果需要很长时间,并且还给出了我不明白的错误:
'as.list.reactivevalues' is deprecated. Use reactiveValuesToList instead.
Please see ?reactiveValuesToList for more information.
有谁知道如何帮我这个?我不知道错误来自哪里,或者这是它运行得非常慢的原因。
请尽快告诉我!这是我明天必须要做的事情。
答案 0 :(得分:0)
嗯。这是一个奇怪的错误。我猜你正在做的所有单词的东西都是制作一个列表,而且Shiny并不喜欢as.list()被调用。我想在经过一段时间的弃用后,它最终会停止工作。
我非常怀疑它是否会让它慢慢运行。它只是说它已经被弃用,并且不会这样做&#34;。就其自身而言,不应该使代码变慢。 ngram的东西可能让它运行缓慢。在Shiny之外尝试一下,检查一下你是否感到烦恼。我不知道这是否是一个减少的例子,但在你的削减示例中,Shiny根本不做任何事情。