加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[下载]语音版朗文常用3000词词库

(2009-05-22 23:46:40)
标签:

教育

supermemo

词库

朗文

3000

基础词汇

背单词

学英语

语音

分类: SuperMemo学习

    应小Eric的一再要求,舍得制作了这个词库。

    其实,舍得心里老早是想做这样的一个词库的,只是心里没有压力,不会去找方法。小Eric这么一来,倒是给了舍得一些动力。

    朗文3000词,分口语常用3000词和书面语常用3000词,一交叉算下来,这个词库共有3179个词——可能在导入金山生词本处理的时候,被干掉了几个,不过无伤大雅。

    用过《朗文当代英语辞典》第四版的朋友应该记得,在这个辞典里是可以查询口语1000-3000,书面语1000-3000的,舍得在2004年前后曾经用过最笨的复制粘贴大法,从辞典里整出这3000多的单词,没想到可以用在Supermemo里,后来这份材料由于保存不善,已经找不到了。

    Eric这个小懒鬼,本来舍得是让他来做,当做练习的,因为他的正则表达式学得不好,正好借这个机会练一练,水平还可以再提升一下。没想到几天一过,他又把这活当皮球踢回给舍得。唉,舍得没办法,只好想个偷懒的辄,怎样快速地完成这项工作。

    除了当初用过的最笨的办法(那要耗N多时间),舍得想到的最简单最直接的办法是用Ruby(小日本开发的一个程序)加脚本导出朗文当代的文本,不过一算这时间也不少,也挺麻烦。继续想辄。后来走了点弯路,下了一个Mdict用的朗文当代,发现不能反编译,等于没用。在这之后就找到了Epwing版的朗文当代,140多M,然后再找了一个叫DDwin的软件(也是小日本开发的,日),分别导出了朗文的词库、例句库、活用法等,最大的一个文本文件达到75M之巨。

    接下来的事情就简单了,舍得根据词库中的标记“W”(书面语)和“S”(口语)快速地筛选出想要的3000词(用了一个叫Emeditor_Perfecta_En的宏,特别方便),导到金山生词本里调取单词释义和音标(因为没想到做英英词库,既然是基础3000词,做英中的更合适一些),写了个宏一次性处理Q&A文本,添加上语音和字体,接下来是转码,测试,收工。舍得干这个完全是熟练工的水平。

    下面是舍得在处理金山生词本中导出文本时用到的宏,大家可以借鉴一下(将这些文本复制到emediotor,然后存为扩展名为“Jsee”的文本,即可在emeditor中调用:

document.selection.Replace("^\\+","Q: ",eeFindNext | eeFindReplaceCase | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^\\\\","A: ",eeFindNext | eeFindReplaceCase | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^&(.*?$)","A: [<font face=\x22Kingsoft Phonetic Plain\x22>\\1</font>]\\n",eeFindNext | eeFindReplaceCase | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("^Q: (\\w)(.*?$)","Q: \\1\\2 <bgsound src=\x22file:///d:/speech/\\1/\\1\\2.mp3\x22 LOOP=TRUE>",eeFindNext | eeFindReplaceCase | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("(^Q: )","\\1<FONT face=\x22Tohoma\x22; size=4>",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("(^A: )","\\1<FONT face=&#24494;&#36719;&#38597;&#40657; size=4>",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("(^Q: )(.*?$)","\\1\\2</FONT>",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("(^A: )(.*?$)","\\1\\2</FONT><br>",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
    舍得过几天会专门写一篇从收集单词到处理词库的文章,相当于将《词库制作进阶篇》重写一下,添加入一些新的元素,希望大家能够喜欢。

    附:词库下载地址:BiBiDu下载 | BRSBox下载

    注意,语音库得自己另外下载,下载地址:真人语音库

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有