文本数据预处理:从scikit - learn到Keras
1. 文本清洗的额外考虑
在处理文本数据时,除了基本的清洗步骤,还有许多额外的考虑因素:
- 处理无法全部载入内存的大文档或大量文本文件。
- 从HTML、PDF等标记或结构化文档格式中提取文本。
- 将其他语言的字符音译为英语。
- 将Unicode字符解码为规范化形式,如UTF - 8。
- 处理特定领域的单词、短语和首字母缩写词。
- 处理或移除数字,如日期和金额。
- 定位并纠正常见的拼写错误。
一个实用的技巧是在每次转换后持续审查标记。理想情况下,每次转换后保存一个新文件,以便有时间查看新形式的数据。
2. 使用scikit - learn准备文本数据
2.1 词袋模型
在使用机器学习算法时,不能直接处理文本,需要将文本转换为数字。词袋模型(Bag - of - Words Model,BoW)是一种简单有效的处理文本的模型。它忽略单词的顺序信息,专注于文档中单词的出现情况。通过为每个单词分配一个唯一的数字,任何文档都可以编码为一个固定长度的向量,向量长度为已知单词的词汇表长度,向量中每个位置的值可以是单词的计数或频率。
2.2 使用CountVectorizer进行词计数
CountVectorizer可以方便地对文本进行分词、构建词汇表并对新文档进行编码。具体操作步骤如下:
1. 创建CountVectorizer类的实例。
2. 调用fit()函数从一个或多个文档中学习词汇表。
3. 根据需要调用transform(
超级会员免费看
订阅专栏 解锁全文
639

被折叠的 条评论
为什么被折叠?



