楼主: pennyr617
1913 4

[实际应用] R中文文本挖掘tm包相关问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

98%

还不是VIP/贵宾

-

威望
0
论坛币
841 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
837 点
帖子
51
精华
0
在线时间
143 小时
注册时间
2012-3-31
最后登录
2023-12-4

楼主
pennyr617 发表于 2019-1-7 14:28:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用tm包做文本挖掘,想导入用Rwordseg包做过分词的中文到语料库中作文本聚类,请问导入对象可以是list的格式吗?具体导入的函数怎么写?因为用Rwordseg包分词过后的文本为list的格式,如下图所示:




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


提问图片.png (26.54 KB)

提问图片.png

沙发
fyc7346165 发表于 2019-1-7 15:37:25
用segmentCN函数作分词的时候,有一个returnType参数,需要把它设置为"tm",这样得到的结果就可以直接用来构造DTM了

藤椅
pennyr617 发表于 2019-1-7 16:24:53
那建立语料库后每个文档的格式为一个向量格式,如下图所示,这样有没有问题?建立语料库的代码为ovid3 <- Corpus(VectorSource(seg),readerControl=list(language="zh"))
tm分词对象.png


板凳
fyc7346165 发表于 2019-1-7 16:48:02
pennyr617 发表于 2019-1-7 16:24
那建立语料库后每个文档的格式为一个向量格式,如下图所示,这样有没有问题?建立语料库的代码为ovid3
你这个情况我不确认接下来会发生什么但是跟我不太一样,给你一个例子吧
  1. data <- c("今天天气很好", "明天不用上班")
  2. tmdata <- segmentCN(data, returnType = "tm")
  3. cpdata <- VCorpus(VectorSource(tmdata), readerControl = list(language = "zh"))
  4. ctrl <- list(weighting = weightTf, wordLengths = c(1, Inf))
  5. dtm <- DocumentTermMatrix(cpdata, control = ctrl)
复制代码
中文用tm的基本思想就是通过分词在文本中加入了很多空格,然后中文就可以跟英文一样的处理方式了
所以分词后不能写成
  1. > segmentCN("今天天气很好")
  2. [1] "今天" "天气" "很"   "好"  
复制代码
而应该是
  1. > segmentCN("今天天气很好", returnType = "tm")
  2. [1] "今天 天气 很 好"
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 50 + 5 + 5 + 5 热心帮助其他会员

总评分: 论坛币 + 50  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

报纸
pennyr617 发表于 2019-1-8 16:10:01
非常感谢,我的问题已经解决了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 21:23