众所周知,中共的报刊是不能看合订本的,即使是一周的合订本都不行,因为它们前后矛盾。前总理朱容基看新闻联播时都说:听听他们又在胡说八道些什么!我曾经遇到过一个社科系的教师,他评讲师时用的论文是《深入批邓,坚持反击右倾翻案风》,评副教授时用的论文是《坚持改革开放,迎来科学的春天》;前后不到两年,完全没有半点违和感,评委们都惊呼不可思议。对于行为上的自相矛盾,我们可以提醒他要点脸面;对于睁眼说瞎话者,可以给他看看事实真相;对于思想上的自相矛盾者或脑残,就要教他一点人类的逻辑推理规则了。
将自然语言逻辑化是人类进步的必经之路,这是让无法量化或无法建模的东西进入到可计算世界的一种途径。除此之外,它可以对需要严谨的系统提供证明的依据,使得一个系统被证明它是没有错误的。形式化语言也在逐渐兴起之中,这种语言可以通过证明让一些军用系统或者医疗系统等需要高严谨的系统没有漏洞。
在数学上有一阶逻辑、二阶逻辑,和模糊逻辑。一阶逻辑就是把句子当作原子命题,按照通常的推理规则如逆否命题与原命题等价、三段论推理规则、De Morgan定律等进行逻辑演算。我在大学教《数理逻辑》时就已经把它量化了,写出了算法,只是没有代码化;现在是时候把它变成计算机程序,用以驳斥“五毛逻辑”了。
尚不足的是,一阶逻辑不允许对谓词进行量化,它需要二阶逻辑来支持证明或推理。二阶逻辑比一阶逻辑更有表达力;它使用不同的变量来区分物体及属性的量化和集合的量化。集合论是数学的基础,它可以在一阶逻辑的架构内公式化为公理化系统(可能丢掉了完备性)。逻辑推理规则与集合的运算规则是完全一致的;蕴含关系等价于集合的包含关系。然而,作为“哥德尔不完全性定理”的必然结果,二阶公式的“可证明性”不可能同时满足4个想要的特性: (1)兼容性(Consistency)不可能有命题及其否命题同时出现。(2)(可靠性Soundness)每个可证明的二阶逻辑句子是普遍有效的(Valid)。(3)(完备性Completeness)每个普遍有效的二阶公式是可证明的。(4)(实效性Effectively Axiomization)有一个证明检验算法(这第三个条件经常被接纳, 不过它没有被明确的规定)。)
我们可以引入模糊逻辑,给“有效性”一个数值标准:除了“正确”与“错误”两种选项之外,允许一个命题有一定比例的真实度。这个真实度可以表示为“模糊集合”的成员的归属函数(Membership function),每个函数映射一个特征变量的值到【0,1】内的一个确定值。结合机器学习的概率模型,我们可以把归属函数的表示用一些大数据来训练,根据过去的经验来使概率偏差达到最小化。
对于一篇非英文(如中文、日文等)文章,先用Google翻译成英文,再用Grammarly检查拼写错误。然后用我的“Logically”进行词义处理。首先去掉赘词,提取词干。不定代词{a, an, the}是赘词,其它任何不感兴趣的单词都可以加入到赘词集中。机器学习中已经有提取词根的算法,英文中有大约2000~3000个基本词根。我列出了每个英文单词的同义词、近义词并且赋予0.5到1之间的一个分数相似度,对反义词则赋予0到0.5的相似度。
其次,作句子处理。每个句子对应于一个集合{主语集;谓词集;宾语集} ,陈述句和命令句直接赋值1。否定句转化为一个句集的补集,将其补集赋值1;如果文章中同时出现一个集合及其补集,则判为自相矛盾,处理结束。对带有 “可能、也许、问号?” 等词的句集,赋予一个未知变量,其取值为开区间(0, 1)。
整篇文章就成了句集*赋值的集合,把它看成是所有句子的析取(且), 或者句集的交集。对于一个给定的词干,找出包含它的所有句集。如果只有一个,便不作处理,其 “特征值”定义为0。如果有两个或更多,则计算它们的赋值之差,再平方相乘,得到此词干的 “特征值” 。把所有词干的特征值相加,得到一个“可信函数”。求出可信函数的最小值m,定义为此文的 “不可靠性” :如果m很小、接近于0,此文是可信的;如果m的值太大,比入大于0.5,则此文存疑;如果m>1,则此文不可信。
等我把这些算法变成计算机程序后,某些人的文章就要被戳穿了!