在今天的《麻省理工科技评论》新兴科技峰会 EmTech China 上,自然语言处理顶级专家、宾夕法尼亚大学教授 Dan Roth 发表了关于自然语言处理未来趋势的精彩演讲,以下为演讲全文:
图 | Dan Roth 在演讲
当我们连接 WiFi的时候,或者当你在下载的时候,会出现一个提示框,询问你是否接受用户协议。这是一份很长的文本,那么你要接受吗?要认同吗?可能你会回答,对,我要接受,哪怕这个时候,可能你还没有读完这份长长的文本。但是这个文本中会涉及很多问题,比如,它会如何利用我的个人信息?会不会侵害我的隐私?我们需要了解这些知识,这个文本能不能让用户清楚了解这些相关的保密内容呢?我们现在还没有一种稳定的方法可以去了解整个文本的内容,这就是我们现在遇到的问题。
这个问题不仅是一个科学上的问题。这些文本关乎我们个人信息的安全性,这是每个人都要面对的问题。
我们接触到的绝大多数数据是非结构性的。从科学领域,再到医学、教学、商业、互联网等等,包括我们的邮件都是非结构性数据。这背后的挑战就是,我们要如何去了解这些数据的结构,如何建立一个系统去分析、利用它们,了解其背后的意义。这就是自然语言处理领域近期,尤其是近几年的一个重要任务。
今天,我来给家解释一下,为什么非结构性的数据处理这么难?我们要采取什么样的措施?
我们从一个简单的故事开始。这是美国二年级学生的一道阅读测试题,有三个名字:Kris Robin、Kiris和Ms. Robin,大家觉得他们是同一个人的名字吗?我想大多数人都觉得不是。为什么不是呢?因为通过阅读理解,大家会觉得其中有一个可能是父亲。虽然这篇文章中没有明确指出这一点,但是大家可以推断出来。这样一道题,有人做对,有人做错,有人可能做的很快,有人则可能会慢一点。那么我们如何帮助计算机快速地做出选择呢?
其实,这个故事是有很多陷阱的,有的人会被误导。文章中往往有很多的逻辑词,有很多时间节点,比如说三年前五年前,还有一些定性和定量的词语,让我们可以分析和梳理人物之间的关系。哪怕是一个很简单的问题,我们也需要通过逻辑来梳理。这样阅读完一篇简单的文章,我们就可以做出一个判断。
但对计算机而言,这是一个比较复杂的问题。为什么呢?因为这背后有两层逻辑:表层的语言层和底层的意义层。语言层具有模糊性,因此可能会产生歧义,所以我们需要去了解它的背景,推测它的言外之意来消除这样的歧义。除此之外,语言层还具有多样性。我们想要表达的每一点,都可以通过不同的方式表达出来。这两个特点就使得语意理解非常困难。
再给大家举一个例子,这里有三篇文本,都提到了芝加哥。我来自芝加哥。我这么说,它可能没有别的意思。但如果我提到芝加哥乐队,或者芝加哥的足球队,或者提到与它相关的专辑。有的文本中甚至不会直接出现芝加哥,但是这些不同的意义点都可以帮我们表达出芝加哥。
传统的编程能力暂时没办法帮助我们解决语言的模糊性问题。所以我们就要利用最新的机器学习去减少文本中的模糊性,去连接语言中的逻辑、解读背景知识、识别不同的词汇,以最终地消解这种模糊性。
机器学习是解决语言中模糊性和多样性的一个必要工具,在过去几年,我们也看到了这个领域的发展。我们有不同的分类方法来解决文本分类问题,它们依据不同的规则,使用不同的方法。比如我们会通过打上一个标签对文本进行标记,在标记的过程中对文件进行分类。比如可以通过病例来判断一个患者是否可以复诊,这是一种宏观的分类方法。
人工智能能够帮助我们进行分类,在过去的几年它也取得了长足的发展。这其中不仅有机器学习发展的功劳,还有其他的技术,包括计算能力的发展、储存成本的下降,以及新分类方法的诞生,都促进了机器学习领域的发展。
大家如果关注这个领域,就会发现,现在机器学习分类还不是非常的有效。如果把这些方法比喻成一个魔盒的话,我们要了解这个魔盒中需要什么样的工具和内容。我想强调的就是,我们更应该了解推理的方法,包括了解原因、假设结果和测试的方法。因为推理应该是分类之上的逻辑,让同样的类别在一起进行整合。我们要搞清楚一个点是否能推理到下一个点,这样才能更好地解决问题、回答问题和进行优化。
图 | Emtech China 峰会现场
自然语言处理现在有很多应用。比如,一个律所需要获得所有人的名字,这些人名都包含在邮件中,要如何选择分析邮件的方法,来确定这些人的名单呢?再比如,一个政界人士要研究气候变化方面的问题,他也找到了很多相关的文本,但是该如何全面地梳理,得到大事件的时间表呢?包括教学系统,是否能够帮助我们中学生更好地解决数学问题?再比如,我们该如何利用比传统病历包含更多信息的电子病历呢?
我们还没有真正完全解决这些问题,还有许多其它挑战,包括推理、适应性训练,以及最大的挑战——监督,因为现在的模型大多不具有普适性。
那什么是监督?就是神经网络的监督。我们赋予神经网络一个任务,去模拟它,然后收集数据,设置一个模型。但现在我们发现我们的数据不够,没有办法去训练所有的模型。我们也不太清楚,什么算是全部的任务。那这种方法就无法升级成为具有普适性的方法,它更大程度上只是一种偶然性的训练。
我们也发现很多的零散信号,我们如何收集这些零散的信号,去训练模型?传统的文本分类,需要用很多标记过的文件去训练一个经典的模型。所以,我们一般要收集一些关键的数据进行标记、分类。现在我们考虑的是如何不利用标记的数据,就可以进行快速的分类。现在我们不再需要标记数据了,因为我们对标签有最直接的了解。我们可以直接利用话题、文本进行标记的重现,以实现对话题的理解。
我还有一个例子,我很喜欢喝咖啡,我想告诉一个机器人这个信息,我就要和它沟通,我要告诉它,我需要什么样的咖啡,让它去了解我的喜好。标准的机器学习方法,就是提供一个有隐喻的文本和很多有含义的标记,这样做的成本非常高昂。换句话说我们要像一个老师一样,通过深入的沟通,为机器人提供信息。
现在我们在想为它提供一些非直接性的信号,去训练这个机器人。把这样的信息传递出去,再看一下机器人能做什么事情。如果它按照我的方法和指示做这个咖啡,说明我们的信息传递是非常清晰的,相反,则说明我们给的是一个不太好的例子。
因此我们现在的挑战就是能不能依赖于这种描述语言,实现信息的传达。我不会告诉你们怎么做,但是我觉得这样一种方式,能够帮助我们进行下一个技术革命,而且能够完成一些复杂的任务。
总结来看,今天的自然语言处理依然是一个具有挑战性的领域。机器学习和推理等都是科学工程以及商业进展的核心。尽管还有许多的问题有待解决,但是现在这个领域的现状已经能够帮助我们带来一定的商业成功了。
-End-
领取专属 10元无门槛券
私享最新 技术干货