选自towardsdatascience作者:Raimi Karim,我来为大家科普一下关于自然语言处理领域有什么算法?以下内容希望对你有帮助!

自然语言处理领域有什么算法(自然语言处理起源)

自然语言处理领域有什么算法

选自towardsdatascience

作者:Raimi Karim

机器之心编译

参与:王子嘉、Geek AI


语言建模和文本生成是当下自然语言处理领域非常火热的两个研究课题。而早在百年以前,科学巨匠马尔科夫和香农就对此进行了初步的探索......

1913 年,俄国数学家安德烈·安德烈耶维奇·马尔科夫(Andrey Andreyevich Markov)坐在他圣彼得堡的书房里,手里拿着当时的文学巨著——普希金(Alexander Pushkin)在 19 世纪创作的诗歌小说《尤金·奥涅金》(Eugene Onegin)。

但是马尔科夫并没有真的在读这篇著名的文章,而是拿起了一支笔和一张草稿纸,去掉了这本书的前 2 万个字母中所有的标点符号和空格,记成了一长串字母。然后,他又把这些字母放进了 200 个网格中(每个网格有 10×10 个字符),并对每行每列中元音的数量进行统计,然后将这些结果进行了整理。
对于不知情的旁观者来说,马尔科夫的举止略显诡异。为什么有人会以这种方式解构一部文学天才的作品,而且是解构成这种无法被理解的形式?

事实是,马尔科夫读这本书并不是为了学习与生活和人性有关的知识,他是在寻找文本中更基本的数学结构。

之所以要分离元音和辅音,是因为马尔科夫正在测试他从 1909 年就一直在研究的概率论研究(https://www.americanscientist.org/article/first-links-in-the-markov-chain)。

在那之前,概率领域的研究大多局限于分析像轮盘赌或抛硬币这样的现象,在这些研究中先前事件的结果不会改变当前事件的概率。但马尔科夫认为,大多数事情的发生都是有一连串的因果关系的,并且依赖于之前的结果。他想要找到通过概率化的分析对这些事件进行建模的方法。

马尔科夫认为,语言就是这种系统的一个例子:过去出现的字符在一定程度上决定了现在的结果。为了确认这一点,他想证明在普希金小说这样的文本中,某个字母在文本中出现的几率在某种程度上是取决于之前出现的字母的。

因此才出现了本文开头马尔科夫统计「尤金·奥涅金」中元音的那一幕。通过这次统计,他发现 43% 的字母是元音,57% 是辅音。然后马尔科夫将这 2 万个字母分成元音和辅音组合:他发现有 1,104 对「元音-元音」,3,827 对「辅音-辅音」,15,069 对「元音-辅音」和「辅音-元音」组合。从统计学上讲,这表明普希金的文本中任何一个字母,如果是元音,下一个字母很可能是辅音,反之亦然。

马尔科夫用这个分析证明了普希金笔下的「尤金·奥涅金」不仅仅是字母的随机分布,还存在一些潜在的可以建模的统计特性。根据这份研究产出的高深论文「An Example of Statistical Investigation of the Text Eugene Onegin Concerning the Connection of Samples in Chains」在马尔科夫生前并没有被广泛引用,并且直到 2006 年才被翻译成英语。

但它的一些关于概率和语言的核心概念已经在全球范围内传播开来,并最终在克劳德·香农(Claude Shannon)1948 年发表的极具影响力的论文「A Mathematical Theory of Communication」中发现了对这些思想的重述。

马尔科夫论文:

https://www.cambridge.org/core/journals/science-in-context/article/an-example-of-statistical-investigation-of-the-text-eugene-onegin-concerning-the-connection-of-samples-in-chains/EA1E005FA0BC4522399A4E9DA0304862

香农论文:http://www.math.harvard.edu/~ctm/home/text/others/shannon/entropy/entropy.pdf

香农(Shannon)的论文概述了一种精确测量消息中信息量的方法,从而为定义数字时代的信息论奠定了基础。香农深深地被马尔科夫的观点所吸引:即在给定的文本中,可以估计出出现某个字母或单词的可能性。和马尔科夫一样,香农通过一些文本实验证明了这一点,这些文本实验除了建立语言的统计模型外,还尝试了使用该模型根据这些统计规则生成文本。

在最初的控制实验中,他先从包含 27 个符号的字母表(26 个字母,加上一个空格)中随机抽取字母以生成句子,并获得以下输出:

XFOML RXKHRJFFJUJ ZLPWCFWKCYJ FFJEYVKCQSGHYD QPAAMKBZAACIBZLHJQD

香农说,这句话是毫无意义的噪声,因为当我们交流时,我们不会以相同的概率选取字母。正如马尔可夫所证明的,辅音比元音更有可能出现。但是在更高的粒度级别上,E 比 S 更为常见,S 比 Q 更为常见。为了解决这个问题,Shannon 修改了他的原始字母表,使得这个模型更精确地对英语的概率进行建模——他从字母表中提取出 E 的可能性比 Q 的可能性高 11%。当他再次从经过重新校准的语料库中随机抽取字母时,生成的句子开始跟英语有点接近了:

OCRO HLI RGWR NMIELWIS EU LL NBNESEBYA THEI EEI ALHENHTTPA OOBTTVA NAH BRL。

在随后的一系列实验中,香农证明了,当你把统计模型变得更复杂时,你得到的结果会越来越容易理解。香农通过马尔可夫的理念揭示了英语的统计框架,并表明通过对该框架建模(通过分析字母和单词相互组合出现的相关概率),这些模型可以生成真正意义上的语言。

给定文本的统计模型越复杂,语言生成就越准确——或如香农所说,「与普通英语文本的相似性」越大。在最后的实验中,香农从语料库中提取单词,而不是字母,并得到如下结果:

THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER THAT THE CHARACTER OF THIS POINT IS THEREFORE ANOTHER METHOD FOR THE LETTERS THAT THE TIME OF WHO EVER TOLD THE PROBLEM FOR AN UNEXPECTED.

对于香农和马尔科夫来说,「语言的统计特性可以被建模」这个观点为他们重新思考他们正在研究的更广泛的问题提供了一个思路。

对于马尔科夫来说,它将随机性的研究扩展到相互独立的事件之外,为概率论的新时代铺平了道路。对香农来说,这帮助他发现了一种精确的测量方式以及编码消息中的信息单元,这个发现彻底改变了电子信息以及现在的数字通信行业。他们在语言建模和生成方面的统计方法也开创了自然语言处理的新时代,这一时代一直延续到今天。

原文链接:https://spectrum.ieee.org/tech-talk/robotics/artificial-intelligence/andrey-markov-and-claude-shannon-built-the-first-language-generation-models

,