【博学谷学习记录】超强总结,用心分享丨人工智能 自然语言处理 文本特征处理小结

news/2024/11/29 22:29:40/

目录

    • 文本特征处理作用
    • 常见的文本特征处理方法
      • 添加n-gram特征
        • 说明
        • 提取n-gram
      • 文本长度规范
        • 说明
        • 实现
        • 导包问题记录
    • 心得

文本特征处理作用

文本特征处理包括为语料添加具有普适性的文本特征, 如:n-gram特征

以及对加入特征之后的文本语料进行必要的处理, 如: 长度规范.

这些特征处理工作能够有效的将重要的文本特征加入模型训练中, 增强模型评估指标。

常见的文本特征处理方法

添加n-gram特征

说明

给定一段文本序列, 其中n个词或字的相邻共现特征即n-gram特征, 常用的n-gram特征是bi-gram和tri-gram特征, 分别对应n为2和3.

如[“我”,“爱”,“你”] 对应向量[1, 23, 45] ,我爱两个字共现且相邻(bi-gram特),用1000表示这种关系,则包含2-gram特征的向量为[1,23,45,1000]

n > 3 时 会导致算力不够,常为2, 3

提取n-gram

ngram_range = 2def create_ngram_set(input_list):"""description: 从数值列表中提取所有的n-gram特征:param input_list: 输入的数值列表, 可以看作是词汇映射后的列表:return: n-gram特征组成的集合"""return set(zip(*[input_list[i:] for i in range(ngram_range)]))ngram_set = create_ngram_set([1, 4, 9, 4, 1, 4])
print(ngram_set)

在这里插入图片描述

文本长度规范

说明

  • 规范原因:
    一般模型的输入需要等尺寸大小的矩阵, 因此在进入模型前需要对每条文本数值映射后的长度进行规范。

  • 规范过程:
    此时将根据句子长度分布分析出覆盖绝大多数文本的合理长度, 对超长文本进行截断, 对不足文本进行补齐(一般使用数字0)

实现

from keras_preprocessing import sequence# cut_len根据数据分析中句子长度分布,覆盖90%左右语料的最短长度.
cut_len = 10def padding(x_train):"""description: 对输入文本张量进行长度规范:param x_train: 文本的张量表示:return: 进行截断补齐后的文本张量表示"""# 使用sequence.pad_sequences即可完成return sequence.pad_sequences(x_train, cut_len)if __name__ == '__main__':# 假定x_train里面有两条文本, 一条长度大于10, 一天小于10x_train = [[1, 23, 5, 32, 55, 63, 2, 21, 78, 32, 23, 1],[2, 32, 1, 23, 1]]res = padding(x_train)print(res)

![在这里插入图片描述](https://img-blog.csdnimg.cn/8cee35bbdfea4f65bcdfe0f6bf6c334a.

导包问题记录

在这里插入图片描述

错误导包
from keras.preprocessing import sequence

改为
from keras_preprocessing import sequence

心得

在练习的时候如果在服务器上通过命令行方式敲写,更加需要细心,以及对报错进行思考并总结


http://www.ppmy.cn/news/30303.html

相关文章

React—— hooks(一)

🧁个人主页:个人主页 ✌支持我 :点赞👍收藏🌼关注🧡 文章目录⛳React Hooks💸useState(保存组件状态)🥈useEffect(处理副作用)🔋useCallback(记忆函数&#…

算法练习-二分查找(一)

算法练习-二分查找 1 代码实现 1.1 非递归实现 public int bsearch(int[] a, int n, int value) {int low 0;int high n - 1;while (low < high) {int mid (low high) / 2;if (a[mid] value) {return mid;} else if (a[mid] < value) {low mid 1} else {high …

Android Learn

SharedPreference 共享参数用法 SharedPreference 是 Android 的一个轻量级存储工具, 采用的存储结构是Key-Value的键值对方式. 共享参数的存储介质是符合XML规范的配置文件. 保存路径是: /data/data/应用包名/shared_prefs/文件名.xml 利用元数据配置快捷菜单 (1)元数据的meta…

红队APT——邮件钓鱼攻击SwaksOffice漏洞RLO隐藏压缩释放

目录 (一)采用自己搭建Ewomail配合Swaks 0x01 搭建过程 0x02 配置转发信息 (二)网页钓鱼-克隆修改

【Linux学习】基础IO——软硬链接 | 制作动静态库

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 基础IO&#x1f353;软硬链接&#x1f332;软链接&#x1f332;硬链接&#x1f353;动静态库&…

Python使用HTTP模式隧道示例

通过序列索引迭代另外一种执行循环的遍历方式是通过索引&#xff0c;如下实例&#xff1a;实例#!/usr/bin/python# -*- coding: UTF-8 -*- fruits [banana, apple, mango]for index in range(len(fruits)): print (当前水果 : %s % fruits[index]) print ("Good bye!&quo…

sklearn使用入门

文章目录1.机器学习1.1 机器学习简介1.2 有监督学习(supervised learning)1.3 无监督学习(unsupervised learning)1.4 半监督学习2. 机器学习工具SKlearn2.1 sklearn2.2 sklearn常用模块2.2.1 分类2.2.2 回归2.2.3 聚类2.2.4 降维2.2.5 模型选择2.2.6 数据预处理2.3 sklearn使用…

Linux - 内存性能评估

文章目录概述free 命令指定的时间段内不间断地监控内存的使用情况通过watch与free相结合动态监控内存状况vmstat命令监控内存“sar –r”命令组合小结概述 内存的管理和优化是系统性能优化的一个重要部分&#xff0c;内存资源的充足与否直接影响应用系统的使用性能。在进行内存…