老码农分享 http://blog.sciencenet.cn/u/seawan //敲键读书打酱油;

博文

在R下使用MMSeg4j中文分词

已有 7628 次阅读 2012-6-9 07:16 |个人分类:tm|系统分类:科研笔记

中文分词程序:MMSeg4j:

根据程序的结构(现在是1.8版了,mmseg4j-all-1.8.5-with-dic.jar)和rJava接口包的要求,我使用下面的方法直接在R中生成MMSeg4j的Java对象,并调用该对象的方法来获取分词结果:

R命令
(预先要安装rJava包): 
library(rJava)

#make sure the jar file is in the "java" subdirectory of the “rJava”package.
.jpackage(name="rJava",jars="mmseg4j-all-1.8.5-with-dic.jar")

c <- .jnew("com/chenlb/mmseg4j/example/Complex");
outRef<-.jcall(c, "S", "segWords","我们大家都来学习"," | ",evalString = FALSE)
.jstrVal(outRef)

 
 输出结果:  [1] "我们 | 大家 | 都来 | 学习"

上面方法中,注意evalSring参数强调不需要将Java的字符串变量变成R字符串(中文要出毛病的)。
直接以“Java字符串”类型返回,即如果
> outRef
[1] "Java-Object{我们 | 大家 | 都来 | 学习}"
这样通过jstrVal可以获得正确的字符串。

第五个参数决定分词用的分隔符。

========
上面使用的是Complex方法;还有一个类是Simple方法,返回值类型不是基础类型,调用时候更复杂些。


https://blog.sciencenet.cn/blog-461456-580216.html

上一篇:mmseg4j: 中文分词
下一篇:两句最简单R命令,竟然频繁出错~~~
收藏 IP: 113.59.89.*| 热度|

1 dulizhi95

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-19 07:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部