vdogmcgee

Results 19 comments of vdogmcgee

> 修改了三处地方: > > 1、model\chinese-bert_chinese_wwm_pytorch\config.json, 其中vocab_size的值改为 30522 > > 2、code\sqlnet\model\sqlbert.py,大约141行附近,增加三行:sel_col_mask = sel_col_mask - 254;where_col_mask = where_col_mask - 254;qcol_mask = qcol_mask - 254,程序才能跑起来 > > 3、log日志的位置。code\sqlnet.utils.py文件,950行附近,save_error_case(error_case, gt_cases, dir='./log/')改为save_error_case(error_case, gt_cases, dir='../log/') >...

没有做过这类的实验,谈一下我的理解吧,不一定对。 我理解simcse的思路是为了让分布更加均匀,这里最后分成3类又会约束分布,要这样做的话,可以把simcse的参数冻住,只训练mlp的参数试试。 然后[cls]sentence1[sep]sentence2[sep] 本身也是一种思路。可以参考一下苏神的文章:苏剑林. (Jan. 06, 2022). 《CoSENT(一):比Sentence-BERT更有效的句向量方案 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/8847

你好 , transformers库里面 bert 的源码中 , 添加了一层 mlp pooler , self.pooling='pooler' 时 , 可以直接取到mlp层之后的结果 , 修改参数就行了 , 我的代码只是对比了几种不同的 pooling方式 , 最后直接取 cls 的效果稍好一点

> > 你好,transformers库里面bert的源中,添加了高级mlp pooler,self.pooling='pooler'时,可以直接取到mlp层的结果,修改参数就行了,我的代码只是对比了几个不同的pooling方式,最后直接取cls的效果有点好 > > 谢谢!那您的意识是直接取cls同时作用在下游任务和对比学习过程中(损失计算)? 是的

训练代码的 load_data 函数里面有

你的精度评估是自己写的吗?

cos_sim 那一步函数里面有做归一化 , 不用自己再做一次

你好 , 有监督的训练中 , sts-b 的数据集确实只用来了计算 spearmanr 系数做模型评估 , 训练的时候用的是 snli 的数据集 , 相当于还是只有相似和不相似的标签 。 最后训练出来的模型 , 在通用的数据集下 , 是可以用于预测文本相似度的 , 如果是特定种类的数据 , 效果不好说 。

我理解在预测的时候是通过模型输出句向量 , 通过相似度排序来找到最相近的 , 如果一定要给一个相似或者不相似的标签的话 , 给相似度加一个阈值判定就好了