首页 / PERL / Perl 调用R分词进行文本数据分析
Perl 调用R分词进行文本数据分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Perl 调用R分词进行文本数据分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2430字,纯文字阅读大概需要4分钟。
内容图文

最近有一个文本分析的需求,因分析系统用的是Perl,而Perl下优秀的中文文本分析包又少,所以调用R处理文本数据。
为什么不用Python
尽管Python拥有完备的NLP开源包支持,但是理由也很简单——因为Python目前接触不多,不敢班门弄斧,Python以后再说。目前,也只是需要的是一个快速原型,如果生产数据剧增,后期还需用c++重构下核心算法(顺便提一下,HMM就不重写了,吃力不讨好)。
如何开始
1.安装R程序,将R程序安装路径加入环境变量。
2.测试命令行批跑功能
cmd 输入 Rscript --arch x64 --help查看,x64是我当前安装的版本。
3.测试调用R程序,输出与Rgui一致,plot时候不会打开绘图窗口,默认以Report.pdf文件形式导出到脚本目录下。
测试
1 # !/usr/bin/perl 2 # Run R Script By Call R Program 3 # Liangwl 4 # 2015/9/19 19:43:14 5 # Todo: Get the value from R runtime.Each parameter should be defind in Perl. 6 use strict; 7 8 # Write R scripts here 9 sub Rscripts 10 { 11 my $r =<<EndOfScript; 12#R Scripts Begin 13#Description: Test R Script14 Args <- commandArgs(); 15 cat("Args[1]=",Args[1],"\n"); 16 cat("Args[2]=",Args[2],"\n"); 17 cat("Args[3]=",Args[3],"\n"); 18 cat("Args[4]=",Args[4],"\n"); 19 cat("Args[5]=",Args[5],"\n"); 20 cat("Args[6]=",Args[6],"\n"); 21 cat("Args[7]=",Args[7],"\n"); 22 a <- c(1:10); 23 b <- c(10,5); 24 c = a + b; 25 d <- c(11:20); 26c; 27d; 28 x <- rbinom(1000, 10, 0.25); 29 y <- rbinom(1000, 10, 0.25); 30 plot(x, y); 31 plot(jitter(x),jitter(y)); 32 pairs(iris[,1:4]); 33q(); 34#R Scripts End35EndOfScript 36return$r; 37} 3839#Use pipe to Call&Exec R scripts40sub callR 41{ 42my ($file,$TX_DATE) = @_; 43my$rc = open(R,"| r --no-save $TX_DATE") or die $!; 44unless ($rc) { 45print"Could not invoke R command\n"; 46return -1; 47 } 48print R $file; 49return$rc; 50} 5152sub main 53{ 54my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time()); 55my$current = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$year+1900,$mon + 1,$mday,$hour,$min,$sec); 56print"$current\nPID:$$ \n------------------------------------------------------------\n"; 5758# There‘s two way to execute R script 5960 # 1.execute R Script in batch 61 # The parameter which follow ‘Rscript‘ should be a *.r file 62 # The *.r file should be encode with ANSI/ASCII in UNIX/LF mode.63my$path = "C:\\Users\\LiangWenLong\\Desktop\\test.r"; 64my$rc_batch = `Rscript $path123456` or die $! ; 65print$rc_batch; 66print"------------------------------------------------------------\n"; 6768# 2.use pipe call R program and execute script69my$TX_DATE = ‘20150920‘; 70my$rc_pipe = callR(Rscripts(),$TX_DATE); 7172#return $rc_pipe;73return$rc_batch; 74} 75my$ret = main(); 76exit($ret);
运行结果
应用场景
分词、词频、文本挖掘、情感分析、语义分析
原文:http://www.cnblogs.com/liang3p/p/4822940.html
内容总结
以上是互联网集市为您收集整理的Perl 调用R分词进行文本数据分析全部内容,希望文章能够帮你解决Perl 调用R分词进行文本数据分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。