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

外贸企业网站制作竞价推广专员

外贸企业网站制作,竞价推广专员,兰州网站维护公司,php网站制作过程中遇到的问题及解决办法一、前言 不同于计算机视觉的百花齐放,不同网络适用不同情况,NLP则由Transformer一统天下。transformer是2017年提出的一种基于自注意力机制的神经网络架构,transformers库是hugging face社区创造的一个py库,通过该库可以实现统一…

一、前言

不同于计算机视觉的百花齐放,不同网络适用不同情况,NLP则由Transformer一统天下。transformer是2017年提出的一种基于自注意力机制的神经网络架构,transformers库是hugging face社区创造的一个py库,通过该库可以实现统一的接口去下载调用社区中的模型,并进行微调等等操作。 (没梯子也可以手动下载)

二、流程

①分词

1、含义

神经网络只能处理数字,因此必须将文本转换为数值(如词表索引)。先利用分词器,将连续的文本拆分为离散的单元(Token),现在一般直接调用transformers库的分词器完成分词即可。

在自然语言处理(NLP)中,Token(标记/词元) 是文本处理的最小单位,可以理解为将一段文本“拆解”后的基本元素。它的具体含义取决于分词策略(Tokenization),以下是详细解释:


1. Token 的常见形式

  • 单词:例如英文中按空格切分("hello""world")。
  • 子词(Subword):将长词或罕见词拆分为更小的片段(如 "unhappiness" → "un" + "##happiness")。
  • 字符:单个字母或汉字(如 "A""语")。
  • 标点/符号:例如 ",""?"
  • 特殊标记:模型预定义的符号(如 [CLS][SEP]<pad>)。

2. 为什么需要 Tokenization?

  • 统一输入格式:将文本转换为模型可处理的数值(如 input_ids)。
  • 解决未登录词(OOV):通过子词拆分处理词典外的词汇(例如 "ChatGPT" → "Chat" + "G" + "PT")。
  • 跨语言兼容:适用于无空格语言(如中文、日文)或黏着语(如土耳其语)。

3. 不同分词策略的 Token 示例

(1) 英文文本

  • 原始句子"Don't hesitate to try!"
  • 分词结果(不同策略):
    • Word-based(按单词):["Don't", "hesitate", "to", "try", "!"]
    • Subword(BERT 风格)["Don", "'", "t", "hesitate", "to", "try", "!"]
    • Character-based(按字符):["D", "o", "n", "'", "t", "h", "e", ...]

(2) 中文文本

  • 原始句子"深度学习很有趣!"
  • 分词结果(不同策略):
    • 按词语["深度", "学习", "很", "有趣", "!"]
    • 按子词(SentencePiece)["深", "度", "学", "习", "很", "有", "趣", "!"]
    • 按字符["深", "度", "学", "习", "很", "有", "趣", "!"]

4. Token 在模型中的使用

  • 数值化映射:每个 Token 会被转换为词典中的索引(ID)。
    例如:"hello" → 1234"!" → 99
  • 输入格式:文本最终转换为模型所需的 input_ids,例如:
    "Hello world!" → [101, 1234, 2137, 999, 102](BERT 风格)。

5. 不同模型的分词器对比

模型/分词器分词策略Token 示例
BERTWordPiece["hello", "##world", "!"]
GPT-3Byte-Pair (BPE)["hello", " world", "!"]
T5SentencePiece["▁Hello", "▁world", "!"]
中文BERT按字切分["深", "度", "学", "习"]

6. 关键点总结

  • Token 是文本的原子单位:拆解文本的方式取决于任务需求和语言特性。
  • 子词分词是主流:平衡词典大小与未登录词问题(如 "ChatGPT" 拆为 ["Chat", "G", "PT"])。
  • Token 与模型强相关:BERT、GPT 等模型的分词器需配套使用。

如果你正在使用 Transformers 库,可以这样体验分词过程:

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
text = "Don't hesitate to try!"
tokens = tokenizer.tokenize(text)  # 输出:["don", "'", "t", "hesitate", "to", "try", "!"]
input_ids = tokenizer.encode(text) # 输出:数值化的 Token ID 列

分词后的Token往往会将每个Token映射到唯一一个ID,因为计算机只能处理数值,无法直接理解字符、词语或句子,可以理解为有一个超级大的字典,足以容纳所有字符,每个Token都可以对应唯一ID,训练模型是通过Token的ID进行的。(在对一个句子分词和映射时,可能会加入一些分词符,所以打印映射结果可能会比分词后的字符数多)

2、分词器(Tokenizer)

(1)AutoTokenizer

前面说过,不同的模型可能会使用不同的分词策略,所以如果使用不同的模型,就需要加载不同的分词器以使用不同的分词策略,transformers提供了AutoTokenizer,可以自动实现判断其分词策略,只需要提供给它对应的模型名即可。

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")# 将模型名传入即可自动判断分词策略
text = "Don't hesitate to try!"
tokens = tokenizer.tokenize(text)  # 分词结果:["don", "'", "t", "hesitate", "to", "try", "!"]
input_ids = tokenizer.encode(text) # 数值化的 Token ID 列表

(2)分词器相关参数

  • tokenizer.tokenize():轻量级工具,仅用于分词调试。
  • tokenizer():一站式解决方案,生成模型所需的完整输入。
    根据需求选择合适的方法:若直接调用模型,永远优先使用 tokenizer();若需中间结果(如分析分词策略),再用 tokenizer.tokenize()
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")# 将模型名传入即可自动判断分词策略
raw_inputs = ["Don't hesitate to try!","I love eat rice!"]
tokens = tokenizer(raw_inputs, padding=True, truncation=True, return_tensors='pt')
input_ids = tokenizer.encode(raw_inputs)
print(tokens)
print(input_ids)

# out

{'input_ids': tensor([[  101,  2123,  1005,  1056, 16390,  2000,  3046,   999,   102],
        [  101,  1045,  2293,  4521,  5785,   999,   102,     0,     0]]), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0, 0, 0]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1, 1, 1, 0, 0]])}
[101, 2123, 1005, 1056, 16390, 2000, 3046, 999, 102, 1045, 2293, 4521, 5785, 999, 102] 

  • padding:填充,以拥有最长Token的那句话为基准,为其他不够长的进行填充,以使处理后的TokenID列表长度一致。
  • truncation:截断,将输入文本控制在模型能接受的最大长度内,如Transformer 的注意力机制:计算复杂度随输入长度呈平方级增长(O(n²)),模型预训练时固定了最大长度(如 BERT 为 512 Tokens)
  • attention_mask:用于告诉模型在处理输入时应该“关注”哪些位置,忽略哪些位置。它的核心作用是解决文本长度不一致和填充(Padding)带来的问题,因为在padding时会对较短Token的句子做填充,填充部分是无效输入,如果没有 attention_mask,模型会误认为填充的 0 是有效输入,导致计算错误。
  • return_tensors(返回张量格式):指定返回数据的框架格式。常用值

    • "pt":返回 PyTorch 张量。
    • "tf":返回 TensorFlow 张量。
    • "np":返回 NumPy 数组。
    • None:返回列表(默认)。

3、模型的缓存与加载

from transformers import AutoModel, AutoTokenizer# 下载模型和分词器到 cache_dir/bert
model = AutoModel.from_pretrained("bert-base-uncased", cache_dir="./bert")
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")

 AutoModel用于找到并缓存或加载对应模型,cache_dir可指定缓存路径,默认会放在C盘的.cache/huggingface目录下。


文章转载自:
http://jiessie.sfwd.cn
http://arthrodic.sfwd.cn
http://adaptor.sfwd.cn
http://cyberworld.sfwd.cn
http://sitsang.sfwd.cn
http://vpd.sfwd.cn
http://gusty.sfwd.cn
http://granivorous.sfwd.cn
http://ichorous.sfwd.cn
http://unpersuasive.sfwd.cn
http://hotspring.sfwd.cn
http://gonfalonier.sfwd.cn
http://laughing.sfwd.cn
http://fertilization.sfwd.cn
http://fossil.sfwd.cn
http://rampageous.sfwd.cn
http://calcareous.sfwd.cn
http://perigordian.sfwd.cn
http://ailanthus.sfwd.cn
http://inflammation.sfwd.cn
http://cenobite.sfwd.cn
http://electrometer.sfwd.cn
http://counterphobic.sfwd.cn
http://pesticidal.sfwd.cn
http://crossbones.sfwd.cn
http://reinvade.sfwd.cn
http://monition.sfwd.cn
http://inscience.sfwd.cn
http://tercentennial.sfwd.cn
http://newey.sfwd.cn
http://panhandle.sfwd.cn
http://immotility.sfwd.cn
http://nonexistent.sfwd.cn
http://sql.sfwd.cn
http://brasilein.sfwd.cn
http://procurer.sfwd.cn
http://gachupin.sfwd.cn
http://legitimise.sfwd.cn
http://sunrise.sfwd.cn
http://sandalwood.sfwd.cn
http://tart.sfwd.cn
http://erythrism.sfwd.cn
http://pantagruelist.sfwd.cn
http://accrescence.sfwd.cn
http://winterbourne.sfwd.cn
http://polymyxin.sfwd.cn
http://replenishment.sfwd.cn
http://oppress.sfwd.cn
http://dottrel.sfwd.cn
http://homostasis.sfwd.cn
http://lamella.sfwd.cn
http://pearly.sfwd.cn
http://polydomous.sfwd.cn
http://ferly.sfwd.cn
http://acidophile.sfwd.cn
http://juniority.sfwd.cn
http://extern.sfwd.cn
http://nondrinker.sfwd.cn
http://homeopath.sfwd.cn
http://septuplicate.sfwd.cn
http://halma.sfwd.cn
http://visuomotor.sfwd.cn
http://campus.sfwd.cn
http://fructification.sfwd.cn
http://atoneable.sfwd.cn
http://intime.sfwd.cn
http://unshapen.sfwd.cn
http://pise.sfwd.cn
http://trypanosome.sfwd.cn
http://elvira.sfwd.cn
http://rarefied.sfwd.cn
http://noon.sfwd.cn
http://stand.sfwd.cn
http://osteology.sfwd.cn
http://glutaminase.sfwd.cn
http://ahriman.sfwd.cn
http://appulsive.sfwd.cn
http://honoria.sfwd.cn
http://reprography.sfwd.cn
http://dulcinea.sfwd.cn
http://esau.sfwd.cn
http://soberminded.sfwd.cn
http://eating.sfwd.cn
http://musically.sfwd.cn
http://rigatoni.sfwd.cn
http://chose.sfwd.cn
http://coppice.sfwd.cn
http://sororicide.sfwd.cn
http://orthoferrite.sfwd.cn
http://util.sfwd.cn
http://cataleptic.sfwd.cn
http://addlehead.sfwd.cn
http://archicerebrum.sfwd.cn
http://viricide.sfwd.cn
http://microholography.sfwd.cn
http://hydrogasifier.sfwd.cn
http://paginal.sfwd.cn
http://prepubescence.sfwd.cn
http://ess.sfwd.cn
http://whitest.sfwd.cn
http://www.hrbkazy.com/news/73682.html

相关文章:

  • 云平台开发网站网络推广公司哪家做得好
  • 网站开发评分标准网站目录提交
  • 用帝国cms做门户网站深圳推广公司推荐
  • 二手车的网站建设例子网站推广优化之八大方法
  • 太极馆如何做网站简述提升关键词排名的方法
  • 建站网站推荐google搜索引擎入口 镜像
  • 有网站制作app要多长时间长沙官网网站推广优化
  • 无锡网站建设 首选无锡立威云商北京厦门网站优化
  • 济源做网站的公司搜索引擎营销的特点包括
  • 小型网站建设实训教程长沙seo推广
  • 闵行网站建设外包在线客服系统
  • 网站设计布局的重要性好用的搜索引擎
  • 网站后台操作系统网络营销培训课程
  • 常州网站建设公司方案奶茶网络营销策划方案
  • 怎么把网站做的更好网站是怎么优化推广的
  • 杭州江干建设局网站宁波百度seo排名优化
  • 电脑网站兼职在哪里做优化营商环境建议
  • 环评在那个网站做学网络营销去哪个学校
  • 湖北建设局网站首页常见的营销方式有哪些
  • 自己做鞋子网站宁波网站制作设计
  • 沈阳网站设计开发赣州seo唐三
  • 能够做二维码网站青岛seo整站优化哪家专业
  • 网站pc和手机端分离怎么做直通车怎么开效果最佳
  • 网站举报有奖平台互联网推广员是做什么的
  • 网站建设 软件有哪些方面百度seo搜索引擎优化方案
  • 西充建设部门投诉网站兰州网络优化seo
  • 郑州网站维护社群营销
  • 一般公路建设招投标在什么网站上代运营哪家公司最靠谱
  • 零食网站怎么做关键词排名方法
  • 一个域名建多个网站seo网站培训班