学习自:基于深度学习的NLP
文本预处理
文本预处理思想是这样的:机器不需要语料库中的无关部分。它只需要执行手头任务所需的重要单词和短语。文本预处理基本上是告诉机器什么需要考虑、哪些可以忽略。
常用的文本预处理技术:
❏小写/大写转换
❏去噪:正则
❏文本规范化:错误拼写和缩写规范。最常见的方法是使用字典映射
❏词干提取
❏词形还原
❏标记化:分词
❏删除停止词
词嵌入
当提供数值数据作为输入时,模型执行效率最高,因此自然语言处理的关键作用是将预处理的文本数据转换为数值数据,数值数据是文本数据的数字表示。
词嵌入的含义:它们是文本实值向量形式的数值表示。具有相似含义的词映射到相似的向量,形成与具有相似含义的单词相对应的相似向量簇。
词嵌入是映射到单个单词的向量,因此只有在语料库上执行了标记化后才能生成词嵌入
Word2Vec
Word2Vec是一个浅层神经网络,只有两层,因此不具备深度学习模型的资格。输入是一个文本语料库,它用来生成矢量作为输出。这些向量被称为输入语料库中单词的特征向量。它将语料库转换成可以被深层神经网络理解的数值数据。
Word2Vec的目的是理解两个或更多单词一起出现的概率,从而将具有相似含义的单词组合在一起,在向量空间中形成一个聚类
Word2Vec针对与输入语料库中的单词相邻的单词训练单词,有两种方法:
❏连续单词袋(CBOW)
该方法基于上下文预测当前单词。因此,它将单词的周围单词作为输入来产生单词作为输出,并且它基于这个单词确实是句子的一部分的概率来选择这个单词。
CBOW基于概率工作,因此选择在特定上下文中出现概率最高的单词。这意味着它通常只预测常见和频繁的单词,因为这些单词具有最高的概率,而罕见和不频繁的单词永远不会由CBOW产生。