自然语言处理概述

发布时间 2023-11-06 17:06:15作者: tw_nlp

自然语言处理概述

 

       以前的自然语言大多数停留在去根据业务来编写相应的规则来解决实际的问题,但是仅仅靠手工编写的规则是无法覆盖全部的内容,而且不同的规则之间也具有一定的矛盾,随着统计学的发展,人们逐渐的用统计的思想去解决一些实际的问题,例如马尔可夫假设,即一个词语出现的概率取决于它前面出现的所有词,但是随着文本长度的增加,对应条件概率的计算也变得困难。随着神经网络的发展,在2013年时,Google提出Word2Vec,这个模型是所有NLP学习者都熟悉的模型,他分为CBOW和Skip-gram两种,其中CBOW是使用周围的词语来进行预测中间的词,Skip-gram则是通过中间词来预测周围的词,但是该模型无法处理一词多义的问题,后面LSTM和CNN等模型也相继出现,来对句子中的词语进行编码,以便捕获词语的上下文的信息。

 

 

 

      2018年ELMO的出现,直接在词向量给出了一种优雅的解决方案,使用双向的LSTM作为网络结构,从两个方向编码词语的上下文来进行预测,该模型基于LSTM作为编码器,而不是特征提取能力更强的Transformer。

 

 

 

      随后GPT将ELMO中的LSTM替换为Transformer,GPT根据上文来进行下文的预测,但是没有考虑下文的信息,在一些任务上适应性较差,比如阅读理解,后面划时代的BERT出现,在编码方面不仅采用Transformer作为编码器,而且在预训练阶段采用NSP和MLM进行训练,使得词语的信息具有上下文的信息,使得更多的下游任务,后面BERT的变种陆续的出现,例如MacBert、RoBERTa和Ernie等。

 

 

 

      时至今日,大模型也逐渐的发展起来,现有开源的大模型无法处理特有的场景,所以很多企业结合自己的知识库,来对问题进行相关的检索,让大模型进行检索结果的总结,到这里自然语言的概述就写完了,后面对不断的更新所学内容。