某天朋友咨询我一个问题,她手上有一些政府文件,需要找出这些文件里出现频率最高的关键词,取TOP50,做成词云图展示(类似于下图,频率越高越醒目)。
1、提取出每个文件的内容
2、找出每个有意义的词,并统计出每个词出现的次数
3、取次数最高的50个词,做成词云图
1和3还好说,总有办法可以做到。WORD文档可直接复制出来,PDF文档也有办法把文字提取出来,有了关键词和对应的次数,直接可以用可视化工具(比如FineBI)做出词云图。关键是第2步如何实现。
联想到Oracle全文索引的原理:Oracle词法分析器(lexer)将所有的表意单元(term)找出来,记录在一组以dr开头的表里,同时记录该表意单元出现的位置、次数、hash值等……而且专门有一个汉语分析器,可以分析出汉语的表意单元(比如“我们都是中国人”,它可以分析出“中国人”是一个表意单元,“是中”则不是)。那么,如果我们能查到dr开头的这组表,第2步就解决了。
Step1:构建环境
Step2:建全文索引
Step3:查看dr开头的表
Step4:按出现次数降序排序,并剔除掉无意义的词,取TOP50
本文地址:http://lianchengexpo.xrbh.cn/quote/12341.html 迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多