Inference Group
.
.




Search :
.

制作训练文本

训练文本应该是包含和你想输入的内容类似内容的纯文本文件. 越大越好. 我们认为300K 是比较合适的.

你可以使用的范例训练文件像是:

  • 把你输入过的所有的文本连接成一个大的文本文件.
  • 使用小说 - 像是我们采用了来自Project Gutenberg的 Jane Austen's Emma. 但使用一两本小说的问题是某些特定单词(像是Emma , Alice) 出现的次数很多;所以小说不是一个理想的一般用途的训练文本.
  • 把你所有的电子邮件合成一个大的文本..

怎样创建一个一般用途的训练文本

这里是我创建英文Dasher训练文本的过程
  1. 取得尽可能多的英文文件, 以便能如下一样合理地选出一个均衡的(well-balanced) 句子的集合.
  2. 进行预处理使得每行只有一个句子.
    我是用我写的一个perl程序来完成, processbook.p 里面的脚本程序像是这样
    foreach f ( alice emma )
      processbook.p  /books0/$f > /books/$f
    end
    
  3. 现在, 得到这个语种里最常用的2000个单词的列表 . 想法是既然这些单词是常见的,在最后的文集(corpus)里我们就要确保它们在各种上下文中都出现几次. 我们将使用这些单词来选择总文集中的句子.
    我从internet上得到这样的一个列表,然后将它放入一个叫 dict的文件里. 我把一些荒谬的常见单词从dict里去掉确保下面的步骤能很好的进行.
  4. 用另一个程序来从经过与处理的文件里选出包含2000个必需单词的句子. 按顺序处理单词使得最后的文集也是有序的, 文集的最开始包括最常见单词的范例 ; 这样, 即便文集去掉最后的部分,也是适当的.
    将句子连接在一起合成长度合理的段落, 来仿效正常的写作.
    我通过使用linux下的应用程序glimpse 和自己的perl 程序corpus.p
    rm  /data/coll/mackay/books/*~
    glimpseindex -b  -B   -H ~/dasher/  /data/coll/mackay/books/
    corpus.p k=1 f=4 o=corpus4.txt
           
    这就是我如何制作出在 Dasher 1.6.8中使用的这个文集 (316K), .

如果有谁制作出了其他语言的好的文集并愿意共享,我可以将它们放在 这个站点.


The Inference Group is supported by the Gatsby Foundation
and by a partnership award from IBM Zurich Research Laboratory
David MacKay
网站最后修改于 Fri Oct 1 10:33:25 BST 2010