前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >自然语言处理(NLP)学习路线总结

自然语言处理(NLP)学习路线总结

作者头像
机器学习AI算法工程
发布2024-07-04 13:32:52
发布2024-07-04 13:32:52
73200
代码可运行
举报
运行总次数:0
代码可运行
向AI转型的程序员都关注公众号 机器学习AI算法工程

1、自然语言处理概述

NLP是自然语言处理(Natural Language Processing)的缩写,它是计算机科学领域中专注于研究如何使计算机理解、生成和处理人类语言的学科。NLP涉及的技术包括但不限于分词、词性标注、句法分析、语义分析、机器翻译、情感分析、信息抽取、文本生成等。通过NLP,计算机可以处理和分析大量的文本数据,帮助人们更好地理解和应用语言信息。

传统NLP技术

分词和词性标注:学习如何将文本切分为单词或词组,并标注其词性。

句法分析:学习如何分析句子的语法结构,如依存关系分析。

语义分析:学习如何理解文本的语义,如命名实体识别、情感分析等。

信息检索:学习如何从大量文本中检索相关信息,如关键词搜索、文本聚类等。

深度学习NLP技术

神经网络基础:学习神经网络的基本原理和结构,如感知机、多层感知机等。

词嵌入:学习如何将单词映射为低维向量,如Word2Vec、GloVe等。

循环神经网络(RNN):学习如何处理序列数据,如语言模型、机器翻译等。

注意力机制:学习如何在模型中引入注意力机制,如Transformer模型。

预训练模型:学习如何使用预训练模型进行下游任务的微调,如BERT、GPT等。

基础知识

概率和统计

在自然语言处理(NLP)中,概率和统计方法被广泛应用于各种任务中,以解决与语言相关的复杂问题。以下是NLP中概率和统计方法的学习路线图:

机器学习

机器学习在自然语言处理(NLP)中扮演着至关重要的角色,它提供了一种让计算机从数据中学习并自动改进性能的方法。在NLP中,机器学习算法可以用于解决各种任务,如文本分类、信息抽取、机器翻译等。以下是NLP中机器学习的学习路线图:

文本挖掘

文本挖掘(Text Mining)是自然语言处理(NLP)领域中的一项重要技术,它涉及从大量非结构化文本数据中提取有用信息和知识的过程。文本挖掘的目标是帮助人们从文本数据中发现隐藏的模式、趋势和关系,以便更好地理解和利用这些数据。以下是NLP中文本挖掘的学习路线图:

自然语言处理

自然语言处理(Natural Language Processing,NLP)是人工智能领域中的一个重要分支,旨在使计算机能够理解和生成人类语言。NLP的目标是让计算机能够处理和分析大量的自然语言数据,从而实现人机之间的有效通信和交互。以下是NLP中自然语言处理的学习路线图:

NLP算法及开发工具

NLP算法

Python算法包

2、自然语言处理的主要技术范畴

2.1 语义文本相似度分析

语义文本相似度分析是对两段文本的意义和本质之间的相似度进行分析的过程。

2.2 信息检索(Information Retrieval, IR)

信息检索是指将信息按一定的方式加以组织,并通过信息查找满足用户的信息需求的过程和技术。

2.3 信息抽取(Information Extraction)

信息抽取是指从非结构化/半结构化文本(如网页、新闻、 论文文献、微博等)中提取指定类型的信息(如实体、属性、关系、事件、商品记录等),并通过信息归并、冗余消除和冲突消解等手段将非结构化文本转换为结构化信息的一项综合技术。

2.4 文本分类(Text Categorization)

文本分类的任务是根据给定文档的内容或主题,自动分配预先定义的类别标签。

2.5 文本挖掘(Text Mining)

文本挖掘是信息挖掘的一个研究分支,用于基于文本信息的知识发现。文本挖掘的准备工作由文本收集、文本分析和特征修剪三个步骤组成。目前研究和应用最多的几种文本挖掘技术有:文档聚类、文档分类和摘要抽取。

2.6 文本情感分析(Textual Affective Analysis)

情感分析是一种广泛的主观分析,它使用自然语言处理技术来识别客户评论的语义情感,语句表达的情绪正负面以及通过语音分析或书面文字判断其表达的情感等。

2.7 问答系统(Question Answering, QA)

自动问答是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。不同于现有搜索引擎,问答系统是信息服务的一种高级形式,系统返回用户的不再是基于关键词匹配排序的文档列表,而是精准的自然语言答案。

2.8 机器翻译(Machine Translation,MT)

机器翻译是指利用计算机实现从一种自然语言到另外一种自然语言的自动翻译。被翻译的语言称为源语言(source language),翻译到的语言称作目标语言(target language)。

机器翻译研究的目标就是建立有效的自动翻译方法、模型和系统,打破语言壁垒,最终实现任意时间、任意地点和任意语言的自动翻译,完成人们无障碍自由交流的梦想。

2.9 自动摘要(Automatic Summarization)

自动文摘(又称自动文档摘要)是指通过自动分析给定的一篇文档或多篇文档,提炼、总结其中的要点信息,最终输出一篇长度较短、可读性良好的摘要(通常包含几句话或数百字),该摘要中的句子可直接出自原文,也可重新撰写所得。

根据输入文本的数量划分,文本摘要技术可以分为单文档摘要和多文档摘要。 在单文档摘要系统中,一般都采取基于抽取的方法。而对于多文档而言,由于在同一个主题中的不同文档中不可避免地存在信息交叠和信息差异,因此如何避免信息冗余,同时反映出来自不同文档的信息差异是多文档文摘中的首要目标,而要实现这个目标通常以为着要在句子层以下做工作,如对句子进行压缩,合并,切分等。另外,单文档的输出句子一般是按照句子在原文中出现的顺序排列,而在多文档摘要中,大多采用时间顺序排列句子,如何准确的得到每个句子的时间信息,也是多文档摘要需要解决的一个问题。

2.10 语音识别(Speech Recognition)

语言识别指的是将不同语言的文本区分出来。其利用语言的统计和语法属性来执行此任务。语言识别也可以被认为是文本分类的特殊情况

3、自然语言处理基本点

3.1 语料库(Corpus)

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

3.2 中文分词(Chinese Word egmentation)

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

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

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

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

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

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

3.4 句法分析(Parsing)

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

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

3.5 词干提取(Stemming)

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

3.6 词形还原(Lemmatization)

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

3.7 停用词过滤

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

3.8 词向量化(Word Vector)

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

代码语言:javascript
代码运行次数:0
复制
from gensim.models import Word2Vec

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

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

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

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

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

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

4、特征处理

4.1 特征提取(Feature Extraction)

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

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

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

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

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

4.2 特征选择( Feature Selection)

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

from sklearn.feature_extraction.text import TfidfVectorizer

4.3 降维(Dimension Reduction)

5、模型选择

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

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

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

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

5.2 条件随机场(CRF)

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

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

5.3 贝叶斯网络

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

5.4 最大熵模型

6、快速入门NLP方法

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习AI算法工程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、自然语言处理概述
    • Python算法包
  • 2、自然语言处理的主要技术范畴
    • 2.1 语义文本相似度分析
    • 2.2 信息检索(Information Retrieval, IR)
    • 2.3 信息抽取(Information Extraction)
    • 2.4 文本分类(Text Categorization)
    • 2.5 文本挖掘(Text Mining)
    • 2.6 文本情感分析(Textual Affective Analysis)
    • 2.7 问答系统(Question Answering, QA)
    • 2.8 机器翻译(Machine Translation,MT)
    • 2.9 自动摘要(Automatic Summarization)
    • 2.10 语音识别(Speech Recognition)
  • 3、自然语言处理基本点
    • 3.1 语料库(Corpus)
    • 3.2 中文分词(Chinese Word egmentation)
    • 3.3 词性标注(Part-of-speech tagging)
    • 3.4 句法分析(Parsing)
    • 3.5 词干提取(Stemming)
    • 3.6 词形还原(Lemmatization)
    • 3.7 停用词过滤
    • 3.8 词向量化(Word Vector)
    • 3.9 命名实体消歧(Named Entity Disambiguation)
    • 3.10 命名实体识别(named entity recognition)
  • 4、特征处理
    • 4.1 特征提取(Feature Extraction)
    • 4.2 特征选择( Feature Selection)
    • 4.3 降维(Dimension Reduction)
  • 5、模型选择
    • 5.1 马尔可夫模型、隐马尔可夫模型、层次化隐马尔可夫模型、马尔可夫网络
    • 5.2 条件随机场(CRF)
    • 5.3 贝叶斯网络
    • 5.4 最大熵模型
  • 6、快速入门NLP方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档