我可以使用高棉语言的标记化输入文件和自定义词汇文件从头开始对BERT模型进行预训练吗?

我想知道是否可以将自己的标记化/分段文档(以及我自己的vocab文件)用作create_pretraining_data.py脚本的输入文件(git源:{{3} }。

此问题的主要原因是,高棉语的细分/标记与英语不同。

Original:
វា​មាន​មក​ជាមួយ​នូវ

Segmented/Tokenized:
វា មាន មក ជាមួយ នូវ

我自己尝试了一些操作,并在运行create_pretraining_data.pyrun_pretraining.py脚本后设法获得了一些结果。但是,我不确定我在做什么可以被认为是正确的。

我还想知道验证模型所用的方法。

我们非常感谢您的帮助!

脚本修改

我所做的修改是:

1.以列表格式制作输入文件

我的输入文件来自普通的高棉标记化输出,而不是普通的纯文本,然后将其制成列表格式,模仿了运行示例英语文本时得到的输出。

[[['ដំណាំ','សាវម៉ាវ','ជា','ប្រភេទ','ឈើ','ហូប','ផ្លែ'],['វា','ផ្តល់','ផប្រយោជន៍','យ៉ាង','ច្រើន','ដល់','សុខភាព']],[['cmt','$','270','នាំ','លាភ','សំណាង','ហេង','ហេង']]]

*外括号表示源文件,第一个嵌套括号表示文档,第二个嵌套括号表示句子。与all_documents函数中的变量create_training_instances()完全相同的结构

2.来自唯一分段词的Vocab文件

这是我真的非常怀疑的部分。要创建我的vocab文件,我要做的就是从整个文档中找到唯一的标记。然后,我添加核心令牌要求[CLS],[SEP],[UNK] and [MASK]。我不确定这是否是正确的方法。

对此部分的反馈非常感谢!

3.跳过create_training_instances()函数中的标记化步骤

由于我的输入文件已经与变量all_documents匹配,所以我将183行跳到207行。我将其替换为按原样读取输入:

  for input_file in input_files:
      with tf.gfile.GFile(input_file,"r") as reader:
          lines = reader.read()
      all_documents = ast.literal_eval(lines)

结果/输出

原始输入文件(在自定义标记化之前)来自于随机网页抓取。

raw和vocab文件上的一些信息:

Number of documents/articles: 5
Number of sentences: 78
Number of vocabs: 649 (including [CLS],[SEP] etc.)

下面是运行create_pretraining_data.py

后的输出(末尾)

https://github.com/google-research/bert

这是我运行run_pretraining.py

后得到的结果

我可以使用高棉语言的标记化输入文件和自定义词汇文件从头开始对BERT模型进行预训练吗?

如上图所示,我从中得到的准确性很低,因此我担心如果做得正确。

vip58581658 回答:我可以使用高棉语言的标记化输入文件和自定义词汇文件从头开始对BERT模型进行预训练吗?

首先,您似乎仅有很少的训练数据(您提到的词汇量是649)。 BERT是一个庞大的模型,需要大量的训练数据。 Google至少会在整个Wikipedia上对Google发布的英语模型进行培训。想想看!

BERT使用称为WordPiece的东西来保证固定的词汇量。稀有单词会像这样被拆分:Jet makers feud over seat width with big orders at stake转换为wordPiece:_J et _makers _fe ud _over _seat _width _with _big _orders _at _stake

WordPieceTokenizer.tokenize(text)接受由空格预加符号的文本,因此您应更改BasicTokenizer,它由您的特定令牌生成器在WordPieceTokenizer之前运行,该令牌应由空格分隔。 要训​​练自己的WorPiece-Tookenizer,请看一下sentenePiece,它在bpe模式下与WordPiece基本相同。 然后,您可以从WordPiece模型中导出词汇表。

我自己没有预先训练BERT模型,所以我无法帮助您准确更改代码中的内容。

本文链接:https://www.f2er.com/3023100.html

大家都在问