可以使用一组语法规则来概括英语吗?


10

在编程语言中,存在一组语法规则,它们控制有效的语句和表达式的构造。这些规则有助于解析用户编写的程序。

在功能上是否存在完整的语法规则集,可以准确地解析英语(特定于语言环境)的任何语句,并且可以在基于AI的项目中实现?

我知道在线上有很多NLP工具包,但是效果不那么理想。他们中的大多数人都是使用特定的语料库训练的,这些语料库有时无法推断出表达式各个部分之间的某些复杂关联。

换句话说,我要问的是,一台计算机是否可以解析一个熟练的英语句子,好像它是由一个成年的讲英语的人解析的一样?

编辑:如果不能使用简单的语法规则来表示它,可以使用哪种语义结构来概括它?

编辑2:本文证明自然语言中没有上下文无关性。我正在寻找解决方案,即使它太复杂。


2
我没有参考资料来支持这一点,但是我认为已经从数学上证明了您无法做到这一点-理解英语完全需要上下文提示,而上下文提示要求高级语义推理不能包含在其中。语法规则。
antlersoft '16

根据维基百科,自然语言的大多数部分都是上下文无关的:en.wikipedia.org/wiki/…–
inf3rno

Answers:


8

在功能上是否存在完整的语法规则集,可以准确地解析任何英语(特定于语言环境)的语句,并且可以在基于AI的项目中实现?

解析为是,准确地很可能为否。

为什么呢

根据我对我们如何从声音中获取含义的理解,有两种补充策略:

语法规则: 一种基于规则的系统,用于对单词进行排序以促进沟通,此处的含义是从离散声音的交互作用及其独立含义中得出的,因此您可以根据规则手册来解析句子。

EG “这是胜利”:解析器会提取具有相应意义(特定的人或事物)的代词(This); 动词(was)具有相应的含义(发生); (a)从解析问题开始,解析器会提取什么,一个名词或一个不定冠词?因此,我们查阅了语法规则书,并确定了含义(任何一个中的不定冠词),尽管您必须解析下一个单词并对其进行引用,但是让我们暂时忽略一下,最后(胜利)一个名词(它也可以是动词,但由于有了语法规则书,我们才找到了一个具有以下含义的名词:(victory,conquest),所以最后我们有了(加入了意义):

胜利是一件特别的事。足够接近,我在讨论其他一些规则,但这不是重点,另一个策略是:

词汇词典(或词典), 其中单词或声音与特定含义相关联。在这里,含义是从一个或多个单词或声音作为一个单元派生的。这将问题引入解析器,因为它不应该解析任何内容。

EG “ Non Plus Ultra”,因此AI解析器将识别出该短语将不被解析,而是与含义匹配:

最高点或最高点

词法单元引入了另一个问题,因为它们本身可能是第一个示例的一部分,因此最终导致递归。

计算机是否可以解析英语熟练的句子,好像它是由成年的讲英语的人解析的一样?

我相信这是有可能的,我所看到的大多数示例都可以有效地处理语法规则书或词典部分,但是我不知道两者的结合,但是就编程而言,这是有可能的。

不幸的是,即使您解决了这个问题,您的AI也不会真正从严格意义上理解事物,而是为您提供非常复杂的同义词,此外,上下文(如评论中所述)在语法和词典策略中也起着作用。

如果不能使用简单的语法规则来表示它,可以使用哪种语义结构来概括它?

一种既有语法规则又有词典,并且都可以根据AI特定的上下文和经验进行更改并受到影响的混合方法以及用于处理这些对象的系统可能是一种方法。


我的英语范围仅限于正式使用。如果我们一次跳过非常复杂的实体(例如隐喻或习语),那么定义上下文相关的语法是否可以达到目的?
skrtbhtngr

@skrtbhtngr:从理论上讲,是的,这将是形式语言的一个子集,但是上下文仍然是难题。
基诺

旁注:“这是Triumph”,出于各种原因(一辆第一辆自行车,一辆烧毁的自行车)谈论一辆摩托车,也许我们可以辩称将品牌与名词区分开来需要大写。
Tensibai '17

我同意理解文本的含义是困难的部分。只是一个简单的句子:“彼得去了电影院。” 包含许多隐藏的信息:彼得是男性,他很可能去了那里与女友一起看电影,改变了位置等等。。。例如,建立基于文本的图形模型是不够的,因为它不是静态的,它可以描述多个时间轴,事件和上下文,并且每个句子中都有隐藏的信息,您可以推断出这些信息并用来理解先前或之后的句子。
inf3rno

2

我很确定,从最严格的意义上讲,答案是“否”,因为英语根本没有正式的定义。也就是说,没有人能控制英语并发布每个人都必须遵守的正式语法。英语是通过体验过程建立的,它具有矛盾和缺陷,但是人脑的概率性质使我们可以解决这些问题。

例如,该“句子”:

这句话没有动词

从技术上讲,它根本不是句子,因为它没有动词。但是,有人在理解含义上有任何问题吗?疑。尝试为此制定一个正式规则。那只是一个例子。

现在,您是否可以提出一个涵盖90%的案例的正式语法,并且对于大多数实际使用而言“足够好”吗?可能,甚至可能。但是我很确定不可能达到100%。


1
您的示例不是语法示例,那么为什么语法应包含描述它的形式规则?
BlindKungFuMaster

1
这正是我的意思。它显然是英语,也很容易理解,但是如果不符合英语语法的常用定义。因此,这是一个真实的英语口语如何在严格的语法范围之外运作的示例。
mindcrime

2

我们已经得出结论,这是一个两方面的循环问题:没有上下文就无法推断出结构,但是了解结构也有助于推断上下文。因此,这是您的复杂解决方案:从上下文开始,上下文由句子中单词的组合(组合和搜索问题)确定,从那里确定您的结构或“解析”(在此步骤中,您还可以过滤掉某些内容无关紧要的单词或至少为其分配了较小的权重),返回上下文,返回解析,然后继续,直到找到含义为止。因此,通过迭代,递归约简可以解决整个问题。


2

我完全不同意所有以前的评论。不是因为它们是错误的,而是不是,而是因为它们是误导性的,尽管它们是无意的。

例如:如果从学术角度看这些问题,这些问题似乎总是无法克服的。这是因为所有事物都是与其他事物隔离地进行冷评估和计算的。

答案主要在于单词联想。您必须编写一个程序,该程序可以处理庞大的数字图书数据库,以注册每个单词以及与该语言关联的所有单词。加上所有统计信息以及每个相关的单词及其相关的标点符号。

然后,这将为您提供AI可以决定几件事情的基础:

  1. 给定句子的结构是否正确。
  2. 如果结构不好,那么确定上下文的意图和意图的可能性是多少。
  3. 根据统计数据,多方面单词(Triumph)的正确含义和应用是概率。
  4. 确定对话可能会去向何处。
  5. 什么是正确的语法和标点符号。

因此,总而言之,您需要寻找两件事:关联和概率。

当对数据库语言模型进行数字化数据库处理时,可能会出现单词和句子“字符串”的情况,因此可以在对文本样本进行刻划之前,之中和之后确定任何给定句子中语言结构的每种变化。对语言模型模式的这种紧密控制意味着可以通过代码轻松确定敏感组件,例如“主题”和“对象”。


我认为这过于乐观。语言太杂乱,无法正常工作。
奥利弗·梅森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.