本节我们进入《Beautiful Data》的正题,将沿着其第14章Peter Norvig大牛的“Natural Language Corpus Data”的轨迹介绍统计语言模型的三个应用:分词、解码及拼写检查。不过《Beautiful Data》中这三个应用依赖着Google的海量语言模型,所以Peter Norvig研究员首先介绍的也是Google语言模型的一些基本情况和背景。
  虽然Google声称“All Our N-gram are Belong to You”,但是这个语言模型最终是通过语言数据联盟LDC (Linguistic Data Consortium)提供给用户的,因此如果使用,仍需要一些费用。在LDC的“Web 1T 5-gram Version 1”这个页面上,大家可以找到Google语言模型的基本信息,包括简介、来源、规模、编码及费用等情况:

This data set, contributed by Google Inc., contains English word n-grams and their observed frequency counts. The length of the n-grams ranges from unigrams (single words) to five-grams. We expect this data will be useful for statistical language modeling, e.g., for machine translation or speech recognition, as well as for other uses.

  之所以说1T,应该是压缩的24G Google语言模型解压之后的大小,这样大的语言资源对多数人来说收藏的意义远大于使用,毕竟对于绝大多数个人电脑甚至是很多服务器来说,内存这一关都无法过去。其实去年8月份的时候水木社区自然语言处理版有好心人通过Emule共享过“Google Web 1t 5-gram”,如果读者对此语言模型很有兴趣,可以去找找,不知现在是否还能下载。
  关于Google语言模型(语料库)的一些细节:
  1)包括1万亿的“词例”及1千3百万的“词型”(a trillion tokens and 13 million types);
  2)出现次数少于200次的单词被认为是未登录词,用<UNK>符号代替,而出现次数少于40次的N-grams被去除;
  3)多数词型出现的次数很小,最常见的10个词型(或者说单词)占去了几乎1/3的词例数,最常见的前1000个词型占去了2/3,而排名前100000的词型占去了98%,不知读者是否会想起著名的Zipf 法则;
  既然Peter Norvig大牛要在《Beautiful Data》中展示Google语言模型的美丽,除了他的解释:

Why would I say this data is beautiful, and not merely mundane? Each individual count is mundane. But the aggregation of the counts—billions of counts—is beautiful, because it says so much, not just about the English language, but about the world that speakers inhabit. The data is beautiful because it represents much of what is worth saying.

  更重要的是如何通过应用这个语言模型来让读者领略“语言数据的美”,但是1T的语言模型如何用?答案在他专门为本章准备的网页上:Natural Language Corpus Data: Beautiful Data,包括了所有的程序及资源文件,最最重要的两个文件就是从Google语言模型中简化了的两个分别为5M左右的1-gram和2-gram及其频率统计的文件:count_1w.txt和count_2w.txt。前者包含了前333333个高频词及其在语料库中统计的频率,并按词频排序;后者包含了前286358个2-grams,不过按的是词典顺序排序。
  让我们来看一下count_1w.txt中的前十个最常见的英文单词:

the 23135851162
of 13151942776
and 12997637966
to 12136980858
a 9081174698
in 8469404971
for 5933321709
is 4705743816
on 3750423199
that 3400031103

  注意数字代表了这些英文单词在语料库中出现的次数,浏览这个文件,你会发现排名靠前的单词都是我们日常经常用到的单词,而排名靠后的单词很多都不认识,如果学习或者背单词的时候按这个顺序,估计会很实用,这大概也能算做Google语言模型的一个应用吧!好了,本节到此为止,下一节我们正式进入到统计语言模型的应用层面。

未完待续:分词1

注:原创文章,转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:https://www.52nlp.cn/beautiful-data-统计语言模型的应用二背景

作者 52nlp

《Beautiful Data-统计语言模型的应用二:背景》有5条评论
  1. [...] Google语言模型的一些基本情况和背景可以参考52nlp上的这篇介绍,以及LDC上的介绍Web 1T 5-gram Version 1。 压缩的语言模型(1-5 gram)大小为24G,完全解压之后应该就是1T了。这么大的语言模型,无论是模型的训练(Google提供的是n-gram的计数文件)还是加载过程,几乎都不现实,我一想就头疼。对于一般用户而言,这么大的语言资源的确是收藏意义大于使用。 [...]

  2. LDC2006T13之所以叫WEB 1T,并不是说解压缩之后又1T文件的总大小。根据LDC官网的介绍,是总共的token数目接近1 trillion。LDC2006T13解压之后的实际大小其实是100G左右。

    [回复]

    52nlp 回复:

    thanks a lot!

    [回复]

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注