楼主: zh1221zh
3458 2

[有偿编程] jiebaR分词包 出现error zero-length pattern.求助! [推广有奖]

  • 0关注
  • 1粉丝

VIP2

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
7123 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
40 点
帖子
3
精华
0
在线时间
7 小时
注册时间
2015-6-23
最后登录
2015-11-14

楼主
zh1221zh 发表于 2015-6-26 17:05:46 |AI写论文
30论坛币
对10万个微博主的简介进行分词,用了"jiebaR"的软件包。用了个for的循环abc=function(x){
  mixseg=worker()
  k=length(x)
  y=NULL
for (i in 1:k)
   {y[i]<-list(segment(x[i], mixseg))

  }
  return(y)
}




出现 error

Error in gsub(basenames, "", code[1], fixed = TRUE) : zero-length pattern
3 gsub(basenames, "", code[1], fixed = TRUE)


各位大神求解.

关键词:zero-length Pattern jiebaR length Error zero-length pattern function return 软件包

沙发
colipso 发表于 2015-7-21 21:10:40
x[i] 的内容不能为 '.' 增加层判断试试。

藤椅
li19820703 发表于 2015-12-4 01:50:05
library(jiebaR)
cutter = worker(write=FALSE)
cutter["."]
跑一下这个,就会返回
Error in gsub(basenames, "", code[1], fixed = TRUE) : zero-length pattern

解决办法,就是在源文本文件中消灭英文的句号。
用正则表法式x=gsub("\\.","",x)
就ok了

还有在R里面尽量别写for循环,如果记录条数多效率会非常低下
可以用apply族替代for循环
jiebacut<-function(x) {cutter[as.character(x)]}
list_x <- apply(x, 1,jiebacut)
注意返回的数据类型是list

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

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