• 大小: 1.1M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-29
  • 语言: 其他
  • 标签: 其他  

资源简介

十九大报告词频分析.zip

资源截图

代码片段和文件信息

function wordcountchinese
clc;
clear;
report=fileread(‘reportchinese.txt‘); %读入中文报告,事先已放在工作区

%% dictionary.mat是一个我事先准备好的列向量
%其中dict是14636*1的字典列向量,从网上下载的官方语料库转换得到的
load dictionary.mat;
Maxlen=max(cellfun(@lengthdict)); %最大词长,结果是10

%% 按标点初步分词
cut=‘[\,\。\、\;\:\!\?\“\”\‘\’\(\)\《\》\<\>\……\·]‘; %标点符号的正则表达式
F=regexp(reportcut‘split‘)‘; %转置,变成3131*1的列向量

% 此时,待分析的句集F和词典都已就绪

%% 算法原理
% 首先判断是否为有效句:句长是否大于0。小于0的不操作,相当于跳过
% 若是有效句,计算句长和最大词长Maxlen的最小值maxlen。待选字串长度不能大于该长度
% 从maxlen长度开始,取出待选字串
% 匹配,成功就输出,标记。若成功,平移maxlen个单位;若不成功,平移1个单位
% 选出下一个待选字串再匹配,重复操作,直到移动到句长以外
% 如果上一个长度匹配成功,那么就不用再匹配了,该句跳过;如果meet==0,重复上一步操作
% 长度maxlen减到1,也要匹配,因为词库中有一个字的词;maxlen==0是终止信号。

%% 最大匹配法进一步分词
sentence=[]; %是粗分后F中的每一个元素
word=[];
words={};
k=1;

for i=1:length(F) %遍历F
    sentence=cell2mat(F(i1)); %把cell转换成字符串
    sentence_len=length(sentence); %求出句长
    meet=0; %更新初始状态
    
    if(sentence_len>0) %有效句
        maxlen=min(Maxlensentence_len);
        while(maxlen>0)
            start=1;
            while((start+maxlen)<=sentence_len)  %索引不能移动到句子外面
                word=sentence(start:start+maxlen);
                if(ismember(worddict))%如果匹配成功
                    meet=1;
                    words(k)=cellstr(word);
                    k=k+1;
                    start=start+maxlen; %移动maxlen个单位再匹配
                else
                    start=start+1; %移动一个单位再匹配
                end
            end
            %已经移动到句子外面了
            if(meet==0)
                maxlen=maxlen-1;
            else
                break;
            end
        end
    end
    %无效句,句长为0,不处理,直接跳过
end

%% 排序处理
rank = tabulate(words); %rank是三列向量,包括名称,出现次数和百分比
ANS=sortrows(rank-2); %只根据第二列进行排序 -2表示降序

xlswrite(‘resultschinese‘ANS(1:501:3));%输出为excel文件 由于词语将近1777个,因此只输出前100个
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-03 14:49  中文\
     文件       98500  2017-11-28 15:41  中文\dictionary.mat
     文件       65054  2017-11-28 15:46  中文\reportchinese.txt
     文件       30208  2017-11-29 00:34  中文\resultschinese.xls
     文件        2301  2017-12-04 18:08  中文\wordcountchinese.m
     文件     1608192  2017-11-28 15:35  中文\中文语料库.xls
     文件          41  2017-11-28 15:37  中文\语料库下载地址.txt
     目录           0  2018-05-03 14:49  英文\
     文件      165344  2017-11-27 22:27  英文\reportfulltext.txt
     文件      270848  2017-11-27 23:09  英文\results.xls
     文件         729  2017-11-27 23:07  英文\wordcount.m
     文件      449013  2017-11-27 22:25  英文\Xi_Jinping‘s_report_at_19th_CPC_National_Congress.pdf
     文件          68  2017-11-27 22:25  英文\十九大报告官方下载地址.txt

评论

共有 条评论