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

网站怎么做让PC和手机自动识别app推广软件有哪些

网站怎么做让PC和手机自动识别,app推广软件有哪些,wordpress文章html,建站价格会差文章目录 前言一、数据读取二、文本预处理三、词元化四、构建词表五、截断和填充六、转换为张量七、数据迭代器总结前言 在深度学习领域,序列到序列(Seq2Seq)模型是一种非常重要的架构,广泛应用于机器翻译、文本摘要和对话生成等任务。在实现 Seq2Seq 模型时,数据的预处理…

文章目录

  • 前言
  • 一、数据读取
  • 二、文本预处理
  • 三、词元化
  • 四、构建词表
  • 五、截断和填充
  • 六、转换为张量
  • 七、数据迭代器
  • 总结


前言

在深度学习领域,序列到序列(Seq2Seq)模型是一种非常重要的架构,广泛应用于机器翻译、文本摘要和对话生成等任务。在实现 Seq2Seq 模型时,数据的预处理是至关重要的第一步,它直接影响到模型的性能和训练效果。本篇博客将基于 PyTorch 框架,通过一个完整的代码示例,详细讲解如何对“英语-法语”翻译数据集进行预处理,包括数据读取、文本清洗、词元化、词表构建以及数据迭代器的构造。通过阅读本文,你将掌握从原始文本到可用于模型训练的数据张量的完整流程,同时理解每个步骤背后的逻辑和代码实现。

本文的所有代码都来源于附件中的两个文档:一个是 Python 脚本(包含核心函数定义),另一个是 Jupyter Notebook(展示代码的实际运行结果)。我会将这些代码整合到博客中,并辅以文字说明,帮助你逐步理解数据预处理的每一步。


一、数据读取

我们从一个简单的函数 read_data_nmt 开始,它负责读取“英语-法语”数据集文件 fra.txt。这个文件通常包含多行,每行是一个英语句子和对应的法语句子,用制表符(\t)分隔。以下是代码实现:

def read_data_nmt():"""载入“英语-法语”数据集返回值:str: 文件内容的完整字符串"""with open('fra.txt', 'r', encoding='utf-8') as f:return f.read()

在 Jupyter Notebook 中,我们可以调用这个函数并查看前几行数据:

import utils_for_dataraw_text = utils_for_data.read_data_nmt()
print(raw_text[:75])

输出结果:

Go.	Va !
Hi.	Salut !
Run!	Cours !
Run!	Courez !
Who?	Qui ?
Wow!	Ça alors !

可以看到,数据集的每一行由英语句子和法语句子组成,中间用制表符分隔。接下来,我们需要对这些原始文本进行预处理。

二、文本预处理

原始文本中可能包含不必要的字符(如不间断空格 \u202f 或非断行空格 \xa0),而且标点符号与单词之间可能没有空格,这些都会影响后续的分词效果。因此,我们定义了 preprocess_nmt 函数来进行文本清洗:

def preprocess_nmt(text):"""预处理“英语-法语”数据集参数:text (str): 输入的原始文本字符串返回值:str: 处理后的文本字符串"""def no_space(char, prev_char):"""判断当前字符是否需要前置空格"""return char in set(',.!?') and prev_char != ' '# 使用空格替换不间断空格和非断行空格,并转换为小写text = text.replace('\u202f', ' ').replace('\xa0', ' ').lower()# 在单词和标点符号之间插入空格out = [' ' + char if i > 0 and no_space(char, text[i - 1]) else charfor i, char in enumerate(text)]return ''.join(out)

这个函数的主要步骤包括:

  1. 将特殊空格替换为普通空格,并将文本转换为小写。
  2. 在标点符号(如 ,.!?)前插入空格,但如果前一个字符已经是空格,则不重复添加。

运行代码并查看效果:

text = utils_for_data.preprocess_nmt(raw_text)
print(text[:80])

输出结果:

go .	va !
hi .	salut !
run !	cours !
run !	courez !
who ?	qui ?
wow !	ça alors !

经过预处理,文本变得更加规范,单词和标点符号之间有了清晰的空格分隔,这为后续的分词奠定了基础。

三、词元化

接下来,我们需要将文本按单词拆分为词元(token),并将英语和法语部分分开。tokenize_nmt 函数实现了这一功能:

def tokenize_nmt(text, num_examples=
http://www.dtcms.com/wzjs/152076.html

相关文章:

  • 工作经历怎么写?百度首页关键词优化
  • 宁波市节约型机关建设考试网站跨境网站建站
  • 移动商城网站建设百度做推广一般要多少钱
  • 调查网站赚钱怎么在网上销售
  • 公司不需要做网站了seo广告优化
  • 三只松鼠品牌案例分析网站优化教程
  • 校园类网站建设网站快速排名优化哪家好
  • 广州网站设计公司新闻seo查询seo优化
  • 做网站的图片取材免费推广神器
  • 网站膜拜销售企业网站建设专业服务
  • 程序员给别人做的网站违法了百度关键词排名
  • 建好了网站怎么做外贸百度广告代理公司
  • 大学生做微商网站展示型网站设计公司
  • 公司有些网站打不开谷歌浏览器官方app下载
  • 网站建设-英九网络活动策划
  • 不良网站进入窗口seo1现在怎么看不了
  • 网站空间大小多少合适百度信息流优化
  • 清远市建设工程交易中心网站windows优化大师怎么彻底删除
  • 虹口武汉阳网站建设广州线上教学
  • 武汉手机网站制作公司免费发帖的网站
  • 普陀网站建设代写软文
  • 营销型企业网站的建设步骤乐天seo培训
  • 静态网站更新怎么在百度上添加自己的店铺地址
  • 做网站公司职务唐山建站公司模板
  • 手机版做网站百度广告官网
  • 巢湖市网站建设优化厦门百度推广开户
  • 福州网站微信公众号公司seo是什么意思
  • 怎么建设自己的一个服务器网站想学手艺在哪里可以培训
  • 广西房地产网站建设推广接单平台
  • 陕西住房和城乡建设网站营销推广方案