补充说明:
1
vJianZhen 2019-03-14 17:18:58 +08:00 1
建一个映射表,把所有近似字都录入进去
|
3
x86 2019-03-14 17:20:29 +08:00
参考下手写输入法
|
4
lastpass 2019-03-14 17:24:37 +08:00 via Android
常用字就 3 千,
字型相似的汉字有限且不多。 直接映射。 简单粗暴还好用。 |
5
jingxyy 2019-03-14 17:27:01 +08:00
没毛病,1 楼靠谱
|
6
danielmiao 2019-03-14 17:29:54 +08:00 2
可以先对图片侵蚀和膨胀,最后对图片异或处理,简单的话就简单的判断 1 的比重用阈值处理,复杂就扔到神经网络,做一批训练样本,学习下
|
8
JCZ2MkKb5S8ZX9pq OP @vJianZhen 我就想问怎么建映射表
你说的方法手动一个个比? |
9
JCZ2MkKb5S8ZX9pq OP @lastpass 我就是想问映射表哪儿来?
|
10
pkokp8 2019-03-14 17:39:11 +08:00 via Android
五笔?
|
11
ifxo 2019-03-14 17:39:33 +08:00
没办法的,用嘴当然好做了
|
12
lastpass 2019-03-14 17:39:42 +08:00 via Android
另外:别去分析图片。
直接通过区位码读点阵字库的点阵内容就好。 |
13
JCZ2MkKb5S8ZX9pq OP @lastpass 区位码我去看看哦
而且因为是找近似字,范围应该不限于常用字,而是常用的 unicode 大字库了,比如微软雅黑 /思源 /萍方的交集,差不多这个范围里找。 |
14
lastpass 2019-03-14 17:42:09 +08:00 via Android
回复 @JCZ2MkKb5S8ZX9pq 搜索了一下。有对应的书籍。是否全面就不知道了。人工穷举也是个办法啊。比你花费时间去写程序跑出来结果更快更简单呀。
|
15
JCZ2MkKb5S8ZX9pq OP @lastpass 查了下
[GB 2312 - 维基百科,自由的百科全书]( https://zh.wikipedia.org/wiki/GB_2312) 16~55 区( 3755 个):常用汉字(也称一级汉字),按拼音排序; 56~87 区( 3008 个):非常用汉字(也称二级汉字),按部首 /笔画排序; 按拼音排序,好像并不适合用来做识别。 |
16
lastpass 2019-03-14 17:47:04 +08:00 via Android 1
JCZ2MkKb5S8ZX9pq 非常好找。直接鄙视链最底端的百度文库都有。
https://m.baidu.com/sf_edu_wenku/view/35840bfebe23482fb5da4c04.html?re=view |
17
ebingtel 2019-03-14 17:47:04 +08:00
别用图片比较吧……每个汉字都有自己的笔画(网上很多开源的),感觉可以根据笔画向量来查找
|
18
JCZ2MkKb5S8ZX9pq OP @lastpass 人工穷举不太可能啊,字太多了,排序又不规则,两两比较就算只有 3000 个,这也太夸张了。况且很多近似字都是冷门生僻字,字库范围就不能按 3000 来算。
|
19
JCZ2MkKb5S8ZX9pq OP @lastpass 感谢提供的百度链接,但这个不大符合我的预期。
一方面近似度差了点,一方面不够量化,多近多远没个准。 |
20
JCZ2MkKb5S8ZX9pq OP |
21
JCZ2MkKb5S8ZX9pq OP |
22
tyrealgray 2019-03-14 17:54:54 +08:00 via Android
介意问一下楼主打算做一个什么系统用于哪方面吗?
|
23
dorentus 2019-03-14 17:55:09 +08:00 1
|
24
JCZ2MkKb5S8ZX9pq OP @tyrealgray 我在 append 里补充了一下
|
25
shyrock 2019-03-14 18:21:24 +08:00
可以用字型输入法的编码来比较吧,比如五笔。
|
26
gliyechen 2019-03-14 18:24:06 +08:00
1 楼方法不是挺好的嘛 还可以用在不同字体
|
27
lneoi 2019-03-14 18:24:09 +08:00
如果说找相近汉字, 不能只在常用汉字表里面互相比对吧,还得看异体字,国外汉字什么的?
|
28
xml123 2019-03-14 18:31:11 +08:00 9
|
29
across 2019-03-14 18:34:14 +08:00
除了暴力计算(感觉 CUDA 派上用场了?),估计只能靠输入法收集用户数据了.
做好了估计还能当个商业库呢~~ |
30
jdhao 2019-03-14 19:01:46 +08:00 via Android
计算图像相似度?(一个猜想,不一定对
|
31
tusj 2019-03-14 19:09:49 +08:00
我一直好奇十几年前流行的火星文字,是怎么搞出来的。
有没可能用它来做混淆? |
32
c4f36e5766583218 2019-03-14 19:57:00 +08:00
按一定规则,混淆文字,以最小影响阅读体验的代价,做内容保护和溯源???
按你这方法混淆了那文章含义不是变样了?句子不通了啊~ |
33
hdjs5264 2019-03-14 20:04:11 +08:00 1
emmmm,你这需求不就是火星文?
|
34
glacer 2019-03-14 20:08:51 +08:00
能否拿到汉字的像素值?比如在 8x8 的矩阵中,空白点像素为 0,笔画点像素为 1,得到一个 64 位的向量。然后通过一些相似度算法计算即可。
|
35
nccer 2019-03-14 20:11:51 +08:00
火星文?
|
36
rekulas 2019-03-14 20:14:39 +08:00
直接导入深度学习文字识别库,准确率>60 的就是
|
37
mxtob 2019-03-14 20:18:24 +08:00 via iPhone
之前在思否看过一个解答。用 gd 库绘画需要 2 个比对文字,然后用图片相似度算法
|
38
JCZ2MkKb5S8ZX9pq OP @c4f36e5766583218 我觉得这个主要还是看比例,比如五千字的文章里换掉五个字,应该问题不大。再比如我这段话里就焕掉了—个字,但对阅読的影响应该不会很大。
|
39
JCZ2MkKb5S8ZX9pq OP 黑色占比 0.13484312996031747 黑色占比 0.16272941468253968 差别比例 0.48925163811932404 ===== 进展汇报 试了几种图形识别的方式,都不大完美。 即便用点阵字体+bitmap 纯黑白,也不大理想。 况且我希望的结果是混淆人眼识别,有些比如 [辛] 和 [幸] 和 [亲] ,程序会觉得 13 更接近。 所以感觉这个问题比预想的还复杂一点。 笔划近似的确是一个思路,但还没想好怎么量化。 |
40
kuangwinnie 2019-03-15 01:57:00 +08:00
卷积神经网络?
|
41
akira 2019-03-15 02:01:24 +08:00
找以前的汉字库 16x16 像素的 ,然后随便做个图片相似度算法 应该就能满足你了
|
42
c4f36e5766583218 2019-03-15 02:19:55 +08:00
|
44
secsilm 2019-03-15 07:45:34 +08:00 via Android
@JCZ2MkKb5S8ZX9pq 我第一次读你的话就看出来了,而且很不舒服。另外我觉得你这样混淆不利于读者记住正确的字,甚至都分不清你这是故意的(有特殊含义)还是打错字了,也有可能让读者觉得你这个文章水平不行。
如果在你的使用场景对于这些都无关紧要。当我没说。 |
45
Daming 2019-03-15 08:11:16 +08:00
垚(yao)壵(zhuang),这两个字算是比较难分清楚的了
|
46
aREMbosAl 2019-03-15 08:30:31 +08:00 via iPhone 1
@JCZ2MkKb5S8ZX9pq 我写过一个小工具,可以分解分解单字成偏旁部首和笔画,并且带部件结构信息,我想你会产生重复是因为没有结构信息导致。https://github.com/vincentzlt/textprep
|
47
yufei02 2019-03-15 08:51:27 +08:00
在分词领域,有一种解决方法是进行规划,如何你要区别的是"佘"和"余",需要事先人工做个穷举,发音和字形穷举,然后满足相同的分词要求即可。并且把该词标识为规则词。
|
48
yingfengi 2019-03-15 08:54:04 +08:00 via Android
低配版火星文?
|
51
bghtyu 2019-03-15 09:34:31 +08:00 1
|
52
a632027512 2019-03-15 11:54:45 +08:00
坐等现成的车。 打字输入倒是可以用手写输入。
|
53
chinvo 2019-03-15 12:02:22 +08:00 via iPhone
量化出来的结果不一定符合人识读的感官体验
拿你举例的 [余] 和 [佘] , [茶] 和 [荼] , [侯] 和 [候],对于认识这些字的人来说,人识读的时候基本能一眼看出差别,对阅读体验还是很不友好的 不如用异体字和繁体字替代法,因为大部分人不能“看懂”异体字和繁体字,只能“猜测”其含义 |
54
ihciah 2019-03-15 12:17:10 +08:00
一个简单的思路,不一定对:训练一个分类器识别汉字,然后丢进去一个随机干扰后的“余”,那么 TopN 里除掉“余”本身就是和它相似的字了?
|
55
JCZ2MkKb5S8ZX9pq OP @chinvo 繁体因为映射表比较完整,很容易被破解吧。日韩越等异体汉字倒是可以,那块有空也想搞搞。
|
56
Michaelssss 2019-03-15 12:32:36 +08:00
首先。。你先得定义什么是“近似”,然后提出量化标准。。
|
57
loading 2019-03-15 12:34:46 +08:00 via Android
不用,这种字,高中语文老师手里都有……
|
58
JCZ2MkKb5S8ZX9pq OP @vincentzlt 我觉得你这个不错。
我之前一直觉得,可以用 unicode 这个拼字的特性,做一套自动字体生成的东西。根据横竖笔划密度,自动调整磅数、中宫、转折和尾端处理等等。 |
59
Arnie97 2019-03-15 12:41:38 +08:00 via Android
单就使用目的而言,这个方法远不如插零宽字符。这不就是故意在文章里制造错别字?而且文章里还不见得有相关的字出现。
|
60
JCZ2MkKb5S8ZX9pq OP @bghtyu 这个不错,看上去接近我的预期。
|
61
JCZ2MkKb5S8ZX9pq OP @Arnie97 插零宽字符一个 replace 就全白插了
|
62
hellobanny 2019-03-15 12:47:21 +08:00
这样错别字满天飞的文章谁要看啊,哪个产品想出来的破主意。
|
63
encro 2019-03-15 12:55:57 +08:00
结构。将字拆成结构,然后比较结构,然后再比较结构的笔画
|
64
sheeprain0627 2019-03-15 13:32:22 +08:00 via Android
@danielmiao 好思路啊!
|
65
MortyP 2019-03-15 14:32:08 +08:00
有没有人做大家来找茬的插件呀
|
66
neteroster 2019-03-15 23:31:50 +08:00 via Android
|
67
galaxyz 2020-08-11 21:16:18 +08:00 via Android
这是人为造成错别字?
|