为什么自然语言处理很难?

13回答·799阅读
科学百事可乐

2019年04月27日

是很难,但是比自然语言处理的前二十年的进步已经好很多了,最近因为要研究人工智能自然语言处理方面的项目,所以一直在读有关的书籍,从数学的奥妙,统计学的理论、概率论等等。

读了这么多的书,其实我发现,很多东西靠的还是你对基础的扎实程度。自然语言处理的前20年为什么会这么难,或者说毫无进展,讲的通俗一点就是人类的惯性思维决定了你的认识事物的方法。

在前20年,科学家研究自然语言处理一直停留在或者说局限在人类学习语言的方式上,简单来说,就是用电脑去模仿人脑,当时大多数的科学家都认为要让机器去翻译或者语音识别,就需要让计算机去理解我们的语言,而要做到这一点,就需要计算机具有像人类一样的智慧,这就是人类认识的普遍规律,我们也不要去笑话他们,因为唯有如此的试错,才造就了今天的成就。

如今语音识别和翻译已经做得非常的好了,但是很多不在我们这种机器学习研究领域的人来说,还错误的认为语音识别和翻译是靠计算机理解了自然语言才实现的,其实际上是靠数学和统计学去实现的。

从规则到统计的进步是人类认识事物的一种突破,统计语言模型的建立,是当今自然语言处理的基础和关键,但是很多东西都会存在自己本身固有的缺陷,这是无法改变的。

语言模型中设计的数字关系、公式计算,N元模型的定位,为什么在马尔科夫假设中N的值会这么小,里面涉及到的知识太多,在这里也无法一一回答给你。我只是想说,单纯的自然语言处理已经没有像之前那么的毫无头绪了,现在已经比以前好的太多了。难,不是在于它的本身,而是在于它涉及的知识点实在太多。。。。

梦无痕84574230

2017年11月06日

个人十年自然语言处理从业者,认为自然语言处理难的主要原因,首先自然语言表现形式多样化,语法多样化,词语多义化,再有还有语境的影响,上下文的影响,还有不同人不同文章风格的多样化,语音这块来说,还有口音,地方话,俗语等难点需要处理,针对粘合性语言比如中文,还需要进行分词,每一步都有好多技术点需要研究,综合导致自然语言处理难,尤其中文自然语言处理,对于同行共勉,欢迎各位同行多交流!

AiMath

2020年03月28日

首先语言表达意思的多样性,比如名字纽约,表达的意思有很多种,可以是人名,公司,地址纽约州,地址纽约市,要理解这种多样性,需要上下文环境,但一个有限的语言模型很难做到通用性。其次是很难用机器理解语言中的思想。比如高中哪些语文阅读题,我们都很难对付,何况机器呢?无论统计语言模型还是神经网络语言模型,归根到底,都离不开随机性,随机能否理解思想吗?比如用神经网络训练一个文字生成器,这个不需要标注,提供一段文字即可。如果神经网络拟合得很好,甚至过拟合,那么最终文字生成器没什么意思,因为生成的文字和训练的文字没什么区别。因此神经网络要保持一定的误差,也就是训练的时候不能太好,即留出一点随机性,这样生成的文字才有可能和训练文字不大一样,但是生成文字没有思想,甚至语法不通。因此,我特别怀疑市面上的文字生成作品,是不是单纯的语言模型实现的?背后是否隐藏了大量人为规则和大量文本匹配、组合、替换?

一尾活龙

2017年09月23日

在我看来有几个原因。1,语言结构的复杂和多样,比如,这部电影如果放在10年前肯定会大卖,但现在类似题材太多了。如果模型不能掌握整个句子的结构,转折的肯定,就不能得出负面的结论。2,语言有上下文相关的多义性。如果以上两点可以通过深度学习的复杂架构和大样本实现的话,那还有第三点,理解语言通常都需要能解读隐含在其中其他领域的知识或常识,这部分目前没有看到好的解决方案

zchenack

2017年12月14日

自然语言处理之所以难,极大部分原因是语言表达不完善,语义推理缺能力,自学习能力又匮乏。对于文字的表达,向量化,连续性,可有时候语言可能并不连续,单个向量表征高维空间的一个点,可有时文字具有多个意思,不是一个点能表示的。表达都学不会,推理和自学习就根本不太可能了吧。统计的方法只能给出大多数情况的可能结果,针对特殊场景的泛化能力不强…