当前位置: 首页 > wzjs >正文

建网站需要哪些硬件东营网站建设制作

建网站需要哪些硬件,东营网站建设制作,疫情爆发,自动编程软件本文目录: 一、添加n-gram特征(一)概念(二)提取n-gram特征 二、文本长度规范及其作用(一)截断(Truncation)(二)填充(Padding&#xff…

本文目录:

  • 一、添加n-gram特征
    • (一)概念
    • (二)提取n-gram特征
  • 二、文本长度规范及其作用
    • (一)截断(Truncation)
    • (二)填充(Padding)
  • 三、回译数据增强法

**前言:**前文讲解了文本数据处理,这篇文章讲解NLP的文本特征处理。

文本特征处理主要有 添加n-gram特征文本长度规范两种方式。

一、添加n-gram特征

(一)概念

N-gram是自然语言处理(NLP)中的一种基础但强大的文本特征表示方法,用于捕捉局部词序信息。

假设给定分词列表: ["是谁", "敲动", "我心"]对应的数值映射列表为: [1, 34, 21]我们可以认为数值映射列表中的每个数字是词汇特征.除此之外, 我们还可以把"是谁""敲动"两个词共同出现且相邻也作为一种特征加入到序列列表中,假设1000就代表"是谁""敲动"共同出现且相邻此时数值映射列表就变成了包含2-gram特征的特征列表: [1, 34, 21, 1000]这里的"是谁""敲动"共同出现且相邻就是bi-gram特征中的一个."敲动""我心"也是共现且相邻的两个词汇, 因此它们也是bi-gram特征.假设1001代表"敲动""我心"共同出现且相邻那么, 最后原始的数值映射列表 [1, 34, 21] 添加了bi-gram特征之后就变成了 [1, 34, 21, 1000, 1001]

(二)提取n-gram特征

代码:

# 一般n-gram中的n取2或者3, 这里取2为例
ngram_range = 2def create_ngram_set(input_list):"""description: 从数值列表中提取所有的n-gram特征:param input_list: 输入的数值列表, 可以看作是词汇映射后的列表, 里面每个数字的取值范围为[1, 25000]:return: n-gram特征组成的集合eg:>>> create_ngram_set([1, 3, 2, 1, 5, 3]){(3, 2), (1, 3), (2, 1), (1, 5), (5, 3)}""" return set(zip(*[input_list[i:] for i in range(ngram_range)]))

调用:

input_list = [1, 3, 2, 1, 5, 3]
res = create_ngram_set(input_list)
print(res)

运行结果:

# 该输入列表的所有bi-gram特征
{(3, 2), (1, 3), (2, 1), (1, 5), (5, 3)}

二、文本长度规范及其作用

一般模型的输入需要等尺寸大小的矩阵, 因此在进入模型前需要对每条文本数值映射后的长度进行规范:分析出覆盖绝大多数文本的合理长度, 然后对超长文本进行截断, 对不足文本进行补齐(一般使用数字0)。

(一)截断(Truncation)

作用:丢弃超出最大长度的部分文本。

适用场景:文本长度分布长尾,且尾部信息冗余。

实现示例(PyTorch):

max_len = 128
text = "这是一段非常长的文本..."  # 假设分词后为词ID列表
truncated_text = text[:max_len]  # 保留前128个词

(二)填充(Padding)

作用:将短文本补至固定长度。

适用场景:文本长度差异较小,且尾部信息重要。

实现示例:

from torch.nn.utils.rnn import pad_sequencetexts = [[1, 2, 3], [4, 5]]  # 两个样本的词ID列表
padded_texts = pad_sequence([torch.tensor(x) for x in texts], batch_first=True, padding_value=0)  # 填充0

输出结果:

tensor([[1, 2, 3],[4, 5, 0]])

另外,pad_sequence是个很有用的方法,也可以设置截断(其本身包含truncating参数,而post和pre可设置前后操作方向)。

from tensorflow.keras.preprocessing import sequence
list_new=[[1,2,3,4,5],[1,2,3,4,5,6,7,8,9,10]]#list_new=sequence.pad_sequences(list_new,maxlen=5,truncating='pre')#输出:[[ 1  2  3  4  5][ 6  7  8  9 10]]
#list_new=sequence.pad_sequences(list_new,maxlen=10,truncating='pre')#输出:[[ 0  0  0  0  0  1  2  3  4  5][ 0  0  0  0  0  6  7  8  9 10]]
list_new=sequence.pad_sequences(list_new,maxlen=10,padding='post')#输出[[ 1  2  3  4  5  0  0  0  0  0][ 1  2  3  4  5  6  7  8  9 10]]
print(list_new)

三、回译数据增强法

回译数据增强目前是文本数据增强方面效果较好的增强方法, 一般基于google、有道等翻译接口, 将文本数据翻译成另外一种语言(一般选择小语种),之后再翻译回原语言, 即可认为得到与与原语料同标签的新语料, 新语料加入到原数据集中即可认为是对原数据集数据增强。

回译数据增强优势: * 操作简便, 获得新语料质量高。

回译数据增强存在的问题: * 在短文本回译过程中, 新语料与原语料可能存在很高的重复率, 并不能有效增大样本的特征空间。

高重复率解决办法: * 进行连续的多语言翻译, 如: 中文→韩文→日语→英文→中文, 但最多只采用3次连续翻译, 更多的翻译次数将产生效率低下, 语义失真等问题。

今天的分享到此结束。

http://www.dtcms.com/wzjs/330760.html

相关文章:

  • 一般网站空间要多大系统优化
  • 2021深圳设计周满足seo需求的网站
  • ps做网站首页步骤网络优化公司排名
  • 网站建设步骤及分工中国国家培训网正规吗
  • 济南seo网站推广seo是指搜索引擎优化
  • 做搜狗网站优化排名软专业做网站官网
  • 餐饮营销型网站建设搜索引擎排名查询
  • seo1现在怎么看不了兰州搜索引擎优化
  • 在阿里巴巴上怎样做网站网络营销服务商有哪些
  • 嘉定网站建设哪家便宜广东河源最新疫情
  • 怎样给公司产品做网站营销型网站建设怎么做
  • 福州品牌网站设计快手流量推广免费网站
  • 如何做网站网页免费深圳全网推广效果如何
  • 策划会展网站建设不受限制的万能浏览器
  • 做网站具体步骤google推广工具
  • 厦门住房和城乡建设局网站百度经验首页
  • 深圳网站建设_seo搜索引擎营销工具
  • 做图标得英文网站如何编写一个网站
  • 网站建设与管理行业发展情况百度域名
  • wordpress怎么修改首页百度快照优化推广
  • 伊犁网站建设北京营销网站制作
  • 网站开发后端怎么开发seo网站seo
  • 想要去网站做友情链接怎么发邮件天津优化代理
  • 电商网站开发背景网站优化seo推广服务
  • 攀枝花网站怎么做seo手机关键词seo排名优化
  • 做游戏网站需要哪些许可快速排名服务平台
  • 编织网站建设sem竞价外包公司
  • 专门做学校政府的网站上海关键词排名提升
  • 东莞做网站制作360竞价推广开户多少钱
  • 个人官方网站怎么建设体育热点新闻