计算机代数和 NLP 之间有关系吗?

人工智能 自然语言处理 比较 符号计算
2021-11-05 02:37:31

我的直觉是理解语言和符号数学(例如代数)之间存在一些重叠。代数的规则有点像语法,一步一步的论证让你有点像叙述。如果有人相信这个前提,那么可能值得训练 AI 来做代数(求解 x、导出这个方程等)。

此外,当变量表示“实”数(例如在物理学中所见)时,代数方程以抽象的“线性”方式描述现实世界,这有点类似于自然语言。

最后,代数中有一些练习,如简化、推导有用的方程等,这些练习接近于主观领域,但它仍然比语言更有条理和一致。似乎这可能是通向自然语言歧义的垫脚石。

谁能说出这是否已经(1)被探索或(2)是一个完全虚假的想法?

3个回答

没有,真的。自然语言比代数更加复杂和不规则,代数更加形式化和明确。

到目前为止,在 NLP 中,大多数成功/进步都是在小玩具领域取得的,这些领域排除了现实生活的大部分复杂性,包括许多模糊性。

当你说代数的规则有点像语法时,那是因为它本质上是一种形式语言,我们可以为它指定一个语法。目前没有任何人类语言的完整语法(我怀疑永远不会有),更不用说可以由计算机处理的正式语法了。

这就是为什么第一次 AI 热潮(许多过度宣传的关于能够自动将俄语翻译成英语的承诺)失败的原因之一:自然语言不仅仅是词汇项目的形式语法。

随机方法在某种程度上朝着务实的解决方案迈进了一步,但在理解语言方面,它们基本上是一种软糖。不要让我开始研究 NLP 的深度学习方法。

因此,唯一的关系是我们在这两种情况下都使用术语“语法”来表示描述性形式;代数的形式语法与人类语言的语法非常不同。

然而,这并不意味着在 NLP 领域开发的方法不能应用于代数:即使是那些因为过度限制而在 NLP 中失败的方法。要了解有关此的更多信息,请查找Chomsky Hierarchy——它描述了形式语言的不同表达能力。

但我认为人类语言不在此范围内,因为它不是一种正式的语言。

询问这两个问题是否相关的方法之一是询问,我们能否用 NLP 方法解决数学/代数方程,答案是肯定的,这是一个绝对有效的想法,许多研究人员都在研究它。

例如,在 facebook 研究人员的“符号数学深度学习”论文中,基于 NLP 的方法被用于解决微积分级别的数学问题。

或者在本文中,作者提出了一种从单词中的数学问题中提取语义并解决它们的方法。

事实上,即使是像小型 LSTM 网络这样非常简单的方法也可以解决简单的严格问题

许多自然语言处理软件(2021 年)都在使用统计方法。

阅读深度学习革命(T.Sejnowski 着)、人工存在、良心机器的良心(J.Pitrat 着)、深度学习简介(E.Charniak 着)。

但是,也可以使用混合方法(如在RefPerSys中)。

所谓的基于框架的方法可以并且已经在 NLP 中使用。从抽象的角度来看,它们接近于代数。并且可能仍然是生成自然语言句子(书面形式)的最佳方法之一。

Pitrat 数十年来一直在教授和倡导一种符号 AI 方法来处理 NLP。你可以阅读他的法语书Métaconnaissances, futur de l'IA(元知识,人工智能的未来)。

另请阅读知识表示和推理(Braqueman & Leveque)等书籍

您还可以阅读(如果您能阅读法语)Nicolas Bourbaki 的Théorie des Ensembles或(英文)Interactive Theorem Proving and Program Development(Bertot & Castéran 着)。

符号 AI 方法绝对是“类似代数的”。在实践中,它们不需要强大的 GPGPU,甚至不需要做很多浮点运算。

我假设您想要处理可用作文本文件的人类语言文本(例如 HTML、XML、UTF8 编码的纯文本等)。如果您想处理声音和语音(例如,来自麦克风的音频信号),您确实需要更多的信号处理和浮点运算。如果你想处理图像(例如手写文本),它也是不同的。在法国,我会推荐Mohamed Daoudi教授。