有没有哪两个汉字相似到难以区分?(俩个相似的字)


我去年没事干干过这个, 计算字体聚类.

㬺幐(U+3B3A, U+5E50)
墫壿(U+58AB, U+58FF)
鬬鬭(U+9B2C, U+9B2D)
晚晩(U+665A, U+6669)
凉凉(U+51C9, U+F979) 我以后也要用这个词.

先随手创建一个文件夹, 然后新建一个 notebook.

选择 CJK 区 "㐀(U+3400)" 到" 龥(U+9FA5)"共 27558 个字.

有汉字有繁体字, 可能有异体字, 这个范围应该没有日语字...

字号 25 号, 字体使用混合字体 YaHei Consolas Hybrid, 对中文来说就是微软雅黑

all=StringPartition[FromCharacterCode[Range@@ToCharacterCode["㐀龥"]],1];
toImg=Rasterize@Style[#,FontSize->25,FontFamily->"YaHei Consolas Hybrid"]&;

然后用异步渲染把字都渲染出来.

并行策略选择了 Coarsest Grained, 适用于每个单元执行时间相近的情况.

虽然我也不知道并行快还是不并行快......

但是这样写就算内核突然崩溃了下次不用从头跑, 比较安全...

$now=Now
$here=DirectoryName@NotebookFileName[];
Exporter[num_]:=Block[
  {name=$here<>ToString@num<>".png"},
  If[FileExistsQ@name,Return[]];
  Export[name,toImg@FromCharacterCode[num]]
];
ParallelMap[Exporter,Range@@ToCharacterCode["㐀龥"],Method->"CoarsestGrained"];
Now - $now

然后去上课, 上完课回来肯定就好了

CPU 跑两秒, 硬盘写 15 分钟, 可以, 很赞.......

渲染完洗一下内存, 再全部读进来, 关了重开也行...

然后随手选个聚类算法呗, 参数靠魔法...

瞎算了几次, 发现一个比较稳的方法.

可以分批次训练, 每批 2000 个字,聚类半径设为 10.

一起跑实在太慢了, 然后考虑到制字表的时候也是相似的字放在一起的, 应该不会出现大问题...

或者可以用快速聚类, 大约 1 分钟, 进行一个初步的空白区域大小划分.

然后再细致的对划分二次聚类, 毕竟聚类这个复杂度是超线性的, 划分一下虽然要算多算一次, 但还是有加速效果的...

$now=Now
$here=DirectoryName@NotebookFileName[];
all=Association[#->Import[#]&/@FileNames["*.png",$here]];
pat=Select[FindClusters[all,
 Method->{"NeighborhoodContraction","NeighborhoodRadius"->10}],
Length@#>1&];
try1=Select[FindClusters[Association[#],
 Method->{"NeighborhoodContraction","NeighborhoodRadius"->10}],
Length@#>1&]&/@Map[#->all[#]&,pat,{2}];
DeleteDuplicates/@Map[all,Flatten[try1,1],{2}]
Now-$now

然后去上另一节课, 上完差不多就能出图了, like this!

两次聚类一共 6 分钟, 大约说得过去吧

效果不够好, 基本上都是偏旁不同, 那就三次聚类呗, 现在已经只有 1690 个字了....

try2 = Select[
  FindClusters[Association[Map[# -> all[#] &, Flatten[try1]]],
    Method -> {"NeighborhoodContraction", "NeighborhoodRadius" -> 4}],
  Length@# > 1 &]; Map[all, try2, {2}]

缺字会被垒到一起, 很迷, 还有就是异体字太多


我本来是想用机械智障造字....

构造一个 GAN, 生产者生产随机像素, 监督者来判别这个字存不存在...

然而...好像效果不咋的, 都没法通过我这个人的图灵测试, 毕竟.......

有噪点的都是新造的字啊....GG

中国有哪些逆天的文物?(中国哪些大学有文物修复专业)
上一篇
高手教你在win10设置开机启动项的方法(win10怎么在系统里设置开机启动项)
下一篇
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

相关推荐

  • 苹果手机各个功能介绍,iphone必须关闭的十个功能

    1、关闭蓝牙。现在已经很少有人用蓝牙传输文件了,而且iPhone与安卓的蓝牙并不兼容,所以,可以在设置中,关闭蓝牙功能。2、关闭通知功能。关于APP推送,无非也就是一些更新提醒,关了也不会有什么影响,还能多省点电。3、关闭自动调节亮度功能。一般来说,可以将屏幕亮度在15%-30%之间,在强光环境中,在进行手动调整就可以了。4、禁止后台刷新。在设置—通用中,关闭后台自动刷新功能,也可以对省电起到一点...

  • 高德打车怎么设置途经地,高德如何添加途经路线

    1、点击高德地图APP界面底部的“导航”按钮,进入导航模式。2、点击右下角的“路线”,进入路线设定页面,根据要求输入起点、终点进行路线规划。3、点击“添加途经点”,弹出添加途经点页面,点击右上角,可以添加或者删除途经点,乘客可以手动输入要添加的途经点。4、当添加完途经点时,点击“确定”按钮,即可添加途经路线。此时地图会显示出这条路线上所有的途经点,以及当前途经点的地点信息。怎么设计高德地图设置要经...

  • 高中必修二物理知识点总结,高一物理必修2重点知识点归纳

    您好,1.运动学-位移、速度、加速度的概念及计算方法-相关运动的分析方法,如相对运动和抛体运动-牛顿运动定律及其应用2.力学-力的概念及种类,如重力、弹力、摩擦力等-牛顿第一、二、三定律及其应用-力的合成与分解-能量、功、动能定理、功率的概念及计算方法-动量、冲量定理及其应用3.热学-温度、热量、热能的概念及计量单位-热传递的方式及其特点,如传导、对流、辐射-热力学第一、二定律及其应用,如热机效率...

  • 为什么长途输电不采取低压高电流?(高电压和高电流输电)

    这个问题有点意思,这个问题的解答涉及到几个方面,包括导线的发热理论和散热动态平衡方程式,还有电压损耗理论,以及短路理论。我们这就开始讨论。我们先看看百度怎么说:远距离输电要用高压的原因是:在同输电功率...

  • 你所知道的最冷的围棋知识是什么?

    《围棋十诀》的作者很可能都不会下围棋。因为那本来是《象棋十诀》。这知识不仅极寒深冷,且天雷滚滚。《十诀》今天所见最早的出处是南宋陈元靓《事林广记》元至顺年间西园精舍刊本。如图,妥妥地就安居于象棋之家,...