delete_______

期待大神的作品早日问世。

我提供一个idea,实时编辑功能很有必要,但是如果一个词典人人都能随便编辑的话,那么在交流的过程中拿到一分不完整的词典感觉总是不舒服,可以这样做:
假设我有一个mdx词典,我编辑help词条后会产生一个附加的mdxx副词典,副词典是我编辑后产生的私人文件,原词典内容保持不变,查词软件优先读取mdxx里的词条,这样就能兼顾不破坏原词典的同时实现每个人的自定义需求,mdxx文件也能分享给别人使用.

让大众都去学习使用git不太现实,而且大部分词典是版权数据,估计不太可行。

我提议:源文件《==》词典,应该能够百分百无损地双向转换,类似于zip一样的无损压缩,而非像jpg一样的有损压缩(目前的mdx就是这样,至少排序信息都丢失了,无法还原),这样二次修订应该是非常容易地。目前基本都是单向的从源文件==》词典,要想从词典==》源文件,要么不可能,要么要花费无数的人工精力,最后越改越糟糕(类似于jpg修图,也许美化了脸蛋的某些细节,但图片的整体质量是越改越糟糕)。

而相应的词典程序所需要的索引,建议借鉴GoldenDict的处理方式,独立建立一个索引转换,而不是依赖于词典格式本身(非专业,可能词不达意,大家听歌词大意吧)。

至于词典本身的版本管理,可以是松散的论坛发布交流,也可以是更严谨的git版本管理多人协作,提供最大化的灵活性和便利性。

1 个赞

自建 git 很简单啦,我也有机器。但正如你说的:

老实说,我也这么想过,但是 mdx 没有这方面的说明,词典软件也不支持。

1 个赞

这个是 mdxbuilder 的问题,打包完乱序,解包工具解包时就乱了。整体重排是正常,不正常的是同名词头乱序,如果文本里词头顺序类似 down n.1,down n.2,down n.3的情况,打包的时候应该保持住这个顺序。

git 不看好,文本patch的形式不知道合不合适,举例原始mdx文本:

down
<span>Get down off the taable.</span>
</>
float
<span>I wasn’t sure if the raft would float.</span>
</>

上面的 taable 需要修成 table,另外所有 span 外加div 标签。patch文本的组织形式和 mdx 文本保持一致,用</>分开需要修的词头,第一行词头, 第二行是需要修的文本,第三行是替换文本, patch文本的格式:

down
the taable
the table
</>
*
(<span>(([\s\S])*?)<\/span>)
<div>$1</div>
</>

上面的星号(*)在第一行,表示所有词头里替换,第二,三行用正则替换,完成span 外套 div。整个 patch 文本,按顺序执行。这些都可以手工修,问题是很繁琐,文本 patch的形式,会更清楚些,也方便分享,替换结果:

down
<div><span>Get down off the table.</span></div>
</>
float
<div><span>I wasn’t sure if the raft would float.</span></div>
</>

衍生处理,还可以替换词头,拆分词头之类的。

正则不行,很多情况处理不了的

1 个赞

1.用了这么久的词典,我发现词典有三种类型,一种是真正用来查的大部头,一种是只适合阅读的特种词典,还有最后一种是适合用来建单词记忆卡片的词典,新词典格式应该通过后缀名来鉴别这三种格式

2.单词文件应该允许拥有多个名字,在不同的系统语言环境下显示不同的名字,比如在中文环境下的查词程序中应该显示中文名

3.新的查词程序不仅要显示当前单词的词典名,还要显示词条数

4.新词典要统一指定一些关键词,用来作特殊的作用,例如用"about:"获取描述,用"o:word"获取原mdx词典的词条页面,用"x:word"获取副词典的词条页面,用"set:word"进入词条编辑模式,用"delx:word"删除副词典词条,用"delo:word"删除源词典词条,用"version:"获取版本信息,用"set:词典名"修改词典默认设置…

2 个赞

5.新词典可以考虑这样:
甲创建一个词典包,词典里会自动生成一串基因描述"甲",乙修改后这串基因描述会自动变成"甲:乙",小明获取词典文件后修改词条又变成"甲:乙:小明",当我获得这份词典数据时我就能通过读取这串基因链得知这个词典经过了多少次迭代,被哪些人修改过,我也能通过"git 词典名 -基因链"获取某个迭代版本

1 个赞

即便不通过后缀来区分也应该通过词典文件里的某个关键词描述来区分,查词程序可根据词典内的关键词对词典做不同的处理(加入词典集/加入记忆卡片集/加入阅读集)

1 个赞

之前有个需求,不知道是否属于这个讨论的范围:

虽然本地词典已经有不少,但是在Vim文本编辑器里边却只能使用在线的查词服务。
(在Linux下可以使用命令行的sdcv、goldendict进行查词,但在windows下无法做到)

新格式词典应该考虑满足其他工具如Vim、Anki等多场景的查词需求,甚至提供某种网络服务,在家架一个服务器,任何地方都可以方便的访问,而不仅仅是传统意义上的本地词典软件。或许某一天由于某个应用的爆发会带动该新格式词典的发展。

有点类似于:以前都是播放本地的音乐,现在却大都是在线音乐。

1 个赞

一份词典应该支持多份描述字段,每一个修改者都只能新增自己的描述字段到前一位修改者的描述字段之后

1 个赞

我开始理解为什么词典软件都爱出自己的新格式了。词典软件重建索引不管是内存占用还是重建时间成本都太高了,体验很不好,特别是手机上,最好自带索引。

1 个赞

最近在看JavaScript基础知识。从语言特性上来说,确实不那么严谨,即便有很多undefined 也往往能正常显示网页,但这正是其在web应用上大行其道的原因。如果过分追求严谨,动不动就报错甚至崩溃,那普通用户早就跑光了。

把错误信息放在console.log 中,网页parsing, 渲染时则最大限度容错,很好的web设计理念。

1 个赞

用户词库的管理 - (英语)词汇提取、分析、学习、应用

需要说明的是,本贴的出发点完全是为了日常的学习提升(查字典、看电影、网络阅读、
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 + Collins + 雅思 + 牛津)/
  • 其他词频/

GoldenDict查询记录及收藏

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

iOS欧路词典生词本

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

Kindle生词本

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

字幕生词提取并翻译

studyzy/LearnEnglishBySubtitle

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

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

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

Celthi/meltSubtitles

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

思路

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

给定文本生词提取

洛克生词本
语境学英语、辅助阅读英文原著、妙用Anki的利器
目前最新版本1.7,仅支持Python 2.x
程序下载地址: 洛克生词本 1.7.zip_免费高速下载|百度网盘-分享无限制

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

Steven-AA/find-all-the-new-words
FAIDK 建立自己的词库,找出文章中的生词(配合anki使用)
依赖Python 3.6

hao-lee/VocabularyAnalyzer
英语词汇分析器,可用于提取文本中的高阶词汇
用 NLTK 的 lemmatizer 函数库进行词形还原

sandae/epubFreq
为epub电子书添加词频标记和注释(词典释义)
使用shell和python混合编程

词汇分析

AntConc统计分析

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

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

词形还原Lemmatization

AntBNC Lemma List (ver. 003)

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

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 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.

自然语言处理

生词复习

GoldenDict浏览学习

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

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

Anki周期复习

Anki卡片制作Excel模板

ninja33/ODH

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

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

1nsp1r3rnzt/chrome-anki-quick-adder

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

6 个赞

这个我当然是支持的。。。学习成本还是太高

json 渲染为 html的工具呢? 感觉这种更需要 :flushed:

好的,等去学习一下