软件工程作业:项目1--文本词频统计
要求:
写一个程序,分析一个文本文件中各个词出现的频率,并且把频率最高的10个词打印出来。文本文件大约是30KB~300KB大小。
本程序使用java编写,对中英文文本分词后用hashmap存储键值,然后对其排序输出前10个高频词。
程序主界面:
图一
通过下拉菜单“菜单”中打开文件的选项,选择需要打开分析的文件:
图二
程序会自动根据文本内容识别中英文,按下“统计”按钮后分析统计,在右侧显示结果:
图三
中文文本采用中科院的ICTCLAS进行分词,并滤去单个汉字及标点符号后进行统计,结果如下:
图四
点击“重置”会恢复到主界面(图一),然后再选择需要分析的文本,也可以直接在菜单中选择“退出”,退出程序。
用MS的visual studio2013的WPR记录CPU使用,并用WPA分析程序。
图五
javaw.exe应是我们要分析的程序:
图六
图七
不知道为什么,按照网上教程,并没有显示函数名以及堆栈具体内容,有待探索!
课外补充:
http://blog.csdn.net/chengyingzhilian/article/details/8197987
用到一种很巧妙的数据结构——单词树,优化了程序效率。
http://bigasp.com/archives/606
WPA、WPR用法
本人信息:
班级:0491101
学号:2011212007