自然语言处理(Natural Language Processing,简称 NLP)是人工智能里一个特别重要的方向,它的发展过程其实就是人们想办法让机器从只会按规则做事,慢慢变成能真正理解人类说话意思的过程。这篇文章会带你简单看看,NLP 是怎么从最早用“死记硬背”的方式,一路走到今天能聊天、写代码、做推理的大模型的。
一、深度学习还没流行的时候:老方法有哪些问题
在2010年代以前,大家做 NLP 主要靠人工设计特征加上传统的统计方法,比如用 n-gram 模型根据前面几个词来猜下一个词(像“我吃__”后面很可能是“饭”),或者用隐马尔可夫模型(HMM)、条件随机场(CRF)来做词性标注和人名识别这类任务。这些方法虽然在某些场景下还能用,但缺点也很明显:它们高度依赖人手动提取特征,遇到没见过的词或句子就容易出错,而且很难抓住一句话里相隔很远的词之间的联系。
二、词向量来了:让机器开始“感觉”词的意思(2013–2014)
1. 独热编码为啥不好用
早期的做法是把每个词变成一个超长的向量,里面只有一个位置是1,其他全是0,比如“猫”可能是 [1, 0, 0, ..., 0],“狗”是 [0, 1, 0, ..., 0]。这种表示不仅计算起来特别慢,还完全看不出“猫”和“狗”其实都是动物、意思比较接近。
2. Word2Vec 和 GloVe 带来的改变
2013年,Google 提出了 Word2Vec,通过 CBOW 和 Skip-gram 这两种方法,把每个词变成一个短而密的向量,第一次让模型能算出“国王 - 男人 + 女人 ≈ 女王”这样的关系。到了2014年,斯坦福大学又推出了 GloVe,它不光看局部上下文,还用了整个语料库里所有词一起出现的统计信息,效果比 Word2Vec 更好。这些词向量让机器第一次有了对词语含义的“直觉”,也让文本分类、情感分析这些下游任务的效果一下子提升了很多。
三、序列模型和注意力机制登场(2014–2017)
随着深度学习火起来,NLP 开始用端到端的方式直接训练模型。比如 RNN、LSTM、GRU 这些结构可以处理长短不一的句子,适合做机器翻译或者语音转文字;2014年提出的 Seq2Seq 框架用一个编码器读完整句话,再用一个解码器生成答案,成了当时生成类任务的标准做法;而2015年引入的注意力机制则让模型在翻译时能自动聚焦到输入句子中最相关的部分,大大提高了准确率。不过,这些模型还是很难处理特别长的句子,训练速度也慢。
四、Transformer 出现,预训练模型爆发(2017–2019)
1. Transformer 彻底改变了游戏规则
2017年,Google 在《Attention is All You Need》这篇论文里提出了 Transformer,它完全不用循环结构,只靠自注意力机制就能并行训练,不仅快,效果还更好,很快就成了新标准。
2. 预训练+微调成了主流
紧接着,ELMo(2018)让同一个词在不同句子里有不同的表示;GPT(2018)用 Transformer 解码器做生成式预训练;BERT(2018)则能同时看一个词前后的上下文,在很多公开测试上都打破了纪录。从此以后,大家不再为每个小任务单独训练模型,而是先在一个超大的文本库上预训练一个通用模型,再用少量数据微调一下就能用,省时间又省资源。
五、大模型时代正式开启(2020年到现在)
2020年 GPT-3 的发布是个重要转折点,它的参数量达到了上千亿,不仅能完成零样本或少样本的学习,还能写文章、写程序、回答复杂问题。之后 ChatGPT、Claude、Gemini、通义千问等模型接连推出,NLP 不再只是后台工具,而是变成了能和人对话、帮人干活的智能助手。
六、接下来还会面对哪些难题
虽然现在的大模型能力很强,但问题也不少:比如它的决策过程像黑盒子,人很难搞懂它为什么这么回答;训练一次花的钱和电都非常多;模型还可能把训练数据里的偏见学过来;另外,未来的发展方向很可能是把文字、图片、声音这些不同类型的信息一起学,做成真正的多模态智能体。
结语
从 Word2Vec 到 ChatGPT,NLP 的进步不只是算法变复杂了,更是我们对语言本身理解得更深了。随着硬件越来越强、数据越来越多、方法越来越聪明,让机器真正“听懂人话”这件事,已经离我们越来越近了。