我正在尝试分析应用评论中的一些数据。
我想使用nltk的FreqDist查看文件中最频繁出现的短语。它可以是单个令牌或关键短语。 我不想标记数据,因为那样只会给我最频繁的标记。但是现在,FreqDist函数将每个评论作为一个字符串处理,而不是提取每个评论中的单词。
df = pd.read_csv('Positive.csv')
def pre_process(text):
translator = str.maketrans("", "", string.punctuation)
text = text.lower().strip().replace("\n", " ").replace("’", "").translate(translator)
return text
df['Description'] = df['Description'].map(pre_process)
df = df[df['Description'] != '']
word_dist = nltk.FreqDist(df['Description'])
(“描述”是评论的正文/消息。)
例如,我想得到类似 最常用的字词: “我喜欢”,“有用”,“非常好的应用” 但是相反,我越来越 最常用的字词: “我非常喜欢这个应用程序,因为bablabla”(整个评论)
这就是为什么当我绘制FreqDist时得到这个:
答案 0 :(得分:0)
使用object RestModule {
fun Application.enititiesOne(userRepo: UserRepo) {
routing {
authenticate("jwt") {
route("/entities1") {
get {
val principal = call.principal<UserPrincipal>()
when(userRepo.hasAccessByRole(principal!!.roleId, "CAN_R_E1") {
false -> call.respond(HttpStatusCode.Forbidden)
true -> // some retrieval logic
}
post {
val principal = call.principal<UserPrincipal>()
when(userRepo.hasAccessByRole(principal!!.roleId, "CAN_W_E1") {
false -> call.respond(HttpStatusCode.Forbidden)
true -> // some update logic
}
}
}
}
}
}
或authenticate {
val principal = call.principal<UserPrincipal()
val rights = userRepo.rightsByRole(principal.roleId)
when(routes) {
get("/entities1/**") ->
if(rights.contain("CAN_R_E1")) call.proceed
else call.respond(HttpStatusCode.Forbidden)
post("/entites1) -> rights.contain("CAN_W_E1") // similar
get("/entities2/**") -> rights.contain("CAN_R_E2") // similar
else -> call.respond(401)
}
}
:
ngrams