案例二十 基于词表的词频统计

合集下载

词频统计——精选推荐

词频统计——精选推荐

词频统计统计词频需求分析本次作业需要完成的是⼀个词频统计程序。

需求分析:1. 统计⽂件的字符数(只需要统计Ascii码,汉字不⽤考虑)2. 统计⽂件的单词总数3. 统计⽂件的总⾏数(任何字符构成的⾏,都需要统计)4. 统计⽂件中各单词的出现次数,输出频率最⾼的10个。

5. 对给定⽂件夹及其递归⼦⽂件夹下的所有⽂件进⾏统计6. 统计两个单词(词组)在⼀起的频率,输出频率最⾼的前10个。

7. 在Linux系统下,进⾏性能分析,过程写到blog中(附加题)Status Stages预估耗时实际耗时Accepted计划 Planning10分钟10分钟Accepted需求分析 Analysis20分钟20分钟Accepted具体设计 Design30分钟60分钟Accepted具体编码 Code2个⼩时4个⼩时Accepted测试 Test1个⼩时2个⼩时Accepted写报告 Report1个⼩时1个⼩时总计5个⼩时约9个⼩时具体设计扩展字符串的类,使得字符串可以在忽略⼤⼩写和后缀数字的情况下进⾏⽐较使⽤哈希表进⾏统计寻找词频前⼗的单词时,维护⼀个10个⼤⼩的“榜单”,线性遍历哈希表,⽤其中的每⼀个元素来更新“榜单”,时间复杂度O(N)读取⽂件采⽤缓冲区流式读取设计状态机对字符和单词进⾏提取代码实现过程⼯具类的构建string_plus类:⽐较两个字符串是否相等时忽略⼤⼩写和后缀数字,但仍要记录原字符串string_pair类:两个string_plus放在⼀起,新增hash字段hash_table类:哈希表,在查询并更新数据时,将字典序较⼩的string_plus字符串留在原地状态机的构造char_consumer类:输⼊字符流,产⽣合法的单词流,并在流处理过程中完成⾏数和字符数的统计word_consumer类:输⼊单词流,统计单词总数和词频、词组频输⼊输出⽂件输⼊与输出⽂件夹扫描性能分析使⽤拉链法处理哈希表冲突,在哈希表⾜够⼤的情况下,查询字符串的速度接近O(1)使⽤modified-insertion-sort的⽅法来寻找前10⼤的元素,时间复杂度为O(n)哈希函数计算简单,且不易冲突⼤部分函数为内联函数在WSL上,使⽤g++ -O2进⾏编译,运⾏测试集的时间约9s;在Windows下,使⽤VS 2015进⾏编译,运⾏测试集的时间约16s。

可用于统计词频的方法

可用于统计词频的方法

可用于统计词频的方法1.引言1.1 概述概述在自然语言处理领域,统计词频是一项重要的任务,它可以帮助我们了解文本中各个单词的使用频率和重要性。

在信息检索、文本分析和机器学习等领域,词频统计方法被广泛应用。

本文将介绍两种常用的方法用于统计词频:基于计数的词频统计方法和基于TF-IDF的词频统计方法。

这些方法通过计算单词在文本中的出现次数或者与文本集合的关联程度,来衡量单词的频率和重要性。

基于计数的词频统计方法是一种简单直观的方法,它通过对文本中单词的出现次数进行计数,来进行词频统计。

这种方法可以帮助我们了解特定单词在文本中的重要性,但是它没有考虑到单词在文本集合中的普遍性。

另一种方法是基于TF-IDF的词频统计方法,它综合考虑了单词在文本中的出现频率和在文本集合中的普遍程度。

TF-IDF的全称是Term Frequency-Inverse Document Frequency,它通过计算单词在文本中的出现频率和在文本集合中的逆文档频率,来衡量单词的重要性。

TF-IDF方法可以有效地帮助我们发现在特定文本中重要性较高的单词。

总的来说,本文将详细介绍基于计数的词频统计方法和基于TF-IDF的词频统计方法,分析它们的优缺点,并展望未来在统计词频方面的研究方向。

通过了解这些方法,我们可以更好地应用它们来进行文本分析、信息检索和机器学习等任务,从而提升相关领域的研究和应用水平。

文章结构部分的内容可以如下所示:1.2 文章结构本文共分为三个部分:引言、正文和结论。

引言部分包括概述、文章结构和目的。

在概述中,将介绍本文所要讨论的主题——可用于统计词频的方法。

词频统计是一项基础性工作,广泛应用于自然语言处理、文本挖掘和信息检索等领域。

了解词频统计方法的原理和应用将对相关领域的研究和实践产生积极的影响。

接下来,文章结构将详细介绍本文的组织方式和各个部分的内容。

通过明确的结构安排,读者可以更好地理解本文的主旨和论证过程。

文件方式实现完整的英文词频统计实例

文件方式实现完整的英文词频统计实例

⽂件⽅式实现完整的英⽂词频统计实例可以下载⼀长篇的英⽂⼩说,进⾏词频的分析。

1.读⼊待分析的字符串2.分解提取单词3.计数字典4.排除语法型词汇5.排序6.输出TOP(20)7.对输出结果的简要说明。

fo=open('english.txt','r')s=fo.read()s=s.lower()#⼤写转换为⼩写for i in',.!':s=s.replace(i,'')#所有标点符号替换为空格#单词列表及词频words=s.split('')#不统计单词的集合exc={'','you','are','so','up','how', 'in','a','this','the','is','an','more','with','at','all','on','that','have','of','to','it','and','be','will','we','our','can'}dic={}key=set(words)key=key-exc #键的集合for i in key:dic[i] = words.count(i)#单词计数字典wc=list(dic.items()) #(单词,计数)元组的列表wc.sort(key=lambda x:x[1],reverse=True)#列表的排序for i in range(20):#输出前15个元组print(wc[i])('human', 5)('development', 4)('resources', 4)('world', 3)('unprecedented', 3)('future', 3)('own', 3)('beings', 3)('space', 3)('one', 3)('environment', 3)('generations', 2)('limited', 2)('us', 2)('straight', 2)('depleted', 2)('their', 2)('natural', 2)('technology', 2)('intelligent', 2)对输出结果的简要说明,环境对我们和我们的后代来说是多么重要,我们应该⽤⼀种更加关爱环境的⽅法来⽣活以便我们的⼦孙后代也能有空间和资源⽣存。

基于词频计量统计的林黛玉性格分析

基于词频计量统计的林黛玉性格分析

862019年第2期总第680期MODERN CHINESENo.2General No.680现代语文基于词频计量统计的林黛玉性格分析胡翠婷(北京语言大学 信息科学学院,北京 100083)摘 要:本文从计量语言学的角度,通过对林黛玉诗词词频和动词词频的统计分析,来解读和阐释林黛玉的性格特征,力图呈现出一个立体化和多样化的黛玉形象。

结果表明:林黛玉的诗词中与“花”相关的词很多,并且多使用情感消极的词汇,这也印证了林黛玉多愁善感、敏感自卑的性格。

考察林黛玉动作动词时,发现在林黛玉的性格中还具有男子化的一面,这和普通的贵族少女迥然不同,也是以往研究所忽略之处。

关键词:《红楼梦》;计量语言学;林黛玉;性格基金项目:国家自然科学基金项目(61872402);教育部人文社科规划基金项目(17YJAZH068);北京语言大学校级项目(中央高校基本科研业务费专项资金,18ZDJ03)作者简介:胡翠婷,女,北京语言大学信息科学学院硕士研究生。

一、引言1935年,美国语言学家G.K.Zipf 关于语言统计的著作T he Psycho-Biology of Language :An In -troduction to Dynamic Philology 出版[1],标志了一个新的语言学分支学科和一种新的语言研究方法的诞生。

G.K.Z i p f 认为,利用统计方法可以定量研究语言中的各种现象,这样语言学便可以成为一门精确科学。

此后计量语言学越来越多地被应用到文学作品的统计分析上。

早在1976年和1987年,美国斯坦福大学教授Efron 和她的学生就对莎士比亚的著作进行了统计分析的研究[2][3]。

对《红楼梦》的计量研究始于瑞典汉学家高本汉(B.Karlgren),1952年,他用统计学方法分析了32个语法与口语词汇的用字习惯,认为全部120回均为曹雪芹所著[4]。

1980年,华裔学者陈炳藻在美国威斯康星大学召开的“首届国际《红楼梦》研讨会”上,发表了《从词汇上的统计论〈红楼梦〉的作者的问题》一文,他通过统计学方法考察《红楼梦》前后用字(词)的相关程度,认为后40回也出自曹雪芹之手[5]。

基于词频统计算法的中英文词频分布研究

基于词频统计算法的中英文词频分布研究

㊀第35卷第1期㊀青岛大学学报(工程技术版)㊀V o l .35N o .1㊀2020年2月J O U R N A LO F Q I N G D A OU N I V E R S I T Y (E &T )F e b .2020文章编号:10069798(2020)01000105;D O I :10.13306/j.10069798.2020.01.001基于词频统计算法的中英文词频分布研究李㊀杰,孙仁诚(青岛大学计算机科学技术学院,山东青岛266071)摘要:针对幂律判断方式存在的问题,本文基于早期对幂律分布的研究,结合最大拟然拟合方法及词频统计算法,对中英文词频分布进行研究.给出了双对数坐标系下幂律分布的判断,并对词频统计与幂律分布进行拟合.研究结果表明,在双对数坐标系下,分布图像为近似直线是判断幂律分布的必要条件,而非充分条件;在自然语言的词频统计分布模型上,对观测数据进行幂律分布的拟合,得出的p Gv a l u e 分别为0 14和0 19,均大于0 1,且泊松分布㊁指数分布㊁广延指数分布的p Gv a l u e 值都为0,即可排除满足其他分布的假设,因此对观测数据拟合效果最好的是幂律分布.说明自然语言的词频分布满足幂律,且中英文同样适用.该研究对人们认识语言的发展过程具有重要意义.关键词:词频统计;幂律分布;最大似然估计;K S 统计量中图分类号:T P 312;C 81㊀文献标识码:A 收稿日期:20190620;修回日期:20191028基金项目:国家自然科学青年基金资助项目(41706198)作者简介:李杰(1994),男,硕士研究生,主要研究方向为数据挖掘与分析.通信作者:孙仁诚(1977),男,副教授,博士,主要研究方向为数据挖掘及人工智能.E m a i l :qd s u n s t a r @163.c o m ㊀㊀幂律分布[1]广泛存在于计算机科学㊁人口统计学与社会科学㊁物理学㊁经济学与金融学等众多领域中,且形式多样.实验证明,在自然界与日常生活中,包括地震规模大小的分布㊁月球表面上月坑直径的分布㊁行星间碎片大小的分布㊁太阳耀斑强度的分布㊁计算机文件大小的分布㊁战争规模的分布㊁人类语言中单词频率的分布㊁大多数国家姓氏的分布㊁科学家撰写的论文数的分布㊁论文被引用的次数的分布㊁网页被点击次数的分布[2]㊁书籍及唱片的销售册数或张数的分布㊁电力数据的分布[3]㊁甚至电影所获得的奥斯卡奖项数的分布等都是典型的幂律分布.但这一结果存在巨大缺陷,曾经被认为满足幂律分布的某些数据,只有在一定的条件范围内才是幂律,而在整体大量的数据集上是不纯的[4].20世纪中期,对于幂律分布的研究,一些研究者[56]分别在语言学和经济学的领域提出了著名的80/20定律.这一定律的基本形式即为简单的幂函数,是幂律分布的4种形式之一,其他形式的幂律分布有名次规模分布㊁规模概率分布等.直到21世纪初,A.L .B a r a b a s i 等人[78]提出了无标度理论,从复杂网络的角度探究了幂律分布的性质,即无标度网络的度分布就是幂律分布,为复杂网络的发展奠定了理论基础;C .A a r o n 等人[4]对幂律分布的判断标准进行了详尽的理论证明,推翻了前人通过双对数坐标系下是否构成一条近似直线判断幂律分布的方法,并证明了双对数坐标系下近似直线是幂律分布的必要条件.关于中英文词频分布的研究[911]一直是自然语言处理的重点.国内中文分词的算法主要集中在词典与统计相结合[12]的方式,但精度有待提升.2017年,麻省理工学院的S u n J u n y i 团队历时4年,完善了新的词频统计算法,与传统的基于统计的词频算法[13]不同,新的算法是基于前缀词典来实现词图扫描,构造有向无环图(d i r e c t e d a c y c l i c g r a p h ,D A G ),利用动态规划算法查找词频最大切合组,同时结合隐马尔可夫模型(h i d d e nm a r k o vm o d e l ,HMM )模型操作未登录词,大大提高了分词精度和分词效率.基于此,本文在最新词频统计算法基础上,构造私有的前缀词典及D A G ,同时采用最新的幂律分布研究方式,对中英文两种语言进行研究,完善了之前研究者们[1416]在词频统计精度及幂律分布判断方式上的不足之处,并进行了可视化的幂律拟合.该研究推动了人们对自然语言发展的认识.青岛大学学报(工程技术版)第35卷1㊀幂律分布的研究1.1㊀双对数坐标系下幂律分布的判断20世纪末,人们对幂律分布的研究是基于双对数坐标系下,数据分布的图像是否为一条近似的直线来判断.幂律分布特征及其在双对数坐标系下的拟合如图1所示.图1㊀幂律分布特征及其在双对数坐标系下的拟合㊀㊀其形式化的表达为:y =c x -r ,其中x ,y 表示正的随机变量;c ,r 为常数且均大于零.这种分布特征只有少数事件的规模比较大,而绝大多数事件的规模较小.对y -c x -r 两边取对数,可知l n y 与l n x 满足l n y =l n c -r l n x ,这是一种线性关系,即在双对数坐标系下,幂律分布可以通过一条斜率为负的幂指数的直线进行拟合,这一线性关系是判断给定的实例中随机变量是否满足幂律的依据.判断两个随机变量是否满足线性关系,可以求解两者之间的相关系数;利用一元线性回归模型和最小二乘法,可得l n y 对l n x 的线性回归方程,从而得到y 与x 之间的幂律关系式[1,4].对于在双对数坐标系下,线性关系判断数据是否满足幂律分布的说法不正确,因为双对数坐标系下的线性关系是数据满足幂律分布的必要条件,而不是充分条件.1.2㊀幂律分布的判断2007年,A a r o n c h a u s e t 等人[4]提出了判断幂律分布的一系列方法,其思想是将最大似然拟合方法与基于K o l m o g o r o v GS m i r n o v (K S )统计以及似然比的拟合优度检验相结合,判断观测数据是否满足幂律分布,过程主要分为以下几部分:1)㊀估计幂律模型的参数x m i n 和α.2)㊀计算数据与幂律之间的拟合优度,如果得到的p v a l u e 值大于0 1,则幂律分布是观测数据的似然假设,否则拒绝该假设.3)㊀通过似然比检验,将幂律与其他假设进行比较.对于每个备选方案,如果计算的似然比与零显著不同,则其符号表示该备选方案是否优于幂律模型.2㊀词频统计与幂律分布拟合关于自然语言中词汇的分布特征,早在20世纪中叶就有研究者进行过大量研究,直至20世纪末,有学者(幂律分布研究简史)通过双对数坐标系下图像近似一条直线的拟合方式,说明数据满足幂律分布,这种方式显然缺乏说服力.本文基于文献[4]提出的方法,首先基于词频统计算法对文本进行统计,然后结合最大似然拟合方法[17]与基于K o l m o g o r o v GS m i r n o v (K S )统计[18]以及似然比[19]的拟合优度检验方式,对自然语言进行幂律分布的拟合.关于数据的选择,本文选取了经典文学作品«飘»的中英文对照版本,分别对英文和中文进行词频统计,并拟合幂律分布.2㊀第1期㊀㊀李㊀杰,等:基于词频统计算法的中英文词频分布研究2.1㊀词频统计算法词频统计算法流程图如图2所示,词频统计算法整体分为3个部分,每个部分又可分为多个步骤,其描述如下:图2㊀词频统计算法流程图㊀㊀1)㊀基于T r i e 树结构实现高效的词图扫描,构造出有向无环图(D A G ),图中包括生成句子中汉字所有可能的成词情况.根据d i c t .t x t 生成t r i e 树,字典在生成t r i e 树的同时,也把每个词的出现次数转换为频率;对需要进行分词的句子,根据已经生成的t r i e 树,生成有向无环图(D A G ),简言之,就是将句子根据给定的词典进行查寻操作,生成多种可能的句子切分.2)㊀用动态规划算法查找最大概率路径,找到基于词频的最大切分组合.查找待分词句子中已经切分好的词语,即查找该词语出现的频率,如果查不到该词,就把该词的频率赋值为词典中出现频率最小的那个词语的频率;根据动态规划算法查找最大概率路径,即对句子从后往前反向计算最大概率,P (N o d e N )=1 0,P (N o d e N -1)=P (N o d e N )∗M a x (P (最后一个词)) 依次类推,得到最大概率路径,从而得到最大概率的切分组合.3)㊀对于词典中未录入的词,采用基于汉字成词能力的HMM 模型,同时使用v i t e r b i 算法.中文词汇按照B E M S 四个状态标记,B 代表b e g i n ,即开始位置,E 代表e n d ,即结束位置,M 代表m i d d l e ,表示中间位置,S 代表s i n g gl e ,是单独成词的位置,如山东可表示为B E ,即山/B ,是开始位置,东/E ,是结束位置;对语料库进行初步训练,得到3个概率表,并结合v i t e r b i 算法,可以得到一个概率最大的B E M S 序列,按照B 开始,E 结尾的方式,对分词的句子重新组合,就能得到最终的分词结果[14].对«飘»的中英文对照版词频进行统表1㊀«飘»的前5个高频词汇英文单词词频英文词语词频t h e 16119他们2631a n d 13037思嘉2458t o 9134没有2021o f7772一个1851h e r7318自己1639计,«飘»的前5个高频词汇如表1所示.由表1可以看出,中英文在表达同义内容时,所使用词汇差别巨大,并未出现高频词汇一致性的现象,这与语言的特点有关.同时,英文的代词和介词在使用率上远高于其他词汇,而中文则不同,除代词外,量词在文章中也高频出现.虽然有诸多的差别,但在分布情况上仍需进一步验证.2.2㊀幂律分布拟合本文通过将最大似然拟合方法与基于K o l m o g o r o v GS m i r n o v (K S )统计以及似然比的拟合优度检验相结合的方式,对自然语言进行了幂律分布拟合.中英文词频在双对3青岛大学学报(工程技术版)第35卷数坐标系下的幂律拟合如图3所示.图3中,英文词频x m i n =40,α=1 89;中文词频x m i n =38,α=2 1.图3㊀中英文词频在双对数坐标系下的幂律拟合㊀㊀由图3可以看出,在双对数坐标系下,中英文的词频分布均呈现一条近似的直线,说明存在幂律分布的可能性,但需要验证p Gv a l u e 是否大于0 1,如果大于0 1,就要进一步排除其他分布是否比幂律分布拟合效果更好,否则,可以直接判断不满足幂律分布.似然比的拟合优度L R 值和p Gv a l u e (p )值如表2所示.表2㊀似然比的拟合优度L R 值和p Gv a l u e (p)值㊀㊀由表2可以看出,对观测数据进行幂律分布的拟合,得出的p Gv a l u e 分别为0 14和0 19,均大于0 1,且泊松分布,指数分布,广延指数分布的p Gv a l u e 值都为0,即满足其他分布的假设可直接排除,因此对观测数据拟合效果最好的是幂律分布.3㊀结束语本文通过对中英文词频的统计分析,证明了自然语言中的词汇在日常生活中的使用频率是服从幂律分布的,即部分词汇会被大量使用,大部分词汇的使用频率较低,符合动力学中的省力原则,人们更倾向于用更少词汇的不同组合来表达不同的意思,对认识语言的发展过程具有重要意义.这一结论不仅仅出现在本文所研究的文献中,对于其他文献同样适用.文中词频统计算法和 最大似然拟合方法 ㊁ K S 统计以及似然比的拟合优度检验方法 的结合,使本结论的精确度更高,进一步补充了前人对于词频分布的研究与应用.在接下来的工作中,可以将重点放在对其他语言的研究上,在幂律分布的基础之上,探究是否有更加精确的拟合方式,进一步推动人们对于自然语言发展的认识.参考文献:[1]㊀胡海波,王林.幂律分布研究简史[J ].物理,2005,34(12):889896.[2]㊀A d a m i cL A ,H u b e r m a nBA ,B a r a b ás i AL ,e t a l .P o w e r Gl a wd i s t r i b u t i o n o f t h ew o r l dw i d ew e b [J ].S c i e n c e ,2000,287(5461):2115a .[3]㊀王冠男,邓春宇,赵悦,等.电力数据中的幂律分布特性[J ].电信科学,2013,29(11):109114,121.[4]㊀A a r o nC ,C o s m aRS ,N e w m a n M EJ .P o w e r Gl a wd i s t r i b u t i o n s i ne m pi r i c a l d a t a [J ].S i a m R e v i e w ,2009,0706(1062):661703.4㊀第1期㊀㊀李㊀杰,等:基于词频统计算法的中英文词频分布研究5[5]㊀严怡民.情报学概论[M].武汉:武汉大学出版社,1994.[6]㊀A r n o l dBC.P a r e t oD i s t r i b u t i o n[M]ʊE n c y c l o p e d i ao fS t a t i s t i c a lS c i e n c e s.U n i t e dS t a t e s:J o h n W i l e y&S o n s,I n c.,2006.[7]㊀B a r a b a s iAL,A l b e r tR.E m e r g e n c e o f s c a l i n g i n r a n d o mn e t w o r k s[J].S c i e n c e,1999,286(5439):509514.[8]㊀B a r a b a s iAL,B o n a b e a uE.S c a l eGf r e en e t w o r k s[J].S c i e n t i f i cA m e r i c a n,2003,288(5):60.[9]㊀张丹.中文分词算法综述[J].黑龙江科技信息,2012(8):206.[10]㊀张华平,刘群.基于N最短路径方法的中文词语粗分模型[J].中文信息学报,2002,16(5):17.[11]㊀费洪晓,康松林,朱小娟,等.基于词频统计的中文分词的研究[J].计算机工程与应用,2005,41(7):6768,100.[12]㊀秦赞.中文分词算法的研究与实现[D].长春:吉林大学,2016.[13]㊀祝永志,荆静.基于P y t h o n语言的中文分词技术的研究[J].通信技术,2019,52(7):16121619.[14]㊀G o l d s t e i nM L,M o r r i s SA,Y e nGG.F i t t i n g t o t h e p o w e rGl a wd i s t r i b u t i o n[J].T h eE u r o p e a nP h y s i c a l J o u r n a l BGC o nGd e n s e d M a t t e r a n dC o m p l e xS y s t e m s,2004,41(2):2004.[15]㊀F e r n h o l zRT.N o n p a r a m e t r i cm e t h o d s a n d l o c aGt i m eGb a s e de s t i m a t i o n f o r d y n a m i c p o w e r l a wd i s t r i b u t i o n s[J].J o u r n a l o fA p p l i e dE c o n o m e t r i c s,2016,32(7):12441260.[16]㊀M o n t e b r u n oP,B e n n e t tRJ,v a nL i e s h o u t C,e t a l.At a l e o f t w o t a i l s:D o p o w e r l a wa n d l o g n o r m a lm o d e l s f i t f i r mGs i z ed i s t r i b u t i o n s i n t h em i dGv i c t o r i a ne r a[J].P h y s i c aA:S t a t i s t i c a lM e c h a n i c s a n d i t sA p p l i c a t i o n s,2019,523:858875.[17]㊀胡德,郭刚正.最小二乘法㊁矩法和最大似然法的应用比较[J].统计与决策,2015(9):2024.[18]㊀L i l l i e f o r sH W.O n t h ek o l m o g o r o vGs m i r n o v t e s t f o r n o r m a l i t y w i t hm e a na n dv a r i a n c eu n k n o w n[J].J o u r n a l o f t h eAGm e r i c a nS t a t i s t i c a lA s s o c i a t i o n,1967,62(318):399402.[19]㊀成平.极大似然估计与似然比检验的几点注记[J].应用概率统计,2003,19(1):5559.R e s e a r c ho nC h i n e s e a n dE n g l i s h W o r dF r e q u e n c y D i s t r i b u t i o nB a s e d o n W o r dF r e q u e n c y S t a t i s t i c sA l g o r i t h mL I J i e,S U N R e n c h e n g(C o l l e g e o fC o m p u t e r S c i e n c e&T e c h n o l o g y,Q i n g d a oU n i v e r s i t y,Q i n g d a o266071,C h i n a)A b s t r a c t:A i m i n g a t t h e p r o b l e m s e x i s t i n g i n t h e p o w e r l a w j u d g m e n tm e t h o d,t h i s p a p e r s t u d i e s t h e f r eGq u e n c y d i s t r i b u t i o no fC h i n e s ea n dE n g l i s hw o r d sb a s e do nt h e p r e v i o u s r e s e a r c ho n p o w e r l a wd i s t r i b uGt i o n,c o m b i n e dw i t h t h em a x i m u ml i k e l i h o o d f i t t i n g m e t h o da n dw o r d f r e q u e n c y s t a t i s t i c s a l g o r i t h m.T h e j u d g m e n t o f p o w e r l a w d i s t r i b u t i o n i nd o u b l e l o g a r i t h m i cc o o r d i n a t es y s t e mi s g i v e n,a n dt h ew o r df r eGq u e n c y s t a t i s t i c s a n d p o w e r l a wd i s t r i b u t i o n a r e f i t t e d.T h e r e s u l t s s h o wt h a t i n t h e d o u b l e l o g a r i t h m i c c oGo r d i n a t e s y s t e m,t h e d i s t r i b u t i o n i m a g e b e i n g a n a p p r o x i m a t e s t r a i g h t l i n e i s a n e c e s s a r y c o n d i t i o n f o r j u dGg i n g t h e p o w e r l a wd i s t r i b u t i o n,b u t n o t a s u f f i c i e n t c o n d i t i o n.O n t h ew o r d f r e q u e n c y s t a t i s t i c a l d i s t r i b uGt i o nm o d e l o f n a t u r a l l a n g u a g e,t h e p o w e r l a wd i s t r i b u t i o no f t h e o b s e r v a t i o nd a t a i s p r o p o s e d.T h e pGv a lGu e s o b t a i n e d a r e0.14a n d0.19,r e s p e c t i v e l y,b o t h g r e a t e r t h a n0.1,a n d t h e pGv a l u e s o f t h eP o i s s o nd i s t r iGb u t i o n,t h e e x p o n e n t i a l d i s t r i b u t i o n,a n d t h e e x t e n s i v e e x p o n e n t i a l d i s t r i b u t i o na r e a l l0,t h a t i s,t h e a sGs u m p t i o n s s a t i s f y i n g o t h e rd i s t r i b u t i o n s c a nb ed i r e c t l y e x c l u d e d.T h eb e s t f i t f o r t h eo b s e r v a t i o nd a t a i s t h e p o w e r l a wd i s t r i b u t i o n.I t s h o w s t h a t t h ew o r d f r e q u e n c y d i s t r i b u t i o no f n a t u r a l l a n g u a g e s a t i s f i e s t h e p o w e r l a w,a n db o t hC h i n e s e a n dE n g l i s h a r e a p p l i c a b l e.T h i s r e s e a r c h i s o f g r e a t s i g n i f i c a n c e f o r p e o p l e t o u n d e r s t a n d t h e d e v e l o p m e n t p r o c e s s o f l a n g u a g e.K e y w o r d s:w o r d f r e q u e n c y s t a t i s t i c s;p o w e r l a wd i s t r i b u t i o n;m a x i m u ml i k e l i h o o d e s t i m a t i o n;K S s t a t i sGt i c s。

Python教学中实用型词频统计案例展示

Python教学中实用型词频统计案例展示
第来自12 期专题策划21
2 大学英语四、六级考试高频词分析
我们对大学英语四、六级历年考试真题进行 分析,从中挖掘出常考词。这一案例对学生吸引 力非常大,且案例运行结果实用性强,能辅助学 生进行复习,提高考试成绩。
该案例是一项综合性案例,展示了 Python 多个知识点的运用,包括:首先利用 Reqests 和 Beatifulsoup 两个 Python 第三方库爬取相关网页 获得英语考试历年考题以及四、六级词汇表;然 后对试题文本进行规范化处理,得到其中的四级 或六级单词,并进行词频统计;最后把词频统计 结果保存为 CSV 文件,并利用 Matplotlib 库对高 频词及每年出现次数进行直观显示。下面以英语 六级考试为例,详细介绍该案例的具体实现过程 及结果。 2.1 历年试题及词汇表的获取
摘 要:针对目前程序设计课程中的教学案例实用性差的问题,分析大学生在学习和生活中遇到的实 际问题以及当前的热点问题,依托 Python 强大的计算生态环境,提出“Python 实用型案例教学”的观 点,并具体针对词频统计问题,给出了大学英语四、六级考试高频词求解和可视化展示案例以及古诗 字频统计及可视化展示案例,最终达到提高学生程序设计学习兴趣和解决实际问题能力的目的。 关键词:Python 程序设计;实用性;案例教学;词频统计;计算生态
而另一方面,Python 有强大的计算生态环境,
全球有超过十万个第三方库,几乎覆盖所有技 术领域 [5]。依托这样的生态圈,国内高校中从事 Python 教学的老师可以便捷高效地创建出新的教 学案例。什么样的教学案例能引起学生的共鸣, 这是一个值得思考的问题。针对上述国内 Python 教学案例中的问题,依托 Python 强大的计算生 态环境,我们提出了 Python 实用型案例教学方 法。一是通过分析大学生在学习和生活中遇到的 实际问题,构建相应的教学案例;二是针对热点 问题、热点资讯构造教学案例。这些案例不仅能 让学生感知 Python 计算生态圈的功能之强大和 多样,更能增强学生程序设计学习兴趣,激发学 生自主学习和运用 Python 计算生态,最终提高 实际解决问题的能力。

英语词频统计表

英语词频统计表

376 low
416 several
377 cost
417 return
378 little
418 build
379 matter
419 spend
380 community 420 force
381 remain
421 condition
382 figure
422 itself
383 type
423 paper
72 your
112 down
73 me
113 yeah
74 no
114 so
75 other
115 thing
76 gihrough
78 should
118 back
79 these
119 still
80 people
120 must
序号 单词 121 child 122 here 123 over 124 too 125 put 126 own 127 on 128 no 129 work 130 become 131 more 132 old 133 government 134 mean 135 part 136 leave 137 life 138 great 139 where 140 case 141 woman 142 over 143 seem 144 same 145 us 146 work 147 need 148 feel 149 system 150 each 151 might 152 may 153 much 154 ask 155 group 156 number 157 yes 158 however 159 another 160 again
序号 单词 1 the 2 be 3 of 4 and 5a 6 in 7 to 8 have 9 it 10 to 11 for 12 i 13 that 14 you 15 he 16 on 17 with 18 do 19 at 20 by 21 not 22 this 23 but 24 from 25 they 26 his 27 that 28 she 29 or 30 which 31 as 32 we 33 an 34 say 35 will 36 would 37 can 38 if 39 their 40 go

语料库常用统计方法

语料库常用统计方法

语料库常用统计方法在当今信息爆炸的时代,语料库作为一种大规模的语言数据集,对于语言学研究、自然语言处理、翻译研究等领域都具有重要意义。

而要从海量的语料中提取有价值的信息,就需要运用各种统计方法。

接下来,让我们一起深入了解一些语料库常用的统计方法。

一、词频统计词频统计是语料库分析中最基础也最常见的方法之一。

简单来说,就是计算某个词在语料库中出现的次数。

通过词频统计,我们可以了解到哪些词在特定的语料中使用最为频繁,哪些词相对较少出现。

例如,在一个关于科技新闻的语料库中,“人工智能”“大数据”等词可能会有较高的词频,而在一个文学作品的语料库中,“情感”“风景”等词可能更常见。

词频统计不仅能帮助我们快速把握语料的主题和重点,还能为词汇的重要性排序提供依据。

为了进行词频统计,首先需要对语料进行预处理,包括分词、去除标点符号和停用词(如“的”“了”“啊”等常见但对语义影响不大的词)。

然后,通过编程语言(如 Python)中的相关库(如 collections 库)或者专门的语料库分析工具(如 AntConc),可以轻松实现词频的计算和排序。

二、词汇多样性统计词汇多样性是衡量语言丰富程度的一个重要指标。

常见的词汇多样性统计方法包括类符/形符比(TypeToken Ratio,简称 TTR)和标准化类符/形符比(Standardized TypeToken Ratio)。

类符指的是语料库中不同的单词,形符则是单词出现的总次数。

TTR 就是类符数量除以形符数量。

例如,一个包含100 个单词的文本,其中不同的单词有 50 个,那么 TTR 就是 05。

然而,TTR 会受到文本长度的影响,文本越长,TTR 往往越低。

为了克服这一问题,标准化类符/形符比通过对文本进行分段计算 TTR,然后取平均值来得到更稳定和可靠的结果。

词汇多样性统计对于比较不同作者、不同文体、不同语言的文本特点具有重要意义。

一般来说,文学作品的词汇多样性往往高于科技文献,而高水平的作者通常能够在作品中展现出更高的词汇多样性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2页 共36页
目录
目录 退出
待统计文本文件
第3页 共36页
目录
目录 退出
本案例需一个词表文件,如图所示.
词表文件内容
第4页 共36页
目录
目录 退出
本案例最终统计出每个词在文本中出现的次数.运行
效果如图所示.
运行效果
第5页 共36页
目录
目录 退出
本案例最终统计出的结果保存在文件out.txt中.效果如
案例二十 基于词表的词频统计
本案例知识要点 链表的使用 文件操作 哈希表的使用 快速排序法 类的设计和使用
第1页 共36页
目录
目录 退出
一,案例需求
案例描述 词频统计就是统计一个句子或一篇文章中各种 词出现的频率,它是中文信息处理的一项基本 技术,在很多领域中都有重要的应用现频率较高的词 通常能反映这篇文章的主题,因此可以使用词 频来对中文文章进行归类.本案例实现按词表 对文章中的词语进行分析,并按字典序给出词 表中各词语在文章中出现的次数. 案例效果图 本案例需要一个待统计文本文件,如图所示.
第17页 共36页
目录
目录 退出
第18页 共36页
目录
目录 退出
第19页 共36页
目录
目录 退出
第20页 共36页
目录
目录 退出
第21页 共36页
目录
目录 退出
第22页 共36页
目录
目录 退出
第23页 共36页
目录
目录 退出
第24页 共36页
目录
目录 退出
第25页 共36页
目录
目录 退出
第35页 共36页
目录
目录 退出
第36页 共36页
目录
目录 退出
五,案例总结与提高
案例总结 本案例类的设计并不复杂,但是要求读 者除了具备C++基本知识和简单的数据结 构知识以外,还要求读者掌握文件流, 哈希表,快速排序,算法设计,主函数 接口等诸多知识点,否则案例理解起来 比较困难.本案例用到的许多知识点在 数据结构教材中都有很详细的讲述,读 者可以查找相关书籍熟悉这些知识,对 照程序来理解掌握这些知识,逐步提升 程序设计水平.
图所示.
out.txt文件
第6页 共36页
目录
目录 退出
功能说明 (1)本案例需要一个文本和一个词表, 统计出每个词在文本中出现的次数.统 计的原则包括以下两种: 交集型.例如"内存在涨价",需要 统计"内存"和"存在"两个词各一 次(假设这两个词都在词表中). 组合型.例如"中美关系在发展", 需要统计"中美","关系"和"中 美关系"(假设这3个词都在词表中).
第11页 共36页
目录
目录 退出
第12页 共36页
目录
目录 退出
第13页 共36页
目录
目录 退出
第14页 共36页
目录
目录 退出
第15页 共36页
目录
目录 退出
第16页 共36页
目录
目录 退出
2.主程序设计 在主函数中声明了一个 SYMBOLTABLE类的对象,依次调用 哈希表类的构造函数,统计函数,输 出函数即可.另外,为了记录程序的 运行时间,包含了time头文件,调用 clock函数,能精确到毫秒.主程序有 详细的注释,清晰易懂,流程图略.
第26页 共36页
目录
目录 退出
第27页 共36页
目录
目录 退出
第28页 共36页
目录
目录 退出
第29页 共36页
目录
目录 退出
第30页 共36页
目录
目录 退出
第31页 共36页
目录
目录 退出
第32页 共共36页
目录
目录 退出
第34页 共36页
目录
目录 退出
第10页 共36页
目录
目录 退出
三,案例设计
1.类的设计 根据案例分析,需要设计出两个结构体 NODE和TABLE,同时还需要设计一个类 SYMBOLTABLE.其中,结构体NODE是 哈希桶(哈希桶即哈希表中各个同地址值 的元素构成的链表)中节点的数据结构, TABLE是哈希表的结构,SYMBOLTABLE 类提供了诸如哈希函数,查找词汇,遍历 哈希表,将词汇插入哈希表中,快速排序 等功能.
第9页 共36页
目录
目录 退出
(3)哈希函数(散列函数)的实现.用
char word[15]存储的词得到一个关键字, 然后除以某个素数,得到的余数为散列 地址.由于数据较多,要高速完成搜索, 散列到每个相同地址的元素要尽量少, 因此素数要很大,关键字的范围也要很 大而且不重叠. (4)按字符的字典序排序输出.哈希表 是乱序存储的,因此可先遍历哈希表, 将所有词频大于0的词存入数组中,用快 速排序法对这个数组中的元素进行排序.
第7页 共36页
目录
目录 退出
文本和词表的格式如下:
文本是一个长句,句中只包含汉字,不包含 数字,标点,空格,回车以及其他任何特殊 符号.文本规模小于或等于50 000汉字. 词表的规模小于或等于100 000个词,所有词 不重复,词在2~7个汉字之间,每个词占一 行. 实现基于词表的词频统计,从磁盘中读取词表 和文本,将词频统计结果输出到磁盘中,输出 结果要求按字典序排序,并计算出程序运行时 间.
第37页 共36页
目录
目录 退出
案例提高 可以考虑采用更高效,冲突更少的 哈希函数(HashFun(const string &s)) 来完成本案例. 可以试着改用平衡树(AVL)作为 数据结构.关于平衡树的相关知识 可查阅数据结构教材.
第38页 共36页
目录
目录 退出

第8页 共36页
目录
目录 退出
二,案例分析
根据需要构造一个哈希表类,在类中实现如下操作: (1)建立哈希表,将词表在内存中存储起来,这个存 储的过程就是类的构造函数.案例中的词表是数量较 大的词组,词与词之间用空格隔开.因此可用文件流 函数getline来实现.每次调用getline函数便得到一个存 有词的字符串,然后将字符串按照某种散列函数插入 到哈希表中,一直到词表全部存储为止. (2)统计词频.从词表中读取文本文件,存储在一个 字符串中,因为每个汉字存储在两字节中,所以词在 4~14字节之间,用char word[15]即可表示一个词.考 虑到词频统计的交集性和组合性原则,可将在文本字 符串中的每个汉字与其后的汉字分别组成2~7个汉字 的词,在词表中进行搜索,每被搜到一次,将统计次 数加1.循环直到文本末尾.
相关文档
最新文档