Feeds:
文章
评论

Archive for 2021年6月

这几天,工作中需要整理大量文档,而且,需要将文档中特定部分摘录汇总。可是这些文档均为扫描而成的pdf文件,如果将其中需要的特定部分进行摘录,需要重新打字转录,那真是费时费力。可工作还要进行,这可如何是好?难道只能硬着头皮一个一个打字?那真是不符合我们“懒人”的做派。

突然想到Julia中可以使用Tesseract包实现OCR功能,于是就试试这个方案。

将文档中需要摘录的部分截屏存为图片,准备使用Julia来进行OCR。这里需要Images包和Tesseract包(using Images和using Tesseract)。

因为是英文文档,所以使用 download_languages(“eng”) 来初始化Tesseract进行OCR的语言。此前曾出现过无法正常下载语言文件,导致Tesseract不能正常运行的情况。如果遇到这个问题,可以直接下载语言文件,并放置入Tesseract相应文件夹中即可。

操作其实比较简单,先是TessInst(“eng”)初始化一个基于英语的实例,再使用 pix_read() 读取打开的图片文件。然后用 tess_image() 将读取的图片文件信息导入实例,最后将实例作为参数,使用 tess_text() ,即可获得OCR的文字了。

可是,不知什么原因,无论是用VS Code还是Jupyter Lab,执行 tess_text() 时总是报错或假死机。根据VS Code提供的错误代码,到其主页查看,似乎是兼容性的什么问题。

后来,不使用IDE环境,直接启动Julia,将代码copy至Julia REPL中,可以正常运行并得到结果了。

在代码后段,使用文件操作函数——open(),write()和close(),将OCR结果保存至文件中以备后续使用。而且,为了方便及提高效率,使用Gtk包,反复打开需要OCR的图片文件,将多个结果保存在一个文件中;并在保存每个图片的OCR结果时,将图片文件名添加进去,进行对应,方便此后查询。

这样,不多时,一批文档的特定内容就全部读取完毕,只需核对OCR结果与原文档内容是否匹配,并汇总即可。

Read Full Post »

对于有娃的家长来说,鸡娃or不鸡,that is the question…… 尤其当下,恐怕更多的不是“鸡”或“不鸡”,而是怎么“鸡”的问题了。

我们对番茄的态度,不是随意放任自流,但也不希望做拼命三郎,算是尽量找个平衡吧。

说起《千字文》,源于最初考虑用什么方式教番茄认字,试过文字卡片、看图识字等,但我个人觉得必须要有个“目标”,而且还要坚持。卡片类的东西,很容易淹没在番茄的各种玩物和书中,后来突然想到了《千字文》。

老祖宗的许多遗产,真是不错。《千字文》,是由一千个汉字组成的韵文,四字一句,行文工整,条理清晰。而且原文本是一千个不同的汉字,虽然现在使用的是简体字,有些重复,但绝大多数仍是不同的字。于是想尝试以此为目标,带番茄一起读并试试教她认字。

可能许多人觉得《千字文》太难,不适合小朋友学字;也有人觉得字数太多,开始没有必要把目标定的这么高;还有人认为,小朋友学习要培养兴趣为主,不能是辛苦学习,这样效果不好。

我个人觉得,现在小朋友学习的许多方向,被带歪了。

首先说学习的辛苦。诚然,兴趣作为学习敲门砖,的确对引领小朋友学习有很重要的作用。但学习,尤其是比较深入的学习,永远都不是轻而易举之事,即使有强烈的兴趣,也是要付诸辛苦的努力——这个是我一直以来的观点——绝不能指望依靠兴趣,可以轻松学习,这是自欺欺人,也是绝不可能实现的。现在的小朋友接受事物的广度、深度,远超当年同龄时的我们,所以,在合适的时候,应该让小朋友正视学习的辛苦,而不是逃避,不能用兴趣、轻松、或“利诱”这些概念方式来贯穿小朋友的学习过程(虽然许多时候,适当的“利诱”在所难免)。应当让小朋友知道,学习是必要的而且是辛苦且要付出努力的。

许多人说,如果让小朋友知道学习辛苦,需要努力,小朋友就不愿意学了。这话有一定道理,惰性是人的天性之一,谁都希望舒舒服服躺在“舒适区”。但真躺平在舒适区,就意味着没有前进,真正的前进是不可能轻松的。说到小朋友是不是不愿意付出辛苦去学习,我觉得从天性来说,的确很难心甘情愿自己“受苦”,但家长的一个重要任务,就是陪同孩子走过这段路程,让孩子能够接受学习的辛苦。可能方法有很多,我觉得最重要的是能以身作则,要“陪同”小朋友一起“辛苦”学习,而不是把学习变成小朋友自己的任务,而家长只做抽打小朋友前进的“鞭子”。

除了“快乐”学习这个“歪理邪说”之外,还有一种观点,我觉得也跑偏了。就是过分强调不能死记硬背。其实,小朋友的机械记忆力超过理解记忆力,而且记忆力是需要锻炼和培养的,如果一直不用,那么必然会有所谓“什么也记不住”的现象。所以,记忆,在学习的过程中是必不可少的。哪怕是数学这样的科目,熟练应用的基础也是能够理解并牢记各类公式及概念。所以,“识(zhì)记”很久以来就是作为学习的一个重要步骤,甚至可以说学习是由识记开始的。

我个人认为,一个人学习的能力或知识的范围,就像是一个蓄水池。在年纪小的时候,由于理解能力等方面的限制,可能无法深挖,但广度却是可以扩充的。如果广度很大,随年龄增长再挖深度,那么学习能力和知识范围将会相当可观。如果小时候没有扩充广度,到需要挖掘深度的时候,如果想同时再扩充广度,那么所需要的努力,将会更多。

而且,我们认为困难的事情,也许小朋友并不认为那么困难。比如说我,小时候无聊,自己去背圆周率,最多时能记下来三百多位,现在也能记住一百四、五十位。如果现在才开始让我去背圆周率,肯定觉得很困难,但小时候无聊,随便记记,也就把它给记住了,并且多年不忘。

大家都认为现在的小朋友比我们小时候有见识,那就别小看他们,相信他们的能力。好比说我们以前一直认为小朋友三岁前不记事儿,发生了什么,自己完全没有记忆。可是番茄二十个月到巴黎,三岁不到去巴塞罗那,这两次经历,她虽然不能记住全部细节,但自己头脑中还是有很多“存货”的,偶尔自己还会说起。

所以,我们应当重新审视小朋友们的能力,不要用我们自己的局限来给小朋友们设限。当然,我不是说要揠苗助长,只是说,不要过于“轻视”小朋友而忽视了他们的真正实力。

另外,再说两个我觉得正确的但许多人不认同的“歪理邪说”:

正确的“歪理邪说之一”——人的记忆肯定是受限的,但大多数时候,是按比例丢失的。就是说你能记住的(指短期记忆),是你试图记住内容的百分之七十左右。那么你如果尝试记住十个单词,可能最后就只记住了七个,但如果你试图记住一百个单词,最后可能就记住了七十个。这里不做准确定量分析,只说大概。基于这个理论,需要背的东西,尽量多背,而不是画重点。比如我们中学时期的历史、地理、包括生物等大量需要背下来应付考试的内容,如果只背老师画的重点部分,最后记住的就是重点部分的百分之七十左右,如果尝试把所有知识点都背下来呢,那记住的就是全部知识点的百分之七十左右。以全部知识点的百分之七十去应对以老师重点部分为主的考试内容,绝大多数情况下,是绰绰有余。更何况,多背两次,记住的就不止百分之七十了。

正确的“歪理邪说之二”——理科,尤其数学,可以“降维打击”。许多人都强调,小朋友的数学题难,不仅本身难,往往还难在不能使用超纲的知识。是的,解题不能用超纲的知识,但没说你思考不能用超纲的知识啊。如果使用微积分,是不是许多极限方面的问题都迎刃而解?如果设立方程,是不是许多算术应用题都可以迎刃而解?这个难点在于,高维的知识是否能够理解或掌握,如果真的理解或掌握了,“降维打击”低维度的问题,是非常容易的。而且,当思路清楚后,也可以很容易转化为用同维度的知识来解决。使用高维知识,经常可以迅速地找到思路,解决问题。所以,不要再拘泥于所谓不能使用超纲的知识,知识是拿来灵活运用的,而不是自我设限的。

回到《千字文》,经过这么长时间,磕磕绊绊,小番茄总算是把《千字文》一课一课坚持全部读下来了,虽然不知究竟真正认识其中多少字,但总应该聊胜于无吧。

而且,通过这个过程,也让她知道了几件事情:
一、学习是辛苦且需要付诸努力的;
二、虽然有些事情不愿意或不容易,但还是必须要去完成的;
三、学习获得的成果或成绩,还是很有自豪感和成就感的。

当然,在小番茄读《千字文》的过程中,我们也没有完全照搬我们小时候的方法。比如没有特别强力的逼迫;在开始的阶段,还是引导并激发她自己的兴趣,尤其是她的“虚荣心”,让她觉得自己认识很多字,那是很“赞”、很“牛”的一件事情。所以她开始还是愿意跟着读,但后来,越来越艰难,她也会“耍赖皮”,想逃避。如上文提及,对于这个问题,我们此时没有去回避或糊弄她,而是坦率告诉番茄,学习的确有些累,但这并不难,她只要坚持,完全可以克服;同时,也告诉她,有许多事情,是必须要去完成的,不能随意任性;还有很重要的是,随着她读的进程,不断鼓励她,强调她的进步,尽量激发她的自豪感(我觉得这是我们小时候,父母师长对我们的教育过程中,相对来说比较欠缺的)。番茄慢慢也接受这个事实,虽然觉得累,但还是慢慢坚持下来了。

娃学习的过程,其实对父母来说,也是一个学习的过程。希望我们都能陪伴自己的孩子,走向美好的明天。

Read Full Post »