我已经建立了一个人工语料库(不是真正的语言),每个文档都是由多个句子组成的,这些句子也不是真正的自然语言句子。
我想从这个语料库中训练一个语言模型(稍后使用它来完成下游任务,比如分类或使用语句BERT进行聚类)
我需要标记输入吗?
像这样:<s>sentence1</s><s>sentence2</s>
或<s>the whole document</s>
我是否需要训练传销机或NSP或两者兼备?
发布于 2022-02-15 13:20:12
您可以使用现有图书馆来标记。
来自吉顿博士:
对于句子级任务(或句子对)任务,标记化非常简单。只需遵循跑_classifier.py和提取_features.py中的示例代码即可。句子级任务的基本过程是:实例化
tokenizer = tokenization.FullTokenizer的一个实例,用tokens = tokenizer.tokenize(raw_text)标记原始文本。截断到最大序列长度。(您可以最多使用512,但您可能希望使用更短的内存和速度原因。)将[CLS]和[SEP]令牌添加到正确的位置。
在原文件(第3节)中说:
为了让伯特处理各种各样的下游任务,我们的输入表示可以用一个令牌序列明确地表示单个句子和一对句子。在整个工作过程中,一个“句子”可以是一个任意跨度的连续文本,而不是一个实际的语言句子。“序列”指的是BERT的输入符号序列,可以是一个或两个句子组合在一起。
蒙面LM (任务1)和下一句预测(NSP,任务2)都是原论文中预培训的一部分(3.1节)。对于“只分类”,您可能是“好”的任务1 (MLM)取决于问题。然而,MLM和NSP对于取得“好的”结果似乎都很重要。该文件以下列文字描述了国家行动计划的动机:
许多重要的下游任务,如问答(QA)和自然语言推理(NLI),都是基于理解两句之间的关系,而不是通过语言建模直接捕捉到的。为了训练一个理解句子关系的模型,我们预先训练了一个二元化的下一个句子预测任务,这个任务可以从任何单语语料库中琐碎地生成。
有关更多技术方面(即使用转换器库),您可能会看到对此的讨论。
https://datascience.stackexchange.com/questions/108178
复制相似问题