楼主: weberxu
9218 12

[问答] R语言中文挖掘方面中文分词后转化为文档词频矩阵后出现空格和换行的问题 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
118 个
通用积分
0
学术水平
8 点
热心指数
10 点
信用等级
8 点
经验
3247 点
帖子
187
精华
0
在线时间
121 小时
注册时间
2012-1-12
最后登录
2017-3-7

楼主
weberxu 发表于 2015-11-12 22:04:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
使用Rwordseg包进行中文分词,然后用tm包中的Corpus转换语料库,利用DocumentTermMartix进行文档词频转换,悲剧的发现词频中有很多空格和换行符,各位大侠,应该如何解决呢?谢谢。
具体代码如下:
c.vec <- segmentCN(tmp, returnType="tm")#分词
c.vec <- gsub("[\n]","",c.vec)#分词
c.corpus <- Corpus(VectorSource(c.vec))#构建语料库
c.corpus <- tm_map(c.corpus, removeWords, stopwordsCN())#剔除停用词

ctrl <- list(removePunctuation = T,
             stopwords = stopwordsCN(), wordLengths = c(1, Inf))
c.dtm <- DocumentTermMatrix(c.corpus, control = ctrl)#形成词条和文档关系矩阵
t1 <- findFreqTerms(c.dtm,1)


tmp
[1] "宝宝很喜欢吃,量也挺足的,有包"                                    
[2] "米饼真的很好,罗勒味最好吃,但是不适合宝宝,味道有点重"            
[3] "宝宝爱吃,除了原味的,另外两种味道偏重"                           
[4] "儿子很爱吃,很少见他喜欢吃零食~原味的有淡淡的米香,不咸,香脆可口"
[5] "买了很多次了。"                                                   
[6] "只有原味了的宝宝能吃 另外两个对宝宝来说都比较重"                  
[7] "开了原味的自己尝了尝,是没有味道的旺旺仙贝。"                     
[8] "吃了原味的,适合宝宝吃"                                            
[9] "开了罗勒口味的,很特殊的香味,好吃"                                
[10] "口味一般,没有想象中好吃。总体来说还可以"


最终的t1结果如下:
t1
[1] "爱 吃 "                        "包\n"                        
[3] "宝宝"                          "不 适合"                     
[5] "尝 "                           "吃 "                          
[7] "吃 量 "                        "吃 零食"                     
[9] "吃\n"                          "淡淡的 米 香 不 咸 香 脆 可口"
[11] "都 比较"                       "儿子"                        
[13] "还 "                           "好吃"                        
[15] "很 爱 吃 很 少 见 "            "很 多次"                     
[17] "很 好 罗 勒 味 最"             "很 特殊"                     
[19] "很 喜欢"                       "开"                           
[21] "口味"                          "来说"                        
[23] "两个"                          "两种"                        
[25] "罗 勒 口味"                    "买 "                          
[27] "没有"                          "米 饼 真的"                  
[29] "偏重"                          "适合"                        
[31] "挺 足 "                        "旺 旺 仙 贝\n"               
[33] "味道"                          "喜欢"                        
[35] "香味"                          "想象"                        
[37] "有点"                          "原 味 "                       
[39] "只 "                           "中 好吃"                     
[41] "重\n"                          "总体"  

二维码

扫码加我 拉你入群

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

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

关键词:中文分词 R语言 Document DOCUME words 中文

沙发
cduwanglping 在职认证  发表于 2016-6-4 09:17:29
我也遇到相同的问题了,解决了么?

藤椅
helloclety 发表于 2016-6-4 10:36:03
我也遇到这个问题 参加下面的回答 就可以了
http://www.zhihu.com/question/39615472
已有 1 人评分论坛币 收起 理由
李会超 + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
dada-one 发表于 2016-6-6 20:26:22
helloclety 发表于 2016-6-4 10:36
我也遇到这个问题 参加下面的回答 就可以了
http://www.zhihu.com/question/39615472
很好用,谢谢

报纸
cduwanglping 在职认证  发表于 2016-6-12 23:20:49
版本问题,换一个就行了,我有两个版本,3.0.2和3.1.0,3.0.2可以正常使用,3.1.0会出现楼主所说的情况。

地板
风雨兼程12 发表于 2016-6-14 17:42:35
dada-one 发表于 2016-6-6 20:26
很好用,谢谢
同学你做出来了吗我也遇到这个问题,之前dtm矩阵是这样的
   Terms
Docs 阿玛施\n新春     癌\n种\n      爱国              爱心         安排
   1            0                  0                 0                     0           0
   2            1                  0                 0                     0           0
   3            0                  0                 0                     0          0
   4            0                  0                 0                     0          0
   5            0                  0                 0                     0           0
设置segmentCN()设置一下参数returnType = 'tm'之后 形成的矩阵是这样的
Docs 阿玛施  新春          癌  种      爱国                       爱心         安排
   1            0                  0                 0                     0           0
   2            1                  0                 0                     0           0
   3            0                  0                 0                     0          0
   4            0                  0                 0                     0          0
   5            0                  0                 0                     0           0
我感觉没什么两样呀,
其实我想把“阿玛施”和“新春”当做两个词来处理,他这里怎么把他们两个当做一个词处理呢?

7
风雨兼程12 发表于 2016-6-15 14:14:17
请问你解决了吗 遇到同样的问题了 求赐教

8
Rincy° 发表于 2016-6-16 17:02:42
风雨兼程12 发表于 2016-6-14 17:42
同学你做出来了吗我也遇到这个问题,之前dtm矩阵是这样的
   Terms
Docs 阿玛施\n新春     癌\n种\n    ...
您解决这个将多个词分到同一个term里的问题了吗?
我也遇到了,分词的结果没多大问题,向量化的时候好像会将多个词合到一个term里面去。我的合到一起的term更多,四五元以上的都有。。
然后我自己实现了一个计算tf的方法。。但是太慢了

9
风雨兼程12 发表于 2016-6-17 18:35:53
Rincy° 发表于 2016-6-16 17:02
您解决这个将多个词分到同一个term里的问题了吗?
我也遇到了,分词的结果没多大问题,向量化的时候好像 ...
并没有解决,还是自己编吧  

10
Rincy° 发表于 2016-6-21 11:56:29
风雨兼程12 发表于 2016-6-17 18:35
并没有解决,还是自己编吧
已解决,上面的知乎链接有详细过程

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 18:56