NLP基础

NLP基础

一、基本概念

1.什么是自然语言处理

自然语言处理(Natural Language Processing,简称NLP)是计算机科学、人工智能和语言学交叉领域的一个分支,它致力于使计算机能够理解、解释和生成人类的自然语言。

2.NLP的基础概念

​ (1)词表/词库(Vocabulary):文本数据集中出现的所有单词的集合(不会存在重复的词)。

​ (2)语料库(Corpus):用于NLP任务的文本数据集合,可以是大规模的书籍、文章、网页等。

​ (3)词嵌入(Word Embedding):将单词映射到低维连续向量空间的技术,用于捕捉单词的语义和语法信息。

​ (4)停用词(Stop Words):在文本处理中被忽略的常见单词,如"a"、"the"、"is"等,它们通常对文本的意义贡献较 小。

​ (5)分词(Tokenization):将文本分割成一个个单词或标记的过程,为后续处理提供基本的单位。

​ (6) 词频(Term Frequency):在给定文档中,某个单词出现的次数。

​ (7)逆文档频率(Inverse Document Frequency):用于衡量一个单词在整个语料库中的重要性,是将词频取倒数并取 对数的值。

​ (8) TF-IDF(Term Frequency-Inverse Document Frequency):一种常用的文本特征表示方法,综合考虑了词频和逆文档频率。

​ (9) 词袋模型(Bag of Words):将文本表示为一个单词的集合,忽略了单词的顺序和语法结构。

(10)N-gram:连续的N个单词构成的序列,用于捕捉文本中的局部特征和上下文信息。

(11)序列:指的是一个按顺序排列的元素集合。这些元素可以是字符、单词、句子,甚至更抽象的结构。序列的每个元素都有特定的顺序和位置,这意味着它们不能随意重排,否则会影响其意义或功能。

序列的常见类型

  1. 字符序列
    • 一个字符串就是一个字符序列,每个字符按顺序排列。
    • 例子:"hello" 是一个由 hello 组成的字符序列。
  2. 单词序列
    • 一句话可以看作是一个单词序列,每个单词按照一定顺序排列。
    • 例子:"I love NLP" 是一个由 IloveNLP 组成的单词序列。
  3. 时序数据
    • 在时间序列中,元素是按时间顺序排列的,常用于预测问题。
    • 例子:股票价格数据可以看作是随时间变化的数值序列。
  4. 语音序列
    • 在语音处理任务中,语音信号可以被分解为按时间顺序排列的帧序列(特征向量序列)。
  5. 其他序列
    • 序列还可以表示一些更抽象的结构,比如DNA序列(由碱基组成的序列)、事件序列等。

3.NLP的基本流程

语料获取 -> 语料预处理(去除非文本,中文分词,词性标注,去除停用词) -> 文本向量化(特征工程)-> 模型搭建 -> 模型训练 -> 模型评价

4.NLP的主要任务

  1. 文本分类
    • 将文本归类到预定义的类别中,例如垃圾邮件检测、情感分析、主题分类等。
  2. 命名实体识别(NER)
    • 从文本中识别出特定类型的实体,如人名、地名、组织名、时间表达式等。
  3. 词性标注(POS Tagging)
    • 为文本中的每个单词分配一个词性标签,如名词、动词、形容词等。
  4. 句法分析
    • 分析句子的结构,确定单词之间的语法关系,包括依存句法分析和成分句法分析。
  5. 语义分析
    • 理解文本的含义,包括语义角色标注、指代消解、情感分析等。
  6. 机器翻译
    • 将一种自然语言自动转换成另一种自然语言,如将英文翻译成中文。
  7. 问答系统
    • 根据用户的问题,从大量文档中检索相关信息并生成答案。
  8. 文本生成
    • 生成连贯且有意义的文本,如自动摘要、文章生成、对话生成等。
  9. 信息抽取
    • 从非结构化文本中提取结构化信息,如事件抽取、关系抽取等。
  10. 语音识别与合成
    • 将语音信号转换成文本(语音识别),或将文本转换成语音(语音合成)。

5.应用领域

  • 搜索引擎:提高搜索结果的相关性。
  • 虚拟助手:如 Siri、Alexa、Google Assistant 等,提供语音交互功能。
  • 聊天机器人:用于客户服务、娱乐互动等。
  • 内容推荐:根据用户的兴趣推荐新闻、视频等内容。
  • 情感分析:帮助企业了解用户对产品或服务的情感倾向。
  • 医疗健康:辅助诊断、病历分析等。

二、NLP中的特征工程

特征工程在自然语言处理(NLP)中是指从原始文本数据中提取有用的信息,将其转换为机器学习模型可以理解和使用的数值特征的过程。

1.词向量

词向量(Word Embedding)是自然语言处理中的一种技术,用于将文本中的单词表示为高维空间中的向量。这些向量捕捉了单词的语义和语法信息,并且在向量空间中,语义相似的单词通常具有相近的向量表示。词向量的主要目的是将离散的词汇转换为连续的数值表示,以便可以应用于机器学习和深度学习模型。

2.传统NLP的特征工程

2.1独热编码(one-hot)

独热编码(One-Hot Encoding) 是一种常见的特征表示方法,通常用于将离散的类别型数据转换为数值型表示,以便输入到机器学习模型中。它的特点是将每个类别表示为一个向量,在该向量中,只有一个元素为1,其余元素全部为0。

2.2词频-逆文档频率(TF-IDF)

词频(TF)

逆文档频率(Inverse Document Frequency, IDF)

TF-IDF

2.3 n-grams

n-grams 是特征工程中的一种技术,它通过将文本中的连续 n 个词(或字符)组合起来,形成一个短语来捕捉文本中的局部上下文信息。n 可以为 1、2、3 等,具体取决于希望捕捉的上下文范围。

什么是 n-grams?

  • 1-gram(Unigram) :每个单独的词作为一个单位。例如,"I love NLP" 的 1-gram 是 ["I", "love", "NLP"]
  • 2-grams(Bigram) :相邻的两个词组合成一个短语。例如,"I love NLP" 的 2-grams 是 ["I love", "love NLP"]
  • 3-grams(Trigram) :相邻的三个词组合成一个短语。例如,"I love NLP" 的 3-grams 是 ["I love NLP"]

LP" 的 2-grams 是 ["I love", "love NLP"]

  • 3-grams(Trigram) :相邻的三个词组合成一个短语。例如,"I love NLP" 的 3-grams 是 ["I love NLP"]

n-grams通常与TF-IDF一同使用

相关推荐
aimmon4 分钟前
深度学习之开发环境(CUDA、Conda、Pytorch)准备(4)
人工智能·pytorch·python·深度学习·conda·cuda
qhqlnannan13 分钟前
深度学习-11
人工智能·深度学习
Eric.Lee202130 分钟前
数据集-目标检测系列-吸烟检测数据集 smoking cigarette >> DataBall
人工智能·深度学习·目标检测·数据集·吸烟检测
Francek Chen31 分钟前
【机器学习-无监督学习】聚类
人工智能·机器学习·均值算法·数据挖掘·聚类·k-means
SEU-WYL1 小时前
基于深度学习的人机情感交互
人工智能·深度学习·交互
全职计算机毕业设计1 小时前
基于深度学习的数字识别系统的设计与实现(python、yolov、PyQt5)
人工智能·python·深度学习
机器之心1 小时前
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
android·人工智能
新智元1 小时前
陶哲轩全网悬赏「最强大脑」!AI + 人类颠覆数学难题?凡尔赛网友已下场
前端·人工智能
OpenCSG1 小时前
OpenCSG DataFlow:锻造大模型智慧的炼金术,开启数据集Agentic新范式
数据库·人工智能·数据处理·agentic
鸽芷咕1 小时前
【百度文心智能体】想开发爆款智能体?来看看黑神话旅游指南 智能体开发流程大揭秘
人工智能·百度·ai·智能体