System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种字词频度统计方法及装置,属于信息处理和数据统计的。
技术介绍
1、对字词频度的统计分析,尤其是在中文环境中,通过揭示汉语词汇的各种统计特性,可以使人们对每个汉字或词语在实际应用中的地位有一个比较清楚的认识,对于社会各个方面的汉语使用都具有很大的指导作用。比如,在少儿的语文教育、特殊人群的语言学习或者针对外国人的汉语教学中,课程要完成一定数量的字词教学任务,那么在一定的时期内应该完成哪些中文字词的学习才能达到预期效果,以解决最常用文字的阅读和使用,最大可能地掌握语言驾驭能力具有显而易见的作用;再如,在现代海量文本信息的处理中,为提高中文语境中字词检索的效率,往往也需要对中文字词的频度进行精准地统计,以便进一步生成相应的词云图、频率表等数据分析结果,这对于基于文本的全文检索效率以及互联网搜索引擎的检索效率均具有重大意义。以上举例的情景中,这就必须运用字词频度的统计成果作指导,增加其科学性和实用性,避免主观臆测。我国也早在20世纪20年代就进行过汉语词汇的统计研究,自70年代末以来,我国开始利用计算机进行汉语词汇的自动统计和分析,而且统计单位也从单字扩展到了词语,大大地提高了统计的效率和规模,将汉语词汇统计研究提高到一个新的水平,还以此为基础编制了各种频率词典、词表,并对现代汉语的常用字、常用词、构词规则等进行了多方面的研究。总之,在文本语料信息海量的情况下,如何以较少的算力资源消耗、快速获取字词频度统计结果是一项非常重要的工作。
2、目前,对于给定的字词集和语料库,统计字词集中每一单字和词语在整个语料库
技术实现思路
1、本专利技术所要解决的技术问题是,对于给定的语料库和字词集,尤其是在二者数量规模较大的情况下,如何以较高的效率,统计字词集中每一字词条目在整个语料库中各自出现的总次数,其目的是在字词频度统计的
提供一种较为满意的技术解决方案,以便进一步地将其应用于文字教学、字词检索等的相关
2、为了解决上述提出的技术问题,本专利技术提供了一种字词频度统计方法和装置,并采取如下技术方案:
3、第一方面,本专利技术提供了一种字词频度统计方法,统计字词集中每一个字词条目在整个语料库中各自出现的总次数,所述方法包括:
4、步骤s1:设置一个链表数组结构存储的索引表index[],其中每个数组元素均对应存储一个线性链表的头指针并初始化取值为null,所述线性链表内的各结点均包括用于存储所述字词集中所述一个字词条目的字串s、用于存储所述一个字词条目在所述整个语料库中出现次数的数值t和当前结点之后继结点存储位置的指针n这三个域;
5、步骤s2:针对所述字词集中的所述每一个字词条目,首先利用哈希函数计算其码值c1,然后新创建一个结点并将该结点的字串域s赋值为所述一个字词条目、数值域t赋值为0,最后将该结点插入由数组元素index[c1]所指示的一条线性链表中,所述哈希函数为c1=hash(u1,u2,u3……ui),式中c1为非负整数,i为所述一个字词条目构成中的字符数量,i的最大值即所述字词集中每一字词条目内字符构成数量的最大值记为l,u1、u2、u3……ui为所述一个字词条目内依次构成中各字符表示的二进制unicode编码中部分数位所对应的数值;
6、步骤s3:扫描所述整个语料库中每一文件的文本,针对其中连续字符构成数量不超过所述l的所有文本字串,首先利用与前面相同的哈希函数规则,计算这些文本字串的非负整数码值c2,然后针对其中每一文本字串及其对应计算的码值c2,均依次读取数组元素index[c2]所指示一个线性链表中的各结点,若结点中s域内的字串与该每一文本字串对比完全相同,则该结点中的t域数值增加1;
7、步骤s4:针对所述索引表index[]中各非null值数组元素所指示的线性链表,依次读取并输出其中每一结点内的s域字串和t域数值,其中s域字串构成作为频度统计对象的所述一个字词条目,t域数值对应构成其在所述整个语料库中出现的总次数。
8、优选地,所述索引表index[]的下标编址范围为0~65535,所述c1和所述c2均为大于等于0且小于65536的整数,所述步骤s2中二进制unicode编码中部分数位所对应的数值为所述二进制unicode编码中低16位所对应的数值。
9、优选地,所述c1=hash(u1,u2,u3……ui)的计算规则是c1=u1+u2+u3+……+ui,并且当由该计算规则所计算产生的结本文档来自技高网...
【技术保护点】
1.一种字词频度统计方法,统计字词集中每一个字词条目在整个语料库中各自出现的总次数,其特征在于,所述方法包括:
2.根据权利要求1所述的字词频度统计方法,其特征在于,所述索引表Index[]的下标编址范围为0~65535,所述C1和所述C2均为大于等于0且小于65536的整数,所述步骤S2中二进制Unicode编码中部分数位所对应的数值为所述二进制Unicode编码中低16位所对应的数值。
3.根据权利要求2所述的字词频度统计方法,其特征在于,所述C1=Hash(U1,U2,U3……Ui)的计算规则是C1=U1+U2+U3+……+Ui,并且当由该计算规则所计算产生的结果值大于或等于2^16时,则C1调整取值为所述结果值的二进制数值表示中低16位数所对应的数值。
4.根据权利要求2所述的字词频度统计方法,其特征在于,所述C1=Hash(U1,U2,U3……Ui)的计算规则是C1=|U1-U2-U3-……-Ui|,或者C1=|Ui-Ui-1-Ui-2-……-U1|,并且当由该计算规则所计算产生的结果值大于或等于2^16时,则C1调整取值为所述结果值
5.根据权利要求1-4中任意一项所述的字词频度统计方法,其特征在于,所述步骤S2中将该结点插入由数组元素Index[C1]所指示的一条线性链表中,其插入方法是,先将该结点中的N指针域赋值为数组元素Index[C1]的数值,然后将数组元素Index[C1]的数值更新为该结点在新创建时所产生的自身保存位置的指针数值。
6.根据权利要求1-4中任意一项所述的字词频度统计方法,其特征在于,在所述步骤S2和所述步骤S3中,还包括字符编码形式转换的子步骤:在利用所述哈希函数计算所述每一个字词条目的码值C1之前以及在利用所述哈希函数计算所述其中每一文本字串的码值C2之前,将所述每一个字词条目和所述其中每一文本字串中所涉各字符的编码,由其他非Unicode形式的编码转化为Unicode形式的编码。
7.根据权利要求1-4中任意一项所述的字词频度统计方法,其特征在于,在所述步骤S4中,还包括计算字词条目频度百分数的子步骤:针对所述字词集中的所述每一个字词条目,将其在所述整个语料库中的出现总次数,除以所述整个语料库中的字符总数,以计算出字词集中每一个字词条目在整个语料库中出现频度的百分数。
8.一种字词频度统计装置,统计字词集中每一个字词条目在整个语料库中各自出现的总次数,其特征在于,所述装置包括:
9.根据权利要求8所述的字词频度统计装置,其特征在于,在所述模块M2和所述模块M3中,还包括字符编码形式转换的子模块,用于:在利用所述哈希函数计算所述每一个字词条目的码值C1之前以及在利用所述哈希函数计算所述其中每一文本字串的码值C2之前,将所述每一个字词条目和所述其中每一文本字串中所涉各字符的编码,由其他非Unicode形式的编码转化为Unicode形式的编码。
10.根据权利要求8所述的字词频度统计装置,其特征在于,在所述模块M4中,还包括计算字词条目频度百分数的子模块,用于:针对所述字词集中的所述每一个字词条目,将其在所述整个语料库中的出现总次数,除以所述整个语料库中的字符总数,以计算出字词集中每一个字词条目在整个语料库中出现频度的百分数。
...【技术特征摘要】
1.一种字词频度统计方法,统计字词集中每一个字词条目在整个语料库中各自出现的总次数,其特征在于,所述方法包括:
2.根据权利要求1所述的字词频度统计方法,其特征在于,所述索引表index[]的下标编址范围为0~65535,所述c1和所述c2均为大于等于0且小于65536的整数,所述步骤s2中二进制unicode编码中部分数位所对应的数值为所述二进制unicode编码中低16位所对应的数值。
3.根据权利要求2所述的字词频度统计方法,其特征在于,所述c1=hash(u1,u2,u3……ui)的计算规则是c1=u1+u2+u3+……+ui,并且当由该计算规则所计算产生的结果值大于或等于2^16时,则c1调整取值为所述结果值的二进制数值表示中低16位数所对应的数值。
4.根据权利要求2所述的字词频度统计方法,其特征在于,所述c1=hash(u1,u2,u3……ui)的计算规则是c1=|u1-u2-u3-……-ui|,或者c1=|ui-ui-1-ui-2-……-u1|,并且当由该计算规则所计算产生的结果值大于或等于2^16时,则c1调整取值为所述结果值的二进制数值表示中低16位数所对应的数值。
5.根据权利要求1-4中任意一项所述的字词频度统计方法,其特征在于,所述步骤s2中将该结点插入由数组元素index[c1]所指示的一条线性链表中,其插入方法是,先将该结点中的n指针域赋值为数组元素index[c1]的数值,然后将数组元素index[c1]的数值更新为该结点在新创建时所产生的自身保存位置的指针数值。
6.根据权利要求1-4中任意一项所述的字词频度统计方法...
【专利技术属性】
技术研发人员:汉京宁,李祥军,易斌,李乾,
申请(专利权)人:江苏瑞宁信创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。