2024年软件测试最新自然语言处理(NLP)学习路线总结(1),轻松拿到了阿里软件测试高级开发工程师的offer

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

在这里插入图片描述

4、自然语言处理基本点

4.1 语料库(Corpus)

语料库中存放的是在语言的实际使用中真实出现过的语言材料;语料库是以电子计算机为载体承载语言知识的基础资源;真实语料需要经过加工(分析和处理),才能成为有用的资源。

4.2 中文分词(Chinese Word egmentation)

(1)中文分词指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。

(2)现有的分词方法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于深度学习的中文分词。推荐

(3)比较流行的中文分词工具:jieba、StanfordNLP、HanLP、SnowNLP、THULAC、NLPIR

4.3 词性标注(Part-of-speech tagging)

(1)词性标注是指为给定句子中的每个词赋予正确的词法标记,给定一个切好词的句子,词性标注的目的是为每一个词赋予一个类别,这个类别称为词性标记(part-of-speech tag),比如,名词(noun)、动词(verb)、形容词(adjective)等。

(2)词性标注是一个非常典型的序列标注问题。最初采用的方法是隐马尔科夫生成式模型, 然后是判别式的最大熵模型、支持向量机模型,目前学术界通常采用的结构是感知器模型和条件随机场模型。近年来,随着深度学习技术的发展,研究者们也提出了很多有效的基于深层神经网络的词性标注方法。

4.4 句法分析(Parsing)

(1)基于规则的句法结构分析

(2)基于统计的语法结构分析

4.5 词干提取(Stemming)

词干提取是将词语去除变化或衍生形式,转换为词干或原型形式的过程。词干提取的目标是将相关词语还原为同样的词干。

4.6 词形还原(Lemmatization)

词形还原是将一组词语还原为词源或词典的词目形式的过程。

4.7 停用词过滤

停用词过滤是指在文本中频繁出现且对文本信息的内容或分类类别贡献不大甚至无贡献的词语,如常见的介词、冠词、助词、情态动词、代词以及连词等。

4.8 词向量化(Word Vector)

词向量化是用一组实数构成的向量代表自然语言的叫法。这种技术非常实用,因为电脑无法处理自然语言。词向量化可以捕捉到自然语言和实数间的本质关系。通过词向量化,一个词语或者一段短语可以用一个定维的向量表示。(word2vec)

from gensim.models import Word2Vec

4.9 命名实体消歧(Named Entity Disambiguation)

命名实体消岐是对句子中的提到的实体识别的过程。

例如,对句子“Apple earned a revenue of 200 Billion USD in 2016”,命名实体消岐会推断出句子中的Apple是苹果公司而不是指一种水果。一般来说,命名实体要求有一个实体知识库,能够将句子中提到的实体和知识库联系起来。

4.10 命名实体识别(named entity recognition)

命名实体识别是识别一个句子中有特定意义的实体并将其区分为人名,机构名,日期,地名,时间等类别的任务。

三种主流算法:CRF,字典法和混合方法

5、特征处理

5.1 特征提取(Feature Extraction)

特征提取是指将机器学习算法不能识别的原始数据转化为算法可以识别的特征的过程。

举例(文本分类特征提取步骤):

(1)对训练数据集的每篇文章,我们进行词语的统计,以形成一个词典向量。词典向量里包含了训练数据里的所有词语(假设停用词已去除),且每个词语代表词典向量中的一个元素。

(2)在经过第一步的处理后,每篇文章都可以用词典向量来表示。这样一来,每篇文章都可以被看作是元素相同且长度相同的向量,不同的文章具有不同的向量值。这也就是表示文本的词袋模型(bag of words)。

(3)针对于特定的文章,如何给表示它的向量的每一个元素赋值呢?最简单直接的办法就是0-1法了。简单来说,对于每一篇文章,我们扫描它的词语集合,如果某一个词语出现在了词典中,那么该词语在词典向量中对应的元素置为1,否则为0。

5.2 特征选择( Feature Selection)

当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。特征选择是指去掉无关特征,保留相关特征的过程,也可以认为是从所有的特征中选择一个最好的特征子集。特征选择本质上可以认为是降维的过程。

from sklearn.feature_extraction.text import TfidfVectorizer

5.3 降维(Dimension Reduction)

6、模型选择

6.1 马尔可夫模型、隐马尔可夫模型、层次化隐马尔可夫模型、马尔可夫网络

(1)应用:词类标注、语音识别、局部句法剖析、语块分析、命名实体识别、信息抽取等。应用于自然科学、工程技术、生物科技、公用事业、信道编码等多个领域。

(2)马尔可夫链:在随机过程中,每个语言符号的出现概率不相互独立,每个随机试验的当前状态依赖于此前状态,这种链就是马尔可夫链。

(3)多元马尔科夫链:考虑前一个语言符号对后一个语言符号出现概率的影响,这样得出的语言成分的链叫做一重马尔可夫链,也是二元语法。二重马尔可夫链,也是三元语法,三重马尔可夫链,也是四元语法

6.2 条件随机场(CRF)

(1)条件随机场用于序列标注,中文分词、中文人名识别和歧义消解等自然语言处理中,表现出很好的效果。原理是:对给定的观察序列和标注序列,建立条件概率模型。条件随机场可用于不同预测问题,其学习方法通常是极大似然估计。

(2)条件随机场模型也需要解决三个基本问题:特征的选择、参数训练和解码。

6.3 贝叶斯网络

贝叶斯网络又称为信度网络或信念网络(belief networks),是一种基于概率推理的数学模型,其理论基础是贝叶斯公式。

6.4 最大熵模型

7、NLP常用工具

(1)Anaconda

Anaconda是一个用于科学计算的Python开发平台,支持 Linux,Mac和Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本Python并存、切换以及各种第三方包安装问题。Anaconda利用conda命令来进行package和environment的管理,并且已经包含了Python和相关的配套工具。Anaconda集成了大量的机器学习库以及数据处理必不可少的第三方库,比如NumPy,SciPy,Scikit-Learn以及TensorFlow等。

(2)Scikit-learn

Scikit-learn是广受欢迎的入门级机器学习库,包含大量的机器学习算法和特征提取实现,使用非常简便。Scikit-learn实现的是浅层学习算法,神经网络仅实现了多层感知机。

(3)TensorFlow

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,可被用于语音识别或图像识别等多项机器学习和深度学习领域。

(4)Keras

Keras是一个高级别的Python神经网络框架,能在TensorFlow或者 Theano 上运行。Keras的作者、谷歌AI研究员Francois Chollet宣布了一条激动人心的消息,Keras将会成为第一个被添加到TensorFlow核心中的高级别框架,这将会让Keras变成Tensorflow的默认API。

(5)Gensim

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口。

(6)NLTK

在NLP领域中,NLTK是最常使用的一个Python库。

(7)Jieba

Jieba,结巴分词是最受欢迎的中文分词工具。

8、NLP语言模型

(1)词的独热表示(one-hot representation)

(2)Bag of Words

(3)Bi-gram 和 N-gram

(4)词的分布式表示(distributed representation)

(5)共现矩阵(Cocurrence martrix)

(6)神经网络语言模型(Neural Networ Language model,NNLM)

(7)word2vec

   连续词袋模型(Continuous Bag of Words,CBOW)
   Skip-Gram模型

9、快速入门NLP方法

(1)认真看完一本NLP相关的书,坚持看完一部视频。

(2)看这两年相关方向的综述论文,然后看一些经典的论文和最新论文。

(3)独立实现一个小型的自然语言处理项目。

(4)可以在Github上找到很多相关的开源代码,选一个自己感兴趣的方向进行研究。

10、自然语言处理学习资料

(1)我爱自然语言处理

(2)一文读懂自然语言NLP

(3)中文分词原理与工具

(4)自然语言处理项目资源库汇总

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-BV19lwb9-1715050490388)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 30
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值