# 用户词库管理 - （英语）词汇提取、分析、学习、应用

**URL:** <https://forum.freemdict.com/t/topic/3639>\
**Category:** 词典及语言学习交流\
**Created:** [2020 年10 月 14 日 03:20 UTC](https://forum.freemdict.com/t/topic/3639 "2020-10-14T03:20:34Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年10 月 14 日 03:20 UTC](https://forum.freemdict.com/t/topic/3639/1 "2020-10-14T03:20:34Z")

</div>

自 [关于词典新格式的讨论](https://forum.freemdict.com/t/topic/3199/124) 继续讨论：

## 用户词库管理的背景与需求

需要说明的是，本贴的出发点完全是为了日常的学习提升（查字典、看电影、网络阅读、  
kindle看书、工作等），并未考虑应试的情形（或许是相通的，但我没有仔细思考过）。

发现越来越有必要管理自己的词库，一方面可以帮助自己准确、快速地提升词汇量，另一  
方面也可以不浪费各种场景下的日常学习成果。已有的工具总是有各种问题，要么只有一  
部分功能，综合使用很麻烦，要么无法方便地与其他工具合作等等。若能将后文参考资料  
中提到的各种工具链融合到一起，并结合词典工具，想想都很美好。

基本需求如下：

1. 能够方便地建立用户词库：最好是常见的词库（如词典历史查询记录） + 自定义词库  
（如生词本、基础词汇、分级词汇等），并且可以在其中记录笔记、上下文、类别、  
tag等各种学习相关的字段。
2. 可以从外部提取/批量导入词库（ **详见以下的词汇提取** ），比如为了快速生成已  
熟悉词库，可以从常见的词频资料库或四六级词汇等导入，然后经过测试后筛查，将其  
中不熟悉的纳入生词本，或自定义的分级词库。
3. 提供词汇相关的分析（ **详见下文的词汇分析** ）和管理功能，比如：这些用户词库  
之间可以方便地互相转换，可以方便地通过网络同步用户词库（方便手机、家里、公司  
等多种设备的词库），可以主动的推荐要学习的词汇（比如将熟悉的词汇与高频词汇对  
比后，将常见但并未掌握的词汇主动输出）。
4. 可以导出不同格式的用户词库（最讨厌那种封闭的工具，毫不留情的抛弃），以便用于  
各种用途（ **详见下文参考资料** ），比如词汇复习、字幕处理、阅读分析等。

**========= 以下为参考资料 ============**

## 词汇提取

在使用过程中逐步构建接近自己真实的词汇量，提取的生词就越精准

### 首次过滤高频常用词汇

- British National Corpus lists - BNC from AntConc/
- British National Corpus lists - BNC from PDAWIKI/
- British National Corpus lists - BNC-20 v 3.2/
- British National Corpus lists - BNC15000 from Audience Dialogue/
- Brown Corpus list/
- COCA词频表-美国当代英语语料库/
- Collins 14700星级词频/
- google-10000-english-master/
- iWeb-基于14 Billion Word Web Corpus词频词典/
- JACET 8000 for Japan ESL/
- Lextutor Sublists of the Academic Word List/
- Lextutor GSL 1000 and 2000 lists/
- Longman Communication 3000 and 9000/
- Longman Defining Vocabulary/
- Macmillan 7500 Red Words & Stars List/
- Macmillan Defining Vocabulary 2500/
- Martinez’ BNC-5k Phrase Lists/
- NGSL-New General Service List/
- Oxford 3000 and 5000 Word lists/
- Paul Nation Vocabulary Lists based on BNC/
- Test Your Vocabulary/
- VOA Special English Word Book/
- Word Frequencies in Written and Spoken English Based on BNC/
- Word list-基于影视字幕库的口语词频/
- 高频短语词组（[Vocabulary.com](http://Vocabulary.com) + Collins + 雅思 + 牛津）/
- 其他词频/

### GoldenDict查询记录及收藏

GoldenDict/F4首选项/高级/保存历史/最大历史条数5000 - 保存周期1分钟

### iOS欧路词典生词本

欧路词典在iOS查询后，可用PC版导出生词本

### Kindle生词本

[Kindle Mate](http://kmate.me/newcn/) 是Kindle标注/笔记、Kindle生词本内容管理程  
序。Kindle Mate同步导入Kindle标注笔记与生词本、提供书籍作者分类、内容搜索与导出  
等管理功能，帮助提升Kindle深度阅读与语言学习用户体验。

### 字幕生词提取并翻译

[studyzy/LearnEnglishBySubtitle](https://github.com/studyzy/LearnEnglishBySubtitle)

深蓝英文字幕助手，是一款学习英语的辅助工具，可以通过记录用户的词汇量，然后对英  
文字幕中不认识的单词进行注释，做到摆脱中文字幕看懂美剧英剧。使用C# 写成，需  
[要.Net](http://xn--dw2a.Net) Framework 4.0的运行环境

“深蓝英文字幕助手”是一款看美剧（英剧）学英语的字幕辅助软件，通过只对英文字幕  
中生词的注释，实现摆脱对中文字幕的依赖，同时在潜移默化中学习英语的目的。本软件  
主要有以下特点：

- 采用斯坦福自然语言处理引擎，实现很好的词性判断和注释预判。
- 支持灵格斯提供的维科英汉词典，能够准确的提供英语单词的中文解释。
- 采用柯林斯词频分级方式，方便为用户初始化词汇量。
- 支持SRT，ASS等常用的字幕格式。
- 自动对中文字幕过滤，对于中英双语的字幕处理后只保留英文字幕。
- 支持用户词汇和生词的导入导出和调整。
- 支持百度翻译和有道翻译提供的整句翻译。
- 扩展：支持沪江开心词典，有道词典生词本等外部词典的生词本导入。
- 扩展：支持灵格斯提供的朗道英汉词典、现代英汉综合大辞典，英汉速查词典，维科词典等较权威的词典，能够准确的提供英语单词的中文解释。
- 最重要的是，本软件完全绿色、免费、开源

[Celthi/meltSubtitles](https://github.com/Celthi/meltSubtitles)

融化字幕（melt subtile）去掉字幕的熟词，给生词一个参考释义  
使用Python编写，支持Python 2和3

思路

1. 词库假定是你认识的单词
2. 将字幕里在词库中的单词去掉，
3. 通过查询有道网页得到生词的释义
4. 将释义加入到新的字幕文件中
5. done

### 给定文本生词提取

[洛克生词本](https://www.douban.com/group/topic/40323246/)  
语境学英语、辅助阅读英文原著、妙用Anki的利器  
目前最新版本1.7，仅支持Python 2.x  
程序下载地址： [百度网盘-链接不存在](https://pan.baidu.com/s/1jItXuVO)

- 为什么要使用洛克生词本？帮你更有效地背单词，更高效地阅读英文原著
- 洛克生词本可以做什么？自动扫描英文文本中难词、生词，查找释义，添加例句注意！  
这个例句是难词或生词出现在文本中的那个句子，也就是这个单词所在的“语境”
- 洛克生词本生成的是什么？是tab键分隔的txt文件，你需要把它导入到一个记忆辅助软  
件“Anki”中
- 我最终怎么学习? Anki记忆库是由许多卡片（Card）组成的，牌面是“生词”，牌背  
是“音标 - 例句 - 释义”，就像我们以前自己做的抽认卡一样！ Anki使用的是被证明  
行之有效的记忆算法，帮你更科学地复习

[Steven-AA/find-all-the-new-words](https://github.com/Steven-AA/find-all-the-new-words)  
FAIDK 建立自己的词库，找出文章中的生词（配合anki使用）  
依赖Python 3.6

[hao-lee/VocabularyAnalyzer](https://github.com/hao-lee/VocabularyAnalyzer)  
英语词汇分析器，可用于提取文本中的高阶词汇  
用 NLTK 的 lemmatizer 函数库进行词形还原

[sandae/epubFreq](https://github.com/sandae/epubFreq)  
为epub电子书添加词频标记和注释（词典释义）  
使用shell和python混合编程

## 词汇分析

### AntConc统计分析

[AntConc](http://www.laurenceanthony.net/software/antconc/)

A freeware corpus analysis toolkit for concordancing（索引）and text analysis，  
具体包括7个模块: Concordance Tool索引, Concordance Plot Tool索引定位, File View  
Tool文件查看, Clusters词丛/N-Grams部分词丛N元模式, Collocates搭配, Word List词  
表, Keyword List关键词表

### 材料难度分析

[爱英阅iyingyue](http://iyingyue.net/iyingyue/)

英文分析与提词软件，辅助阅读英文原著、英语资讯，为英语学习和英文原著爱好者设  
计，帮助读者提前梳理英文中的生词，获得更顺畅的阅读体验. 可以对原著进行难度分  
析：有多少不认识的单词，占比多少，词汇生僻度，单词总量等。

### 词形还原Lemmatization

[AntBNC Lemma List (ver. 003)](http://www.laurenceanthony.net/software/antconc/)

An English lemma list based on all words in the BNC corpus with a frequency  
greater than 2 (created by Laurence Anthony).

[michmech/lemmatization-lists](https://github.com/michmech/lemmatization-lists)

Machine-readable lists of lemma-token pairs in 23 languages.

These are large-coverage, machine-readable lemma/token pairs in several  
languages which I have collected (legally) from various sources, mostly as part  
of my work on the Global Glossary project. I use these for query expansion  
during fulltext searches: if a user searches for the lemma walk, the query is  
expanded to also search for the tokens walking, walked etc.

These are plain text files (zipped). Each line contains one lemma/token pair  
separated by a tab character in this sequence: lemma, tab, token. The files are  
encoded in UTF-8 with Windows-style line breaks.

### NLP语言分析

[Natural Language Toolkit](http://www.nltk.org/) NLTK is a leading platform for  
building Python programs to work with human language data. It provides easy-to-  
use interfaces to over 50 corpora and lexical resources such as WordNet, along  
with a suite of text processing libraries for classification, tokenization,  
stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-  
strength NLP libraries, and an active discussion forum.

[自然语言处理](https://zh.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86)

## 生词复习

### GoldenDict浏览学习

先将生词表导入GoldenDict历史，并逐个浏览  
若有必要则添加整理至GoldenDict收藏夹

```
* GoldenDict/历史/导入、导出
* GoldenDict/收藏/添加Ctrl+E、导入、导出

```

### Anki周期复习

Anki卡片制作Excel模板

[ninja33/ODH](https://github.com/ninja33/ODH)

在线词典助手 (含Anki制卡功能) A chrome extension to show online dictionary  
content.

用于浏览网页时查询在线词典，将查询内容显示在单词旁的小弹窗里，并支持Anki制卡功  
能(需在Anki上安装ankiconnect插件).

[1nsp1r3rnzt/chrome-anki-quick-adder](https://github.com/1nsp1r3rnzt/chrome-anki-quick-adder)

This chrome extension provides the ability to create Anki cards directly from  
Google Chrome on your Anki Desktop.

---

<div class="post-metadata">

作者： ![endnote](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/e/9de0a6/32.png) [@endnote](https://forum.freemdict.com/u/endnote)\
发布日期： [2020 年10 月 14 日 03:30 UTC](https://forum.freemdict.com/t/topic/3639/2 "2020-10-14T03:30:48Z")

</div>

> [@Vim](#):
>
> 提供词汇相关的分析（ **详见下文的词汇分析** ）和管理功能，比如：这些用户词库  
> 之间可以方便地互相转换，可以方便地通过网络同步用户词库

这个最难。gui界面+server，感觉前端+后端开发才行。  
前端如果要实现个人定制化的话，只能看有没有开源的代码可供使用。  
后端可用flask之类的

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年10 月 14 日 03:41 UTC](https://forum.freemdict.com/t/topic/3639/4 "2020-10-14T03:41:13Z")

</div>

关于网络同步，可否仅提供几种可能的机制，而非一步到位的server模式（类似anki，需要商业化的稳定支持）？比如“keepass”软件就可以通过ftp协议网络同步词库，或者借助网盘同步其中的词库，或者文本化的词库可以使用git等工具进行更精细的同步。这样，用户只要自己有网盘、FTP、NAS或git等，即可实现同步。

---

<div class="post-metadata">

作者： ![last\_idol](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/last_idol/32/2205_2.png) [@last\_idol](https://forum.freemdict.com/u/last_idol)\
发布日期： [2020 年10 月 14 日 03:47 UTC](https://forum.freemdict.com/t/topic/3639/5 "2020-10-14T03:47:06Z")

</div>

Goldendict 跨到移动端是最好的方案，如果能直接添加生词到 ANKI 就更完美了。很多词典的例句标注的非常好，可以直接挖空制卡，这些好资源用不上太可惜了。

多客户端同步要面临两个问题，一是增量更新，二是冲突解决。KEEPASS 的数据很小，全量更新就可以。第三方客户端不自建服务很难处理这两问题，除非云端提供相应的 SDK。

---

<div class="post-metadata">

作者： ![hkreporter](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/h/41988e/32.png) [@hkreporter](https://forum.freemdict.com/u/hkreporter)\
发布日期： [2020 年10 月 14 日 04:33 UTC](https://forum.freemdict.com/t/topic/3639/6 "2020-10-14T04:33:43Z")

</div>

帖子的换行好像出了问题？句子中间就换行了

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年10 月 14 日 04:39 UTC](https://forum.freemdict.com/t/topic/3639/7 "2020-10-14T04:39:32Z")

</div>

这是我在vim里编辑换行后，粘贴到这里的。与论坛的换行功能没关系。

---

<div class="post-metadata">

作者： ![endnote](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/e/9de0a6/32.png) [@endnote](https://forum.freemdict.com/u/endnote)\
发布日期： [2020 年10 月 14 日 10:33 UTC](https://forum.freemdict.com/t/topic/3639/11 "2020-10-14T10:33:30Z")

</div>

> [@Vim](#):
>
> 可否仅提供几种可能的机制

我才刚刚接触js，后面有入门大概了解PHP的计划（不会深入），所以我还不太懂这些。只知道flask是python写的，简小灵活，可定制性强。

> [@ubersoft](#):
>
> 理想中的例句库是什么样的

听说过一个叫 **Trados** 的翻译工具套件，好像还有配套的例句库/记忆库文件格式。

还有人做过超过三十万条双语句子的西班牙语例句数据库

> **[三十万条西班牙语例句数据库 分享 (翻译必备)](https://mp.weixin.qq.com/s/kDQVWtwoXXrH8GVHHWixWQ)**
>
> 三十万西班牙语+中文双语句子数据库, 5G 西班牙语学习资料分享

例句库做好后很容易制作成反查mdx，比如汉译句子先分词、然后拿汉语词典的和其他反查mdx的keyword去碰。所以，也可以借鉴目前现有的反查mdx，反推例句库需要保留哪些字段信息。建议尽可能多保留信息，然后使用时再取子集。

词典范围需要考虑的是翻译质量。优先包括两岸三地正规出版社组织翻译的英汉词典，如韦氏高阶牛津高阶朗文剑桥柯林斯等等，已有不错电子文本的。其次是国内编辑出版的评价不错的汉英英汉词典中的例句。先摸索框架和实现方法，范围可以一边讨论一边扩充。

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2020 年10 月 14 日 11:06 UTC](https://forum.freemdict.com/t/topic/3639/12 "2020-10-14T11:06:11Z")

</div>

> [@endnote](#):
>
> 入门大概了解PHP的计划

不要。

---

<div class="post-metadata">

作者： ![endnote](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/e/9de0a6/32.png) [@endnote](https://forum.freemdict.com/u/endnote)\
发布日期： [2020 年10 月 14 日 11:24 UTC](https://forum.freemdict.com/t/topic/3639/13 "2020-10-14T11:24:09Z")

</div>

> [@hua](#):
>
> 不要。

哈哈，明白hua大的好意。我还是想主用python的，所以以后如果深入学习后端的话会考虑flask或Django。

我现在的目的是，在短时间内对server-side 的运作机制有个大致总体的概念，也就是不管是用flask或Django或node或jsp或PHP，后端共性的那些入门知识。  
听过“PHP到中期以后，学习&上升曲线陡峭到你怀疑人生”这种说法，但不可否认的是它入门很容易，而且简单看一眼PHP我也大致知道最快速的后端搭建是个什么样子。所以只是浮光掠影扫一遍，不计划设及PHP面向对象的内容。如果有大把时间，我可能考虑学习成熟的Django

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2020 年10 月 14 日 11:41 UTC](https://forum.freemdict.com/t/topic/3639/15 "2020-10-14T11:41:53Z")

</div>

后端类型太多了，学到 fastapi 就够了。

当然你学更多的（flask diango）也可以，只是想说，不划算。你也不拿这门手艺赚钱。

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年10 月 14 日 11:52 UTC](https://forum.freemdict.com/t/topic/3639/17 "2020-10-14T11:52:43Z")

</div>

现在不依赖任何工具，也可以通过复制粘贴制作anki卡片等，使用现成的权威词典，人工选取想要的例句即可。只是不太方便，比如需要不断切换多个程序、另存音频或调整格式等，以及不适合批量制作。

不明白为什么要单独制作例句库？

---

<div class="post-metadata">

作者： ![last\_idol](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/last_idol/32/2205_2.png) [@last\_idol](https://forum.freemdict.com/u/last_idol)\
发布日期： [2020 年10 月 14 日 15:48 UTC](https://forum.freemdict.com/t/topic/3639/19 "2020-10-14T15:48:38Z")

</div>

> [@ubersoft](#):
>
> 理想中的例句库是什么样的

现在常用的六大高阶双解，都标注挺好的。例句单独提取的话，和外面的语料库没区别，价值降低了。理想中的例句要带上词性和解释，方便学习，但提取完怎么整合在一起很麻烦。

---

<div class="post-metadata">

作者： ![哈利路亚](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E5%93%88/838e76/32.png) [@哈利路亚](https://forum.freemdict.com/u/%E5%93%88%E5%88%A9%E8%B7%AF%E4%BA%9A)\
发布日期： [2023 年7 月 17 日 04:09 UTC](https://forum.freemdict.com/t/topic/3639/20 "2023-07-17T04:09:38Z")

</div>

🐎，值得研究一番
