(2021/8/21更新下载)关于『中文取词』及『快速在线搜索』的设想

2021/8/21更新

还是决定,原先的想法是伪需求。诸多困难使其背离了“快速”的初衷。

首先是OCR,文中所荐PaddleOCR,多日使用下来,没法和商业软件相提并论,常见汉字搞不定,更别提稍生僻字。而各种在线服务,又面临网络延迟问题,返回少说好几秒。其次是分词,一次即取出所要之词无异痴人说梦,识别后再手动组合无可避免,繁琐步骤不禁要问,当初如何取词自讨没趣?况且分词也需时间。再者是获取引擎结果。百度页面完整加载,有时接近一秒,必应谷歌稍快。别看这不起眼的一秒,跟前面步骤加一起,“快速”的幻想破灭。

退而求其次,对于可以复制的文字,快查还是颇具实用价值。抛却OCR和分词,辅以鼠标精准选取,高效简洁。提供下载链接各位把玩:

百度网盘:BlinkSearch v1.0.zip
提取码:1wtu

内置百度、谷歌,解决内外事。私底下偏爱百度的呈现,图文并茂,巴适的很。广告条目靠边站。显示多少条结果可自行设定。谷歌的桌面版站点以文字居多,移动版却有很多图。只爬了部分结果,比如谷歌的精选摘要没有收录,凑活够用。众所周知,对于爬虫,谷歌这厮是只许州官放火,不许百姓点灯,不要查太频繁,打字莫急,据说会封IP。

BlinkSearch1

(下面四张图为什么有两张不能放大?)

BlinkSearch2

BlinkSearch4

(以下为原帖)


本文目的在于探讨一种借助于中文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”(过氧化氢)呢。假使需求仅在于查单词,会相对简单,因为英文单词之间以空格分开。

中文的情况就相对复杂了。如果需求仅在取单字,容易实现,但取单字的使用场景恐怕很少。而对于取短语,也充满着不确定性。就个人而言,对常规汉语短语的查询需求很少,也就查查短语怎么翻译,主要需求在于查询百科性质的词条。以下图为例,以鼠标为中心两侧的汉字可构成的短语不止一个,可以是“间接”,可以是“间接瞄准射击”,但显然后者是我想要的结果。不过这仍旧十分玄学。

图像1

不同于英文单词,汉字之间没有空格,想要找出短语需要合适的分词手段,也就是常说的“大爆炸”。用于分词的字典中如有某短语是另一短语的前缀,那么优先匹配较长的一个好了。当然程序无法揣测你的意图,取词完毕再提供一个大爆炸界面,即可精确选定所需短语。

图像2

  • 实用性问题:OCR准确率

对扫描版pdf做文字化处理是很常见的需求,但往往识别的结果就是一堆乱七八糟的文字,实用性很低。汉字成千上万,识别相比英文困难许多。以下图为例,

许多小伙伴极力推荐的ABBYY识别结果如下,大部分能识别出来,但少数误识令人很难直接去用这个结果。

谷歌的开源解决方案Tesseract,也是GoldenDict++所用引擎,对图像的要求比较苛刻。对比国内一些商用OCR,差距较大。

图像4

试用了许多中文OCR,效果最好的是讯飞,可以在uTools插件市场里搜索安装“讯飞ocr”体验。试用期有限,需要联网。

另外推荐一下百度家飞桨平台PaddleOCR开源方案,可离线部署,识别速度和准确率基本满足日常需要。

图像5

三、搜索结果展示

自己用得最多也一直耿耿于怀的Windows 10开始菜单搜索,奈何只有Bing引擎可用。默认情况下会跳转至Edge的Bing搜索页。效果相当于在开始菜单打开了搜索结果页面的移动版视图,非常适合快速预览,且按下回车即可跳转指定浏览器(需安装EdgeDeflector)并以指定搜索引擎搜索(需安装Chrometana)。需求在于快速、屏幕占用空间小。

为了绕过只能用Bing引擎的限制,实现开始菜单的类似效果,最简单的方法是打开一个小尺寸浏览器窗口,且User Agent改成移动版(小窗口容不下桌面版网页视图),跳转到关键词搜索链接。最好的办法是把搜索引擎结果页(SERP)scrape下来,可实现更多个性化修改。通常百度百科等在SERP会优先显示,通过查看SERP最前面几条记录,基本可满足快速查询需求。

希望实现的效果大致如下,不包含大爆炸

图像7

7 Likes

最后这张图上的中文,源氏物语,远东慕尼黑阴谋,是用什么实现识别的?

图上用的Tesseract,但其中文识别效果比较糟糕。推荐PaddleOCR和讯飞OCR,准确率好太多,老美还是没有咱更懂中文 :+1:

4 Likes

中文识别确实飞桨最好。

2 Likes

有点曲高和寡呢 :goutou:

需求太小众~

飞桨怎么用呢?没找到安装包和程序文件

部署比较繁琐,详细安装、使用文档如下。旧版v1.1准确率优于新版v2.0。

在线体验地址:
https://www.paddlepaddle.org.cn/hub/scene/ocr

天若呢?分享几个ocr的软件呀

1 Like

讯飞ocr网页体验版确实强大啊,音标,音节符号,特殊字符都能完整识别出来。
并且没有云ocr漏字的通病。
贴一下体验地址:
https://saas.xfyun.cn/ocr?ch=sa02

PS:不过,它那个10w量的OCR免费包,不知道是不是这效果。。

你贴这个地址应该是残血版,我在uTools里试用效果好太多

uTools插件版:

网页版:

这效果确实有点奇怪。
可否对比下这个图的效果?

太恐怖了,用网页版测完你这图。。。。讯飞——最强OCR,没有之一。
你那个图片太大了, API版限制输入图片最长边最大4096px,不能直接用。
贴个网页体验版的结果吧。

3 Likes

网页版的没有软件版的方便吧?

这效果惊人啊,音标目测只错了一处,比百度有道都好,有道中文识别不太行,但英文识别很好,不过也没有讯飞这个完美。

win10自带的 ocr 控件,印刷体的 ocr 效果也很好,支持多国语言,英语自带,别的语言需要安装语言包。(试了韩文没问题)

顶楼 更新了下载链接

百度网盘:BlinkSearch v1.0.zip
提取码:1wtu

BlinkSearch1