ECDICT: 一个强大的英汉双解词典数据库

RayRay
ECDICT英汉词典数据库词条标注编程接口Github开源项目

ECDICT

ECDICT简介

ECDICT是一个由skywind3000开发的开源英汉双解词典数据库项目。它的全称是"Free English to Chinese Dictionary Database"(免费英汉词典数据库)。这个项目的目标是构建一个全面、准确、功能丰富的英汉词典数据库,为英语学习者和自然语言处理研究提供有力支持。

ECDICT的数据来源广泛,包括各类考试大纲和语料库。它收录了数十万条英文单词的英文和中文释义,并根据各类考试大纲和词频进行了标注。除了基本的单词释义外,ECDICT还包含了大量额外的信息,如音标、词频、词形变化等,这使它成为一个功能非常强大的词典数据库。

ECDICT的主要特点

  1. 收录词量大:包含数十万条英文单词及其释义。

  2. 双语释义:同时提供英文和中文释义。

  3. 详细信息:包含音标、词频、词形变化等多种信息。

  4. 标注丰富:根据考试大纲和词频进行标注。

  5. 开源免费:以开源方式发布,可自由使用。

  6. 多种格式:支持CSV、SQLite、MySQL等多种数据格式。

  7. 词形分析:提供词形变化分析功能。

  8. 模糊匹配:支持单词的模糊匹配查询。

ECDICT的发展历程

ECDICT项目的起源可以追溯到作者开发看书软件时需要一个内嵌字典的需求。最初,作者使用了一份包含约2万个英文单词释义的文本文件(EDictAZ.txt)。随着使用的深入,作者发现这个词库不够全面,于是又找到了一份包含四六级到GRE词汇的词库。

为了进一步完善词典,作者编写了爬虫程序,从各种资料中爬取音标信息,并自行补充了一些内容,最终形成了一个包含3万基本词汇的数据库。在随后的几年里,通过各种资料的整合和网友的贡献,词库的规模增长到了10万左右。

后来,作者又找到了Linux系统下的cdict-1.0-1.rpm这个开源字典数据(值得一提的是,著名的mdict词典的主词库也是由cdict转换而来)。作者将这些数据与英国国家语料库(BNC)的前16万单词进行了校对,补全了很多在语料库中词频较高但之前未收录的词条。

通过这一系列的努力,ECDICT逐步发展成为了一个内容丰富、功能强大的英汉词典数据库。

ECDICT的数据结构

ECDICT的数据结构设计得非常全面,每个词条包含了大量有用的信息。以下是ECDICT中每个词条的主要字段及其含义:

  1. word: 单词名称
  2. phonetic: 音标(以英语英标为主)
  3. definition: 单词的英文释义
  4. translation: 单词的中文释义
  5. pos: 词语位置(词性),用"/"分割不同位置
  6. collins: 柯林斯星级
  7. oxford: 是否是牛津3000核心词汇
  8. tag: 字符串标签(如zk/中考,gk/高考,cet4/四级等)
  9. bnc: 英国国家语料库词频顺序
  10. frq: 当代语料库词频顺序
  11. exchange: 时态复数等变换信息
  12. detail: JSON格式的扩展信息(如例句等)
  13. audio: 读音音频URL(待添加)

这种详细的数据结构使ECDICT不仅可以用作普通的查词工具,还能支持更高级的应用,如词频分析、词形变化研究等。

ECDICT的特色功能

1. 单词标注

ECDICT为数据库中的每个单词都进行了详细的标注,包括:

  • 是否属于各类考试大纲词汇
  • 在BNC(英国国家语料库)和其他语料库中的词频顺序

这种标注方式的优势在于,它能够同时提供传统和现代的词频信息。例如,"quay"(码头)这个词在当代语料库中排名很靠后,可能被认为是一个不太重要的生僻词。但在BNC中,它的排名是第8906位,属于高频词。这是因为在过去,航海是重要的交通方式,这个词在历史文献中出现频率较高。

相反,"Taliban"(塔利班)在BNC中几乎没有收录,但在当代语料库中排名第6089位,是高频词中的高频词。这反映了当代热点话题对词频的影响。

通过这种双重标注,用户可以根据自己的需求(如阅读历史文献或现代报刊)来选择合适的词汇学习重点。

2. 词形变化

ECDICT的另一个特色是详细记录了单词的各种词形变化。这包括:

  • 动词的现在分词、过去式、过去分词、第三人称单数现在时等
  • 形容词的比较级和最高级
  • 名词的复数形式

这些信息存储在"exchange"字段中,使用特定的格式编码。例如,对于"perceive"这个词:

d:perceived/p:perceived/3:perceives/i:perceiving

这表示"perceive"的过去分词(d)和过去式(p)都是"perceived",第三人称单数(3)是"perceives",现在分词(i)是"perceiving"。

这种详细的词形变化信息使ECDICT能够支持更高级的语言处理任务,如词形还原(lemmatization)等。

3. 词干查询

ECDICT提供了一个名为"lemma.en.txt"的词干数据库,这是通过扫描BNC语料库全部1亿个词条语料生成的。这个功能允许用户将一个单词的各种变体转换为其原形(lemma)。

例如,使用LemmaDB类可以方便地查询['gave', 'taken', 'looked', 'teeth']的lemma是['give', 'take', 'look', 'tooth']。这个功能在进行文本分析、词频统计等任务时非常有用。

4. 单词词性

ECDICT的"pos"字段记录了单词在句子中的位置(词性)信息。这是通过扫描语料库生成的,不仅包含词性信息,还包含了各个词性在语料库中出现的频率。

例如,对于"fuse"这个词:

pos = n:46/v:54

这表示"fuse"这个词有两个词性:名词(n)占46%,动词(v)占54%。这种信息对于理解单词在实际使用中的常见用法非常有帮助。

5. 模糊匹配

ECDICT引入了一个名为"sw"(strip-word)的隐藏字段,用于支持模糊匹配功能。这个字段是通过去除单词中非字母和数字的部分,并将字母转为小写得到的。

例如,当搜索"long-time"这个单词时,严格匹配只能找到以"long-time"开头的词,如"long-time, long-time base, long-time period"等。但使用模糊匹配,可以找到所有"sw"以"longtime"开头的词,如"long-time, longtime, long time, long-time base, longtime base"等。

这个功能非常有用,因为随着时间推移,很多词的书写形式可能会发生变化(如从词组变为带连字符的组合词,再到一个完整的单词)。模糊匹配可以帮助用户找到同一个词的不同书写形式。

ECDICT的应用

ECDICT的丰富功能和全面的数据使它在多个领域都有广泛的应用:

1. 词典软件开发

ECDICT的数据可以直接用于开发各种词典软件。作者已经使用ECDICT的数据生成了《简明英汉字典增强版》的词典词库,可以在GoldenDict, 欧陆, MDict, StarDict, BlueDict, EDWin等多个平台上使用,甚至还有Kindle格式。这为用户提供了一个全面的离线词典解决方案。

2. 语言学习工具

ECDICT的详细词频信息和考试大纲标注使它成为制作各种语言学习工具的理想数据源。例如,可以根据不同的考试(如四六级、托福、雅思等)筛选出相应的词汇列表,或者根据词频制作分级词汇表。

3. 自然语言处理

ECDICT的词形变化和词干信息对于开发各种自然语言处理工具非常有用。例如,可以用于开发词形还原(lemmatization)工具,或者用于改进文本分析和信息检索系统的性能。

4. 编程接口

ECDICT提供了完整的编程接口,支持CSV、SQLite和MySQL三种数据格式。这使得开发者可以方便地将ECDICT集成到各种应用程序中。例如,已经有开发者基于ECDICT开发了Vim和Neovim的翻译插件。

ECDICT的未来发展

尽管ECDICT已经是一个功能强大的词典数据库,但它仍在不断发展和完善。作者在项目的TODO列表中列出了一些未来的发展计划,包括:

  1. 继续校对和补充各类专业词汇,如动物名词、植物名词、地理名词等。
  2. 补充完成非核心词汇的英文释义。
  3. 补充各个单词的位置信息。
  4. 补充动词的时态语态变种信息。
  5. 继续修订核心两万词汇的释义准确性。
  6. 添加更多的例句信息。

这些计划显示出ECDICT项目的雄心勃勃,致力于成为一个更加全面、准确和实用的词典数据库。

结语

ECDICT是一个令人印象深刻的开源项目,它不仅提供了一个全面的英汉词典数据库,还包含了大量额外的语言学信息。它的开放性和丰富的功能使它成为了语言学习者、教育工作者、自然语言处理研究者和软件开发者的宝贵资源。

随着项目的不断发展和完善,ECDICT有望成为英语学习和研究领域的一个重要工具。无论你是在学习英语,开发语言相关的应用,还是进行语言学研究,ECDICT都可能成为你的得力助手。

作为一个开源项目,ECDICT也欢迎社区的贡献。如果你对这个项目感兴趣,可以考虑为它贡献代码、提供数据或者报告问题。通过共同努力,我们可以让ECDICT变得更好,为更多的人提供帮助。

编辑推荐精选

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

TRELLIS

TRELLIS

用于可扩展和多功能 3D 生成的结构化 3D 潜在表示

TRELLIS 是一个专注于 3D 生成的项目,它利用结构化 3D 潜在表示技术,实现了可扩展且多功能的 3D 生成。项目提供了多种 3D 生成的方法和工具,包括文本到 3D、图像到 3D 等,并且支持多种输出格式,如 3D 高斯、辐射场和网格等。通过 TRELLIS,用户可以根据文本描述或图像输入快速生成高质量的 3D 资产,适用于游戏开发、动画制作、虚拟现实等多个领域。

ai-agents-for-beginners

ai-agents-for-beginners

10 节课教你开启构建 AI 代理所需的一切知识

AI Agents for Beginners 是一个专为初学者打造的课程项目,提供 10 节课程,涵盖构建 AI 代理的必备知识,支持多种语言,包含规划设计、工具使用、多代理等丰富内容,助您快速入门 AI 代理领域。

AEE

AEE

AI Excel全自动制表工具

AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。

UI-TARS-desktop

UI-TARS-desktop

基于 UI-TARS 视觉语言模型的桌面应用,可通过自然语言控制计算机进行多模态操作。

UI-TARS-desktop 是一款功能强大的桌面应用,基于 UI-TARS(视觉语言模型)构建。它具备自然语言控制、截图与视觉识别、精确的鼠标键盘控制等功能,支持跨平台使用(Windows/MacOS),能提供实时反馈和状态显示,且数据完全本地处理,保障隐私安全。该应用集成了多种大语言模型和搜索方式,还可进行文件系统操作。适用于需要智能交互和自动化任务的场景,如信息检索、文件管理等。其提供了详细的文档,包括快速启动、部署、贡献指南和 SDK 使用说明等,方便开发者使用和扩展。

Wan2.1

Wan2.1

开源且先进的大规模视频生成模型项目

Wan2.1 是一个开源且先进的大规模视频生成模型项目,支持文本到图像、文本到视频、图像到视频等多种生成任务。它具备丰富的配置选项,可调整分辨率、扩散步数等参数,还能对提示词进行增强。使用了多种先进技术和工具,在视频和图像生成领域具有广泛应用前景,适合研究人员和开发者使用。

爱图表

爱图表

全流程 AI 驱动的数据可视化工具,助力用户轻松创作高颜值图表

爱图表(aitubiao.com)就是AI图表,是由镝数科技推出的一款创新型智能数据可视化平台,专注于为用户提供便捷的图表生成、数据分析和报告撰写服务。爱图表是中国首个在图表场景接入DeepSeek的产品。通过接入前沿的DeepSeek系列AI模型,爱图表结合强大的数据处理能力与智能化功能,致力于帮助职场人士高效处理和表达数据,提升工作效率和报告质量。

Qwen2.5-VL

Qwen2.5-VL

一款强大的视觉语言模型,支持图像和视频输入

Qwen2.5-VL 是一款强大的视觉语言模型,支持图像和视频输入,可用于多种场景,如商品特点总结、图像文字识别等。项目提供了 OpenAI API 服务、Web UI 示例等部署方式,还包含了视觉处理工具,有助于开发者快速集成和使用,提升工作效率。

下拉加载更多