BookmarkSubscribeRSS Feed
GreenCode
SAS Employee

利用SAS Toolkit写的一个过程步,可以在SAS代码中调用JIEBA中文分词功能,源代码在 https://github.com/SASAnalyser/PROC-JIEBA,可以执行文件: https://github.com/SASAnalyser/PROC-JIEBA/releases

 

需要Windows 或者Linux 下安装有64位 SAS 9.4 (Unicode 支持),例子:

data indata;
format inword $char200.;
input inword;
datalines;
小明硕士毕业于中国科学院计算所,后在日本京都大学深造
;
run;

proc jieba data=indata out=outdata maxword=32;
dictpath "C:\SASToolkit\cjieba\dict";
var inword;
instr "我是拖拉机学院手扶拖拉机专业的";
run;

GreenCode_1-1657531717373.png

对indata里var 指定的变量如果没var则对所有字符变量分词和 instr指定的句子分词。

结果保存在 out 数据集,如果不指定 out 数据集则结果打印在日志窗口。

GreenCode_0-1657531683158.png

 

 

 

4 REPLIES 4
whymath
Lapis Lazuli | Level 10
你好,请问这是一个自定义的过程步吗?是怎样做到的?
GreenCode
SAS Employee

不好意思,好久没来这里。是的,是用SAS提供的编程接口工具SAS/TOOLKIT来写的调用jieba功能的一个自定义过程步,具体的实现可看完整的源代码 https://github.com/SASAnalyser/PROC-JIEBA 和SAS/TOOLKIT 帮助文档 https://support.sas.com/documentation/onlinedoc/toolkit/p245.pdf

whymath
Lapis Lazuli | Level 10
打开了新世界的大门,多谢多谢
GreenCode
SAS Employee

data _null_;
put "呵呵,恭喜你有发现!";
run;

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Discussion stats
  • 4 replies
  • 1464 views
  • 1 like
  • 2 in conversation