COCA 20000高频词汇。 COCA=Corpus of Contemporary American English (COCA) 这是英语国家使用频率最高的词汇集合。 从众多语料库(corpus)中提取。用大数据的方法从各种文体中自动生成一个词频表。这是当今最准确的词频表:美国当代语料库 coca 中的前20000个单词。 简单的说,coca就是把1990-2012年美国最有代表性的报纸,杂志,小说,学术,口语(口语可能是用的电视剧或者脱口秀之类的节目转录的)汇集起来,每部分各占1/5,生成4.5亿单词量语料库。 背完这个,应当就可以愉快的阅读纽约时报了。 希望你能成功。
上面是扇贝单词中COCA20000单词书的介绍。
不知道大家看完是不是之前就有这个想法:为什么我们背单词,不能集中下能搜集到的语言材料,然后将词汇出现的频次排个序呢?按照出现频次背上top一两万,日常能碰到的词汇不就都涵盖了么。确实是这样。
上个月在知乎一英语学习贴子上接触到了corpus(语料库)的概念,的确有人在用大数据自然语言分析的方法做这个事情。网上能搜到的有BNC和COCA,BNC公布了前15000,但是语料内容过于老旧,据说是80年代的,而COCA则是美国的,统计数据从90年代初到2012年,绝对的精华,非常优秀非常珍贵,但是只公开了前5000的高频词,20K的要接近40刀价格出售,没办法……
这几天托福4K已经差不多背完了,正在想着怎么把BNC15000导入,又查了一下扇贝单词书,大吃一惊,原来几天前(5月20日)已经有人把COCA top20000做成了单词书,而且售价199贝壳,相比于40USD,这可真是普度众生功德无量啊,果断收藏之!BNC15000也不用搞了,真爽。
正洋洋得意之时,突觉哪里不对,毕竟有个版权问题,万一哪天COCA找到扇贝,说你丫侵权,删掉删掉,一则词库没了要搁置一段时间,二则购买的话,又是接近三百块钱,这不完蛋了。虽然只是个概率问题,但毕竟还是存在风险的,计算下成本收益,与其承担这个不确定性,不妨写个脚本把单词全抓下来,万一删了还是有留底的,对冲风险,万无一失。下面来展示EXCEL+Linux的完美解决方案,当然,重点是分析问题的思路:
1. 地址分析
对于如此批量数据的处理,最基础的,我们要先搞清楚两个问题:
(1)查看数据是否有权限要求?
(2)数据组织结构是怎样的,源地址是否有规律?
对于第一个问题,如果不需要登录权限就可以查看单词书以及单词书下所有词汇,对我们来说无疑是非常有利的,因为不需要认证,很可能使用shell下的wget命令或者php get_file_contents就可以实现下载;
第二个问题,如果地址有规律,前面两个命令或函数配合循环直接搞定,问题将被大大简化,如果没有规律的话,就需要想办法进行遍历了。
首先在团队服务器用wget测试一下wordlist0-100这个页面能不能抓到,bingo!没问题,第一个问题直接解决。
对于第二个问题,我们分析一下地址:
http://www.shanbay.com/wordlist/103867/194194/
这是list0-100第一页的地址,可以末尾目录地址分为两个部分,10387是单词书编号,这个退回到单词书首页就可以发现,194194应该是单元编号,我们再跳到第二页,地址变成了这个:
http://www.shanbay.com/wordlist/103867/194194/?page=2
没错,只需要挂一个get参数就可以决定页数。而且扫了下每个单元,都是5页。Bingo,接下来的问题是,单元号是否有规律呢?
我们依次往下切几个单元看看:
http://www.shanbay.com/wordlist/103867/194194/ 0-100 http://www.shanbay.com/wordlist/103867/194197/ 100-200 http://www.shanbay.com/wordlist/103867/194200/ 200-300 http://www.shanbay.com/wordlist/103867/194203/ 300-400 http://www.shanbay.com/wordlist/103867/194230/ 1100-1200 http://www.shanbay.com/wordlist/103867/194863/ 20100-20200
从前几个单元来看,似乎单元号依次+3,这样很容易找到规律,按照这一规律推算,最后一个单元应该是194194+3*(20100/100)=194797,纳尼!实际却是194863,中间那几十个单元号哪里去了!!
估计这可能与单词书创建时单元提交错误,作者又重新提交有关,数据库没有删除错误的单元号。这么说,单元号可能是间断无规律的,换个思路,我们只能枚举了。
2. 枚举地址
首先查看源代码,发现词汇书首页单元链接部分共享统一的代码结构:
二话不说,全选复制,放到EXCEL中,A列:
重点来了:由于每个单元结构都是固定格式,所以这些单元所占行数是固定的,因此我们所关注的链接地址出现的位置也是固定的:6行、36行、66行依次类推,所以,我们采用函数把这些行抽出来放到一个列中,随意百度,你就知道:
=INDEX(A:A,(ROW()-1)*30+6) 结果: <a href="/wordlist/103867/194194/">wordlist 0-100</a>
接下来则是喜闻乐见的拖啊托,然后分列,抽出链接部分,索性直接把命令补全:
3. 脚本下载
接下来就水到渠成啦!复制粘贴,查找更换下多余tab空格,套个循环,sh执行!全部list down下来大概只用了5分钟左右,ls之:
满满的成就感,且慢~grep一下html的关键label,再数个个数,看下是否都下载到了:
BINGO!不过单词书里16000+单词,为什么grep出18000+关键标签……查了个文件貌似除了汉语意思部分木有这个class了呀,不懂……回来满满找吧
ps: 5分钟能把这些单词upload到我脑子中不?LOL
三月份做好了linux下的全备份互联系统,Blackleach上工作用文件夹本想备份到Linux下,奈何没有做要数据和规则的分离,体积过大(40+G),winscp/NSF等可能也很费时不方便,用WinDirStat做了大文件分离后,还剩10+G,所以参考了这个帖子:
http://jingyan.baidu.com/article/3052f5a1ddb11097f31f8688.html
直接用winRAR+计划任务备份到另一块database硬盘上,我们文件过大,不需要存留旧版本,所以生成文件不挂时间戳,文中有几点需要设置的地方没有说清楚:
谒真谛寺禅师 杜甫 兰若山高处,烟霞嶂几重。冻泉依细石,晴雪落长松。 问法看诗忘,观身向酒慵。未能割妻子,卜宅近前峰。
最早是在06年暗黑吧一吧友签名里看到“兰若高山处,烟霞嶂几重”两句,只觉意境深远,心向往之,便铭记在心。
如今已快十年,前段时间大半夜听写完TPO,劳顿困倦,关机准备上床的时候脑海里突然闪过这两句话,一下子清醒了许多,躺在床上细细品味,或许诗人只是用来描写拜谒真谛寺时所见山上景色吧,我却多想了几分意思。汉语功底不深,只得依托查找搜索。“兰若”指兰草与杜若,都是香草,很明显是美好事物的意象;兰若高山处,香草生长在高山上。“烟霞”大家都懂,就是山上的云雾,去过黄山,印象深刻,风吹云移,一倾万变,相隔十几米的景物,也是时隐时现,所谓仙境。
美好的香草是长在高高的山岭上的,又有数重布满烟霞的山峰相隔,很难到达见识。或许作者只是描绘一下真谛寺在高山上,周围有兰若,也能看到几重烟霞嶂,抑或作者也在暗示追求美好的事物,总要克服许多困难,才能最终得到。无论是居上而观,还是居下而瞻,似乎都把王国维提到的大学者三重境界都包含了:高楼望尽天涯路,衣带渐宽终不悔,回首灯火阑珊处。求不得,舍不得,终自然而得。这是马拉松,是厚积薄发,是跬步千里。这是一万小时定律,我信奉这个。
近两年的迷惘和思索,观念价值受冲击也改变了很多,未来不确定,现实不满意,却在思索和内省中渐渐明晰了自己究竟想要什么:再看高中时的想法,当时向往的完全出世是不可以的,“未能割妻子,卜宅近前峰。”杜甫这么说,妻儿舍不下,把家安在山前呗,去山上拜谒并不远,又能在家陪老婆孩子。出世不离世,入尘不染尘。其实作者是在前两句“问法看诗妄,观身向酒慵”中走出来的:问道佛法,却发现自己写的诗是虚妄;反省自身,只觉酒为乱性污物,不喜自己酒后懒散颓靡之姿。
“冻泉依细石,晴雪落长松。”这两句意象绝妙。清泉在冰冻的细石上汩汩涌出,晴天里却落雪在长松枝上,读得这两句,只觉脑海中一片高山清冷凛冽,却又处处透露着生机的矛盾之感。不知何故,却联系到了“昔我往矣,杨柳依依;今我来思,雨雪霏霏”,一时语塞。这意境已然玄妙,阅历不足,不可妄论。
细细品来,其实全诗始末,也是作者的一番心路历程吧。
开头两句做了微信签名,跬步千里,祝福自己吧!