Language Learning for Practical Programmers [1] – The OCR

/ 0评 / 0

我训练了一个神经网络识别手写文字!同时训练了对应的对抗网络生成手写文字!

光学字符识别

正如我们开头所提到的,我们可以训练一个神经网络来识别手写文字。当然,不一定非得是手写,印刷文字也可以。

我想这个笑话有些老了。不过确实如此。无论我们是以何种方式去学习一个语言的书写系统,我们实际上都是在尝试找出这个书写系统的规律,然后死记硬背下来,直到这个记忆过程固化、变成自然的部分。这何尝不是一种神经网络的训练呢?以及我们还需要额外训练一个生成对抗网络作为书写输出。

我们的目标主要在于阅读和写作。听力和口语暂时不参与训练。

字符表

这里的字符表并不是指语言学意义上的字母表,而是指代在书写过程中所有可能出现的符号组合。按照这样的定义,书面语言都是具有一个字符表的。当然,这个字符表可能非常庞大(比如 CJK 平面)。当字符表非常庞大的时候,全部记忆显然是一个不科学的方案。但是这个非常庞大的界限又随着语言的特性而有所不同。一般而言,表意符号是不需要全部背诵的,而表音符号是需要全部背诵的。

语素

在我们学习的过程中,尤其是如果你在接收学校教育的话,你会发现语言通常有一些原子的颗粒表示一些固定的意思。比如在英语里的 dis- 一般作为否定前缀出现。然后,作为语言的混沌性,dis- 又不总是作为否定前缀出现,比如 dis-play.

这些原子性的表意小颗粒是一个语言的语素。语素的拼接可以成为单词和短语。语素的存在在黏着语以及其他显式地使用缀加成分的语言中要更为明显一些,作为语法的一部分,它们会用于修饰单词的语法意义和语义意义。在实际学习过程中,积极地发现和积累语素是增加词汇量的一种……捷径?

词汇和短语

词汇是在被单独写出或说出时能够表意的语素序列。它和语素的区别在于语素不总是能单独表意,但词汇总是可以单独表意。

短语是能够作为语法成分的词汇序列。在很多情况下,词汇本身就可以作为短语,但对于包含变位或词缀的语言,词汇在进行了相应变位或添加了词缀之后才可作为短语。

注意到短语并不隐含着连接。在一些语言中,短语可能是由不毗邻的语素组成的。这点在孤立语中有直观的体现。

在之后,我们将定义一些更为抽象的短语,而不是使用某个确切的语言的语法成分。这有助于我们讨论更一般的语法形式。这些抽象的短语一般可以映射到对应语言的实际语法成分。

固定用法

固定用法是语言学习中比较头疼的部分,因为有很多时候,它们代表着中古残留和例外情况。而且,在特殊情况下,固定用法和其他语法规则是冲突的。

固定用法随语言的不同而不同,基本无解且必须作为规则记忆。不过,通常情况下,固定用法本身不会产生特殊情况。但固定用法可能会为了避免例外而枚举每个特殊情况从而十分复杂。如果希望创建一个实用的语言,请尽量避免创建非常复杂的固定用法。

发表评论

电子邮件地址不会被公开。 必填项已用*标注