主页 > 数据处理 > 怎么统计词频?

怎么统计词频?

2022-10-12 06:21来源:m.sf1369.com作者:宇宇

一、怎么统计词频?

方案一:借助Excel
如果使用场景是偶尔统计一篇文章不长的词频,可以使用excel:
(Excel 2007~2013的版本里,一个单元格最多容纳32,767个字符,也就是说目标文章不能超过32,767个字,不然就得分割开统计)
(如果经常使用,可以给Excel录制宏)
步骤1:统计一个字词、两个字词、三个字词、四个字词……n个字词出现的频率



注:

B3单元格内输入的是目标文章全文

C3是全文字数(含标点符号),D3内容即是C3所用的公式

B6是序号1~序号1276

C6的公式含义为在B3里取目标字符,该目标是从第B6个字符开始,字符长度为1,D6为C6公式内容

E6为统计C6~C1281区间内,C6这个字符出现的频率

为便于显示文末部分,Excel第16行至1269行的内容已隐藏。

如果文章为英文,那更简单,可以将B3内容以空格为分列符号进行分列操作:选中B3,点击菜单[数据]-[分列]-[分隔符号],勾选[空格],完成。完成后单词会按“一个单词占一个单元格”形式列为1行。全选后复制、“选择性粘贴”-“转置”,即可将单词列为上图C列的效果,再同样用F列的公式统计一次即可。



步骤2:将上述统计表格以“选择性张贴”-“粘贴值”形式粘贴到第二张Sheet,对各颜色区域分别作词频降序排序(例:同时选中B4、C4,按Ctrl+Shift+L,对词频降序排序,后同)




步骤3:选中一种颜色区域,作“删除重复项”操作,其余颜色区域操作相同。工具位置见鼠标指针






步骤4:将双字词、三字词、四字词等内容进行人工删选,删去不是词语的部分,忽略词频较少的部分,汇总后即为词频统计结果。




注:由于没有词库,此部分只能人工删选。
如果有词库,可以将上表结果合并成B、C两列(词语、词频两列),再在第三列D粘贴词库,第四列E再作一次countif公式,如:E5=COUNTIF(D:D,B5),统计B5在词库中出现的次数。
E列的结果只有2种:1(B列的词语存在于词库D中),0(B列的词语不存在于词库D中)。


然后对E列结果作筛选,仅显示结果为“1”的内容,隐藏D列,结果就出来了。




方案二,使用工具:汉语词频统计工具

与网上流传的词频统计软件相比,这款比较简单,只能统计中文,但免费。得到统计数据后还需借用Excel排序下。.

二、把Excel 中的数据通过编程转入数据库怎么做

创建ADO对象+sql语句

不过首先你的知道数据库的类型和数据表的字段

啥数据库呀,直接导入不是更方便么

三、请教VBA编程高手,关于excel编程,引用数据

由于Sheet2并无具体内容, 故在此只答Sheet1

假设Sheet1 有 200行

姓名是在A2:A201

工作单位是在 B:F列, 假设最多是5列

要一辅助列, 假设是G列

在G2输入公式 =COUNTA(B2:F2)

然后向下拖

G列便会出现曾工作的单位个数

在Sheet3

A2输入 张三; A3输入 李四

在 B2输入公式

=INDEX(Sheet1!$B$2:$F$201,MATCH($A2,Sheet1!$A$2:$A$201),INDEX(Sheet1!$G$2:$G$201,MATCH($A2,Sheet1!$A$2:$A$201),1)-1)

在 C2输入公式 (即B2的公式, 最后的 -1 不要)

=INDEX(Sheet1!$B$2:$F$201,MATCH($A2,Sheet1!$A$2:$A$201),INDEX(Sheet1!$G$2:$G$201,MATCH($A2,Sheet1!$A$2:$A$201),1))

然后将B2:C2, 一齐下拖

如有单元格-名称-定义, 公式会短很多

请测试!

用宏当然一定可以, 但函数已可解决, 故在此不写宏

这比较难做

我想告诉你的是要想一步完成这些事情难

因为你那些单位如何才知道他是你要的

你没有规则是不行了。

你可以把所有单位按重要程度排一下才行 ,不过你单位输入太乱太多也是一件麻烦事儿!!

并不是没有办法做而是太麻烦

相关推荐

车联网企业国内有哪些?

数据处理 2023-12-23

注册计量师-请教贴

数据处理 2023-12-19

逆光照片怎么处理

数据处理 2023-12-08