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

抖音电商网站建设建设贷款网站哪家好

抖音电商网站建设,建设贷款网站哪家好,简单的网站维护,个人网站 商城 备案文章目录 什么是分词#xff1f;分词算法使用Python训练分词器步骤1#xff1a;选择分词算法步骤2#xff1a;准备训练语料步骤3#xff1a;配置分词器参数步骤4#xff1a;训练分词器步骤5#xff1a;测试和使用分词器 代码示例#xff1a;使用SentencePiece训练分词器… 文章目录 什么是分词分词算法使用Python训练分词器步骤1选择分词算法步骤2准备训练语料步骤3配置分词器参数步骤4训练分词器步骤5测试和使用分词器 代码示例使用SentencePiece训练分词器分词算法的训练要素如何训练好合并分词表baichuan-7B 的分词通义千问智谱 在自然语言处理NLP领域分词是一个重要的预处理步骤它将文本切分成有意义的子词或标记。合适的分词工具可以对NLP任务产生深远的影响而如何训练一个自定义分词器也是一个关键的课题。本篇博客将引导您了解不同分词算法深入探讨分词工具的原理然后演示如何使用Python代码训练自己的分词器。 什么是分词 分词是将文本划分为更小的单元如单词、子词或标记的过程。在中文分词中这些单元通常是词汇而在英文中可以是单词或子词。分词是NLP的基础它对文本的理解和处理具有关键作用。 分词算法 在NLP中有多种分词算法可供选择。以下是一些常见的分词算法这些分词算法各有其优势取决于具体的应用场景和需求。以下是它们的一些特点 BPEByte-Pair Encoding 优势BPE是一种无监督算法能够适用于多种语言包括中文和英文。它基于字符级别的处理对于分词的划分灵活性较高适用于不同领域的文本。中英文混合分词BPE可以用于中英文混合分词但需要适当调整参数和词表来满足中文语言的需求。 WordPiece 优势WordPiece是一种基于BPE的算法它在选择字符对合并时考虑标记的可能性。这使得它在处理NLP任务时表现更好如机器翻译和文本生成。对于英文和中文等多语言情境WordPiece通常具有很好的性能。中英文混合分词WordPiece同样适合中英文混合分词而且在考虑标记的可能性时能更好地处理多语言文本。 Unigram 优势Unigram采用概率模型来选择标记这使得它能够生成带概率的多个子词分段。这对于语言生成任务或需要模糊匹配的场景可能有益。中英文混合分词Unigram同样可以用于中英文混合分词但需要注意参数设置和模型训练。 SentencePiece 优势SentencePiece结合了BPE和Unigram的优点可以从原始文本开始训练分词模型适用于多种语言。它非常灵活适用于多样化的文本处理需求包括中英文。中英文混合分词SentencePiece同样适合中英文混合分词并且容易进行多语言训练。 关于哪个更适合中英文一起的分词选择取决于具体情况。WordPiece和SentencePiece通常被认为对于多语言处理更强大因为它们考虑到了标记的可能性这对于处理多语言文本的一致性和性能提升有好处。 Unigram和BPE也可以用于中英文混合分词但可能需要更多的调整和参数设置来满足特定需求。最终的选择应基于实际需求和性能测试。 使用Python训练分词器 以下是使用Python训练自定义分词器的步骤 步骤1选择分词算法 首先选择适合您需求的分词算法。如果需要针对特定语料库或任务训练分词器可以考虑使用SentencePiece来灵活满足需求。 步骤2准备训练语料 收集和准备训练语料这是训练自定义分词器的基础。语料库的大小和质量将影响分词器的性能。 步骤3配置分词器参数 针对所选的分词算法配置参数如词表大小、字符覆盖率等。这些参数的选择应根据语料和任务的特点来确定。 步骤4训练分词器 使用选择的分词算法和参数训练自定义分词器。这通常涉及编写Python代码来调用分词库的API并传递训练语料。 步骤5测试和使用分词器 训练完成后测试分词器的性能确保它能够有效切分文本。然后您可以将训练好的分词器用于NLP任务如文本分类、情感分析等。 代码示例使用SentencePiece训练分词器 下面是一个使用SentencePiece库来训练分词器的Python代码示例 import sentencepiece as spm# 训练SentencePiece模型 spm.SentencePieceTrainer.train(inputcorpus.txt, # 输入文件model_prefixcustom_tokenizer, # 模型前缀vocab_size5000, # 词汇表大小model_typeunigram, # 模型类型# 其他参数... )# 加载训练好的模型 sp spm.SentencePieceProcessor() sp.load(custom_tokenizer.model)# 使用分词器 text 这是一个示例句子 tokens sp.encode_as_pieces(text) print(tokens)在训练一个分词器时下面是一些重要的参数其中一些参数对模型的性能和行为产生显著影响 model_type模型类型可以选择BPE、char、word、unigram。这决定了分词器使用哪种分词算法。不同类型适用于不同的任务和文本类型。 vocab_size词汇表大小这个参数决定了词表中包含多少标记。太小的词汇表可能导致词汇覆盖不足而太大的词汇表可能会增加训练时间。 character_coverage指定模型中覆盖的字符数通常设置为一个小数如0.9995。这可以帮助控制词汇表的大小。 max_sentence_length最大句子长度决定了句子在分词时的最大长度。过长的句子可能需要截断或拆分。 num_threads进程个数控制训练时的并行度影响训练速度。 unk_id、bos_id、eos_id、pad_id这些参数定义了特殊标记的ID。例如unk_id表示未知标记的IDbos_id表示句子的开头eos_id表示句子的结尾pad_id表示填充标记。 split_by_unicode_script、split_by_number、split_by_whitespace、split_digits这些参数用于控制在哪些情况下进行拆分例如是否在不同的字符脚本之间、数字之间、空格之间、数字和字母之间拆分。 use_all_vocab是否使用所有词汇。设置为0时只使用出现频率高的标记。 这些参数是分词器训练中的关键配置它们直接影响模型的性能和行为。根据具体任务和语料库你需要谨慎选择和调整这些参数以获得最佳的分词效果。不同的参数设置可能适用于不同的应用场景因此需要根据需求进行实验和调整。 这段代码演示了如何使用SentencePiece来训练一个自定义分词器加载模型并将其应用于文本。 HuggingFace的Tokenizers也实现了分词算法具体使用可以参考如下 from tokenizers import (ByteLevelBPETokenizer,BPETokenizer,SentencePieceBPETokenizer,BertWordPieceTokenizer)tokenizer SentencePieceBPETokenizer() tokenizer.train([../blog_test.txt], vocab_size500, min_frequency2)output tokenizer.encode(This is a test) print(output.tokens)分词算法的训练要素如何训练好 在训练大模型分词器时有几个关键因素需要考虑这些因素可以总结如下 词表大小设置词表大小应该与语料库的大小匹配。具体的设置可以参考一些大型模型如ChatGPT和Chinese-LLaMA模型它们通常采用词表大小在5万到13万之间。合理的词表大小直接影响了模型参数数量和训练速度。较大的词表可能需要更多的资源来训练和部署但能够更好地覆盖不同领域和语言的内容。 语料库的充实性语料库的质量和数量对分词器的性能至关重要。使用丰富和多样化的语料库可以更好地适应各种领域和专业术语以产生更符合通用语义的切分结果。特别是在垂直领域或特殊领域的应用中充足的领域特定语料库对于保持高质量的分词结果非常重要。 词汇量大小的平衡选择词汇表的大小需要在模型质量和效率之间取得平衡。较大的词汇表可以提高模型的语言表示能力但也会增加模型的参数量。在拥有足够计算资源和充足语料库的情况下可以考虑使用较大的词汇表以提高模型的性能。 合并分词表 由transformers库的教程https://transformers.run/intro/2021-12-11-transformers-note-2/也可以得知 from transformers import AutoTokenizer tokenizer AutoTokenizer.from_pretrained(bert-base-cased) tokenizer.save_pretrained(./models/bert-base-cased/)调用 Tokenizer.save_pretrained() 函数会在保存路径下创建三个文件 special_tokens_map.json映射文件里面包含 unknown token 等特殊字符的映射关系 tokenizer_config.json分词器配置文件存储构建分词器需要的参数 vocab.txt词表一行一个 token行号就是对应的 token ID从 0 开始。 博客https://blog.51cto.com/u_16116809/6321388提到一个tipsLLaMA模型预训练中文语料特别少可以把中文学到的vocab.txt分词表加入到原有的里面我理解special_tokens_map.json是通用的tokenizer_config.json里面写的一些分词算法配置如果中英文一样也就无所谓所以就能合并vocab.txt分词表。 baichuan-7B 的分词 看得出来针对不同领域分词算法也是一个研究点baichuan-7B看起来还是挺厉害的 https://github.com/baichuan-inc/baichuan-7B#%E5%88%86%E8%AF%8D 通义千问 https://modelscope.cn/organization/qwen https://huggingface.co/Qwen/Qwen-7B-Chat 智谱 https://github.com/THUDM/ChatGLM2-6B 参考 https://blog.51cto.com/u_16116809/6321388 https://github.com/yanqiangmiffy/how-to-train-tokenizer https://github.com/baichuan-inc/baichuan-7B#%E5%88%86%E8%AF%8D
http://www.dnsts.com.cn/news/266101.html

相关文章:

  • 南京溧水城市建设集团网站免费自己
  • 北京公司公示在哪个网站想买个服务器做网站
  • 信息类网站电商网站建设论文
  • 门户网站域名是什么网站如何做脚注
  • 做网站怎么跑业务茶叶网站flash模板免费下载
  • 麻将网站开发公司企业所得税怎么申报
  • 泉州教育网站广西住建厅考试培训中心
  • 宝塔做两个网站6空间里怎么放多个网站
  • 书籍网站建设的目的产品宣传短视频制作
  • 景点介绍网站模板小型购物网站建设
  • Django可以做门户网站吗wordpress 后台action
  • wordpress改企业网站企业概况的模板
  • 响应式网站生成自己做网站页面
  • 长沙做网站咨询公司注册公司的步骤和流程
  • 重庆福彩建站湖南湘江新区最新消息
  • 最好的完全免费开源企业网站安装2个wordpress
  • 好用的网站开发编辑器国外做网站推广
  • 外包网站公司微信商城登录平台
  • 企业网站建设的困难和问题好看的html页面模板
  • 做网站推广的价格wordpress 漂亮的主题
  • 做网站的语言都有什么外贸seo网站大全
  • 什么样的资质做电子商务网站注册个空壳公司需要多少钱
  • 重庆建网站流程环保行业网站开发
  • 国内最最早做虚拟货币的网站天津建设银行官方网站
  • 基于jsp的电商网站开发焦点网站设计
  • 手机网站你们外包公司网站开发
  • 在那个网站做驾校模拟题python 做网站 套件
  • 图书管理系统网站开发设计过程唐山自助建站系统
  • 特价网站建设官网Wordpress付费主题排名
  • 岛国萝莉做的电影网站深圳网站建设公司推荐乐云seo