汉语拼音的系统化可拼读化:只增加一个字母,就能完全拼读,而且规则变少

最近在帮逸儿学习汉语拼音。这个很多时候能够拼读,很多时候又不能够拼读的汉语拼音确实是一个烦人的东西。这样的辅助发音体系还最好有,不能完全扔了。所以,可以考虑做局部的调整。这样的调整,本质上,就是从完全准确的完整的汉字读音列表开始,例如用通用国际音标来标记,然后,选择一些能够合并的音合并起来,使得用比标准国际音标更少的表音符号就能够比较准确地标注汉字的读音。当然,实际上修改起来会遇到各种困难,例如现在已经习惯的人,现在已经做出来的文字系统出版系统等,都会是阻力。所以,这里,仅仅列做来能做的一点点修改,那些仅仅修改一点点地方就能够使得系统化程度更高,可拼读程度更高的地方。

  1. 第一个要改变的就是引入ə,用来区分e的两个音:e和ə。前者是例如在ei,en,er,eng里面的发音,后者例如在ie(iə),üe(üə)里面。
  2. 第二个要改变的就是利用引入的ə,用重新标注uo(uə)和ou(əu)。
  3. 第三个顺便统一uo(uə)和o。这两个音实际上略有区别,但是,为了简单记,不如合起来算了。例如,玻(bo)璃和玻(buo,buə)璃实际上,差不多。这样就相当于取消了字母o的单独发音。
  4. 第四个,那么o怎么办呢,还需要保留吗?需要,而且发音方式是ɔ的发音,仅仅用在ao和ong里面。
  5. 第五个,用ŋ取代ng里面,省的ng(嗯歌,讷歌,都拼不出来ŋ的发音)不可拼读。
  6. 第六个,取消去不去掉ü上两点的规则,以及表声调的位置的规则。例如可以设定这样的规则(能够不变的就不变,能够少一件事,就少一件事):一直保留ü,一直把声调标注在第一个元音字母上。
  7. 第七个,ian改成ien,üan改成üen。例如,线(xian)条是不可拼读的,只有线(xien)条才是,选择是(xüen ze)。
  8. 第八个,允许元音字母出现在第一个,也就是允许没有声母的拼音;同时允许只有声母的拼音。前者,例如ua,iou(顺便让iu回到iou,让ui回到uei)。后者例如sh(诗,建议也修改为符号ð),zh(蜘,建议也找个单个的新符号),ch(吃,建议也找个单个的新符号),z,c,s。这样也就顺便取消了拼音字母y,w。
  9. 第九个,最重要的一个,取消所有的固定拼读韵母,完全通过把发音连起来——拼读起来——来读汉语拼音。

有了上面的修改,韵母a, o, e, i, u, ü成了a, u-ə, e, ə, i, u, ü, o。中间的u-ə不是基础字母,于是,基础字母成了a, e, ə, i, u, ü,o。

另外n,r,ŋ三个字母比较特殊,一定程度上扮演了韵母的角色。不过,按照我们的新的规则,我们不需要区分声母韵母,直接合起来读过去就行了。

从这七(其实是6.01个,最后的o仅仅在两个地方用得到)个字母除法,ai, ei, ao, uo, ou, iu, ui, ie, üe, an, en, in, un, ün, ang, eng, ing, ong,ian, uan, üan, iang, iong, uang, 所有这些固定组合就都不需要了,换成如下能够拼读的: a-i(表示两个字母合起来读就行), e-i, a-o, u-ə, ə-u, i-ə-u, u-e-i, i-ə, ü-ə, a-n, e-n, i-n, u-n, ü-n, a-ŋ, e-ŋ, i-ŋ, o-ŋ,i-e-n, u-a-n, ü-e-n, i-a-ŋ, i-o-ŋ, u-a-ŋ.

声母方面,我们留下来了:b,p,m,f,d,t,n(完全按照英文音标的发音,不再需要它来扮演nu和un两个角色了,都大概读作“en”),l,g,k,h,j,q,x,zh,ch,sh,r,z,c,s。

有了这些,我们就完全能够拼读了:一字一音,没有固定读法,直接通过组合——也就是连读——来发音。例如,线条(x-i-e-n t-i-a-o),绚烂(x-ü-a-n l-a-n),无穷(u q-i-o-ŋ), 无缺(u, q-ü-ə)。

当然,这样的修补工程不能完全实现最大的系统化——也就是用最少的基本发音单位来表达所有的读音并且完全可拼读。如果想完全系统化,还是要通过先用国际音标把所有的发音标准确,然后再合并近似的方法。例如,q,x,j的存在和合理性,以及是不是有更好的方案,就是一个需要从这个根本的系统化角度来讨论的问题。当然,以上的讨论仅仅是原理性的讨论,真的改起来,尽管长期来看肯定是好事,但是,短期来看代价还是太大。有兴趣的学生,尤其是学习我的《系统科学导引》的学生,可以拿这个来练练手,体会一下什么是系统科学。

顺便,这里也体现了把数学和科学的技术和思想,尤其是系统的思想——用最少的单元来足够准确地表示事物,用于问题识别和问题解决。可惜了,当年设计这个汉语拼音的时候,可能数学家、物理学家没有太多的参与。

按道理,赵元任的数学物理都很好的啊。当然,我这个修补也不一定比赵元任的汉语罗马字强,倒是更简单了,并且,显然比目前的汉语拼音强——我这个是完全可拼读的。

SageMath and Python on Jupyter

SageMath 是一个开源免费的数学软件,综合了大量的开源数学软件,用Python当做软件基本语言。因此,可以在使用Python的过程中,把SageMath当做一个额外功能模块来用。当然,如果是编程来使用,则这样用就够了。不过,SageMath和Python合起来还可以当做“计算器”来使用。这个时候,就最好有一个图形界面,并且能够把结果也在必要的时候做图形呈现,最好还能够分享。

Jupyter就是这样一个界面环境。

有两个方法可以通过Jupyter来集成使用SageMath和Python。

  1. 第一,安装完成SageMath之后,在SageMath界面下打开Jupyter。例如,$./SageMath/sage -n jupyter。前面的SageMath是SageMath的安装目录。SageMath自带了Jupyter,因此,不用重新安装Jupyter。
  2. 第二,单独安装Jupyter和SageMath。在Jupyter界面下打开SageMath。为了能够让Jupyter知道SageMath在哪里,我们需要安装一个Jupyter拓展包,通过下面的命令:$sudo jupyter kernelspec install SageMath/local/share/jupyter/kernels/sagemath。其中的SageMath是SageMath的安装目录。之后,就可以通过运行jupyter notebook来实现通过Jupyter来使用SageMath和Python了。
  3. 如果你还想在任意的目录下都能够通过运行jupyter notebook来实现通过Jupyter来使用SageMath和Python,则还需要修改路径设定,让系统知道SageMath的sage文件和bin文件存在哪里。例如,通过在.bashrc中增加一行:export SAGE_ROOT=SageMath。其中SageMath是SageMath的安装目录,例如/opt/SageMath。以及添加路径,例如 export Path=SageMath:$PATH 来实现。

    注意,这是linux系统,Python是默认系统性安装的。如果其他系统,可能还需要在Jupyter下配置Python。

    安装一个可以在网上完成这个计算——通过Jupyter来集成使用SageMath和Python——的服务器。甚至可以考虑建一个包含机器学习功能的服务器,例如通过anaconda(可以连接上TensorFlow或者其他机器学习包)。如果使用anaconda则可以采用清华anaconda软件仓库

    如果希望其他用户也能够使用这个带了SageMath内核的jupyter notebook,则还需要安装JupyterHub。

《系统科学导引》挑错贴

所有《系统科学导引》电子版和纸质版的读者,如果你发现内容错误、错别字等各种形式的错误,可以在这里回帖。先谢谢亲爱的读者你了。

尤其是在上我的课的读者,不管是实际课堂的还是网上课堂的,如果发现错误,请在这里留下一句话。例如,可以简单地说,PXX,(第X段,)某某字,或者某部分内容,应该考虑修改,或者应该改成什么什么。

推荐MIT6.034《人工智能》课程

最近,在看了偏技术和技巧的当然同样很不错的Andrew Ng的人工智能课程之后,偶然翻到了推荐MIT的Patrick Henry Winston《人工智能》课程。其中对于,人工智能到底什么的探讨,并且从大量的具体的人工智能系统的背后算法来讨论人工智能是什么的角度,给了我非常深刻的启发:实际上,任何问题的解决,如果我们都明确地找到出来——知识基础、思考方式——是什么,那么,我们都可以找到这些问题、知识和方式的表示,于是,在这个表示的基础上,把问题解决变成一个可操作的问题。这个时候,这个问题的解决,还需要智能吗?那么,哪些问题的解决,是可以这样人工智能化的呢,还是说其实大量现在看起来还不能够人工智能化的问题,实际上仅仅是问题、知识和思考方式还不明确,或者是表示没有找到,而已呢?如果是这样,那么,到底,什么智能是不能人工的那部分智能呢?

这样的思考,甚至给我我在教系统科学导引的时候的一个非常好的例子:任何解决非平庸问题的算法或者说软件系统,其实都是系统——所谓的系统就是一定要找出来尽量少的明确的知识、思考方式的集合,并且明确表示出来问题、知识和方式,于是剩下的事情,只不过是尝试和组合。例如,符号积分算法就是依赖于一个非常有限的知识:20个左右的基本积分公式、12个左右的简单积分变换、12个左右的经验积分变换,加上决策树的思考方式:从起点开始,到终点,每一次都对被积函数做上面的变换或者查公式。仅此而已。实际上,任何一个软件工程的问题,同样需要找到这样的基础知识、基础操作、思考方式,然后构建一个解决某一类问题的完备的系统。

顺便,在讲解目标树决策树的时候Winston强调了,把一个东西明确提出来的威力:“我们给它一个名字,就有了掌控和运用它的力量(When you name it, you have power over it)”。

沿着这个——把问题解决的知识基础(积分公式和变换)和思维方式(决策树)分开并且在知识内部和方式方法内部都找到尽可能少的核心元素来构建一个生成体系的——系统性思考的角度做展开,我发现其深刻的价值远远不止以上这些。我先列出来我扩大了的一张表:

  1. 最好能够成系统的问题。成系统的意思就是其中有少数核心问题,其他的问题可以通过这些核心问题运用系联来生成,或者倒过来其他问题可以通过系联归并到核心的问题。
  2. 成系统的知识基础。成系统的意思就是其中有一些核心知识,其他的知识可以通过这些核心知识,依靠系联来生成。
  3. 运用上面的知识基础来解决上面的问题的思维方式和分析方法,最好也是成系统的,也就是说有联系可生成。
  4. 如何提出这些问题,有没有一般的方法?例如抓住联系来问问题也就是系联性思考,例如批判性思维,例如试验和实践的检验。
  5. 如何得到这些知识?可以通过构设这些知识发现的问题场景来从发现知识的过程中学会这些知识。其中从现实到模型的抽象化过程可能特别的重要。逻辑推理和数学计算可能也是重要的一环。
  6. 如何掌握这些思维方式分析方法?同样从使用这些方式方法来提出和解决问题的过程中来体验和掌握这些方式方法。
  7. 如果以上的问题都有了比较好的回答,是不是存在一个高效率的教和学的方式,例如一个可以性化的学习顺序,以及一个可以个性化的学习问题发现和解决的系统?

在整理了这张表之后,我发现,实际上,前面三条是软件系统或者是问题解决的关键步骤,加上后面的三条则是教和学的关键——教和学不仅要让学习者学会知识和方法,还需要学会创造知识、创造方式方法、创造性地运用知识和方式方法。

实际上,构建学科概念地图,就在梳理和解决前三条,并且最好整理出来一个生成的体系。而从概念地图开始,选择具体的例子来体现学科大图景,实际上,就是关注后面的四条。

这一切的一切,都是为了“教的更少,学得更多”,让学习者建立起来一个生成已有的甚至全新的知识和方式方法的体系,而这样的生成系统的关键就是系统的思想——系统的元素和元素之间的联系,以及具有生成能力的核心的元素。

也就是说,教和学的目标不是知识,知识仅仅是媒介,我们通过这个媒介来习得获取知识的思维方式和分析方法,然后,当我们有了这个学科的研究对象和问题之后,把这些方式方法用到对象和问题上,原则上,可以重新把知识和知识体系发展和构建出来。

这正好就是我所说的,“以学科大图景为目标的”,“以批判性思维和系联性思考为基础的”,“理解型学习”。

后续,继续总结。

2018年《学会学习和思考》结课寄语

课程结束了,大部分同学在技能和理念上的表现都不错。其他技能理念的表现上稍微差一点的那几位,学习努力程度也很不错,而且至少懂得了这个学习方法和思维方式是什么。所以,为大家的表现贺。

经过这个课程的折磨之后,我希望大家看到下面几个词的时候能够想起来一些东西。我把这样的词整理一下。

我们传授的思考方式是:系联性思考、批判性思维、以及各个学科的学科思维方式。我们传授的学习方法是:以学科大图景为目标以系联性思考、批判性思维为基础以概念地图为工具(熟练以后工具可以去掉)的理解型学习

批判性思维表现为:含义不清楚的词意义不明确的句子我不用,没有经过我的理性的考察的东西不能成为我进一步思考的基础,判断论断命题最好都是实验可检验的。

系联性思考表现为:通过思考一个东西和其他的东西的关系来明白这个东西,同时注意分析和综合,也就是需要把一个东西不断地拆分下去来明白这个东西是什么,同时还要注意不断地从拆分出来的下一层回到上面,问整体合起来说明什么。

很多时候,系联性思考和批判性思维合起来,可以体现为WHWM四问:主要说了什么(What),怎么说的(How,例子、逻辑、展开),为什么说这个为什么这样说(Why),我觉得怎么样(Meaningful)。或者,当“我”自己来表达的时候,问:主要想表达什么(What),怎么表达(How),为什么说这个为什么这样说(Why),接收我信息的人会觉得怎么样(Meaningful)。

学科大图景是指:一个学科的典型对象、典型问题、典型思维方式、典型分析方法、和世界以及其他学科的关系。

同时,我还希望你从这门课中学到教的理念和方法:教的更少,学得更多。首先,理念上,我们教的目标是学习和思考的方法、学科大图景、以及对学科的体验欣赏和责任感。为了达到这个目标中的每一条,我们都需要大量的具体知识和具体研究工作的例子。但是,知识和研究工作本身并不是教和学的目标,它们仅仅是达到这个目标所需要的材料。很多时候,只要我们整理清楚了一个学科的大图景,并且把这个学科的概念和概念相互关系搞清楚,例如通过制作概念地图,那么,就可以选择尽量少的具体知识和研究工作的例子,来实现这个教和学的目标。因此,其次,实践上,我们要大概知道如何来设计和实践能够达到这样的目标的课程:学科大图景列出来、概念地图画出来、以大图景为指导精选概念和概念联系,实践过程中注意抓住学生真正困扰的地方(这个时候概念地图做为大脑探测器,也可以发挥作用,就像我上课跟你们的交流一样),然后做好引导,做到忍住——就是不教,但是有作业要完成。顺便,这里也体现另一条教和学的理念:做中学,折腾着学,给学生犯错的机会然后狠狠扒皮。

为什么我们会把学习和思考的方法、学科大图景、以及对学科的体验欣赏和责任感当做教和学的直接目标呢?因为我们相信,人类学习的最终目标是创造知识和创造性地使用知识。而对于这两点来说,没有理解透彻(也就是建立相互联系、概念和生活和实际世界的联系)的没有方向感的知识,仅仅会起到阻碍创新的作用,使得人的脑子更加僵化。为了理解这一部分,请再次阅读一下Whitehead的《教育的目的》以及吴金闪的《教的更少,学得更多》。

希望通过这个课程的学习,大家现在和以后,都能够做到,教的更少,学得更多,学得更累,学得更开心,更具有创造性。

我希望有一天,所有的老师的教学目标所有的学生的学习目标都不再是一个搜索引擎或者一个手机,而是创造者。

这个世界有三种人(见Ken Robinson Ted Talk),不能被改变的人(un-touched),能够被改变的人(touched and moved),和改变者(mover)。具有更多的Mover的希望,就在你们身上了。让我们一起来创造出来更多的创造者,更多的Mover。

再一次分享我的签名档,共勉。
Live to make a difference(活着就是为了搞出点不一样)
Be ambitious, be determined (有野望,持之如初)
World spins on dreamers like you(世界因你的梦想而转)
See through connections(洞澈联系)
Teach Less, Learn More (教的更少,学得更多)
Learning for understanding the world and ourselves(为了理解世界和自己而教和学)
Don’t tell me facts, let me think; Don’t teach me knowledge, let me learn (不要告诉我事实,让我想想;不要教给我知识,让我学习)