利用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


时间: 2024-10-07 03:08:30

利用word分词来对文本进行词频统计的相关文章

利用word分词提供的文本相似度算法来辅助记忆英语单词

本文实现代码:利用word分词提供的文本相似度算法来辅助记忆英语单词 本文使用的英语单词囊括了几乎所有的考纲词汇共18123词: /**  * 考纲词汇  * @return  */ public static Set<Word> getSyllabusVocabulary(){     return get("/word_primary_school.txt",             "/word_junior_school.txt",       

利用word分词来计算文本相似度

word分词提供了两种文本相似度计算方式: 方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度 实现类:org.apdplat.word.analysis.CosineTextSimilarity 用法如下: String text1 = "我爱学习"; String text2 = "我爱读书"; String text3 = "他是黑客"; TextSimilarity textSimilarity = new CosineT

基于word分词提供的文本相似度算法来实现通用的网页相似度检测

实现代码:基于word分词提供的文本相似度算法来实现通用的网页相似度检测 运行结果: 检查的博文数:128 1.检查博文:192本软件著作用词分析(五)用词最复杂99级,相似度分值:Simple=0.968589 Cosine=0.955598 EditDistance=0.916884 EuclideanDistance=0.00825 ManhattanDistance=0.001209 Jaccard=0.859838 JaroDistance=0.824469 JaroWinklerDi

利用word分词通过计算词的语境来获得相关词

我们如何通过计算词的语境来获得相关词呢? 语境的定义是:在一段文本中,任意一个词的语境由它的前N个词和后N个词组成. 相关词的定义是:如果两个词的语境越相似,那么这两个词就越相似,也就越相关. 算法由两个步骤组成: 1.从大规模语料库中计算每一个词的语境,并使用词向量来表示语境.实现代码 2.把求两个词的相似度的问题转换为求这两个词的语境的相似度的问题.通过计算语境的相似度,就可得到词的相似度,越相似的词就越相关.实现代码 关于相似度计算,word分词还提供了很多种算法,参考这里 使用方法如下:

(待解决)leecode 分词利用词典分词 word break

不戚戚于贫贱,不汲汲于富贵      ---五柳先生 Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, givens = "leetcode",dict = ["leet", "code&qu

Hadoop的改进实验(中文分词词频统计及英文词频统计)(4/4)

声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Windows系统下的百度云(联网),和Ubuntu系统的hadoop1-2-1(自己提前配好).如不清楚配置可看<Hadoop之词频统计小实验初步配置> 3)本文由于过长,无法一次性上传.其相邻相关的博文,可参见<Hadoop的改进实验(中文分词词频统计及英文词频统计) 博文目录结构>,以阅览其余三篇剩余内容文档. (五)单机伪分布的英文词频统计Python&Streamin

文本词频统计

本例是数组.字典.列表.jieba(第三方库)的综合应用,我们将对三国演义中出现次数前十的任务进行排名并统计出出现的次数. 程序1: #CalThreeKingdomsV1.pyimport jiebatxt = open("threekingdoms.txt", "r", encoding="utf-8").read()words = jieba.lcut(txt) #利用jieba函数进行分词并返回列表类型counts = {} #创建一个字

利用模板导出文件(二)之jacob利用word模板导出word文件(Java2word)

先下载jacob.jar包. 解压后将jacob.dll放到windows/system32以下或\jre\bin以下. 将jacob.jar增加项目. 这样项目的环境基本上搭建完毕,接下来就是书写相关的代码: /** * 传入数据为HashMap对象,对象中的Key代表word模板中要替换的字段.Value代表用来替换的值. * word模板中全部要替换的字段(即HashMap中的Key)以特殊字符开头和结尾. * 如:$code$.$date$--.以免执行错误的替换. * 全部要替换为图片

hadoop中文分词、词频统计及排序

需求如下: 有如图所示的输入文件.其中第一列代表ip地址,之后的偶数列代表搜索词,数字(奇数列)代表搜索次数,使用"\t"分隔.现在需要对搜索词进行分词并统计词频,此处不考虑搜索次数,可能是翻页,亦不考虑搜索链接的行为. 这里中文分词使用了IK分词包,直接将源码放入src中.感谢IK分词. 程序如下: <span style="font-size:14px;">package seg; import java.io.ByteArrayInputStrea