计算机系统越来越善于理解人们所说的话,但它们也有一些主要的弱点。其中一个事实是,他们对具有多重或复杂含义的词语感到困惑。一种名为ELMo的新系统将这一关键上下文添加到词汇中,从而提高了对词汇的全面理解。
要说明这个问题,可以想想“女王”这个词。“当你和我说话的时候,我说这个词,你从上下文就能知道我说的是伊丽莎白女王,还是象棋棋子,或是蜂房的女主人,或是RuPaul鲁保罗的变装比赛。”
单词具有多重含义的能力称为多义性。实际上,这是规则而不是例外。这句话的意思通常可以由“上帝保佑女王!”这句话来确定。和“我救了我的王后!”——当然,所有这些都指向了主题,句子的结构,你是否需要回应,等等。
然而,机器学习系统并没有那么大的灵活性。它们代表单词的方式要简单得多:它考察了单词的所有不同定义,并得出一种平均值——当然是一种复杂的表示,但不能反映其真正的复杂性。
ELMo(“来自语言模型的嵌入”)允许系统轻松地处理多义词,它上周在NAACL获得了最佳论文奖。它的核心是使用它的训练数据(大量的文本)来确定一个词是否有多重含义,以及这些不同的含义如何在语言中被表达。
例如,你可能会在上面我的例子“女王”的句子,尽管它们非常相似,一个是关于皇室,另一个是关于游戏。这是因为它们的编写方式包含了一些线索,可以帮助您找到上下文检测引擎,从而告诉您哪个女王到底是什么。
通过人工注释文本语料库来了解这些差异,可以通过人工注释来完成——但是谁想通过数百万个单词来记录下哪个女王是哪个呢?
论文的第一作者马修•彼得斯解释说:“我们正在寻找一种能够显著减少对人类注释需求的方法。”“我们的目标是尽可能多地从没有标注的数据中学到东西。”
此外,他说,传统的语言学习系统“将单个单词的所有含义压缩成一个单一的向量”。所以我们开始质疑这个基本假设:我们不学习单个向量,我们有无限个向量。因为意义高度依赖于语境"
ELMo通过摄取单词出现的完整句子来了解这些信息;它会发现,当一个国王和一个王后在一起时,很可能是皇室或游戏,但绝不是蜂巢。当它看到兵时,它知道这是国际象棋;jack杰克意味着扑克牌,等等。
配备了elmo的语言引擎不会像有多年解析语言经验的人那样出色,但即使是多义性的工作知识对理解一门语言也大有帮助。
不仅如此,在一个词的意思中考虑到整个句子,还可以更容易地映射句子的结构,自动标注从句和词性。
使用ELMo方法的系统有直接的好处,即使是最新的自然语言算法也有25%的改进,这对这个领域来说是一个巨大的收益。而且因为它是一种更好的、更能感知上下文的学习方式,而不是一种根本不同的学习方式,它甚至可以很容易地集成到现有的商业系统中。
事实上,据报道微软已经在必应上使用了它。毕竟,在搜索中确定意图是至关重要的,这当然需要准确地读取查询。ELMo也是开源的,就像艾伦人工智能研究所(Allen Institute for AI)的所有工作一样,所以任何需要自然语言处理的公司都应该看看这个。
本文奠定了在英语语言系统中使用ELMo的基础,但是由于ELMo的功能本质上是通过对它所输入的数据的仔细阅读而得到的,所以没有理论理由认为它不仅适用于其他语言,还适用于其他领域。换句话说,如果你给它一堆神经科学的文本,它应该能够分辨出时间和大脑区域之间的区别。
这只是机器学习和语言之间快速发展的一个例子;虽然它已经很好地用于基本的翻译、语音到文本等,但是计算机通过自然语言接口可以做的事情还有很多——只要它们知道怎么做。
论文下载链接:https://arxiv.org/abs/1802.05365