《语言统计分析》第5次作业。
所需材料
- lexstats-2.0
- 要统计的英文文本(txt格式)。我选取的是十万字左右的Wuthering Hights。
使用方法
我下的是lexstats-2.0-win32.zip 解压后目录下有这些文件:
命令行运行 lexstats-2.0-win32-2019>spectrum WutheringHights.txt
迅速地报错:ddl文件缺失。虽然我也不知道为什么,但我在去年的工具包目录下发现了这个ddl文件cygwin1.dll
,拷过来,重新跑。
迅速地跑出来一堆结果。命令行:
N=不去重的词数。V=去重的词数,即词汇表大小。
这些东西就比较神秘了,等我慢慢解释。
结果分析
下面以"text"代表你扔进去的txt文件名,此处指代我这里的"WutheringHights"。
text.sum
是总体的分析结果。
text.spc
应该就是词频和词频排名的数据了!可以用来验证Zipf’s 1st Law.
text.zrk
并没有搞清楚是什么
text.wfl
这个是按字母序排列的词频表,并没有什么用,可以查着玩儿~
text.vec
就是把单词按文章序全部拆好整成一行一个了……所以会有11万行。text.zvc
在此基础上附上了每个词的词频排名,像这样:
如图,i是第三高频的词。
Zipf’s 1st & 2nd Law 的验证
齐夫定律(Zipf’s law)是由哈佛大学的语言学家乔治·金斯利·齐夫(George Kingsley Zipf)于1949年发表的实验定律。
第一定律为人熟知:f(词频) * r(词频排名)= C(常数),刻画了词频和词频排名的反比分布,针对高频部分。
这说明了词频最高的词出现次数是词频第二的词的两倍,词频第二的词出现次数是词频第四的词的两倍。非常impressive的发现。
第二定律则针对低频部分:P(f>=i) = 1/i,出现i次以上的占 1/i
则出现i次的占 1/i - 1/(i+1),即
出现1次的词的个数是出现2次的词的3倍左右,
出现2次的词的个数是出现3次的词的2倍左右。
Zipf两条定律说明:语言文本中出现的则大部分是高频词,总词表中大部分是低频词(长尾效应)。注意,这是针对英语的实验定律,汉语一般不符合zipf定律。
关于汉语:江南大学的研究者以诺贝尔文学奖得主莫言的《红高粱》《蛙》和《透明的红萝卜》为主要研究对象,采用字频统计软件和汉语词频统计软件,统计莫言作品中字频、词频,发现都能满足齐夫定律。所得结果与包括英语、西班牙语、法语等在内的多种语言研究结果一致。这项研究从统计学角度提供了莫言可以成为中国大陆首位诺贝尔文学奖得主的可能原因之一。(From百度百科虽然我觉得有点扯)
下面用文本Wuthering Hights来验证俩laws:
1、词频排名(z)和词频(fz)的关系
奇怪的是似乎高频部分不太符合zipf定律。而排名50之后的词,排名z*词频fz约等于常数。
2、出现次数(m)和相关词数(Vm)的关系
m Vm portion
1 4859 0.479996
2 1548 0.152919
3 852 0.084165
4 515 0.050874
5 356 0.035167
6 261 0.025783
出现2次及以上的词有10123-4859=5264个,占52.00%.
出现3次及以上的词有5264-1548=3716个,占36.71%.
出现4次及以上的词有2864个,占28.292%。
符合Zipf 第二定律。