TJU自然语言处理复习(1)
什么是自然语言处理?
自然语言是什么?
- 交际的工具,思维的载体。
- 词法和语法组成的符号系统
- 约定俗成的,区别于人工语言(程序设计语言)
自然语言处理是什么?
- 自然语言处理是计算机科学领域以及人工智能领域的一个重要的研究方向
- 目的是研究用计算机来处理、理解以及运用人类语言,达到人与计算机之间进行有效通讯。
自然语言处理的四个层次
- 资源建设
- 基础研究
- 应用技术研究
- 应用系统
其中研究层次包括:形态分析,语义分析,情感分析和语篇处理。
自然语言处理的研究内容?
-
词法分析
-
句法分析:即分析句子的主谓宾,是机器理解的基础
-
词义分析:语义分析的研究,如词义排歧和语义归纳、推理等。可以理解为汉语里的多义问题,多个词义取哪个。
-
语用分析:即具体语境下改怎么解释翻译。
基于规则的自然语言处理
在自然语言处理发展的早期,人们认为人类语言是有规则的,只要根据规则来处理就完事了。但是这明显就不可能,因为有很多偏离规则却被大众普遍认知的语句,比如说意思意思等。
那么又有人说了,我们把那些偏离规则的给单独成规则不就完事了,这肯定也是不行的,因为太多了会导致规则太多,效率极低!
基于统计的自然语言处理
基于统计的方法就是将概率或统计的数学模型引入到自然语言处理中。
基于统计的角度来研究自然语言处理,其实可以理解为通信的编码与解码,原始语句就是一个已经编码的信息,然后根据统计的概率,解码出原始信息。
n-gram语言模型
-
基于前n-1个词来预测当前词的概率
-
一元语言模型
认为每个词都是相互独立的,不考虑词序问题。这样会导致,如果两个句子表示不同的意思,但他们的概率可能是相同的。如 -
二元语言模型
概率为
而且认为当前词受前一个词的影响,这肯定是不完全正确的,因为根据概率公式,假如XiXi-1概率为0,那么整个式子都为0,肯定不科学。
统计语言模型
是自然语言处理的主流技术之一,研究内容为:语言模型的构建、改进以及应用等。常见的统计语言模型如下
- N-gram模型
- 隐形马尔科夫(HMM)模型
- 最大熵模型
- 依存语言模型
- 朴素贝叶斯模型
- 条件随机场
语料库:统计NLP的知识来源
按照一定的原则,组织在一起的真实的自然语言数据集合(包括书面语和口语) ,主要用于研究自然语言的规律,特别是统计语言学模型的训练以及相关系统的评价和测试。既可以是生语言库(原始文本),也可以是熟语言库(带标记的文本)。
齐普夫定律:在一个大的语料库中统计词频,然后将词按照词频从高到低的顺序排列成一张表。一个词的词频 f 和它在表中的序号 r 之间存在如下关系:
f ∝ 1/r or f⋅r=k, k是一个常数
-
词义和词频
-
词频和词长
反比例关系
搭配
- 复合词
- 动词短语
- 固定搭配
经过过滤掉一定的虚词搭配,我们可以获得一些有意义的搭配,常见的高频搭配有动词+名词,形容词+名词,名词+名词的搭配。
NLP的方法论之争
理性主义:基于规则
经验主义:基于模型推导
基于深度学习的自然语言处理
深度学习是一种将原始数据通过一些简单但是非线性的模型转变为更高层次、更加抽象表达的特征学习方法,一定程度上解决了人类处理“抽象概念”这个亘古难题。
在基于深度学习的自然语言处理中,从输入端输入数据,在输出端会得到一个预测结果,这个结果与真实结果进行比较,得出误差,然后进行反向传播更新神经网络参数。