友情提示:本文共有 1564 个字,阅读大概需要 4 分钟。
我用Python做了一个韩语学习小工具,便捷地实现了屏幕取词,查询Naver词典功能。
一、想法来源
在电脑上看外语资料的时候,一个好用的词典软件是必不可少的。看英语的时候,金山词霸、有道词典等的划词、屏幕取词功能非常方便好用,但它们对韩语的支持并不是很好。韩语词典还是Naver的比较好用,可惜它只有网页版和手机版,就没有划词、屏幕取词这样的功能,导致查词的时候步骤比较繁琐。可以复制的内容还好,要是遇到一些不能复制的pdf或者影印版的资料,只能自己对着敲字查。长一点的复杂一点的陌生词还容易拼错,经常要来回切换看几遍。我嫌在电脑上不停地切换窗口打字麻烦,就经常同时拿着手机来查词,但又很容易就被手机上别的内容吸引走了
所以我想着能不能用自己学到的一点点编程知识,在电脑上实现屏幕取词查询Naver词典的功能,帮助自己更有效率地学习。
我根据自己的使用习惯,设想了如下的交互模式:在阅读文章的时候,可以随时用键盘快捷键唤起取词功能,自己框选取词范围,这样比鼠标悬停取词要更准确。然后自动识别出框选区域内的韩文,并自动打开浏览器跳转到Naver词典查询识别到的内容。总体来说功能比较简单,接下来就是编程实现了。
二、程序设计
不得不感叹现在编程已经非常新手友好了。Python语言本身简洁易懂,有功能丰富的库,还有各种云AI可以方便地接入调用,要做的只有找到它们,然后合理地组合使用它们。
随时可用快捷键唤起,就首先写一个while True的无限循环,里面用keyboard库监听键盘,按下设定的组合键“ctrl + alt + a”就触发取词功能。
框选取词范围用自由框选的截图就可以实现。自由框选截图功能如果要自己写代码实现还是比较复杂的。我个人平时都用电脑微信的截图功能,效果还是不错的。现在更新后的电脑微信好像把它藏起来了,但可以从以前的版本里面直接找到“PrScrn.dll”,拷贝过来让我的程序调用。所以微信截图,拿来吧你!
微信截图后可以自行另存为,但这样又会增加操作步骤。实际上微信截图点"√"后,它不仅会出现在当前聊天框,还会存放在剪贴板里。所以可以用图像处理的库pillow,自动把剪贴板上的图保存下来。
图片中的文字识别功能,我这里是用到了百度AI开放平台。注册后,创建相应的文字识别应用,获得自己的AppId,API Key和Secret Key,就可以在程序里直接接入了。把刚刚保存的图片传过去,带上参数,可以选自动检测语言,这里我就直接标上"KOR"了,很快就会返回识别结果,基本都是很准确的。百度这里还比较良心,个人用户每天有5万次的免费调用次数,学习自用完全是绰绰有余。
最后就是查词功能,比较简单,把返回的识别到的单词加到Naver词典的url里,用webbrowser库直接唤起系统默认浏览器就好了。
运行了一下,效果非常好,查词过程简化为了按快捷键+框选+确认这样简单的三个操作,速度非常快,大大提高了效率。
三、一些思考
虽然我这个功能简单,代码也不完善、不规范,但自己用着还是很开心的,也更加切实体会到,编程给自己带来的方便,发觉之前铺天盖地的“学Python”广告也不是都在吹牛皮。
我感觉我们学校计算机课程改革,让大家都学一点编程,真的挺好的,对学语言的学生来说也是的。走在前沿的自然语言处理已经有了很多成果,不学计算机专业可能无法搞清楚其中的过程和原理,但我们其实完全可以去好好学一学如何运用已有的成果,来帮助自己更有效率地完成一些工作,甚至化不可能为可能。例如今天这个小工具里用到的文字识别,又例如之前自己也琢磨出来一点的新闻爬取、分词、词性标注、音视频文稿提取等,还有我计划要去探索的语料库操作等等。相信这些都会在语言的学习研究中,起到很大的帮助,或者带来新的视角。期待有感兴趣的伙伴们,能一起学习交流~
本文如果对你有帮助,请点赞收藏《用Python做了一个韩语学习小工具》,同时在此感谢原作者。