家中有个树莓派一直在跑爬虫,最近淘宝买东西的时候顺手买了个 50 块的 3.5 寸屏幕插上去,然后发现屏幕无法关闭,于是便想拿它来做点什么,反正屏幕的耗电量才 0.5W 。
最近也一直在用薄荷阅读学英语,感觉背单词是学英语里最重要的一环。
于是思路就出来了:
有了思路之后,做起来还是比较容易的。花了两个晚上把可用的版本做了出来,repo 地址:
https://github.com/lxrmido/WordCards
树莓派运行效果:
界面截图:
然后就是再抽空把需要的其他东西做出来,以及优化了
1
dongpeng121 2018-08-19 11:05:08 +08:00 via iPhone
如果训练的文本够多,是不是可以把重复率超过一定值的单词滤掉,认为这些单词已经掌握了?
|
2
ww2000e 2018-08-19 11:08:06 +08:00 via Android
想知道你家爬虫都爬些啥
|
3
chroming 2018-08-19 11:12:23 +08:00 via Android
不错不错,我的吃灰派又可以掏出来玩两天了
|
4
lxrmido OP @dongpeng121
好像确实是这样,这就要在生成词库的步骤里引入训练的环节了 |
6
mathzhaoliang 2018-08-19 12:41:05 +08:00 6
学英语的话,这种背单词卡片的方式效率很低,(李阳的疯狂英语我认为也不适合大多数人)以前经常看到宣传上说某某人学英语刻苦,背红宝书背 webster 字典,这些其实不可取。
最好的学习英语的方式是结合情景。比如 "excited", "naive",“ he changed the world ”, etc. 张口就来有没有? 电影肖申克的救赎里面有许多值得学习的对白,比如在天台上干活时哈德利抱怨税务局要收他一大笔税,安迪走上去问哈德利“你信任你的妻子吗”,哈德利怒道 "what's your malfunction?" (你哪根筋不对?)这不就学到一个 GRE 词汇?(顺带骂人不吐脏字对面还听不懂) 再比如功夫熊猫里面也有很多精彩的对白如 "there's no secret ingredient","one always meets his destiny on the road he takes to avoid it",等等。 我觉得你可以屏幕上每次显示某个电影的某个场景,配上台词,每次看到以后模仿电影中的语言把它念出来,倍儿有感觉,而且绝对忘不了。 |
7
zzcchh 2018-08-19 12:46:38 +08:00 via Android
我记得 interest 还有利息的意思。
|
8
lxrmido OP |
9
ghhardy 2018-08-19 14:28:58 +08:00 via Android
@mathzhaoliang 那不就跟百词斩差不多了,这种情境式记忆很多项目都在做,不过确实有难度,我能想到的是利用电影字幕的时间标签进行截屏。不过与其用这种方法片段式地记单词和句子,还不如利用视频资源去充分地带前后语境去学习,哪怕十分钟,都会有不少收获。
|
10
ghhardy 2018-08-19 14:33:57 +08:00 via Android
@mathzhaoliang 当然,楼主这个小项目非常好,非常感谢楼主的分享🙏
|
11
kingcos 2018-08-19 16:33:28 +08:00 via iPhone
词库是他开源的?
|
12
daigouspy 2018-08-19 16:52:34 +08:00 via Android
用折腾的决心自己去学英语你早雅思 4 个 9 了。天天捣鼓系统调试程序哪有心机学习英语。
|
13
RqPS6rhmP3Nyn3Tm 2018-08-19 16:54:38 +08:00 via iPhone
@mathzhaoliang 还要背一遍葛底斯堡演讲?
|
15
wensonsmith 2018-08-20 17:01:50 +08:00
@mathzhaoliang 是的,看权利的游戏,瞬间就记住一个单词:Bastard
|
16
mrfox 2018-08-20 17:07:45 +08:00
非常感兴趣。感谢,很好的项目,一点建议供参考:
1. 有些还没搞明白,展示页面上有两个图标,一个是删除一个是星号;这个界面是不动的对吧,按删除可以看到下一个单词(删掉了?可以考虑熟词进入熟词表?),但是按星号似乎没反应,那就是收藏起来了,然后再按删除进入下一个展示?(星号应该是保留了继续背对吧) 2. 符合需要的提取单词:适合个体的最佳方式是自己有自己的词库,因为常见的词频表只能是大概,每个人认识与否的还是不同的,比如分别存入 known.txt ,new.txt 。希望增加一个生、熟词筛选的功能。已经有自己熟词表的可以直接覆盖(或导入),而没有的人可以从头开始积累。界面上增加下操作快捷键,比如按 1 是认识,按 2 是生词 3. 请问单词复数和动词形态的处理原则,是不是都不还原? |
17
lxrmido OP @mrfox
1、删除之后单词会被标记为 ignore,以后都不会再显示这个单词,星号点击之后应该是会变红的,其实这两个就是熟词表跟生词表,但目前没有针对这两者实现其他功能; 2、对的,准备结合 1L 的建议加入熟词筛选的功能,而快捷键,打算把所有可点击的都加入可配置的快捷键,毕竟每个人的操作设备也不同; 3、目前的单词处理方式比较粗暴,就是从词典里找完全匹配的,本来打算针对单词的形态提取词根,然后发现词典里有词根的单词数量占比很低,所以搁置了; |
18
mrfox 2018-08-20 18:54:14 +08:00
@lxrmido 正在测试,新发现了页面左右有前进后退按钮:),快捷键是个好消息,希望早日完成
点星号是会变红,不过点删除它是自动跳转下一个,为什么点星号不跳到下一个呢,毕竟已经处理完了,如果是特意为之,建议变成一个可选配置 刚刚的一个词 https://imgur.com/a/XJhSMFI 是不是句首词也没还原呢 另外,释义长的话字体会突然变得很小,希望保持统一 good job |
20
mrfox 2018-08-20 19:48:23 +08:00
提示小白如我的:终于明白了这个 ignore,不再显示出来,开始我试的时候点星号看不动就点了删除,结果这个词应该是既标为生词又不再显示了,这个……应该是点向右,个人觉得先点星再点删除应该是不允许才对
|
21
lxrmido OP @mrfox
谢谢你的测试,做的时候确实没想到这些逻辑 词语是从词典里取出来显示的,句子内容是从原文里截取出来的文本,都没有作任何处理 词典里边“ conservative ”确实是首字母大写的,数据如下: { id: 644534, word: 'Conservative', sw: 'conservative', phonetic: 'k?n\'s?:v?tiv', definition: 'n. a person who is reluctant to accept changes and new ideas\nn. a member of a Conservative Party\na. resistant to change\ns. having social or political views favoring conservatism', translation: 'a. 保守的, 守旧的, 有保存力的\n[化] 防腐剂; 保存剂', pos: 'j:62/n:38', collins: 4, oxford: 1, tag: 'gk cet4 cet6 ky toefl ielts gre', bnc: 1497, frq: 1837, exchange: 's:conservatives', detail: null, audio: '' } 我猜是因为这个词通常特指保守党 |
23
mrfox 2018-08-22 00:06:10 +08:00
关于快捷控制,最好是能适配个遥控器,像有些电视盒那样的非常简单的那种,结合树莓派,应该很方便。目前只是个想法,怎么实现还不知道
|
24
mrfox 2018-08-22 00:09:28 +08:00
或者是做一个只有两或三个键的键盘,不过似乎即使是两个键的键盘 DIY 也不容易和便宜?有没有有经验的指导下
|
27
killpigman 2018-08-22 17:59:32 +08:00
可以发声吗?单词的读音
|
29
mrfox 2018-08-23 03:42:38 +08:00
建议增加单词在例句高亮,可以考虑增加在线或离线发音
另:个别的试轴器带 PCB,不过也贵一些,PPT 翻页也是 淘宝上有单独的小蓝牙翻页器,不知树莓派是否能认得 |
30
missdeer 2018-08-23 09:19:14 +08:00
我想问你这屏幕和外壳的淘宝链接。。
|
31
lxrmido OP @killpigman
还没做 |
32
lxrmido OP |
34
qfdk 2018-08-23 14:48:10 +08:00 via iPhone
其实扇贝单词不错 做项目的时间可以节约下来 过来人告诉你 一天刷 700 单词 坚持一个月 考试就 OK
|
35
lxrmido OP @qfdk
我没有考试的需求,这几年用各种 APP 也背到一万多的词汇量了,现在主要是自娱自乐+闲置利用+定制适合自己的方式 |
36
joviwong 2018-08-25 19:44:40 +08:00
@wensonsmith 很厉害,我就只记住一个 my lord
|
37
mrfox 2018-08-27 02:01:59 +08:00
折腾了几天快捷键未果,结果今天发现 LZ 已经 3 天前就更新了,真棒!
|
39
mrfox 2018-08-27 19:24:47 +08:00
@lxrmido
非常赞,我在快捷键上浪费了不少时间也没搞好(不是程序员)。不过这次更新后,js 和 css 的文件在编辑器里都变成了长长的一行( VUE 的锅?),不像以前是按段排版好的,想改个解释的颜色,找到眼花也没找到在哪设置…… |
40
lxrmido OP @mrfox
你不说我都忘记前端代码没提交上去了…… 还没加入颜色定义的功能,真要改的话在 https://raw.githubusercontent.com/lxrmido/WordCards/master/resource/static/js/app.ced33e8d.js 里查找颜色的字符串,譬如 "#ffffff" 再修改会比较快 或者改源码, https://github.com/lxrmido/WordCards/blob/master/resource/frontend/src/components/CardContainer.vue 然后重新编译前端代码 |
41
mrfox 2018-08-27 22:19:34 +08:00
@lxrmido 感谢回复
改源码能力不足,已经在 app.ced33e8d.js 查找"#ffffff"(正好要改的解释的字体是白色的),其他 color 相关的也看了一遍,没找到 card-container 似乎是一体的,解释部分没明白怎么单独标记 |
42
mrfox 2018-08-28 03:03:48 +08:00
找了一晚上,发现 app.ced33e8d.js 里找不到,不过在源码里有,请问如何“重新编译前端代码”
|
44
mrfox 2018-08-28 16:22:07 +08:00
解决了一堆错误后,终于能 build 了
目前报这些错: 一、 Module Warning (from ./node_modules/eslint-loader/index.js): error: Parsing error: Unexpected token < at src\App.vue:1:1: > 1 | <template> | ^ 2 | <div id="app"> 3 | <card-container ref="conCard" @setting="openSetting"></card-contai ner> 4 | <setting-container 1 error found. 二、 \resource\frontend\src\lib\installer\api.js error Parsing error: The keyword 'export' is reserved 三、 resource\frontend\src\lib\installer\index.js 和 main.js error Parsing error: The keyword 'import' is reserved |
47
mrfox 2018-08-29 13:34:47 +08:00
@lxrmido 明白了
另外用 example 生成的单词表还没筛选完,昨天想做个实验看看处理第二个单词表是什么样的 另找了一个机器试了下两个短文,发现到第二个文章时,上一篇文章的生词还是会出来(不是在最后出来) 想知道如何设置才能达到先把生词都选出来最后统一再背的效果,谢谢 |
48
mrfox 2018-08-29 13:43:48 +08:00
似乎是对快捷键“前进”“后退”的理解有误,我再试试,再想想……前进不是向右么
|
49
mrfox 2018-08-29 15:13:10 +08:00
请问标记错的单词(忽略)如何回退再标成生词,目前的前进后退似乎是针对生词的
|
51
mrfox 2018-08-31 18:15:53 +08:00
@lxrmido 看到更新了忽略过往单词的功能,鼓掌
理解没错的话,即比如用例子生成了 6K 词,筛选了 3K ( 2K 认识,1K 不认识),此时再用一个新的 TXT 创建词表的话,在这个 6K 里的词都不会再出来,只把 6K 外的词加入待处理,对吧 |
52
mrfox 2018-08-31 18:33:18 +08:00
本层的话请非小白非偏执忽略:
这段折腾了好久在快捷键上,开始用 autokey 什么的一直不成功 后来作者更新了快捷键功能也获得了启发,应该从 javascript 着手 想实现一键把单词标记星号并跳至下一个词(其实两键已经够用,流汗) 终于搞成了分享下 1. http://openjs.com/scripts/events/keyboard_shortcuts/ 下载这个 js 可以定义快捷键 2. https://stackoverflow.com/questions/14226803/wait-5-seconds-before-executing-next-line 这个回答中 Kai Noack 的代码改一下加到上面的文件中,例: shortcut.add("right",function() { document.getElementsByClassName("btn star")[0].click(); delay(function(){ document.getElementsByClassName("btn next")[0].click(); }, 1000 ); }); 其实答案评论里说什么 jquery 我也没看懂,都是试出来 比如花了不少时间才试出来按动按钮需要加[0] 还是需要系统学习啊 |
54
sammo 2018-09-01 17:47:28 +08:00
单词展示器。词典片段展示器。和背不背单词无关
|
55
Chenyao 2018-09-01 22:47:50 +08:00
这个是发音的链接:
https://dict.youdao.com/dictvoice?audio=interested&type=2 这个是有道官网直接抓出来的。我造了另外另外一个背单词的轮子可以来玩: https://github.com/Chenyao2333/malleable |
56
mrfox 2018-09-06 02:33:17 +08:00
https://imgur.com/a/JC249qL
释义长的话字体会突然变得很小 |
57
mrfox 2018-09-06 02:52:59 +08:00
|
59
mrfox 2018-09-06 18:03:21 +08:00
@lxrmido 尝试建议一下
释义相对重要,例句参考的情况多些 简单的做法即不要求一页显示完,保持字体大小不变 一页显示全的话或者把给释义的区间再调大些 再或者释义超过 18 还昌 20 字换一行,超过 2 行的不显示全,加一个。。。符号让用户自己点开 |
60
mrfox 2018-09-06 18:31:11 +08:00
|
61
mrfox 2018-09-09 14:22:26 +08:00
|
63
mrfox 2018-09-10 03:37:04 +08:00
|
64
mrfox 2018-09-12 17:34:02 +08:00
|
65
mrfox 2018-09-17 05:01:47 +08:00
终于刷完了示例文章生成的 6K 词,明天试试对新文章的处理
|
67
mrfox 2018-09-24 19:28:03 +08:00
中秋快乐~
|
69
mrfox 2018-09-27 18:48:46 +08:00
建议增加一个词义缓出的选项,有时觉得认识实际上是因为已经看到词义了~
|
70
mrfox 2018-09-28 03:08:22 +08:00
今天遇到一个词 rails ,中文释义出来是铁路股票,我反复查了各种词典,没发现有股票的含义
回去看 stardict 里的数据,发现它的释义英文是对的,中文就不对了,晕,浪费了不少时间 由此想到,万一是根据这个背了想再改回来可是难了。。。准确还是第一位的 一点建议: 临时的解决办法:界面上在中文解释下也展示英文释义 长远的办法: 1. 这个 EDICT 收词量大,但释义方面如果有不准确的地方建议不采用了就,可以只抽取它的单词表 目前我没找到免费的非常大的单词表,搜索到一个 https://github.com/dwyl/english-words 只有 47 万还不如它大 真正大的都是语料库里的,但是没免费的,实际上只需要单词列表,其他字段可以不要,但是没有放出这样的 这个单词表只用来抽取文章中的单词 2. 释义方面建议采取 https://github.com/ninja33/mdx-server 这样的话就可以自由选用 mdx 词典,甚至可以多词典同时查,这样出来是准确的,毕竟是词典 如果遇到查不到的词就单独处理,像目前生成词表时也会有个别词查不到就报查不到就是了(多半是有问题的词) 谢谢! |
71
mrfox 2018-09-29 18:56:00 +08:00
|
72
lxrmido OP |