利用word分词来对文本进行词频统计

word分词中的 org.apdplat.word.WordFrequencyStatistics 类提供了词频统计的功能

命令行脚本的调用方法如下:

将需要统计词频的文本写入文件:text.txt
chmod +x wfs.sh & wfs.sh -textFile=text.txt -statisticsResultFile=statistics-result.txt
程序运行结束后打开文件statistics-result.txt查看词频统计结果

在程序中的调用方法如下:

//词频统计设置
WordFrequencyStatistics wordFrequencyStatistics = new WordFrequencyStatistics();
wordFrequencyStatistics.setRemoveStopWord(false);
wordFrequencyStatistics.setResultPath("word-frequency-statistics.txt");
wordFrequencyStatistics.setSegmentationAlgorithm(SegmentationAlgorithm.MaxNgramScore);
//开始分词
wordFrequencyStatistics.seg("明天下雨,结合成分子,明天有关于分子和原子的课程,下雨了也要去听课");
//输出词频统计结果
wordFrequencyStatistics.dump();
//准备文件
Files.write(Paths.get("text-to-seg.txt"), Arrays.asList("word分词是一个Java实现的分布式中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。"));
//清除之前的统计结果
wordFrequencyStatistics.reset();
//对文件进行分词
wordFrequencyStatistics.seg(new File("text-to-seg.txt"), new File("text-seg-result.txt"));
//输出词频统计结果
wordFrequencyStatistics.dump("file-seg-statistics-result.txt");

第一句话的词频统计结果:

1、下雨 2
2、明天 2
3、分子 2
4、课程 1
5、听课 1
6、结合 1
7、原子 1
8、去 1
9、成 1
10、关于 1
11、和 1
12、也要 1
13、有 1
14、的 1
15、了 1

第二句话的词频统计结果:

1、分词 2
2、的 2
3、基于 1
4、word 1
5、组件 1
6、词典 1
7、ngram 1
8、多种 1
9、实现 1
10、并 1
11、利用 1
12、消除歧义 1
13、中文分词 1
14、算法 1
15、是 1
16、分布式 1
17、了 1
18、提供 1
19、模型 1
20、来 1
21、一个 1
22、Java 1



转载于:https://my.oschina.net/apdplat/blog/417641

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值