查看: 3103|回复: 84
打印 上一主题 下一主题

[英英] (OALD8, MWALED)牛津高阶8、韦氏高阶例句库(TXT 版)【小型学习语料库】

[复制链接]

该用户从未签到

46

主题

468

回帖

3743

积分

贡士

Rank: 6Rank: 6

积分
3743

灌水大神章小蜜蜂章笑傲江湖章

跳转到指定楼层
1
发表于 2015-11-10 16:23:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gnoweb 于 2016-2-9 15:24 编辑

2015.11.12 更新 qd.py 代码:

        更新内容:        查询句子的功能有所增强,支持分词查询。

qd "give a look" oald8

之前的代码如果查询词组,比如 "give a look",会提示查询不到任何内容。这个类似于在 MDict for PC 中执行全文查找时加上双引号。因为不对查询字符串 "give a look" 进行分词,而是把它作为一个整体与搜索文本进行匹配,当文本中不存在这样的组合时,自然是无法查找到的。



qd "give a look" oald8 -s

更新后的版本只要在后面加个参数 -s ,就是分词(segmentation)的意思,就会对查询字符串先进行分词,然后逐个分词执行查询:



这个类似于 MDict for PC 中执行全文查找时不加双引号,但又有所不同。qd.py 查询的对象是以一条条句子为单位,而 MDict for PC 则是以整个词条的 body 部分为单位,所以有很多无关的结果,想要的结果被巨量的无关信息所干扰以至于不知道到底掩藏在何处:



两种方式都有各自的应用范围:一种适合于精确搜索(不分词),一种适合于最大化的搜索(分词),正因为这两种方式的操作对象都是一条条句子,而不是全文,这样就可以保证精确性或完整性:





另外:

qd "take into" oald8 -w                把按不分词方式搜索出的句子写入文本文件中
qd "take into" oald8 -sw                把按分词方式搜索出的句子写入文本文件中


帮助信息:

************** SEARCH SENTENCES **************

Usage: qd keyword dic [-w|-s|-sw]

        dic      oald8, mwaled
        -w       write to a txt file (no segmentation)
        -s       search by segmentation
        -sw      write to a txt file (with segmentation)

qd "length" oald8
qd "good day" mwaled -w
qd "take into care" oald8 -s
qd "take into care" oald8 -sw

**************** SEARCH WORD *****************

Usage: qd word

qd h?p
qd democ*y

**********************************************
qd.py 下载地址http://pan.baidu.com/s/1mgrQytM
这个压缩包里只有代码,文本下载链接见下方。


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



MdictPC 和 GoldenDict 都支持全文检索,但有时不能满足特殊的要求。举个例子,我只想在所有的例句中搜索 "good day",而不需要包含解释或词条处的结果,最后要把所有的例句集中显示,另外存储在文本文件中。一个解决办法就是把词典文件中的所有例句提取出来,然后使用 Python 脚本来配合查询这些例句。



OALD8 例句文本 OALD8-Example_Sentences.txt 有 10.4MB ;
MWALED 例句文本 MWALED-Example_Sentences.txt 有 9.33MB;
OALD8-Words.txt 文件是单词列表,有 1.27MB。







大家可以使用自己认为合适的工具来利用这些资料。另外,这里有一个 qd.py 脚本,是专门用来查询这三个文件的,使用之前必须安装 Python 3(不支持 Python 2),这三个文本文件不要改名字,否则 qd.py 会不认。

假设文件位于 E:\__QueryDic__

查询例句

打开命令提示符,输入:

cd /d E:\__QueryDic__



切换到脚本和文档所在目录:



查询包含 tonic 单词的句子:

qd "tonic" oald8



如果要查询的句子太长,而命令提示符窗口太小,像下面这样:



可以试着把命令提示符窗口调到最大(不会的就用百度搜索):



不想调整窗口的话,也可以把结果保存到文件中查看,输入下面的命令:

qd "length" mwaled -w



然后使用任何一个文本编辑器打开(注意使用等宽字体):



查询句子基本就是这样了。可以查询连续的若干单词,比如 "good day":

qd "good day" oald8



总结起来就是,不包含空格的单词不用加双引号,包含空格的单词要加上双引号,注意是英文半角的双引号。

查询单词拼写

? 问号表示一个字符,它代表的符号包含(A-Z, a-z, 0-9, _),也就是正则表达式里面的 \w,例如可以用它来查询以 mn 结尾的长度为 4 的单词:

qd ??mn



* 星号代表0个或任意多个不包含空白符号的字符,相当于正则表达式里面的 \S*,可以用它来查询以 tation 结尾的任意长度的单词:

qd *tation



更复杂的查询可以使用正则,比如查询包含 far 的搭配:

qd ".{0,} far .{0,}"



这里的 . 点号意味着可以匹配任意的字符,包括空格;
花括号修饰前面的 . 点号,表示匹配的字符数量 0 次以上。

直接输入 qd 可以查看帮助:



************** SEARCH SENTENCES **************

Usage: qd keyword dic [-w]

        dic      oald8, mwaled
        -w       write to a txt file

qd "length" oald8
qd "good day" mwaled -w

**************** SEARCH WORD *****************

Usage: qd word

qd h?p
qd democ*y

**********************************************

代码只在 Windows 8.1 64bit 下使用 Python 3.4 / 3.5 测试过。密码在这:1vwf

本帖被以下淘专辑推荐:

该用户从未签到

0

主题

27

回帖

61

积分

白身

Rank: 1

积分
61
推荐
发表于 2015-12-29 18:24:01 | 只看该作者
必将有力服务大家的英语学习。
  • TA的每日心情
    擦汗
    前天 07:00
  • 签到天数: 1090 天

    [LV.10]以坛为家III

    124

    主题

    1772

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10477

    灌水大神章小蜜蜂章笑傲江湖章

    推荐
    发表于 2015-12-24 16:26:45 | 只看该作者
    对于没有安装python的同学,可用grep/ag/xzgrep,sed. (windows上可安装gow - gnu on windows,10M左右 ):
    grep "give a look" oald8

    分词的话
    sed -n '/give/{/look/p}' oald8

    使用xzgrep的话可直接搜索压缩过的文件。文件名可带通配符。使用ag或配置**则可对目录树搜索。

    该用户从未签到

    46

    主题

    468

    回帖

    3743

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3743

    灌水大神章小蜜蜂章笑傲江湖章

    推荐
     楼主| 发表于 2015-11-10 20:25:54 | 只看该作者
    duancj 发表于 2015-11-10 17:38
    语料库是怎么制作出来的,楼主能否介绍下方法

    OALD8 里面的例句是我用论坛里的提供的解包工具 GetDict.exe 把 mdx 文件解包为 txt 后,分析里面的标记于结构,总结出一般的规律,然后用 Python 写代码解析出来的,但是太麻烦了,mdx 源文件里结构和样式是混排的,抽取起来很费事。

    OALD8 词条的抽取也是从上面的那个 mdx 里面提取出来的,这个比抽句子要容易多了。

    MWALED 是我从论坛里面提供的 dsl 格式的文件里提取出来的,dsl 也是文本文件,不过这个词典的结构比较清晰,处理起来比较方便。

    总之就是分析每个词典源文件的结构与标记,总结规律,然后编写 Python 脚本进行处理。
  • TA的每日心情
    开心
    2022-7-19 14:29
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    372

    回帖

    974

    积分

    举人

    Rank: 4

    积分
    974
    2
    发表于 2015-11-10 16:36:30 | 只看该作者
    think you very much
  • TA的每日心情
    慵懒
    2023-1-10 21:48
  • 签到天数: 802 天

    [LV.10]以坛为家III

    3

    主题

    2373

    回帖

    2万

    积分

    禁止发言

    积分
    20562

    小蜜蜂章笑傲江湖章灌水大神章

    4
    发表于 2015-11-10 17:38:24 来自手机 | 只看该作者
    语料库是怎么制作出来的,楼主能否介绍下方法

    该用户从未签到

    3

    主题

    60

    回帖

    2028

    积分

    解元

    Rank: 5Rank: 5

    积分
    2028

    灌水大神章小蜜蜂章笑傲江湖章

    5
    发表于 2015-11-10 17:40:43 | 只看该作者
    thx           
  • TA的每日心情
    开心
    昨天 07:49
  • 签到天数: 428 天

    [LV.9]以坛为家II

    1

    主题

    1837

    回帖

    9227

    积分

    进士

    Rank: 8Rank: 8

    积分
    9227

    灌水大神章

    6
    发表于 2015-11-10 19:37:05 | 只看该作者
    下载后,无法解压,请处理。

    点评

    上面的链接用的是 7z (PPMd) 极限压缩,我测试过使用 7z 可以解压。你试试这个 zip 格式,应该能解压: http://pan.baidu.com/s/1pJJ4yuv  发表于 2015-11-10 20:02
  • TA的每日心情
    奋斗
    2022-12-1 14:41
  • 签到天数: 1047 天

    [LV.10]以坛为家III

    13

    主题

    1422

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    13502

    灌水大神章小蜜蜂章笑傲江湖章

    9
    发表于 2015-11-10 22:21:37 | 只看该作者
    本帖最后由 dictionaryfan 于 2015-11-11 07:42 编辑

    有txt,就是任性

    查询以某些音节结尾的单词可以辅助记忆,起押韵的作用?
  • TA的每日心情
    擦汗
    2020-8-24 08:33
  • 签到天数: 35 天

    [LV.5]常住居民I

    5

    主题

    256

    回帖

    1314

    积分

    解元

    Rank: 5Rank: 5

    积分
    1314

    灌水大神章

    10
    发表于 2015-11-11 06:36:49 | 只看该作者
    楼主是高手。多谢了。

    该用户从未签到

    46

    主题

    468

    回帖

    3743

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3743

    灌水大神章小蜜蜂章笑傲江湖章

    11
     楼主| 发表于 2015-11-11 09:49:38 | 只看该作者
    dictionaryfan 发表于 2015-11-10 22:21
    有txt,就是任性

    查询以某些音节结尾的单词可以辅助记忆,起押韵的作用?

    学习单词构词法,比如词根、前缀、后缀时,可以了解相关的词汇。
    比如前缀 amphi- (两、双),可以查询相关的词汇:

    C:\Users\Gnoweb>qd amphi*

    amphibian
    amphibians
    amphibious
    amphitheatre
    amphitheatres

    因为这个用的是 OALD8 的词条,我查了一下,不是太全。比如蒋争的《英语词汇的奥秘(升级版)》里出现的:

    amphicar
    amphibiology

    OALD8 词条列表里就没有。

    该用户从未签到

    0

    主题

    64

    回帖

    212

    积分

    童生

    Rank: 2

    积分
    212
    12
    发表于 2015-11-11 09:53:56 | 只看该作者
    楼主好厉害
  • TA的每日心情
    慵懒
    2021-3-9 21:18
  • 签到天数: 30 天

    [LV.5]常住居民I

    11

    主题

    463

    回帖

    933

    积分

    举人

    Rank: 4

    积分
    933
    13
    发表于 2015-11-11 15:27:30 | 只看该作者
    有点复杂 谢谢分享
  • TA的每日心情
    开心
    昨天 15:33
  • 签到天数: 1123 天

    [LV.10]以坛为家III

    0

    主题

    1458

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    18331
    14
    发表于 2015-11-11 22:10:14 | 只看该作者
    楼主太厉害了,真心佩服,谢谢您的辛苦付出!

    该用户从未签到

    1

    主题

    312

    回帖

    1313

    积分

    禁止发言

    积分
    1313
    15
    发表于 2015-11-21 15:31:19 | 只看该作者
    看不懂 支持

    该用户从未签到

    1

    主题

    50

    回帖

    228

    积分

    童生

    Rank: 2

    积分
    228
    17
    发表于 2015-12-2 09:15:15 | 只看该作者

    think you very much
  • TA的每日心情
    开心
    2017-11-6 23:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    20

    回帖

    57

    积分

    童生

    Rank: 2

    积分
    57
    19
    发表于 2015-12-4 20:57:03 | 只看该作者
    非常感谢楼主~
  • TA的每日心情
    开心
    2017-11-6 23:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    20

    回帖

    57

    积分

    童生

    Rank: 2

    积分
    57
    20
    发表于 2015-12-4 21:06:08 | 只看该作者
    膜拜楼主 感谢辛苦整理
  • TA的每日心情
    开心
    2023-2-8 07:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    82

    回帖

    299

    积分

    童生

    Rank: 2

    积分
    299
    22
    发表于 2015-12-23 21:58:03 | 只看该作者
    谢谢楼主啦!

    该用户从未签到

    0

    主题

    27

    回帖

    61

    积分

    白身

    Rank: 1

    积分
    61
    25
    发表于 2015-12-29 18:23:18 | 只看该作者
    恭喜又一部大作面世。