系列文章目录
第一章 规则和传统NLP之NLP概述
第二章 规则和传统NLP之NLP任务范式
第三章 规则和传统NLP之困难和挑战
第四章 NLP常见语料库
第五章 NLP(正向,逆向,双向匹配法分词及代码实现)
第六章 NLP(词性标注,jieba库实现)
第七章 NLP(命名实体识别NER)
文章目录
- 系列文章目录
- [一、 基于统计的任务范式](#一、 基于统计的任务范式)
-
- [1.1 任务流程](#1.1 任务流程)
-
- [1.1.1 数据收集与预处理](#1.1.1 数据收集与预处理)
- [1.1.2 特征工程](#1.1.2 特征工程)
- [1.1.3 学习过程](#1.1.3 学习过程)
- [二、 单词向量化技术(文本表示)](#二、 单词向量化技术(文本表示))
-
- [2.1 独热编码(One-Hot Encoding)](#2.1 独热编码(One-Hot Encoding))
- [2.2 词袋模型(Bag-of-Words, BoW)](#2.2 词袋模型(Bag-of-Words, BoW))
- [2.3 n-gram](#2.3 n-gram)
一、 基于统计的任务范式
1.1 任务流程
基于统计的任务范式(Statistical Paradigm in NLP)通常遵循数据驱动的流程,依赖于大量的语料库和统计模型来处理和分析自然语言任务。整个流程可以分为多个步骤,每一步都涉及到数据处理、特征提取、模型训练和评估。以下是基于统计的NLP任务范式的典型流程:
1.1.1 数据收集与预处理
统计方法依赖于大量的标注数据,因此数据的收集和预处理是一个非常重要的步骤。
- 数据收集:首先需要收集大量的文本数据,数据可以来自不同的来源,如网络、社交媒体、书籍、新闻、问答系统等。
- 文本清洗:包括去除HTML标签、特殊字符、非标准符号,处理换行符、空格等。
- 分词:将文本分解成更小的单位(如单词或词语),对于中文等语言需要使用分词工具。
- 去停用词:去除不携带有用信息的常见词(如"的"、"了"、"是"等)。
- 词形还原与词干提取:将单词转化为标准形式,减少词汇表的复杂度。
1.1.2 特征工程
特征提取是指从原始数据中选择、转换、构造出适用于机器学习模型的特征。在NLP中,这个过程通常涉及将文本转换为向量形式,因为模型(尤其是机器学习模型)无法直接理解文本,需要数值化表示才能进行计算。
- 单词向量化(核心部分):将单词转化为向量的核心意义在于,语言中的每个词都有其特定的语法和语义属性,而这些属性需要通过一种数值化的方式表达,以便机器可以进行分析、比较和推理。
- 句子或文档的向量化:与单个单词转化为向量类似,将句子或文档转化为向量的主要目标是将自然语言文本的复杂信息压缩成一个固定维度的数值表示,以便机器能够处理和理解。
- 特征选择:特征选择可以提高模型的性能、减少计算成本、提升模型的可解释性。特征选择的方法通常分为三类:过滤法(Filter)、包裹法(Wrapper)和嵌入法(Embedded)。(具体看聚类与特征工程部分)
1.1.3 学习过程
基于统计的方法通常依赖于传统的机器学习算法。选择合适的模型并进行训练是整个流程的关键步骤。
- 选择模型 :根据任务的性质选择合适的统计模型,例如:
- 朴素贝叶斯(Naive Bayes):适用于分类任务,特别是文本分类和情感分析。
- 支持向量机(SVM):用于高维特征空间的分类任务,常用于文本分类和情感分析。
- 隐马尔可夫(HMM):HMM主要用于解决序列标注问题,即给定一个观测序列,预测每个观测的标签。
- 条件随机场(CRF):适用于序列标注任务,如命名实体识别(NER)和词性标注(POS tagging)。
- 训练模型:使用训练数据集来训练模型。训练过程包括最大化目标函数或最小化损失函数(如最大似然估计)。
- 评估模型:评估模型的性能是保证其准确性和鲁棒性的重要步骤。
二、 单词向量化技术(文本表示)
单词向量化技术是将自然语言中的单词转换为数学向量的过程,这些向量能够捕捉到单词的语义信息。向量化的目的是使得机器能够理解和操作自然语言文本,因为计算机只能处理数值数据而不能直接理解文本。单词向量化的技术通过将单词映射到高维空间,使得相似语义的单词在向量空间中相距较近。
2.1 独热编码(One-Hot Encoding)
-
原理:每个单词表示为一个稀疏的向量,其中向量的维度等于词汇表的大小。若某个位置对应的单词出现,则该位置为1,其他位置为0。
-
优缺点
- 优点:简单,易于实现。
- 缺点:空间浪费,无法捕捉词语间的相似性,且不适合大规模数据集。
-
独热编码 vs 标签编码
- 标签编码适合:顺序关系明显的类别数据,例如:低,中,高。
- 独热编码适合:无顺序关系的类别数据,例如:cat,dog,bird;需要避免模型假设类别之间的大小关系时,尤其是在线性模型中。
2.2 词袋模型(Bag-of-Words, BoW)

-
原理:将文本中的单词转换为向量,向量的每一维表示词汇表中一个单词在文本中出现的频率。该方法忽略了单词的顺序。
-
优缺点
- 优点:简单,易于实现,适用于文本分类等任务。
- 缺点:词汇表过大时会产生稀疏矩阵,无法捕捉单词之间的语法和语义关系,且没有对应的顺序关系。
- 不同版本
按照不同的度量标准,词袋模型可以分为以下版本:
- 二元特征:将文档中的每个单词转换为一个二元值(0 或 1),可以认为是简化版的词袋模型。
- TF:将文档中的每个单词转换为一个词频,正常的词袋模型版本。
- TF-IDF:将词频和逆文档频率结合起来的指标,可以认为是进阶版的词袋模型。
2.3 n-gram
-
原理:n-gram 是一种基于上下文的文本表示方法,它将文本分割成连续的 n 个词的组合(称为 n-gram)。
-
优缺点
- 优点:n-gram 考虑到词语之间的相对位置和顺序,因此能够表示出更复杂的上下文信息。
- 缺点:很容易产生维度灾难,n-gram 特征空间的维度随着 n 值的增大而急剧增加。
-
vs 词袋模型
- n-gram 是词袋模型的扩展:在 BoW 中,特征表示的是单个词,而在 n-gram 模型中,特征是一个个连续的词组(n-gram)。
- 弥补词袋模型的局限性:词袋模型虽然简单高效,但无法捕捉词序关系,导致它不能表示词之间的上下文信息。n-gram 通过捕捉词语的相对顺序来弥补这一缺陷。