2021/8/21更新
还是决定,原先的想法是伪需求。诸多困难使其背离了“快速”的初衷。
首先是OCR,文中所荐PaddleOCR,多日使用下来,没法和商业软件相提并论,常见汉字搞不定,更别提稍生僻字。而各种在线服务,又面临网络延迟问题,返回少说好几秒。其次是分词,一次即取出所要之词无异痴人说梦,识别后再手动组合无可避免,繁琐步骤不禁要问,当初如何取词自讨没趣?况且分词也需时间。再者是获取引擎结果。百度页面完整加载,有时接近一秒,必应谷歌稍快。别看这不起眼的一秒,跟前面步骤加一起,“快速”的幻想破灭。
退而求其次,对于可以复制的文字,快查还是颇具实用价值。抛却OCR和分词,辅以鼠标精准选取,高效简洁。提供下载链接各位把玩:
百度网盘:BlinkSearch v1.0.zip
提取码:1wtu
内置百度、谷歌,解决内外事。私底下偏爱百度的呈现,图文并茂,巴适的很。广告条目靠边站。显示多少条结果可自行设定。谷歌的桌面版站点以文字居多,移动版却有很多图。只爬了部分结果,比如谷歌的精选摘要没有收录,凑活够用。众所周知,对于爬虫,谷歌这厮是只许州官放火,不许百姓点灯,不要查太频繁,打字莫急,据说会封IP。
(下面四张图为什么有两张不能放大?)
(以下为原帖)
本文目的在于探讨一种借助于中文OCR取词实现快速网络搜索(百度、谷歌…)的方式,简化日常搜索体验。已有许多现成解决方案(uTools,Quicker等),但总差点意思。
一、需求
经常有这样一种需求:坐在电脑屏幕前阅读,突然想要快速百度一下。类似于词典软件的取词,只想小窗里快速看一下搜索结果,浏览完毕立即关掉回到原先的阅读,确保思路不被打断。
类似的解决方案:
- Edge浏览器,直接在侧边栏搜索页面选中的关键词
- Windows 10开始菜单中,以Bing引擎搜索在线内容和实时预览。
- uTools(实用的跨平台工具集,吐血推荐),选中文字或OCR后开启超级面板,直接跳转到浏览器搜索。
二、中文取词
本文的“取词”均指点选取词。点选的优势显而易见:避免手动画框打断思路。
以前实践过英文单词的OCR取词(① PC各路词典App『OCR取词』个人使用体验分享)、(② GoldenDict 官方版 OCR 功能增强),主要目的在于对英语词汇的快速查询和学习。汉语类的词典,包括百科性质的辞海,中国大百科全书等,mdx版、pdf版,也白嫖了不少。那么中文取词会是何种体验?
- 单字 or 短语 or 长词条?
用过欧路词典的小伙伴知道,欧路的取词可以取单词也可以取短语。但这本身就是玄学,比如有文字:“hydrogen peroxide”,鼠标放在“hydrogen”上取词,它怎么知道你是要查单词“hydrogen”(氢)呢,还是要查短语“hydrogen peroxide”(过氧化氢)呢。假使需求仅在于查单词,会相对简单,因为英文单词之间以空格分开。
中文的情况就相对复杂了。如果需求仅在取单字,容易实现,但取单字的使用场景恐怕很少。而对于取短语,也充满着不确定性。就个人而言,对常规汉语短语的查询需求很少,也就查查短语怎么翻译,主要需求在于查询百科性质的词条。以下图为例,以鼠标为中心两侧的汉字可构成的短语不止一个,可以是“间接”,可以是“间接瞄准射击”,但显然后者是我想要的结果。不过这仍旧十分玄学。
不同于英文单词,汉字之间没有空格,想要找出短语需要合适的分词手段,也就是常说的“大爆炸”。用于分词的字典中如有某短语是另一短语的前缀,那么优先匹配较长的一个好了。当然程序无法揣测你的意图,取词完毕再提供一个大爆炸界面,即可精确选定所需短语。
- 实用性问题:OCR准确率
对扫描版pdf做文字化处理是很常见的需求,但往往识别的结果就是一堆乱七八糟的文字,实用性很低。汉字成千上万,识别相比英文困难许多。以下图为例,
许多小伙伴极力推荐的ABBYY识别结果如下,大部分能识别出来,但少数误识令人很难直接去用这个结果。
谷歌的开源解决方案Tesseract,也是GoldenDict++所用引擎,对图像的要求比较苛刻。对比国内一些商用OCR,差距较大。
试用了许多中文OCR,效果最好的是讯飞,可以在uTools插件市场里搜索安装“讯飞ocr”体验。试用期有限,需要联网。
另外推荐一下百度家飞桨平台PaddleOCR开源方案,可离线部署,识别速度和准确率基本满足日常需要。
三、搜索结果展示
自己用得最多也一直耿耿于怀的Windows 10开始菜单搜索,奈何只有Bing引擎可用。默认情况下会跳转至Edge的Bing搜索页。效果相当于在开始菜单打开了搜索结果页面的移动版视图,非常适合快速预览,且按下回车即可跳转指定浏览器(需安装EdgeDeflector)并以指定搜索引擎搜索(需安装Chrometana)。需求在于快速、屏幕占用空间小。
为了绕过只能用Bing引擎的限制,实现开始菜单的类似效果,最简单的方法是打开一个小尺寸浏览器窗口,且User Agent改成移动版(小窗口容不下桌面版网页视图),跳转到关键词搜索链接。最好的办法是把搜索引擎结果页(SERP)scrape下来,可实现更多个性化修改。通常百度百科等在SERP会优先显示,通过查看SERP最前面几条记录,基本可满足快速查询需求。
希望实现的效果大致如下,不包含大爆炸