畅谈自然语言处理——初识NLP技术

畅谈自然语言处理——初识NLP

一、引言

最近,一个名为ChatGPT的模型将计算机领域震撼,它以对话的方式进行交互,对话形式使 ChatGPT 能够回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。使人们感受到了人工智能越来越接近人类智能。

作为目前人工智能领域最前沿的研究成果之一,

ChatGPT的实现与自然语言处理—NLP技术息息相关。

二、NLP技术的定义分类

自然语言处理(Natural Language Processing)简称NLP,是人工智能的一个重要领域,NLP技术通过让计算机模拟人类语言的交际过程,使计算机理解和运用人类社会的各种语言,实现人机间的自然语言交流,从而代替人的部分脑力劳动,包括:查阅资料、解答问题、翻译等

我们使用自然语言时,需要经过哪些步骤呢?

很明显是先听,再理解,之后思考,最后说这四个步骤。计算机进行自然语言处理时也遵循这四个步骤。

按着四个步骤分为四种技术,分别为语音识别、自然语言理解、自然语言生成和语言合成。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tDWM4QVq-1682319045069)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230424144633914.png)]

其中自然语言理解和自然语言生成是NLP技术中最核心、最热门也是最复杂和最有趣的技术研究方向。

三、三个发展阶段

说完了NLP技术的定义与分类

接下来我们聊一聊NLP算法的三个发展阶段

在NLP发展初期,计算机的运算速度很慢,科学家们只能通过总结规律来判断自然语言的意图,用预先准备好的知识来实现自然自然语言理解。因此出现了专家系统等基于规则的NLP算法

1、基于规则的算法

在NLP发展初期,计算机的运算速度很慢,科学家们只能通过总结规律来判断自然语言的意图,用预先准备好的知识来实现自然自然语言理解。

最初的智能语音遥控系统结构长这样
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F2otpDkq-1682319045070)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230424144706550.png)]

当用户对智能助手说出:好热啊,能帮我打开空调吗?

那么满足了起始词、命令和结束词后就会执行相应的程序来帮用户打开空调啦。

但如果句子很长的话,构建的语法树就会很大,很复杂。且用规则处理法在多义性很难处理,因为多义词严重依赖上下文语境。但科学家们很快就解决了这个难题,在1970年以后统计语言学家的出现使得NLP重获新生

2、基于统计的NLP算法

基于统计的NLP算法是一种以基于语料库的统计分析为基础的经验主义方法。曾广泛应用于翻译、语音识别、智能客服、专家系统中。

基于统计的NLP最初是为了解决语言识别问题,常见的语言识别流程很简单,从声音到句子,一般有五个步骤

1、把音波数据分成帧

2、把帧识别成状态

3、把状态组合成音素

4、把音素转换成字

5、把字组合成句子

有了音素如何拼出合理的句子呢?如“WO3ZAI4SHANG4HAI3”是表示“我在上海”呢?还是“我载尚海”呢?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-19lz5xFL-1682319045071)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230424144803124.png)]

判断一个句子是否合理,就要通过一系列算法,例如

马尔科夫算法来判断这个句子在人类正常语言中出现的概率

设S为句子,句子是由汉字组成的,所以我们用
w 1 , w 2 , … , w n w_1,w_2,\dots,w_n w1,w2,,wn
表示有序的汉字列表。“我在上海”就可以表示为
w 1 = 我 , w 2 = 在 , w 3 = 上 , w 4 = 海 w_1=我,w_2=在,w_3=上,w_4=海 w1=,w2=,w3=,w4=
我们用P()表示概率,设“我在上海”为S,那么P(S)就是这句话在人类对话中可能出现的概率。

随后把P(S)中的每个字按照概率论公式进行展开,

(读作:“在S的条件下w1的概率”乘以“在w1的条件下w2的概率”…)
P ( S ) = P ( w 1 ∣ < S > ) ⋅ P ( w 2 ∣ w 1 ) ⋅ P ( w 3 ∣ w 1 , w 2 ) ⋅ ⋅ ⋅ ⋅ P ( w n ∣ w 1 , w 2 , … , w n − 1 ) P(S) = P(w_1|<S>)·P(w_2|w_1)·P(w_3|w_1,w_2)····P(w_n|w_1,w_2,\dots,w_{n-1}) P(S)=P(w1<S>)P(w2w1)P(w3w1,w2)⋅⋅⋅⋅P(wnw1,w2,,wn1)
S这个句子出现的概率等于每一个字出现的条件概率的乘积。

以“我在上海”为例,我们可以列出下面的公式:
P ( S ) = P ( w 1 ∣ < S > ) ⋅ P ( w 2 ∣ w 1 ) ⋅ P ( w 3 ∣ w 1 , w 2 ) ⋅ P ( w 4 ∣ w 1 , w 2 , w 3 ) P(S) = P(w_1|<S>)·P(w_2|w_1)·P(w_3|w_1,w_2)·P(w_4|w_1,w_2,w_3) P(S)=P(w1<S>)P(w2w1)P(w3w1,w2)P(w4w1,w2,w3)

其中P(w1|<S>)是第一个字“我”出现在句首的概率。

P(w2|w1)是已知第一个字是“我”的前提下,第二个字“在”出现的概率

同理P(w3|w1,w2)是已知第一个字是“我”,且第二个字是“在”的前提下,第三个字“上”出现的概率。

为了解决计算概率时指数爆炸的难题,马尔科夫算法将

上述式子简化为二元模型
P ( S ) = P ( w 1 ∣ < S > ) ⋅ P ( w 2 ∣ w 1 ) ⋅ P ( w 3 ∣ w 2 ) ⋅ P ( w 4 ∣ w 3 ) P(S) = P(w_1|<S>)·P(w_2|w_1)·P(w_3|w_2)·P(w_4|w_3) P(S)=P(w1<S>)P(w2w1)P(w3w2)P(w4w3)
化成——》
P ( w n ∣ w n − 1 ) = P ( w n − 1 , w n ) P ( w n − 1 ) P(w_n|w_{n-1}) = \frac{P(w_{n-1},w_n)}{P(w_{n-1})} P(wnwn1)=P(wn1)P(wn1,wn)
所以只要求出
P ( w n ∣ w n − 1 , w i ) 和 P ( w n − 1 ) ,即可求出 P ( w n ∣ w n − 1 ) 了 P(w_n|w_{n-1},w_i)和P(w_{n-1}),即可求出P(w_n|w_{n-1})了 P(wnwn1,wi)P(wn1),即可求出P(wnwn1)
但这时需要借助语料库了,语料库的大小和能力成正相关(数据量和复杂度图)

假设语料库有2000亿条内容,

“我在”于语料库中出现了1000万次,那么
P ( w 1 ∣ w 2 ) = 1000 万 2000 亿 = 0.00005 P(w_1|w_2)=\frac{1000万}{2000亿}=0.00005 P(w1w2)=2000亿1000=0.00005
就是1000万除以2000亿,等于0.00005

P ( w n − 1 ) = 2 亿 2000 亿 = 0.00001 P(w_{n-1})=\frac{2亿}{2000亿}=0.00001 P(wn1)=2000亿2亿=0.00001
“我”于语料库出现了2亿次,那么P(wn-1)就是2亿除以2000亿,等于0.001

因此可以求得

‘我在’出现的条件下‘我’出现的概率为
P ( w n ∣ w n − 1 ) = P ( w n − 1 , w n ) P ( w n − 1 ) = 0.00005 0.001 = 0.05 P(w_n|w_{n-1}) = \frac{P(w_{n-1},w_n)}{P(w_{n-1})}= \frac{0.00005}{0.001}= 0.05 P(wnwn1)=P(wn1)P(wn1,wn)=0.0010.00005=0.05
以此类推,最后选取组合概率最高的词,计算概率后,“我在上海”比“我载尚海”的可能性更高。由此就可以准确地识别语音啦。

但这个算法也存在这问题,即数据稀疏问题。由于语料库不能覆盖所有词语,在计算时会出现大多数的数值缺失,数据越稀疏结果越不准确。为了解决这个问题,在2003年研究者尝试用神经网络来研究语言模型。

3、基于深度学习的NLP算法

伴随着计算处理能力的提升,深度学习有了较快的发展。

在2003年这个想法被提出后,2011年罗南·科洛伯特等人用一个简单的深度学习模型在命名实体识别(NER)、**词性标注(POS tagging)**等NLP任务中取得SOTA(技术发展最新水平)成绩(画:No.1)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NafKyqwR-1682319045071)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230424144836440.png)]

2013年,以Word2vec为代表的词向量模型开始普及,此外基于深度学习的研究经历了CNN、RNN、Transformer等特征提取器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YAPPevcW-1682319045072)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230424144855437.png)]

2019年至2020年,谷歌公司的BERT模型、OpenAI的GPT-3模型在很多指标上超越了人类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kMd73gqF-1682319045072)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230424144916725.png)]

2023年3月14日基于GPT-4的Chat-GPT的回答准确性不仅大幅提高,还具备更高水平的识图能力,且能够生成歌词创意文本实现风格变化

深度学习经过几十年的发展,深度学习的成功秘诀有以下三点

(1)海量数据(big data)

(2)深度神经网络模型

(3)大规模并行计算

Chat-GPT离不开这三个要素,当然也离不开科研人员的辛勤付出。

结语

我还为大家准备了相关习题和资料以便课后学习,谢谢大家。

http://nlp.aitianhai.top/#/Nlp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天海一直在AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值