自然语言处理是人工智能的一个应用,它的难点在于人类语言的复杂性和语言描述的外部世界的复杂性。
自然语言处理涉及到的知识很多、很抽象、很复杂。复杂的东西也许是高深的,但不见得是必须的。
村长在这里讨论“自然语言处理”的时候,将从另外一个角度进行,也就是,首先解决“外部世界的复杂性”问题,这也是一切问题的根本。
在"自然语言处理(NLP)"的百度百科中有这样的一例子:
句子“我们把香蕉给猴子,因为它们饿了”和“我们把香蕉给猴子,因为它们熟透了”有同样的结构。但是代词“它们”在第一句中指的是“猴子”,在第二句中指的是“香蕉”。如果不了解猴子和香蕉的属性,就无法区分。
我们看到了很熟悉的“属性”一词,如果我们对这个世界所有事物都进行如下的处理,并保存在同一个数据库中:
确保所有事物唯一的存在。
用继承和包含的方法管理所有事物及它们的特性(包括属性),同时也保证这些特性的唯一性。
那么,对于上述这个例子,“熟”是“植物果实”的属性“生长程度”的枚举项,这个枚举项包括“生、半生、熟、过熟”,而猴子并没有这样的属性,所以很容易判断出这个“它们”指的是“香蕉”。
再来看看相关对象的功能特性:
香蕉:被食用、被传递。
猴子:吃、被喂食。
人类:传递、饲养。
又有这样的对应关系:
吃——被食用
传递——被传递
饲养——被喂食
那么以上的句子就很容易进行判断了。
基于此的自然语言的分析,不再需要进行大量的模糊判断和深度学习了。
另外一个简单的例子如下图所示:
依靠这种方式可以很容易实现不同语言的转换,因为不论什么语言都是基于内容(这个世界)的,不同语言的主要区别只是编码方式的不同,因此创建一种新语言也并非难事。
也就是说,利用统一的数据模型,可以更容易的解决目前看起来很复杂的问题。
网友评论