如何获得一个汉字的分解

Posted

技术标签:

【中文标题】如何获得一个汉字的分解【英文标题】:How to obtain the decomposition of a Chinese character 【发布时间】:2015-10-25 11:11:38 【问题描述】:

我是字符识别以及一般机器学习方面的初学者。

我想编写一个能够处理以下输入的程序:

一个汉字(矢量格式的任一像素),例如:

前一个字符的decomposition,即上面的例子:

和 以及它们水平对齐的信息。

一个汉字的分解总是三样东西:2个其他字符和描述这2个字符如何形成初始字符的模式(称为组合类)。在上面的示例中,合成类型是“水平对齐”。

给定这样的输入,我希望我的程序能够分辨出初始字符中的哪些像素或哪些轮廓属于其分解中的哪个子字符。

从哪里开始?

【问题讨论】:

【参考方案1】:

好吧,我不能说我提供了完整的答案,但请考虑一下:

1) 阅读有关 Google 翻译应用如何工作的论文。您知道,当您将 iPhone 的相机对准文本时,它会立即翻译文本(甚至保留字体!)。它支持中文,所以你会很感兴趣看看他们是否解决了类似的任务以及他们是如何做到的

2) 另一个需要回答的大问题 - 如何准备输入数据。您将需要至少提供一些输入数据 - 即至少分解一些字符。尝试为几个字符手动执行此操作,并尝试正式确定您正在做什么 - 这将帮助您更好地制定您希望算法执行的操作。

3) 尝试对#2 中的数据使用一些深度神经网络。使用带有卷积层的东西。使用 RBM(受限玻尔兹曼机)对其进行预训练。之后 - 只需仔细查看生成的神经网络。不要期望得到任何好的结果,但研究 ANN 层将帮助您了解网络从数据中学到了什么,并可能提供一些关于下一步移动的见解

【讨论】:

感谢您让我上路!作为输入数据,我已经有 20'000 个字符以及每个字符的分解。你提供给我的提示看起来很令人兴奋,我会调查一下! @Brainless 很酷。只是为了帮助你,这里有一个关于深度神经网络的简短教程,用于一个很酷的工具 - nolearn(lasagne) 库的图像处理。如果您想开始对 ANN 进行调查,您可以使用它。他们在那里解决了完全不同的任务,但至少它有一些代码向您展示如何使用这个库和不同层的基本描述:danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-检测面部关键点教程/

以上是关于如何获得一个汉字的分解的主要内容,如果未能解决你的问题,请参考以下文章

如果我有 X 的素数分解,如何有效地获得 X 的所有除数? [关闭]

如何分解表以获得最佳查询

json_encode如何防止汉字转义成unicode

java获得汉字的大写字母,其他字符不变

如何将mysql中枚举类型的数值在前台遍历为汉字

js中如何根据汉字生成拼音首字母