1. 自然语言处理NLP-数据预处理 - 大白社区

发帖时间:
2023-05-26 16:05:49
机器学习与深度学习 # 自然语言处理 自然语言处理 人工智能 1335

摘要:自然语言处理数据预处理

NLP任务预处理的流程包括: 收集语料库、文本清洗、分词、去掉停用词、标准化和特征提取等。

(1)收集语料库

(2)清洗数据

eg:删除所有不相关的字符,例如非字母数字字母

(3)分词

英文:词性还原(does转为do);词干提取(cities转为city)

中文:粒度(中国科学技术大学、中国\科学技术\大学)

中文难度更高,没有统一的标准、歧义词难以区分、新词难以识别

常见的分词器都是使用机器学习算法和词典相结合,一方面能够提高分词准确率,另一方面能够改善领域适应性。其中典型的代表就是jieba分词,一个热门的多语言中文分词包。

(4)标准化

标准化是为了给后续的处理提供一些必要的基础数据,包括:去掉停用词、二次采样、词汇表等等。

去掉停用词:删除and 、is、a等词的过程。

二次采样:每个词有一定概率会被丢弃,越高频的词被丢弃的概率越大(eg:the、a、in)

词汇表:是为语料库建立一个所有不重复词的列表,每个词对应一个索引值,并索引值不可以改变。

(5)特征提取

将原始数据提取为具体特征(已被整理可直接使用),主要是两种:统计和embedding

(1)将词转化为一个向量,eg:One-Hot编码。但是由于非常稀疏,且缺少语义信息,所以才有word2vec

比如:我、爱、自然、语言、处理

转化为:

我:  [1, 0, 0, 0, 0]

爱:  [0, 1, 0, 0, 0]

自然:[0, 0, 1, 0, 0]

语言:[0, 0, 0, 1, 0]

处理:[0, 0, 0, 0, 1]

(2)提取中心词和背景词。在word2vec中使用。

在整数1和max_window_size(最大背景窗口)之间随机均匀采样一个整数作为背景窗口大小。

(6)负采样或softmax来近似训练。在word2vec中使用。

降低生成给定词汇条件概率的复杂程度。

(7)读取数据集

随机小批量进行读取(从数据集中提取所有中心词, 以及每个中心词对应的背景词和噪声词)

引用:(173条消息) [深度学习] 自然语言处理 --- NLP入门指南_不算晚的晴天的博客-大白工业论坛

动手学深度学习 李沐

机器学习与深度学习 # 自然语言处理 自然语言处理 人工智能

本文在知识共享 署名-相同方式共享协议之条款下提供。

阿不推荐

热门话题