microsoft / CodeBERT

CodeBERT
MIT License
2.16k stars 446 forks source link

分词方法 #183

Closed MrBlack0220 closed 1 year ago

MrBlack0220 commented 1 year ago

Hi, 很棒的工作~ 我想问一下,CodeBert和UnixCoder在代码分词上的处理是不同的吗? 我将代码输入codebert和unxicoder后,发现对于“\t”,codebert表示为 ‘C’,‘G’,'G','G'四个tokens,但是unxicoder表示为‘CGGG’。 Unixcoder是BPE算法,但是CodeBert是如何分词处理的呢?

guoday commented 1 year ago

都是BPE算法,但是unixcoder是在代码上训练的分词,因为“\t”出现得比较多,所以unixcoder会看成一个单词。其他的分词是在text训练,“\t”出现得比较少并且本身\t就是由4个空格组成的,所以CodeBERT会分出四个空格

MrBlack0220 commented 1 year ago

Thanks! ♪(・ω・)ノ