【ChatBot开发笔记】语料预处理——tokenize

这篇博客介绍了在ChatBot开发中,针对GPT2模型进行语料预处理的过程。主要关注点在于将语料切分为字,并使用[CLS]和[SEP]标记区分,同时将每个字转换为字典对应的tokenize_id。
摘要由CSDN通过智能技术生成

GPT2模型的期望粒度是字而非词,故建立字典,通过tokenize完成两件事:

  1. 切分语料,以[CLS]标志语料开头,以[SEP]划分说话对象
  2. 完成字到字典id(tokenize_id)的转变
def preprocess_raw_data(args, tokenizer, n_ctx):
    """
    对原始语料进行处理,将原始语料转换为用于train的token id,对于每个dialogue,将其处于成如下形式"[CLS]utterance1[SEP]utterance2[SEP]utterance3[SEP]"
    :param args:
    :param tokenizer:
    :param n_ctx:GPT2模型的上下文窗口大小,将超过300的dialogue截断
    :return:
    """

    logger.info("tokenizing raw data,raw data path:{}, token output path:{}".format(args.train_raw_path,
                                                                                    args.train_tokenized_path))
    # 将smalldata/data.txt读入data中
    with open(args.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值